chore: fix dockerfile more

This commit is contained in:
Katie Thornhill 2019-11-20 01:03:16 -05:00
parent f6b54eb196
commit dc390937b8
No known key found for this signature in database
GPG key ID: F76EDC6541A99644
13 changed files with 216 additions and 162 deletions

View file

@ -1,18 +1,32 @@
FROM node:12-alpine AS builder FROM node:12-alpine AS base
# ENV NODE_ENV production
COPY ./UI /src/UI
RUN cd /src/UI && npm ci && npm run build
COPY ./Server /src/Server FROM base AS uibase
RUN cd /src/Server && npm ci WORKDIR /src/UI
RUN cp -r /src/UI/build /src/Server/public FROM base AS serverbase
WORKDIR /src/Server
RUN apk add --no-cache git python build-base
FROM uibase AS uideps
COPY ./UI/package-lock.json ./UI/package.json ./
RUN npm ci
FROM node:12-alpine FROM serverbase AS serverdeps
COPY ./Server/package-lock.json ./Server/package.json ./
RUN npm ci
FROM uideps AS uibuild
COPY ./UI .
RUN npm run build
FROM scratch AS combined
COPY ./Server/ /src/Server
COPY --from=serverdeps /src/Server/node_modules /src/Server/node_modules
COPY --from=uibuild /src/UI/build /src/Server/public
FROM base
ENV NODE_ENV production ENV NODE_ENV production
WORKDIR /dist WORKDIR /dist
EXPOSE 6769 EXPOSE 6769
RUN npm i -g pm2 COPY --from=combined /src/Server /dist
COPY --from=builder /src/Server /dist CMD node index.js
CMD pm2-docker index.js

283
Server/package-lock.json generated
View file

