Skip to content
Snippets Groups Projects
Unverified Commit 86f377de authored by xgui3783's avatar xgui3783 Committed by GitHub
Browse files

Merge pull request #1202 from FZJ-INM1-BDA/staging

v2.7.0
parents 10728fdf 271c9e55
No related branches found
No related tags found
No related merge requests found
Showing with 198 additions and 365 deletions
*.spec.ts *.spec.ts
\ No newline at end of file src/atlasComponents/sapi/schema.ts
**/*.stories.ts
\ No newline at end of file
module.exports = { module.exports = {
root: true, root: true,
parser: '@typescript-eslint/parser', parser: '@typescript-eslint/parser',
plugins: [ plugins: ['@typescript-eslint'],
'@typescript-eslint', extends: ["eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "plugin:storybook/recommended"],
],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
],
rules: { rules: {
"@typescript-eslint/no-inferrable-types": "off", "@typescript-eslint/no-inferrable-types": "off",
"@typescript-eslint/interface-name-prefix":[0], "@typescript-eslint/interface-name-prefix": [0],
// "no-unused-vars": "off", // "no-unused-vars": "off",
"semi": "off", "semi": "off",
"indent":["error", 2, { "indent": ["error", 2, {
"FunctionDeclaration":{ "FunctionDeclaration": {
"body":1, "body": 1,
"parameters":2 "parameters": 2
} }
}], }],
"@typescript-eslint/member-delimiter-style": [2, { "@typescript-eslint/member-delimiter-style": [2, {
"multiline": { "multiline": {
"delimiter": "none", "delimiter": "none",
"requireLast": true "requireLast": true
}, },
"singleline": { "singleline": {
"delimiter": "comma", "delimiter": "comma",
"requireLast": false "requireLast": false
} }
}], }],
"@typescript-eslint/no-unused-vars": ["warn", { "@typescript-eslint/no-unused-vars": ["warn", {
......
src/atlasComponents/sapi/schema.ts linguist-generated=true
...@@ -15,10 +15,10 @@ jobs: ...@@ -15,10 +15,10 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Use Node.js 14.x for lint - name: Use Node.js 16.x for lint
uses: actions/setup-node@v1 uses: actions/setup-node@v1
with: with:
node-version: '14.x' node-version: '16.x'
- run: npm i - run: npm i
- run: npm run lint - run: npm run lint
...@@ -28,7 +28,7 @@ jobs: ...@@ -28,7 +28,7 @@ jobs:
strategy: strategy:
matrix: matrix:
node-version: [12.x, 14.x, 16.x] node-version: [16.x]
env: env:
NODE_ENV: test NODE_ENV: test
...@@ -47,7 +47,7 @@ jobs: ...@@ -47,7 +47,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version: [12.x, 14.x, 16.x] node-version: [16.x]
env: env:
NODE_ENV: test NODE_ENV: test
......
...@@ -18,9 +18,9 @@ jobs: ...@@ -18,9 +18,9 @@ jobs:
PRODUCTION: 'true' PRODUCTION: 'true'
DOCKER_REGISTRY: 'docker-registry.ebrains.eu/siibra/' DOCKER_REGISTRY: 'docker-registry.ebrains.eu/siibra/'
SIIBRA_API_STABLE: 'https://siibra-api-stable.apps.hbp.eu/v1_0' SIIBRA_API_STABLE: 'https://siibra-api-stable.apps.hbp.eu/v2_0'
SIIBRA_API_RC: 'https://siibra-api-rc.apps.hbp.eu/v1_0' SIIBRA_API_RC: 'https://siibra-api-rc.apps.hbp.eu/v2_0'
SIIBRA_API_LATEST: 'https://siibra-api-latest.apps-dev.hbp.eu/v1_0' SIIBRA_API_LATEST: 'https://siibra-api-latest.apps-dev.hbp.eu/v2_0'
steps: steps:
...@@ -46,7 +46,7 @@ jobs: ...@@ -46,7 +46,7 @@ jobs:
if [[ "$GITHUB_REF" == *hotfix* ]] if [[ "$GITHUB_REF" == *hotfix* ]]
then then
echo "Hotfix branch, using prod env..." echo "Hotfix branch, using prod env..."
echo "BS_REST_URL=${{ env.SIIBRA_API_STABLE }}" >> $GITHUB_ENV echo "BS_REST_URL=${{ env.SIIBRA_API_RC }}" >> $GITHUB_ENV
else else
echo "Using dev env..." echo "Using dev env..."
echo "BS_REST_URL=${{ env.SIIBRA_API_LATEST }}" >> $GITHUB_ENV echo "BS_REST_URL=${{ env.SIIBRA_API_LATEST }}" >> $GITHUB_ENV
......
/.angular/cache
node_modules node_modules
dist dist
src/res/raw src/res/raw
...@@ -12,3 +13,5 @@ site ...@@ -12,3 +13,5 @@ site
*.log *.log
cachedKgDataset.json cachedKgDataset.json
tmp tmp
storybook-static
documentation.json
module.exports = {
"stories": [
"../src/**/*.stories.mdx",
"../src/**/*.stories.@(js|jsx|ts|tsx)"
],
"addons": [
"storybook-dark-mode",
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/addon-interactions"
],
"framework": "@storybook/angular",
"core": {
"builder": "webpack5"
},
features: {
interactionsDebugger: true,
},
}
<script>
console.log("./storybook/preview-head.html working properly")
</script>
<script src="https://unpkg.com/kg-dataset-previewer@1.2.0/dist/kg-dataset-previewer/kg-dataset-previewer.js" defer></script>
<script src="main.bundle.js" defer></script>
<style>
body
{
overflow: scroll!important;
}
</style>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<script type="module" src="https://unpkg.com/hbp-connectivity-component@0.6.2/dist/connectivity-component/connectivity-component.js" defer></script>
import { setCompodocJson } from "@storybook/addon-docs/angular";
import docJson from "../documentation.json";
setCompodocJson(docJson);
import 'src/theme.scss'
export const parameters = {
actions: { argTypesRegex: "^on[A-Z].*" },
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/,
},
},
docs: { inlineStories: true },
darkMode: {
// Set the initial theme
current: 'light'
}
}
{
"extends": "../tsconfig.app.json",
"compilerOptions": {
"types": [
"node"
],
"allowSyntheticDefaultImports": true
},
"exclude": [
"../src/test.ts",
"../src/**/*.spec.ts",
"../projects/**/*.spec.ts"
],
"include": [
"../src/**/*",
"../projects/**/*"
],
"files": [
"./typings.d.ts"
]
}
declare module '*.md' {
const content: string;
export default content;
}
...@@ -3,9 +3,6 @@ FROM node:14 as builder ...@@ -3,9 +3,6 @@ FROM node:14 as builder
ARG BACKEND_URL ARG BACKEND_URL
ENV BACKEND_URL=${BACKEND_URL} ENV BACKEND_URL=${BACKEND_URL}
ARG DATASET_PREVIEW_URL
ENV DATASET_PREVIEW_URL=${DATASET_PREVIEW_URL:-https://hbp-kg-dataset-previewer.apps.hbp.eu/v2}
ARG BS_REST_URL ARG BS_REST_URL
ENV BS_REST_URL=${BS_REST_URL:-https://siibra-api-stable.apps.hbp.eu/v1_0} ENV BS_REST_URL=${BS_REST_URL:-https://siibra-api-stable.apps.hbp.eu/v1_0}
...@@ -41,7 +38,8 @@ RUN rm -rf ./node_modules ...@@ -41,7 +38,8 @@ RUN rm -rf ./node_modules
RUN npm i RUN npm i
RUN npm run build-aot RUN npm run build
RUN npm run build-storybook
# gzipping container # gzipping container
FROM ubuntu:22.04 as compressor FROM ubuntu:22.04 as compressor
...@@ -49,12 +47,19 @@ RUN apt upgrade -y && apt update && apt install brotli ...@@ -49,12 +47,19 @@ RUN apt upgrade -y && apt update && apt install brotli
RUN mkdir /iv RUN mkdir /iv
COPY --from=builder /iv/dist/aot /iv COPY --from=builder /iv/dist/aot /iv
COPY --from=builder /iv/storybook-static /iv/storybook-static
# Remove duplicated assets. Use symlink instead.
WORKDIR /iv/storybook-static
RUN rm -rf ./assets
RUN ln -s ../assets ./assets
WORKDIR /iv WORKDIR /iv
RUN for f in $(find . -type f); do gzip < $f > $f.gz && brotli < $f > $f.br; done RUN for f in $(find . -type f); do gzip < $f > $f.gz && brotli < $f > $f.br; done
# prod container # prod container
FROM node:12-alpine FROM node:14-alpine
ENV NODE_ENV=production ENV NODE_ENV=production
......
...@@ -13,11 +13,11 @@ Copyright 2020-2021, Forschungszentrum Jülich GmbH ...@@ -13,11 +13,11 @@ Copyright 2020-2021, Forschungszentrum Jülich GmbH
## Getting Started ## Getting Started
A live version of the Interactive Atlas Viewer is available at [https://interactive-viewer.apps.hbp.eu](https://interactive-viewer.apps.hbp.eu). This section is useful for developers who would like to develop this project. A live version of the Interactive Atlas Viewer is available at [https://atlases.ebrains.eu/viewer/](https://atlases.ebrains.eu/viewer/). This section is useful for developers who would like to develop this project.
### General information ### General information
Interactive atlas viewer is built with [Angular (v12.0)](https://angular.io/), [Bootstrap (v4)](http://getbootstrap.com/), and [fontawesome icons](https://fontawesome.com/). Some other notable packages used are [ngrx/store](https://github.com/ngrx/platform) for state management. Interactive atlas viewer is built with [Angular (v13.0)](https://angular.io/), [Bootstrap (v4)](http://getbootstrap.com/), and [fontawesome icons](https://fontawesome.com/). Some other notable packages used are [ngrx/store](https://github.com/ngrx/platform) for state management.
Releases newer than [v0.2.9](https://github.com/HumanBrainProject/interactive-viewer/tree/v0.2.9) also uses a nodejs backend, which uses [passportjs](http://www.passportjs.org/) for user authentication, [express](https://expressjs.com/) as a http framework. Releases newer than [v0.2.9](https://github.com/HumanBrainProject/interactive-viewer/tree/v0.2.9) also uses a nodejs backend, which uses [passportjs](http://www.passportjs.org/) for user authentication, [express](https://expressjs.com/) as a http framework.
...@@ -25,7 +25,7 @@ Releases newer than [v0.2.9](https://github.com/HumanBrainProject/interactive-vi ...@@ -25,7 +25,7 @@ Releases newer than [v0.2.9](https://github.com/HumanBrainProject/interactive-vi
#### Prerequisites #### Prerequisites
- latest version of node 12.x.x or node 14.x.x - node 12.20.0 or later
#### Environments #### Environments
...@@ -48,8 +48,8 @@ Please see [e2e_env.md](e2e_env.md) ...@@ -48,8 +48,8 @@ Please see [e2e_env.md](e2e_env.md)
To run a dev server, run: To run a dev server, run:
```bash ```bash
$ git clone https://github.com/HumanBrainProject/interactive-viewer $ git clone https://github.com/FZJ-INM1-BDA/siibra-explorer
$ cd interactive-viewer $ cd siibra-explorer
$ npm i $ npm i
$ npm run dev-server $ npm run dev-server
``` ```
...@@ -69,51 +69,7 @@ $ npm run build-aot ...@@ -69,51 +69,7 @@ $ npm run build-aot
### Develop plugins ### Develop plugins
Below demonstrates an example workflow for developing plugins: Please see [src/plugin/README.md](src/plugin/README.md)
```bash
$ # build aot version of the atlas viewer
$ npm run build-aot
$ cd deploy
$ # run server with PLUGIN_URLS
$ PLUGIN_URLS=http://localhost:3333/manifest.json;http://localhost:3334/manifest.json node server.js
```
Interactive Atlas Viewer attempts to fetch list of manifests:
```
GET {BACKEND_URL}/plugins
```
The response from this endpoint will be:
```json
[
"http://localhost:3333/manifest.json",
"http://localhost:3334/manifest.json"
]
```
When user launches the viewer, the atlas viewer will attempt to fetch the metadata of the plugins:
```
GET http://localhost:3333/manifest.json
GET http://localhost:3334/manifest.json
```
The response from these endpoints are expected to adhere to [manifests](src/plugin_examples/README.md#Manifest%20JSON).
When the user launches the plugin, the viewer will fetch `templateUrl` and `scriptUrl`, if necessary.
Plugin developers can start their own webserver, use [interactive-viewer-plugin-template](https://github.com/HumanBrainProject/interactive-viewer-plugin-template), or (coming soon) provide link to a github repository.
[plugin readme](src/plugin_examples/README.md)
[plugin api](src/plugin_examples/plugin_api.md)
[plugin migration guide](src/plugin_examples/migrationGuide.md)
## Contributing ## Contributing
...@@ -121,7 +77,7 @@ Feel free to raise an issue in this repo and/or file a PR. ...@@ -121,7 +77,7 @@ Feel free to raise an issue in this repo and/or file a PR.
## Versioning ## Versioning
Commit history prior to v0.2.0 is available in the [legacy-v0.2.0](https://github.com/HumanBrainProject/interactive-viewer/tree/legacy-v0.2.0) branch. The repo was rewritten to remove its dependency on neuroglancer and nehuba. This allowed for simpler webpack config, faster build time and AOT compilation. Commit history prior to v0.2.0 is available in the [legacy-v0.2.0](https://github.com/FZJ-INM1-BDA/siibra-explorer/tree/legacy-v0.2.0) branch. The repo was rewritten to remove its dependency on neuroglancer and nehuba. This allowed for simpler webpack config, faster build time and AOT compilation.
## License ## License
......
...@@ -8,7 +8,6 @@ As interactive atlas viewer uses [webpack define plugin](https://webpack.js.org/ ...@@ -8,7 +8,6 @@ As interactive atlas viewer uses [webpack define plugin](https://webpack.js.org/
| `PRODUCTION` | if the build is for production, toggles optimisations such as minification | `undefined` | true | | `PRODUCTION` | if the build is for production, toggles optimisations such as minification | `undefined` | true |
| `BACKEND_URL` | backend that the viewer calls to fetch available template spaces, parcellations, plugins, datasets | `null` | https://interactive-viewer.apps.hbp.eu/ | | `BACKEND_URL` | backend that the viewer calls to fetch available template spaces, parcellations, plugins, datasets | `null` | https://interactive-viewer.apps.hbp.eu/ |
| `BS_REST_URL` | [siibra-api](https://github.com/FZJ-INM1-BDA/siibra-api) used to fetch different resources | https://siibra-api-stable.apps.hbp.eu/v1_0 | | `BS_REST_URL` | [siibra-api](https://github.com/FZJ-INM1-BDA/siibra-api) used to fetch different resources | https://siibra-api-stable.apps.hbp.eu/v1_0 |
| `DATASET_PREVIEW_URL` | dataset preview url used by component <https://github.com/fzj-inm1-bda/kg-dataset-previewer>. Useful for diagnosing issues with dataset previews.| https://hbp-kg-dataset-previewer.apps.hbp.eu/datasetPreview | http://localhost:1234/datasetPreview |
| `MATOMO_URL` | base url for matomo analytics | `null` | https://example.com/matomo/ | | `MATOMO_URL` | base url for matomo analytics | `null` | https://example.com/matomo/ |
| `MATOMO_ID` | application id for matomo analytics | `null` | 6 | | `MATOMO_ID` | application id for matomo analytics | `null` | 6 |
| `STRICT_LOCAL` | hides **Explore** and **Download** buttons. Useful for offline demo's | `false` | `true` | | `STRICT_LOCAL` | hides **Explore** and **Download** buttons. Useful for offline demo's | `false` | `true` |
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
NO_BULK_DOWNLOAD: `No datasets pinned`, NO_BULK_DOWNLOAD: `No datasets pinned`,
// overlay/layout specific // overlay/layout specific
TOGGLE_DELINEATION: `Toggle delineation [q]`,
SELECT_ATLAS: 'Atlas', SELECT_ATLAS: 'Atlas',
CONTEXT_MENU: `Viewer context menu`, CONTEXT_MENU: `Viewer context menu`,
TOGGLE_FRONTAL_OCTANT: `Toggle perspective view frontal octant`, TOGGLE_FRONTAL_OCTANT: `Toggle perspective view frontal octant`,
...@@ -84,12 +85,32 @@ ...@@ -84,12 +85,32 @@
} }
exports.CONST = { exports.CONST = {
KG_TOS: `The interactive viewer queries HBP Knowledge Graph Data Platform ("KG") for published datasets.
Access to the data and metadata provided through KG requires that you cite and acknowledge said data and metadata according to the Terms and Conditions of the Platform.
Citation requirements are outlined <https://www.humanbrainproject.eu/en/explore-the-brain/search-terms-of-use#citations> .
Acknowledgement requirements are outlined <https://www.humanbrainproject.eu/en/explore-the-brain/search-terms-of-use#acknowledgements>
These outlines are based on the authoritative Terms and Conditions are found <https://www.humanbrainproject.eu/en/explore-the-brain/search-terms-of-use>
If you do not accept the Terms & Conditions you are not permitted to access or use the KG to search for, to submit, to post, or to download any materials found there-in.
`,
LOADING_TXT: `Loading ...`, LOADING_TXT: `Loading ...`,
CANNOT_DECIPHER_HEMISPHERE: 'Cannot decipher region hemisphere.', CANNOT_DECIPHER_HEMISPHERE: 'Cannot decipher region hemisphere.',
DOES_NOT_SUPPORT_MULTI_REGION_SELECTION: `Please only select a single region.`, DOES_NOT_SUPPORT_MULTI_REGION_SELECTION: `Please only select a single region.`,
MULTI_REGION_SELECTION: `Multi region selection`, MULTI_REGION_SELECTION: `Multi region selection`,
DESCRIPTION: 'Description',
REGIONAL_FEATURES: 'Regional features', REGIONAL_FEATURES: 'Regional features',
CONNECTIVITY: 'Connectivity',
NO_ADDIONTAL_INFO_AVAIL: `Currently, no additional information is linked to this region.`, NO_ADDIONTAL_INFO_AVAIL: `Currently, no additional information is linked to this region.`,
ATLAS_NOT_FOUND: `Atlas not found. Maybe it is still loading. Try again in a few seconds?`, ATLAS_NOT_FOUND: `Atlas not found. Maybe it is still loading. Try again in a few seconds?`,
......
(function(exports) { (function(exports) {
exports.camelToSnake = s => s.replace(/[A-Z]/g, s => `_${s.toLowerCase()}`)
const flattenReducer = (acc, curr) => acc.concat(curr) const flattenReducer = (acc, curr) => acc.concat(curr)
exports.flattenReducer = flattenReducer exports.flattenReducer = flattenReducer
...@@ -157,6 +159,8 @@ ...@@ -157,6 +159,8 @@
exports.flattenRegions = flattenRegions exports.flattenRegions = flattenRegions
exports.hexToRgb = hex => hex && hex.match(/[a-fA-F0-9]{2}/g).map(v => parseInt(v, 16))
exports.rgbToHex = rgb => rgb && `#${rgb.map(color => color.toString(16).padStart(2, '0')).join("")}`
exports.getRandomHex = (digit = 1024 * 1024 * 1024 * 1024) => Math.round(Math.random() * digit).toString(16) exports.getRandomHex = (digit = 1024 * 1024 * 1024 * 1024) => Math.round(Math.random() * digit).toString(16)
/** /**
...@@ -199,37 +203,6 @@ ...@@ -199,37 +203,6 @@
) )
} }
exports.serialiseParcellationRegion = ({ ngId, labelIndex }) => {
if (!ngId) {
throw new Error(`#serialiseParcellationRegion error: ngId must be defined`)
}
if (!labelIndex) {
throw new Error(`#serialiseParcellationRegion error labelIndex must be defined`)
}
return `${ngId}#${labelIndex}`
}
const deserialiseParcRegionId = labelIndexId => {
const _ = labelIndexId && labelIndexId.split && labelIndexId.split('#') || []
const ngId = _.length > 1
? _[0]
: null
const labelIndex = _.length > 1
? Number(_[1])
: _.length === 0
? null
: Number(_[0])
return { labelIndex, ngId }
}
exports.deserialiseParcRegionId = deserialiseParcRegionId
exports.deserialiseParcellationRegion = ({ region, labelIndexId, inheritedNgId = 'root' }) => {
const { labelIndex, ngId } = deserialiseParcRegionId(labelIndexId)
}
const getPad = ({ length, pad }) => { const getPad = ({ length, pad }) => {
if (pad.length !== 1) throw new Error(`pad needs to be precisely 1 character`) if (pad.length !== 1) throw new Error(`pad needs to be precisely 1 character`)
return input => { return input => {
...@@ -252,4 +225,19 @@ ...@@ -252,4 +225,19 @@
return `${year}${pad2(month)}${pad2(date)}_${pad2(hr)}${pad2(min)}` return `${year}${pad2(month)}${pad2(date)}_${pad2(hr)}${pad2(min)}`
} }
function isVec4(input) {
if (!Array.isArray(input)) return false
if (input.length !== 4) return false
return input.every(v => typeof v === "number")
}
function isMat4(input) {
if (!Array.isArray(input)) return false
if (input.length !== 4) return false
return input.every(isVec4)
}
exports.isVec4 = isVec4
exports.isMat4 = isMat4
})(typeof exports === 'undefined' ? module.exports : exports) })(typeof exports === 'undefined' ? module.exports : exports)
...@@ -114,8 +114,12 @@ const WARNING_STRINGS = { ...@@ -114,8 +114,12 @@ const WARNING_STRINGS = {
REGION_SELECT_ERROR: 'Region selected cannot be processed properly.', REGION_SELECT_ERROR: 'Region selected cannot be processed properly.',
TEMPLATE_ERROR: 'Template not found.', TEMPLATE_ERROR: 'Template not found.',
} }
const pliPreviewUrl = `/a:juelich:iav:atlas:v1.0.0:1/t:minds:core:referencespace:v1.0.0:a1655b99-82f1-420f-a3c2-fe80fd4c8588/p:juelich:iav:atlas:v1.0.0:4/@:0.0.0.-W000.._eCwg.2-FUe3._-s_W.2_evlu..7LIy..1qI1a.D31U~.i-Os~..HRE/f:siibra:features:voi:19c437087299dd62e7c507200f69aea6`
module.exports = (query, _warningCb) => { module.exports = (query, _warningCb) => {
const HOST_PATHNAME = process.env.HOST_PATHNAME || ''
let redirectUrl = `${HOST_PATHNAME}/#`
const { const {
standaloneVolumes, standaloneVolumes,
niftiLayers, // deprecating - check if anyone calls this url niftiLayers, // deprecating - check if anyone calls this url
...@@ -163,7 +167,17 @@ module.exports = (query, _warningCb) => { ...@@ -163,7 +167,17 @@ module.exports = (query, _warningCb) => {
if (Array.isArray(parsedDsp)) { if (Array.isArray(parsedDsp)) {
if (parsedDsp.length === 1) { if (parsedDsp.length === 1) {
const { datasetId, filename } = parsedDsp[0] const { datasetId, filename } = parsedDsp[0]
dsp = `/dsp:${encodeId(datasetId)}::${encodeURI(filename)}` if (datasetId === "minds/core/dataset/v1.0.0/b08a7dbc-7c75-4ce7-905b-690b2b1e8957") {
/**
* if preview pli link, return hardcoded link
*/
return `${HOST_PATHNAME}/#${pliPreviewUrl}`
} else {
/**
* TODO deprecate dsp
*/
dsp = `/dsp:${encodeId(datasetId)}::${encodeURI(filename)}`
}
} else { } else {
searchParam.set(`previewingDatasetFiles`, previewingDatasetFiles) searchParam.set(`previewingDatasetFiles`, previewingDatasetFiles)
} }
...@@ -206,8 +220,6 @@ module.exports = (query, _warningCb) => { ...@@ -206,8 +220,6 @@ module.exports = (query, _warningCb) => {
// ignore region selected and move on // ignore region selected and move on
} }
} }
const HOST_PATHNAME = process.env.HOST_PATHNAME || ''
let redirectUrl = `${HOST_PATHNAME}/#`
if (standaloneVolumes) { if (standaloneVolumes) {
searchParam.set('standaloneVolumes', standaloneVolumes) searchParam.set('standaloneVolumes', standaloneVolumes)
if (nav) redirectUrl += nav if (nav) redirectUrl += nav
......
...@@ -54,7 +54,9 @@ const connectSrc = [ ...@@ -54,7 +54,9 @@ const connectSrc = [
'object.cscs.ch', 'object.cscs.ch',
// required for dataset previews // required for dataset previews
'hbp-kg-dataset-previewer.apps.hbp.eu/v2/',
// spatial transform
"hbp-spatial-backend.apps.hbp.eu",
// injected by env var // injected by env var
...CSP_CONNECT_SRC ...CSP_CONNECT_SRC
...@@ -102,26 +104,24 @@ module.exports = { ...@@ -102,26 +104,24 @@ module.exports = {
], ],
imgSrc: [ imgSrc: [
"'self'", "'self'",
"hbp-kg-dataset-previewer.apps.hbp.eu/v2/"
], ],
scriptSrc:[ scriptSrc:[
"'self'", "'self'",
...userScriptSrc, ...userScriptSrc,
'code.jquery.com', // plugin load external library -> jquery v2 and v3
'cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/', // plugin load external library -> web components
'cdnjs.cloudflare.com/ajax/libs/d3/', // plugin load external lib -> d3
'cdn.jsdelivr.net/npm/vue@2.5.16/', // plugin load external lib -> vue 2
'cdn.jsdelivr.net/npm/preact@8.4.2/', // plugin load external lib -> preact
'unpkg.com/react@16/umd/', // plugin load external lib -> react
'unpkg.com/kg-dataset-previewer@1.2.0/', // preview component 'unpkg.com/kg-dataset-previewer@1.2.0/', // preview component
'cdnjs.cloudflare.com/ajax/libs/d3/', // required for preview component
'cdnjs.cloudflare.com/ajax/libs/mathjax/', // math jax 'cdnjs.cloudflare.com/ajax/libs/mathjax/', // math jax
'https://unpkg.com/three-surfer@0.0.10/dist/bundle.js', // for threeSurfer (freesurfer support in browser) 'https://unpkg.com/three-surfer@0.0.11/dist/bundle.js', // for threeSurfer (freesurfer support in browser)
'https://unpkg.com/ng-layer-tune@0.0.6/dist/ng-layer-tune/', // needed for ng layer control 'https://unpkg.com/ng-layer-tune@0.0.6/dist/ng-layer-tune/', // needed for ng layer control
'https://unpkg.com/hbp-connectivity-component@0.6.2/', // needed for connectivity component
(req, res) => res.locals.nonce ? `'nonce-${res.locals.nonce}'` : null, (req, res) => res.locals.nonce ? `'nonce-${res.locals.nonce}'` : null,
...SCRIPT_SRC, ...SCRIPT_SRC,
...WHITE_LIST_SRC, ...WHITE_LIST_SRC,
...defaultAllowedSites ...defaultAllowedSites
], ],
frameSrc: [
"*"
],
reportUri: CSP_REPORT_URI || '/report-violation' reportUri: CSP_REPORT_URI || '/report-violation'
}, },
reportOnly reportOnly
......
...@@ -151,77 +151,6 @@ ...@@ -151,77 +151,6 @@
"picomatch": "^2.0.4" "picomatch": "^2.0.4"
} }
}, },
"archiver": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/archiver/-/archiver-3.1.1.tgz",
"integrity": "sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==",
"requires": {
"archiver-utils": "^2.1.0",
"async": "^2.6.3",
"buffer-crc32": "^0.2.1",
"glob": "^7.1.4",
"readable-stream": "^3.4.0",
"tar-stream": "^2.1.0",
"zip-stream": "^2.1.2"
},
"dependencies": {
"glob": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
"integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"readable-stream": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
"integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
}
},
"archiver-utils": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
"integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
"requires": {
"glob": "^7.1.4",
"graceful-fs": "^4.2.0",
"lazystream": "^1.0.0",
"lodash.defaults": "^4.2.0",
"lodash.difference": "^4.5.0",
"lodash.flatten": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.union": "^4.6.0",
"normalize-path": "^3.0.0",
"readable-stream": "^2.0.0"
},
"dependencies": {
"glob": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
"integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
}
}
},
"argparse": { "argparse": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
...@@ -252,21 +181,6 @@ ...@@ -252,21 +181,6 @@
"integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
"dev": true "dev": true
}, },
"async": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
"requires": {
"lodash": "^4.17.14"
},
"dependencies": {
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
}
}
},
"asynckit": { "asynckit": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
...@@ -285,7 +199,8 @@ ...@@ -285,7 +199,8 @@
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
}, },
"bcrypt-pbkdf": { "bcrypt-pbkdf": {
"version": "1.0.2", "version": "1.0.2",
...@@ -301,26 +216,6 @@ ...@@ -301,26 +216,6 @@
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true "dev": true
}, },
"bl": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz",
"integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==",
"requires": {
"readable-stream": "^3.0.1"
},
"dependencies": {
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
}
},
"body-parser": { "body-parser": {
"version": "1.19.0", "version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
...@@ -393,6 +288,7 @@ ...@@ -393,6 +288,7 @@
"version": "1.1.11", "version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
...@@ -413,11 +309,6 @@ ...@@ -413,11 +309,6 @@
"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
"dev": true "dev": true
}, },
"buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
},
"bytes": { "bytes": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
...@@ -583,21 +474,11 @@ ...@@ -583,21 +474,11 @@
"delayed-stream": "~1.0.0" "delayed-stream": "~1.0.0"
} }
}, },
"compress-commons": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-2.1.1.tgz",
"integrity": "sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q==",
"requires": {
"buffer-crc32": "^0.2.13",
"crc32-stream": "^3.0.1",
"normalize-path": "^3.0.0",
"readable-stream": "^2.3.6"
}
},
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
}, },
"connect-redis": { "connect-redis": {
"version": "5.1.0", "version": "5.1.0",
...@@ -661,27 +542,6 @@ ...@@ -661,27 +542,6 @@
"resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz",
"integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms=" "integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms="
}, },
"crc32-stream": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz",
"integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==",
"requires": {
"crc": "^3.4.4",
"readable-stream": "^3.4.0"
},
"dependencies": {
"readable-stream": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
"integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
}
},
"dashdash": { "dashdash": {
"version": "1.14.1", "version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
...@@ -1000,15 +860,11 @@ ...@@ -1000,15 +860,11 @@
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
}, },
"fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
},
"fs.realpath": { "fs.realpath": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
}, },
"fsevents": { "fsevents": {
"version": "2.3.2", "version": "2.3.2",
...@@ -1089,11 +945,6 @@ ...@@ -1089,11 +945,6 @@
"type-fest": "^0.9.0" "type-fest": "^0.9.0"
} }
}, },
"graceful-fs": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.1.tgz",
"integrity": "sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw=="
},
"growl": { "growl": {
"version": "1.10.5", "version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
...@@ -1191,6 +1042,7 @@ ...@@ -1191,6 +1042,7 @@
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": { "requires": {
"once": "^1.3.0", "once": "^1.3.0",
"wrappy": "1" "wrappy": "1"
...@@ -1341,51 +1193,18 @@ ...@@ -1341,51 +1193,18 @@
"json-buffer": "3.0.1" "json-buffer": "3.0.1"
} }
}, },
"lazystream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
"integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
"requires": {
"readable-stream": "^2.0.5"
}
},
"lodash": { "lodash": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true "dev": true
}, },
"lodash.defaults": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
"integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw="
},
"lodash.difference": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
"integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw="
},
"lodash.flatten": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
"integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8="
},
"lodash.get": { "lodash.get": {
"version": "4.4.2", "version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
"dev": true "dev": true
}, },
"lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
},
"lodash.union": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
"integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg="
},
"log-symbols": { "log-symbols": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
...@@ -1498,6 +1317,7 @@ ...@@ -1498,6 +1317,7 @@
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
...@@ -1686,7 +1506,8 @@ ...@@ -1686,7 +1506,8 @@
"normalize-path": { "normalize-path": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
}, },
"normalize-url": { "normalize-url": {
"version": "4.5.1", "version": "4.5.1",
...@@ -1853,7 +1674,8 @@ ...@@ -1853,7 +1674,8 @@
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
}, },
"path-to-regexp": { "path-to-regexp": {
"version": "0.1.7", "version": "0.1.7",
...@@ -2351,30 +2173,6 @@ ...@@ -2351,30 +2173,6 @@
"has-flag": "^4.0.0" "has-flag": "^4.0.0"
} }
}, },
"tar-stream": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz",
"integrity": "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==",
"requires": {
"bl": "^3.0.0",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
},
"dependencies": {
"readable-stream": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
"integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
}
},
"through2": { "through2": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz",
...@@ -2619,28 +2417,6 @@ ...@@ -2619,28 +2417,6 @@
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true "dev": true
},
"zip-stream": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-2.1.2.tgz",
"integrity": "sha512-ykebHGa2+uzth/R4HZLkZh3XFJzivhVsjJt8bN3GvBzLaqqrUdRacu+c4QtnUgjkkQfsOuNE1JgLKMCPNmkKgg==",
"requires": {
"archiver-utils": "^2.1.0",
"compress-commons": "^2.1.1",
"readable-stream": "^3.4.0"
},
"dependencies": {
"readable-stream": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
"integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
}
} }
} }
} }
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"archiver": "^3.0.0",
"body-parser": "^1.19.0", "body-parser": "^1.19.0",
"connect-redis": "^5.0.0", "connect-redis": "^5.0.0",
"cookie-parser": "^1.4.5", "cookie-parser": "^1.4.5",
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment