Set up docker and docker-compose for SSR
This commit is contained in:
+8
-6
@@ -1,9 +1,11 @@
|
|||||||
FROM node
|
FROM node:alpine
|
||||||
|
|
||||||
|
RUN apk add --no-cache libpng-dev gcc make g++ zlib-dev bash lcms2-dev autoconf automake libtool nasm
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ADD . /app/
|
COPY package.json package-lock.json ./
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install nasm
|
|
||||||
RUN npm ci
|
RUN npm ci
|
||||||
CMD ["npm", "start"]
|
|
||||||
EXPOSE 8080
|
COPY . ./
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
CMD ["npm", "start"]
|
||||||
@@ -23,7 +23,7 @@ Minimal starter kit with hot module replacement (HMR) for rapid development.
|
|||||||
`npm start`
|
`npm start`
|
||||||
|
|
||||||
* Build app continously (HMR enabled)
|
* Build app continously (HMR enabled)
|
||||||
* App served @ `http://localhost:8080`
|
* App served @ `http://localhost:3000`
|
||||||
|
|
||||||
### Create new component
|
### Create new component
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ Minimal starter kit with hot module replacement (HMR) for rapid development.
|
|||||||
|
|
||||||
Command | Description
|
Command | Description
|
||||||
--- | ---
|
--- | ---
|
||||||
`npm run start-dev` | Build app continously (HMR enabled) and serve @ `http://localhost:8080`
|
`npm run start-dev` | Build app continously (HMR enabled) and serve @ `http://localhost:3000`
|
||||||
`npm run start-prod` | Build app once (HMR disabled) and serve @ `http://localhost:3000`
|
`npm run start-prod` | Build app once (HMR disabled) and serve @ `http://localhost:3000`
|
||||||
`npm run build` | Build app to `/dist/`
|
`npm run build` | Build app to `/dist/`
|
||||||
`npm run test` | Run e2e and unit tests
|
`npm run test` | Run e2e and unit tests
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ module.exports = function (env, argv) {
|
|||||||
base.mode = "development";
|
base.mode = "development";
|
||||||
base.entry = [
|
base.entry = [
|
||||||
"react-hot-loader/patch", // Activate HMR for React
|
"react-hot-loader/patch", // Activate HMR for React
|
||||||
"webpack-dev-server/client?http://0.0.0.0:8080", // Bundle the client for webpack-dev-server and connect to the provided endpoint
|
"webpack-dev-server/client?http://0.0.0.0:3000", // Bundle the client for webpack-dev-server and connect to the provided endpoint
|
||||||
"webpack/hot/only-dev-server", // Bundle the client for hot reloading, only- means to only hot reload for successful updates
|
"webpack/hot/only-dev-server", // Bundle the client for hot reloading, only- means to only hot reload for successful updates
|
||||||
"./index.tsx" // The entry point of our app
|
"./index.tsx" // The entry point of our app
|
||||||
];
|
];
|
||||||
@@ -19,7 +19,7 @@ module.exports = function (env, argv) {
|
|||||||
hot: true, // Enable HMR on the server
|
hot: true, // Enable HMR on the server
|
||||||
historyApiFallback: true,
|
historyApiFallback: true,
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
port: '8080',
|
port: '3000',
|
||||||
allowedHosts: [
|
allowedHosts: [
|
||||||
'.sik.party',
|
'.sik.party',
|
||||||
'.sahkoinsinoorikilta.fi',
|
'.sahkoinsinoorikilta.fi',
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
frontend:
|
||||||
|
build: .
|
||||||
|
image: git.sahkoinsinoorikilta.fi:4567/vtmk/web2.0-frontend-prod
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
command: npm run start-prod
|
||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
web-frontend:
|
frontend:
|
||||||
build: .
|
build: .
|
||||||
image: git.sahkoinsinoorikilta.fi:4567/vtmk/web2.0-frontend
|
image: git.sahkoinsinoorikilta.fi:4567/vtmk/web2.0-frontend
|
||||||
ports:
|
ports:
|
||||||
- "3000:8080"
|
- "3000:3000"
|
||||||
|
|||||||
Generated
+138
-15
@@ -2781,6 +2781,12 @@
|
|||||||
"map-obj": "^1.0.0"
|
"map-obj": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"camelize": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"caniuse-api": {
|
"caniuse-api": {
|
||||||
"version": "1.6.1",
|
"version": "1.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
|
||||||
@@ -3456,25 +3462,25 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"mime-db": {
|
"mime-db": {
|
||||||
"version": "1.34.0",
|
"version": "1.35.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
|
||||||
"integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o=",
|
"integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compression": {
|
"compression": {
|
||||||
"version": "1.7.2",
|
"version": "1.7.3",
|
||||||
"resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
|
||||||
"integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=",
|
"integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"accepts": "~1.3.4",
|
"accepts": "~1.3.5",
|
||||||
"bytes": "3.0.0",
|
"bytes": "3.0.0",
|
||||||
"compressible": "~2.0.13",
|
"compressible": "~2.0.14",
|
||||||
"debug": "2.6.9",
|
"debug": "2.6.9",
|
||||||
"on-headers": "~1.0.1",
|
"on-headers": "~1.0.1",
|
||||||
"safe-buffer": "5.1.1",
|
"safe-buffer": "5.1.2",
|
||||||
"vary": "~1.1.2"
|
"vary": "~1.1.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -3486,12 +3492,6 @@
|
|||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"safe-buffer": {
|
|
||||||
"version": "5.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
|
|
||||||
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
|
|
||||||
"dev": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -3598,6 +3598,12 @@
|
|||||||
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
|
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"content-security-policy-builder": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-j+Nhmj1yfZAikJLImCvPJFE29x/UuBi+/MWqggGGc515JKaZrjuei2RhULJmy0MsstW3E3htl002bwmBNMKr7w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"content-type": {
|
"content-type": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
|
||||||
@@ -4011,6 +4017,12 @@
|
|||||||
"assert-plus": "^1.0.0"
|
"assert-plus": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dasherize": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"date-now": {
|
"date-now": {
|
||||||
"version": "0.1.4",
|
"version": "0.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
|
||||||
@@ -4424,6 +4436,12 @@
|
|||||||
"safe-buffer": "^5.0.1"
|
"safe-buffer": "^5.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dns-prefetch-control": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz",
|
||||||
|
"integrity": "sha1-YN20V3dOF48flBXwyrsOhbCzALI=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"dns-txt": {
|
"dns-txt": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
|
||||||
@@ -4505,6 +4523,12 @@
|
|||||||
"domelementtype": "1"
|
"domelementtype": "1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dont-sniff-mimetype": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-WTKJDcn04vGeXrAqIAJuXl78j1g=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"dot-case": {
|
"dot-case": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz",
|
||||||
@@ -5109,6 +5133,12 @@
|
|||||||
"homedir-polyfill": "^1.0.1"
|
"homedir-polyfill": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"expect-ct": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/expect-ct/-/expect-ct-0.1.1.tgz",
|
||||||
|
"integrity": "sha512-ngXzTfoRGG7fYens3/RMb6yYoVLvLMfmsSllP/mZPxNHgFq41TmPSLF/nLY7fwoclI2vElvAmILFWGUYqdjfCg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"express": {
|
"express": {
|
||||||
"version": "4.16.3",
|
"version": "4.16.3",
|
||||||
"resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz",
|
"resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz",
|
||||||
@@ -5905,6 +5935,12 @@
|
|||||||
"map-cache": "^0.2.2"
|
"map-cache": "^0.2.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"frameguard": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/frameguard/-/frameguard-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-e8rUae57lukdEs6zlZx4I1qScuk=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"fresh": {
|
"fresh": {
|
||||||
"version": "0.5.2",
|
"version": "0.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||||
@@ -7530,6 +7566,51 @@
|
|||||||
"upper-case": "^1.1.3"
|
"upper-case": "^1.1.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"helmet": {
|
||||||
|
"version": "3.13.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/helmet/-/helmet-3.13.0.tgz",
|
||||||
|
"integrity": "sha512-rCYnlbOBkeP6fCo4sXZNu91vIAWlbVgolwnUANtnzPANRf2kJZ2a6yjRnCqG23Tyl2/ExvJ8bDg4xUdNCIWnrw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"dns-prefetch-control": "0.1.0",
|
||||||
|
"dont-sniff-mimetype": "1.0.0",
|
||||||
|
"expect-ct": "0.1.1",
|
||||||
|
"frameguard": "3.0.0",
|
||||||
|
"helmet-crossdomain": "0.3.0",
|
||||||
|
"helmet-csp": "2.7.1",
|
||||||
|
"hide-powered-by": "1.0.0",
|
||||||
|
"hpkp": "2.0.0",
|
||||||
|
"hsts": "2.1.0",
|
||||||
|
"ienoopen": "1.0.0",
|
||||||
|
"nocache": "2.0.0",
|
||||||
|
"referrer-policy": "1.1.0",
|
||||||
|
"x-xss-protection": "1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"helmet-crossdomain": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/helmet-crossdomain/-/helmet-crossdomain-0.3.0.tgz",
|
||||||
|
"integrity": "sha512-YiXhj0E35nC4Na5EPE4mTfoXMf9JTGpN4OtB4aLqShKuH9d2HNaJX5MQoglO6STVka0uMsHyG5lCut5Kzsy7Lg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"helmet-csp": {
|
||||||
|
"version": "2.7.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.7.1.tgz",
|
||||||
|
"integrity": "sha512-sCHwywg4daQ2mY0YYwXSZRsgcCeerUwxMwNixGA7aMLkVmPTYBl7gJoZDHOZyXkqPrtuDT3s2B1A+RLI7WxSdQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"camelize": "1.0.0",
|
||||||
|
"content-security-policy-builder": "2.0.0",
|
||||||
|
"dasherize": "2.0.0",
|
||||||
|
"platform": "1.3.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hide-powered-by": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-SoWtZYgfYoV/xwr3F0oRhNzM4ys=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"highlight-es": {
|
"highlight-es": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/highlight-es/-/highlight-es-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/highlight-es/-/highlight-es-1.0.3.tgz",
|
||||||
@@ -7622,6 +7703,18 @@
|
|||||||
"wbuf": "^1.1.0"
|
"wbuf": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hpkp": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/hpkp/-/hpkp-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-EOFCJk52IVpdMMROxD3mTe5tFnI=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"hsts": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/hsts/-/hsts-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-zXhh/DqgrTXJ7erTN6Fh5k/xjMhDGXCqdYN3wvxUvGUQvnxcFfUd8E+6vLg/nk3ss1TYMb+DhRl25fYABioTvA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"html-comment-regex": {
|
"html-comment-regex": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
|
||||||
@@ -7883,6 +7976,12 @@
|
|||||||
"integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
|
"integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"ienoopen": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ienoopen/-/ienoopen-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-NGpCj0dKrI9QzzeE6i0PFvYr2ms=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"iferr": {
|
"iferr": {
|
||||||
"version": "0.1.5",
|
"version": "0.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
|
||||||
@@ -10408,6 +10507,12 @@
|
|||||||
"lower-case": "^1.1.1"
|
"lower-case": "^1.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nocache": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-ICtIAhoMTL3i34DeFaF0Q8i0OYA=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node-fetch": {
|
"node-fetch": {
|
||||||
"version": "1.7.3",
|
"version": "1.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
|
||||||
@@ -11837,6 +11942,12 @@
|
|||||||
"find-up": "^2.1.0"
|
"find-up": "^2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"platform": {
|
||||||
|
"version": "1.3.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz",
|
||||||
|
"integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"please-upgrade-node": {
|
"please-upgrade-node": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.0.2.tgz",
|
||||||
@@ -13759,6 +13870,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"referrer-policy": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.1.0.tgz",
|
||||||
|
"integrity": "sha1-NXdOtzW/UPtsB46DM0tHI1AgfXk=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"regenerate": {
|
"regenerate": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
|
||||||
@@ -18399,6 +18516,12 @@
|
|||||||
"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
|
"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"x-xss-protection": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/x-xss-protection/-/x-xss-protection-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-rx3GzJlgEeZ08MIcDsU2vY2B1QEriUKJTSiNHHUIem6eg9pzVOr2TL3Y4Pd6TMAM5D5azGjcxqI62piITBDHVg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"xdg-basedir": {
|
"xdg-basedir": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
|
||||||
|
|||||||
Reference in New Issue
Block a user