@ -23,9 +23,9 @@
} }
}, },
"@discordjs/uws": { "@discordjs/uws": {
"version": "11.149.1", "version": "10.149.0",
"resolved": "https://registry.npmjs.org/@discordjs/uws/-/uws-11.149.1.tgz", "resolved": "https://registry.npmjs.org/@discordjs/uws/-/uws-10.149.0.tgz",
"integrity": "sha512-TmbwZaeXDSCq0ckmf2q10Fkt1220gu9AZJ/UvtQjsi2jyJDjy0i0OwL4/eb3vc9Cwr0mpC9EbfzltQ2si0qUiQ==" "integrity": "sha512-N1wjoAD2DOgzevqzyTOWTgyO2divX03JWNQx4JHm/jQ/BRzZNkhwVRO3RC5Guww+srdgs4Tw4gwrzlJrlOhq/Q=="
}, },
"@improbable-eng/grpc-web": { "@improbable-eng/grpc-web": {
"version": "0.11.0", "version": "0.11.0",
@ -228,9 +228,9 @@
} }
}, },
"acorn": { "acorn": {
"version": "6.3.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
"integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==" "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ=="
}, },
"acorn-jsx": { "acorn-jsx": {
"version": "5.1.0", "version": "5.1.0",
@ -275,14 +275,17 @@
} }
}, },
"ansi-escapes": { "ansi-escapes": {
"version": "3.2.0", "version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
"integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
"requires": {
"type-fest": "^0.8.1"
}
}, },
"ansi-regex": { "ansi-regex": {
"version": "3.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
}, },
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
@ -694,11 +697,11 @@
} }
}, },
"cli-cursor": { "cli-cursor": {
"version": "2.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"requires": { "requires": {
"restore-cursor": "^2.0.0" "restore-cursor": "^3.1.0"
} }
}, },
"cli-table-redemption": { "cli-table-redemption": {
@ -1076,9 +1079,9 @@
} }
}, },
"dotenv": { "dotenv": {
"version": "7.0.0", "version": "8.2.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
"integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==" "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
}, },
"dottie": { "dottie": {
"version": "2.0.1", "version": "2.0.1",
@ -1099,9 +1102,9 @@
} }
}, },
"emoji-regex": { "emoji-regex": {
"version": "7.0.3", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
}, },
"encodeurl": { "encodeurl": {
"version": "1.0.2", "version": "1.0.2",
@ -1264,57 +1267,73 @@
} }
}, },
"eslint": { "eslint": {
"version": "5.16.0", "version": "6.6.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz",
"integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", "integrity": "sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==",
"requires": { "requires": {
"@babel/code-frame": "^7.0.0", "@babel/code-frame": "^7.0.0",
"ajv": "^6.9.1", "ajv": "^6.10.0",
"chalk": "^2.1.0", "chalk": "^2.1.0",
"cross-spawn": "^6.0.5", "cross-spawn": "^6.0.5",
"debug": "^4.0.1", "debug": "^4.0.1",
"doctrine": "^3.0.0", "doctrine": "^3.0.0",
"eslint-scope": "^4.0.3", "eslint-scope": "^5.0.0",
"eslint-utils": "^1.3.1", "eslint-utils": "^1.4.3",
"eslint-visitor-keys": "^1.0.0", "eslint-visitor-keys": "^1.1.0",
"espree": "^5.0.1", "espree": "^6.1.2",
"esquery": "^1.0.1", "esquery": "^1.0.1",
"esutils": "^2.0.2", "esutils": "^2.0.2",
"file-entry-cache": "^5.0.1", "file-entry-cache": "^5.0.1",
"functional-red-black-tree": "^1.0.1", "functional-red-black-tree": "^1.0.1",
"glob": "^7.1.2", "glob-parent": "^5.0.0",
"globals": "^11.7.0", "globals": "^11.7.0",
"ignore": "^4.0.6", "ignore": "^4.0.6",
"import-fresh": "^3.0.0", "import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4", "imurmurhash": "^0.1.4",
"inquirer": "^6.2.2", "inquirer": "^7.0.0",
"js-yaml": "^3.13.0", "is-glob": "^4.0.0",
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1", "json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.3.0", "levn": "^0.3.0",
"lodash": "^4.17.11", "lodash": "^4.17.14",
"minimatch": "^3.0.4", "minimatch": "^3.0.4",
"mkdirp": "^0.5.1", "mkdirp": "^0.5.1",
"natural-compare": "^1.4.0", "natural-compare": "^1.4.0",
"optionator": "^0.8.2", "optionator": "^0.8.2",
"path-is-inside": "^1.0.2",
"progress": "^2.0.0", "progress": "^2.0.0",
"regexpp": "^2.0.1", "regexpp": "^2.0.1",
"semver": "^5.5.1", "semver": "^6.1.2",
"strip-ansi": "^4.0.0", "strip-ansi": "^5.2.0",
"strip-json-comments": "^2.0.1", "strip-json-comments": "^3.0.1",
"table": "^5.2.3", "table": "^5.2.3",
"text-table": "^0.2.0" "text-table": "^0.2.0",
"v8-compile-cache": "^2.0.3"
},
"dependencies": {
"glob-parent": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
"integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
"requires": {
"is-glob": "^4.0.1"
}
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
} }
}, },
"eslint-config-standard": { "eslint-config-standard": {
"version": "12.0.0", "version": "14.1.0",
"resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz",
"integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==" "integrity": "sha512-EF6XkrrGVbvv8hL/kYa/m6vnvmUT+K82pJJc4JJVMM6+Qgqh0pnwprSxdduDLB9p/7bIxD+YV5O0wfb8lmcPbA=="
}, },
"eslint-scope": { "eslint-scope": {
"version": "4.0.3", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
"integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
"requires": { "requires": {
"esrecurse": "^4.1.0", "esrecurse": "^4.1.0",
"estraverse": "^4.1.1" "estraverse": "^4.1.1"
@ -1334,13 +1353,13 @@
"integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==" "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A=="
}, },
"espree": { "espree": {
"version": "5.0.1", "version": "6.1.2",
"resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
"integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
"requires": { "requires": {
"acorn": "^6.0.7", "acorn": "^7.1.0",
"acorn-jsx": "^5.0.0", "acorn-jsx": "^5.1.0",
"eslint-visitor-keys": "^1.0.0" "eslint-visitor-keys": "^1.1.0"
} }
}, },
"esprima": { "esprima": {
@ -1521,9 +1540,9 @@
"integrity": "sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=" "integrity": "sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA="
}, },
"figures": { "figures": {
"version": "2.0.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
"requires": { "requires": {
"escape-string-regexp": "^1.0.5" "escape-string-regexp": "^1.0.5"
} }
@ -2515,37 +2534,29 @@
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
}, },
"inquirer": { "inquirer": {
"version": "6.5.2", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz",
"integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==",
"requires": { "requires": {
"ansi-escapes": "^3.2.0", "ansi-escapes": "^4.2.1",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"cli-cursor": "^2.1.0", "cli-cursor": "^3.1.0",
"cli-width": "^2.0.0", "cli-width": "^2.0.0",
"external-editor": "^3.0.3", "external-editor": "^3.0.3",
"figures": "^2.0.0", "figures": "^3.0.0",
"lodash": "^4.17.12", "lodash": "^4.17.15",
"mute-stream": "0.0.7", "mute-stream": "0.0.8",
"run-async": "^2.2.0", "run-async": "^2.2.0",
"rxjs": "^6.4.0", "rxjs": "^6.4.0",
"string-width": "^2.1.0", "string-width": "^4.1.0",
"strip-ansi": "^5.1.0", "strip-ansi": "^5.1.0",
"through": "^2.3.6" "through": "^2.3.6"
}, },
"dependencies": { "dependencies": {
"ansi-regex": { "mute-stream": {
"version": "4.1.0", "version": "0.0.8",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
},
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"requires": {
"ansi-regex": "^4.1.0"
}
} }
} }
}, },
@ -2644,9 +2655,9 @@
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "2.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
}, },
"is-generator-function": { "is-generator-function": {
"version": "1.0.7", "version": "1.0.7",
@ -3129,9 +3140,9 @@
} }
}, },
"mimic-fn": { "mimic-fn": {
"version": "1.2.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
}, },
"minimatch": { "minimatch": {
"version": "3.0.4", "version": "3.0.4",
@ -3298,6 +3309,11 @@
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
}, },
"node-addon-api": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.1.tgz",
"integrity": "sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ=="
},
"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",
@ -3392,11 +3408,11 @@
} }
}, },
"onetime": { "onetime": {
"version": "2.0.1", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
"requires": { "requires": {
"mimic-fn": "^1.0.0" "mimic-fn": "^2.1.0"
} }
}, },
"only": { "only": {
@ -3503,11 +3519,6 @@
"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="
}, },
"path-is-inside": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
},
"path-key": { "path-key": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@ -3998,11 +4009,11 @@
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
}, },
"restore-cursor": { "restore-cursor": {
"version": "2.0.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"requires": { "requires": {
"onetime": "^2.0.0", "onetime": "^5.1.0",
"signal-exit": "^3.0.2" "signal-exit": "^3.0.2"
} }
}, },
@ -4170,6 +4181,13 @@
"ansi-styles": "^3.2.0", "ansi-styles": "^3.2.0",
"astral-regex": "^1.0.0", "astral-regex": "^1.0.0",
"is-fullwidth-code-point": "^2.0.0" "is-fullwidth-code-point": "^2.0.0"
},
"dependencies": {
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
}
} }
}, },
"smart-buffer": { "smart-buffer": {
@ -4506,12 +4524,23 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
}, },
"string-width": { "string-width": {
"version": "2.1.1", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"requires": { "requires": {
"is-fullwidth-code-point": "^2.0.0", "emoji-regex": "^8.0.0",
"strip-ansi": "^4.0.0" "is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.0"
},
"dependencies": {
"strip-ansi": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"requires": {
"ansi-regex": "^5.0.0"
}
}
} }
}, },
"string.prototype.padstart": { "string.prototype.padstart": {
@ -4548,17 +4577,24 @@
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}, },
"strip-ansi": { "strip-ansi": {
"version": "4.0.0", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"requires": { "requires": {
"ansi-regex": "^3.0.0" "ansi-regex": "^4.1.0"
},
"dependencies": {
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
}
} }
}, },
"strip-json-comments": { "strip-json-comments": {
"version": "2.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw=="
}, },
"superagent": { "superagent": {
"version": "5.1.0", "version": "5.1.0",
@ -4627,10 +4663,15 @@
"string-width": "^3.0.0" "string-width": "^3.0.0"
}, },
"dependencies": { "dependencies": {
"ansi-regex": { "emoji-regex": {
"version": "4.1.0", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
}, },
"string-width": { "string-width": {
"version": "3.1.0", "version": "3.1.0",
@ -4641,14 +4682,6 @@
"is-fullwidth-code-point": "^2.0.0", "is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^5.1.0" "strip-ansi": "^5.1.0"
} }
},
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"requires": {
"ansi-regex": "^4.1.0"
}
} }
} }
}, },
@ -4781,6 +4814,11 @@
"prelude-ls": "~1.1.2" "prelude-ls": "~1.1.2"
} }
}, },
"type-fest": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
"integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="
},
"type-is": { "type-is": {
"version": "1.6.18", "version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@ -5010,6 +5048,15 @@
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz",
"integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==" "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ=="
},
"zucc": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/zucc/-/zucc-0.1.2.tgz",
"integrity": "sha512-G2x33eO7X79+7eSnwL9+uWYxxCEXk+P4BkcrVYpV6NTxynqjFhhiWLxbXsq5Lx4B36dYlXpvRoOk0a82TUKgRw==",
"requires": {
"bindings": "^1.5.0",
"node-addon-api": "^1.6.3"
}
} }
} }
} }

