diff --git a/.dockerignore b/.dockerignore index cdd1e64..75f191a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,6 +1,20 @@ -build +# Adonis default .gitignore ignores node_modules -.git -*.log +build +coverage +.vscode +.DS_STORE .env -Dockerfile \ No newline at end of file +tmp +uploads + +# Additional .gitignore ignores (any custom file you wish) +.idea + +# Additional good to have ignores for dockerignore +Dockerfile* +docker-compose* +.dockerignore +*.md +.git +.gitignore diff --git a/.env.example b/.env.example index 930d2db..d9bfb02 100644 --- a/.env.example +++ b/.env.example @@ -19,8 +19,8 @@ SMTP_PASSWORD= MAILGUN_API_KEY= MAILGUN_DOMAIN= CACHE_VIEWS=false +DRIVE_DISK=local S3_KEY=dummyKey S3_SECRET=dummySecret S3_BUCKET=dummyBucket -S3_REGION=dummyRegion -S3_ENDPOINT=dummyEndpoint +S3_REGION=dummyRegion \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c0729d1..86fddd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,10 @@ # Changelog -## Unreleased +## [1.3.1] - 2022-04-10 -- API deployment with Docker and Nginx web server. +## Added + +- Docker files for building container ## [1.2.1] - 2022-03-06 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9fc585c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +ARG NODE_IMAGE=node:14.17.3-alpine3.11 + +FROM ${NODE_IMAGE} AS base +RUN apk --no-cache add dumb-init +RUN mkdir -p /home/node/app && chown node:node /home/node/app +WORKDIR /home/node/app +USER node +RUN mkdir uploads + +FROM base as builder +COPY --chown=node:node package*.json ./ +RUN npm ci +COPY --chown=node:node . . +RUN node ace build --production + +FROM base as production +ENV NODE_ENV=production +ENV PORT=3333 +ENV HOST=0.0.0.0 +WORKDIR /home/node/app +COPY --chown=node:node --from=builder /home/node/app/build . +RUN npm ci --production + +EXPOSE 3333 +CMD ["dumb-init", "node", "server.js"] \ No newline at end of file diff --git a/README.md b/README.md index a6fa9e9..c96a6ef 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ -# About API +# educt-server -... +_This service is part of [Educt](https://github.com/sergeyyarkov/educt) which contains API application._ + + diff --git a/app/Controllers/Ws/OnlineController.ts b/app/Controllers/Ws/OnlineController.ts index 59b132b..ba146ed 100644 --- a/app/Controllers/Ws/OnlineController.ts +++ b/app/Controllers/Ws/OnlineController.ts @@ -17,9 +17,10 @@ export default class OnlineController { this.socket = socket; this.io = io; this.sessionStore = sessionStore; + } - this.onConnected(socket); - + public handle() { + this.onConnected(this.socket); this.socket.on('disconnect', reason => this.onDisconnected(reason)); } diff --git a/app/Services/WsService.ts b/app/Services/WsService.ts index 5d6370d..81d5040 100644 --- a/app/Services/WsService.ts +++ b/app/Services/WsService.ts @@ -115,9 +115,10 @@ class WsService { private listen() { this.io.on('connection', async socket => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars const onlineController = new OnlineController(socket, this.io, this.sessionStore); + onlineController.handle(); + const { sessionId, userId, userName } = socket.data; const isExistSocketData = !!(sessionId && userId && userName); diff --git a/config/database.ts b/config/database.ts index 56d9e86..34dc7d9 100644 --- a/config/database.ts +++ b/config/database.ts @@ -43,6 +43,7 @@ const databaseConfig: DatabaseConfig = { database: Env.get('PG_DB_NAME'), }, migrations: { + disableRollbacksInProduction: true, naturalSort: true, tableName: 'migrations', }, diff --git a/package-lock.json b/package-lock.json index df2a993..023a047 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "server", - "version": "1.1.0", + "version": "1.2.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -52,32 +52,65 @@ } }, "@adonisjs/application": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@adonisjs/application/-/application-5.1.6.tgz", - "integrity": "sha512-xg6fkCCXijMmkoZ40ih8T1QF50Dj0J7EQ1I54TWfFCFEHsIYhXrCZxeWZEpMRHsTAWaPpP0GTnMrOac/+ERWsQ==", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@adonisjs/application/-/application-5.2.0.tgz", + "integrity": "sha512-zyPRJAF5uBbTYIfxz7Mtt8L0TcskPaRRX8Iab4J4kY1eYdYgRyWZRS1qgHkzUXn/zidFgF5GbhyX1uhaJwySEw==", "requires": { - "@adonisjs/config": "^3.0.5", - "@adonisjs/env": "^3.0.5", - "@adonisjs/fold": "^8.1.5", - "@adonisjs/logger": "^4.1.0", - "@adonisjs/profiler": "^6.0.6", - "@poppinss/utils": "^3.1.5", + "@adonisjs/config": "^3.0.7", + "@adonisjs/env": "^3.0.7", + "@adonisjs/fold": "^8.1.8", + "@adonisjs/logger": "^4.1.3", + "@adonisjs/profiler": "^6.0.8", + "@poppinss/utils": "^4.0.2", "semver": "^7.3.5" }, "dependencies": { + "@adonisjs/config": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@adonisjs/config/-/config-3.0.7.tgz", + "integrity": "sha512-zyubfH4ur1zHk90aFJ+krx1tL1Utwx+3VDDSlOwTIvgjZ0hkleGGCZIWLU97//kLacK76kgy3Ovo3zVM/2Fr/A==", + "requires": { + "@poppinss/utils": "^4.0.2" + } + }, + "@adonisjs/env": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@adonisjs/env/-/env-3.0.7.tgz", + "integrity": "sha512-HVBjBfjQjqHwqDcu9/wN7Fad83+a+LSRgTalF8Vp9CtnE9j9m6mqIScefHqfJeqIhsWJzXOlY64FGjS/DvYE8Q==", + "requires": { + "@poppinss/utils": "^4.0.2", + "dotenv": "^16.0.0", + "validator": "^13.6.0" + } + }, + "@adonisjs/fold": { + "version": "8.1.8", + "resolved": "https://registry.npmjs.org/@adonisjs/fold/-/fold-8.1.8.tgz", + "integrity": "sha512-C7OuXXDKbvVvdivftrbnyxNRLGLt/eRq550mw2R+sRRAIku+IIvyMXE14BJDj033H83Y5AF6I0pCRO21HRVDVA==", + "requires": { + "@poppinss/utils": "^4.0.2" + } + }, + "@adonisjs/profiler": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/@adonisjs/profiler/-/profiler-6.0.8.tgz", + "integrity": "sha512-+1tMvKlPGhLoD1/qgDZU478JZuMlYj5EDlFi+YZbruJxq6a//aZA9b0PkPzEJc3irS4DQSX6HY/oiPgeRuuHRw==", + "requires": { + "@poppinss/utils": "^4.0.2", + "jest-worker": "^27.5.1" + } + }, "@poppinss/utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", - "integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", - "dev": true, + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-4.0.2.tgz", + "integrity": "sha512-+X/8xTyLuwN0KVC+/L5ky7e5/4QwFPjspyOEye2iAQ21E7xkbCAT3f23S6VTKgyksy/zMm8hWBDtwdb35zmhVA==", "requires": { "@types/bytes": "^3.1.1", "@types/he": "^1.1.2", - "buffer-alloc": "^1.2.0", - "bytes": "^3.1.0", + "bytes": "^3.1.2", "change-case": "^4.1.2", "cuid": "^2.1.8", + "flattie": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "he": "^1.2.0", "kind-of": "^6.0.3", @@ -86,15 +119,34 @@ "pluralize": "^8.0.0", "require-all": "^3.0.0", "resolve-from": "^5.0.0", - "slugify": "^1.6.0", + "slugify": "^1.6.5", "truncatise": "0.0.8" } }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "dotenv": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz", + "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==" + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, "slugify": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", - "integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==", - "dev": true + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz", + "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==" } } }, @@ -751,29 +803,27 @@ "dev": true }, "@adonisjs/logger": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@adonisjs/logger/-/logger-4.1.0.tgz", - "integrity": "sha512-Baxx9FiI/rRQ2U58TpTYf5psG345YzTVs0Fh2lHP1f33wekjYLHFbHSjo/1vJDIBEAR0/4udO2BbBNG9jKa10Q==", - "dev": true, + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@adonisjs/logger/-/logger-4.1.3.tgz", + "integrity": "sha512-yN5WI6FrO4g4WwNPFgrLxoWo9rwIoLnr0CEhm3osSzv4vr7aG40bNFjEVlfz7mxT3vhj2Cfh2B062ohObsfv4A==", "requires": { - "@poppinss/utils": "^3.1.5", - "@types/pino": "^6.3.9", + "@poppinss/utils": "^4.0.2", + "@types/pino": "^6.3.12", "abstract-logging": "^2.0.1", - "pino": "^6.13.0" + "pino": "^6.14.0" }, "dependencies": { "@poppinss/utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", - "integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", - "dev": true, + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-4.0.2.tgz", + "integrity": "sha512-+X/8xTyLuwN0KVC+/L5ky7e5/4QwFPjspyOEye2iAQ21E7xkbCAT3f23S6VTKgyksy/zMm8hWBDtwdb35zmhVA==", "requires": { "@types/bytes": "^3.1.1", "@types/he": "^1.1.2", - "buffer-alloc": "^1.2.0", - "bytes": "^3.1.0", + "bytes": "^3.1.2", "change-case": "^4.1.2", "cuid": "^2.1.8", + "flattie": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "he": "^1.2.0", "kind-of": "^6.0.3", @@ -782,15 +832,30 @@ "pluralize": "^8.0.0", "require-all": "^3.0.0", "resolve-from": "^5.0.0", - "slugify": "^1.6.0", + "slugify": "^1.6.5", "truncatise": "0.0.8" } }, + "@types/pino": { + "version": "6.3.12", + "resolved": "https://registry.npmjs.org/@types/pino/-/pino-6.3.12.tgz", + "integrity": "sha512-dsLRTq8/4UtVSpJgl9aeqHvbh6pzdmjYD3C092SYgLD2TyoCqHpTJk6vp8DvCTGGc7iowZ2MoiYiVUUCcu7muw==", + "requires": { + "@types/node": "*", + "@types/pino-pretty": "*", + "@types/pino-std-serializers": "*", + "sonic-boom": "^2.1.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, "slugify": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", - "integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==", - "dev": true + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz", + "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==" } } }, @@ -2235,19 +2300,19 @@ "integrity": "sha512-1RBY7HcGYuWBm0+4ygjdRerN+mhpuT5picGB6+azqUXsz/IZljegrKkeHRiV6wuxY8n4HrxOuw8ou7JuGxRWdQ==" }, "@mapbox/node-pre-gyp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", - "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.8.tgz", + "integrity": "sha512-CMGKi28CF+qlbXh26hDe6NxCd7amqeAzEqnS6IHeO6LoaKyM/n+Xw3HT1COdq8cuioOdlKdqn/hCmqPUOMOywg==", "requires": { "detect-libc": "^1.0.3", "https-proxy-agent": "^5.0.0", "make-dir": "^3.1.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.5", "nopt": "^5.0.0", - "npmlog": "^4.1.2", + "npmlog": "^5.0.1", "rimraf": "^3.0.2", - "semver": "^7.3.4", - "tar": "^6.1.0" + "semver": "^7.3.5", + "tar": "^6.1.11" } }, "@mrmlnc/readdir-enhanced": { @@ -2897,46 +2962,17 @@ } }, "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "requires": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "readable-stream": "^3.6.0" } }, "argparse": { @@ -3582,11 +3618,6 @@ "resolved": "https://registry.npmjs.org/co-compose/-/co-compose-6.1.4.tgz", "integrity": "sha512-6CoVwiUNKbCREAwWZdySCXAv0qqYw17L/xW+HOuH9NtBgBbGYsviVaekxMh2Lr5KHS36TyHRbNo3jh3GLRdffg==" }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -3715,7 +3746,8 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "cors": { "version": "2.8.5", @@ -5065,49 +5097,42 @@ "dev": true }, "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", "requires": { - "aproba": "^1.0.3", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" }, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^5.0.1" } } } @@ -5777,7 +5802,8 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "isexe": { "version": "2.0.0", @@ -6341,9 +6367,9 @@ "dev": true }, "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", "requires": { "yallist": "^4.0.0" } @@ -6546,9 +6572,12 @@ } }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } }, "node-modules-regexp": { "version": "1.0.0", @@ -6622,21 +6651,16 @@ } }, "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -7093,16 +7117,15 @@ "dev": true }, "pino": { - "version": "6.13.1", - "resolved": "https://registry.npmjs.org/pino/-/pino-6.13.1.tgz", - "integrity": "sha512-QQf67BU+cANnc/2U+wzUV20UjO5oBryWpnNyKshdLfT9BdeiXlh9wxLGmOjAuBWMYITdMs+BtJSQQNlGRNbWpA==", - "dev": true, + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-6.14.0.tgz", + "integrity": "sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg==", "requires": { "fast-redact": "^3.0.0", "fast-safe-stringify": "^2.0.8", - "fastify-warning": "^0.2.0", "flatstr": "^1.0.12", "pino-std-serializers": "^3.1.0", + "process-warning": "^1.0.0", "quick-format-unescaped": "^4.0.3", "sonic-boom": "^1.0.2" }, @@ -7111,7 +7134,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz", "integrity": "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==", - "dev": true, "requires": { "atomic-sleep": "^1.0.0", "flatstr": "^1.0.12" @@ -7290,10 +7312,10 @@ "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "process-warning": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" }, "progress": { "version": "2.0.3", @@ -8347,9 +8369,9 @@ } }, "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -8440,6 +8462,11 @@ "ieee754": "^1.2.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, "truncatise": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/truncatise/-/truncatise-0.0.8.tgz", @@ -8700,6 +8727,11 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, "webpack-merge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", @@ -8709,6 +8741,15 @@ "lodash": "^4.17.15" } }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -8732,40 +8773,11 @@ } }, "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "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": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "word-wrap": { diff --git a/package.json b/package.json index 28ce582..c62f47e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "server", - "version": "1.2.1", + "version": "1.3.1", "private": true, "scripts": { "build": "node ace build --production", @@ -32,6 +32,7 @@ "youch-terminal": "^1.1.1" }, "dependencies": { + "@adonisjs/application": "^5.2.0", "@adonisjs/attachment-lite": "^1.0.1", "@adonisjs/auth": "^8.0.10", "@adonisjs/bouncer": "^2.2.5",