View file

@ -10,32 +10,33 @@
"pm2": "pm2" "pm2": "pm2"
}, },
"dependencies": { "dependencies": {
"@discordjs/uws": "^11.149.1", "@discordjs/uws": "^10.149.0",
"@roleypoly/rpc": "^3.0.0-alpha.12", "@roleypoly/rpc": "^3.0.0-alpha.12",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"discord.js": "^11.4.2", "discord.js": "^11.5.1",
"dotenv": "^7.0.0", "dotenv": "^8.2.0",
"erlpack": "github:discordapp/erlpack", "erlpack": "github:discordapp/erlpack",
"eslint": "^5.16.0", "eslint": "^6.6.0",
"eslint-config-standard": "^12.0.0", "eslint-config-standard": "^14.1.0",
"glob": "^7.1.3", "glob": "^7.1.6",
"immutable": "^4.0.0-rc.12", "immutable": "^4.0.0-rc.12",
"koa": "^2.7.0", "koa": "^2.11.0",
"koa-better-router": "^2.1.1", "koa-better-router": "^2.1.1",
"koa-bodyparser": "^4.2.1", "koa-bodyparser": "^4.2.1",
"koa-compress": "^3.0.0", "koa-compress": "^3.0.0",
"koa-send": "5.0.0", "koa-send": "5.0.0",
"koa-session": "^5.10.1", "koa-session": "^5.12.3",
"koa-static": "^5.0.0", "koa-static": "^5.0.0",
"ksuid": "^1.2.0", "ksuid": "^1.2.0",
"lru-cache": "^5.1.1", "lru-cache": "^5.1.1",
"pg": "^7.9.0", "pg": "^7.13.0",
"pg-hstore": "^2.3.2", "pg-hstore": "^2.3.3",
"pm2": "^3.5.0", "pm2": "^3.5.0",
"sequelize": "^5.21.1", "sequelize": "^5.21.2",
"socket.io": "^2.2.0", "socket.io": "^2.3.0",
"superagent": "^5.0.2", "superagent": "^5.1.0",
"uuid": "^3.3.2" "uuid": "^3.3.3",
"zucc": "^0.1.2"
}, },
"devDependencies": { "devDependencies": {
"prettier": "^1.19.1" "prettier": "^1.19.1"

1
UI/.prettierignore Normal file
View file

@ -0,0 +1 @@
build

View file

@ -1,2 +0,0 @@
const { override, addDecoratorsLegacy } = require("customize-cra");
module.exports = override(addDecoratorsLegacy());

View file

@ -11,7 +11,7 @@ import AppRouter from './router'
import { userInit } from './actions' import { userInit } from './actions'
import { history } from './router/history' import { history } from './router/history'
const store = configureStore(undefined, history) const store = configureStore(undefined)
window.__APP_STORE__ = store window.__APP_STORE__ = store

View file

@ -3,7 +3,6 @@ import { DropTarget } from 'react-dnd'
import Role from '../role/draggable' import Role from '../role/draggable'
import CategoryEditor from './CategoryEditor' import CategoryEditor from './CategoryEditor'
class Category extends Component { class Category extends Component {
render() { render() {
const { const {

View file

@ -50,4 +50,6 @@ class _AppRouter extends Component {
} }
} }
export default withRouter(connect(({ appState, user }) => ({ ready: appState.ready, user }))(_AppRouter)) export default withRouter(
connect(({ appState, user }) => ({ ready: appState.ready, user }))(_AppRouter)
)

View file

@ -1,16 +1,13 @@
import { routerMiddleware } from 'react-router-redux'
import { applyMiddleware, compose, createStore } from 'redux' import { applyMiddleware, compose, createStore } from 'redux'
import { createLogger } from 'redux-logger' import { createLogger } from 'redux-logger'
import thunk from 'redux-thunk' import thunk from 'redux-thunk'
import rootReducer from '../reducers' import rootReducer from '../reducers'
const configureStore = (preloadedState, history) => { const configureStore = preloadedState => {
const store = createStore( const store = createStore(
rootReducer, rootReducer,
preloadedState, preloadedState,
compose( compose(applyMiddleware(thunk, createLogger()))
applyMiddleware(thunk, routerMiddleware(history), createLogger())
)
) )
if (module.hot) { if (module.hot) {

View file

@ -1,15 +1,10 @@
import { createStore, applyMiddleware } from 'redux' import { createStore, applyMiddleware } from 'redux'
import { routerMiddleware } from 'react-router-redux'
import thunk from 'redux-thunk' import thunk from 'redux-thunk'
// import api from '../middleware/api' // import api from '../middleware/api'
import rootReducer from '../reducers' import rootReducer from '../reducers'
const configureStore = (preloadedState, history) => const configureStore = preloadedState =>
createStore( createStore(rootReducer, preloadedState, applyMiddleware(thunk))
rootReducer,
preloadedState,
applyMiddleware(thunk, routerMiddleware(history))
)
export default configureStore export default configureStore