diff --git a/package.json b/package.json index d3fed9a..c7c7ffa 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "lib": "lib" }, "dependencies": { - "@extollo/lib": "^0.3.0", + "@extollo/lib": "^0.3.1", "copyfiles": "^2.4.1", "typescript": "^4.1.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cae4f03..e1b0684 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,40 +1,48 @@ dependencies: - '@extollo/lib': 0.3.0 + '@extollo/lib': 0.3.1 copyfiles: 2.4.1 typescript: 4.3.2 lockfileVersion: 5.2 packages: - /@babel/helper-validator-identifier/7.14.0: + /@babel/helper-validator-identifier/7.14.5: dev: false + engines: + node: '>=6.9.0' resolution: - integrity: sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== - /@babel/parser/7.14.4: + integrity: sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== + /@babel/parser/7.14.6: dev: false engines: node: '>=6.0.0' hasBin: true resolution: - integrity: sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA== - /@babel/types/7.14.4: + integrity: sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ== + /@babel/types/7.14.5: dependencies: - '@babel/helper-validator-identifier': 7.14.0 + '@babel/helper-validator-identifier': 7.14.5 to-fast-properties: 2.0.0 dev: false + engines: + node: '>=6.9.0' resolution: - integrity: sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw== - /@extollo/lib/0.3.0: + integrity: sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== + /@extollo/lib/0.3.1: dependencies: + '@types/bcrypt': 5.0.0 '@types/busboy': 0.2.3 + '@types/cli-table': 0.3.0 '@types/mkdirp': 1.0.1 '@types/negotiator': 0.6.1 - '@types/node': 14.17.2 + '@types/node': 14.17.3 '@types/pg': 8.6.0 '@types/pluralize': 0.0.29 '@types/pug': 2.0.4 '@types/rimraf': 3.0.0 '@types/ssh2': 0.5.46 '@types/uuid': 8.3.0 + bcrypt: 5.0.1 busboy: 0.3.1 + cli-table: 0.3.6 colors: 1.4.0 dotenv: 8.6.0 mkdirp: 1.0.4 @@ -45,25 +53,50 @@ packages: reflect-metadata: 0.1.13 rimraf: 3.0.2 ssh2: 1.1.0 - ts-node: 9.1.1_typescript@4.3.2 - typedoc: 0.20.36_typescript@4.3.2 + ts-node: 9.1.1_typescript@4.3.4 + typedoc: 0.20.37_typescript@4.3.4 typedoc-plugin-pages-fork: 0.0.1 - typedoc-plugin-sourcefile-url: 1.0.6_typedoc@0.20.36 - typescript: 4.3.2 + typedoc-plugin-sourcefile-url: 1.0.6_typedoc@0.20.37 + typescript: 4.3.4 uuid: 8.3.2 dev: false resolution: - integrity: sha512-rBumg7ICgn4qmDngsgl8O8BbNbmRcqbq7KgzEx9aeA8Ck02QorYYQVEQ1SRFPNavEBBEdnLNVunwF8Zp/7Tecg== + integrity: sha512-7YCxy2HlyPtrDe80WFZbQXeCQQIohi4d3Y+cmHg9pVL6Bc4wLbSOdGDbtswzYCWO5T8nU3t86WeZNePqaRWYyw== + /@mapbox/node-pre-gyp/1.0.5: + dependencies: + detect-libc: 1.0.3 + https-proxy-agent: 5.0.0 + make-dir: 3.1.0 + node-fetch: 2.6.1 + nopt: 5.0.0 + npmlog: 4.1.2 + rimraf: 3.0.2 + semver: 7.3.5 + tar: 6.1.0 + dev: false + hasBin: true + resolution: + integrity: sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA== + /@types/bcrypt/5.0.0: + dependencies: + '@types/node': 14.17.3 + dev: false + resolution: + integrity: sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw== /@types/busboy/0.2.3: dependencies: - '@types/node': 14.17.2 + '@types/node': 14.17.3 dev: false resolution: integrity: sha1-ZpetKYcyRsUw8Jo/9aQIYYJCMNU= + /@types/cli-table/0.3.0: + dev: false + resolution: + integrity: sha512-QnZUISJJXyhyD6L1e5QwXDV/A5i2W1/gl6D6YMc8u0ncPepbv/B4w3S+izVvtAg60m6h+JP09+Y/0zF2mojlFQ== /@types/glob/7.1.3: dependencies: '@types/minimatch': 3.0.4 - '@types/node': 14.17.2 + '@types/node': 14.17.3 dev: false resolution: integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== @@ -73,7 +106,7 @@ packages: integrity: sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== /@types/mkdirp/1.0.1: dependencies: - '@types/node': 14.17.2 + '@types/node': 14.17.3 dev: false resolution: integrity: sha512-HkGSK7CGAXncr8Qn/0VqNtExEE+PHMWb+qlR1faHMao7ng6P3tAaoWWBMdva0gL5h4zprjIO89GJOLXsMcDm1Q== @@ -81,13 +114,13 @@ packages: dev: false resolution: integrity: sha512-c4mvXFByghezQ/eVGN5HvH/jI63vm3B7FiE81BUzDAWmuiohRecCO6ddU60dfq29oKUMiQujsoB2h0JQC7JHKA== - /@types/node/14.17.2: + /@types/node/14.17.3: dev: false resolution: - integrity: sha512-sld7b/xmFum66AAKuz/rp/CUO8+98fMpyQ3SBfzzBNGMd/1iHBTAg9oyAvcYlAj46bpc74r91jSw2iFdnx29nw== + integrity: sha512-e6ZowgGJmTuXa3GyaPbTGxX17tnThl2aSSizrFthQ7m9uLGZBXiGhgE55cjRZTF5kjZvYn9EOPOMljdjwbflxw== /@types/pg/8.6.0: dependencies: - '@types/node': 14.17.2 + '@types/node': 14.17.3 pg-protocol: 1.5.0 pg-types: 2.2.0 dev: false @@ -104,19 +137,19 @@ packages: /@types/rimraf/3.0.0: dependencies: '@types/glob': 7.1.3 - '@types/node': 14.17.2 + '@types/node': 14.17.3 dev: false resolution: integrity: sha512-7WhJ0MdpFgYQPXlF4Dx+DhgvlPCfz/x5mHaeDQAKhcenvQP1KCpLQ18JklAqeGMYSAT2PxLpzd0g2/HE7fj7hQ== /@types/ssh2-streams/0.1.8: dependencies: - '@types/node': 14.17.2 + '@types/node': 14.17.3 dev: false resolution: integrity: sha512-I7gixRPUvVIyJuCEvnmhr3KvA2dC0639kKswqD4H5b4/FOcnPtNU+qWLiXdKIqqX9twUvi5j0U1mwKE5CUsrfA== /@types/ssh2/0.5.46: dependencies: - '@types/node': 14.17.2 + '@types/node': 14.17.3 '@types/ssh2-streams': 0.1.8 dev: false resolution: @@ -125,6 +158,10 @@ packages: dev: false resolution: integrity: sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== + /abbrev/1.1.1: + dev: false + resolution: + integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== /acorn/7.4.1: dev: false engines: @@ -132,6 +169,20 @@ packages: hasBin: true resolution: integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + /agent-base/6.0.2: + dependencies: + debug: 4.3.1 + dev: false + engines: + node: '>= 6.0.0' + resolution: + integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + /ansi-regex/2.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8= /ansi-regex/5.0.0: dev: false engines: @@ -146,6 +197,17 @@ packages: node: '>=8' resolution: integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + /aproba/1.2.0: + dev: false + resolution: + integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + /are-we-there-yet/1.1.5: + dependencies: + delegates: 1.0.0 + readable-stream: 2.3.7 + dev: false + resolution: + integrity: sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== /arg/4.1.3: dev: false resolution: @@ -172,7 +234,7 @@ packages: integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== /babel-walk/3.0.0-canary-5: dependencies: - '@babel/types': 7.14.4 + '@babel/types': 7.14.5 dev: false engines: node: '>= 10.0.0' @@ -188,6 +250,16 @@ packages: dev: false resolution: integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + /bcrypt/5.0.1: + dependencies: + '@mapbox/node-pre-gyp': 1.0.5 + node-addon-api: 3.2.1 + dev: false + engines: + node: '>= 10.0.0' + requiresBuild: true + resolution: + integrity: sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw== /brace-expansion/1.1.11: dependencies: balanced-match: 1.0.2 @@ -226,6 +298,20 @@ packages: dev: false resolution: integrity: sha1-x84o821LzZdE5f/CxfzeHHMmH8A= + /chownr/2.0.0: + dev: false + engines: + node: '>=10' + resolution: + integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + /cli-table/0.3.6: + dependencies: + colors: 1.0.3 + dev: false + engines: + node: '>= 0.2.0' + resolution: + integrity: sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ== /cliui/7.0.4: dependencies: string-width: 4.2.2 @@ -234,6 +320,12 @@ packages: dev: false resolution: integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + /code-point-at/1.1.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= /color-convert/2.0.1: dependencies: color-name: 1.1.4 @@ -246,6 +338,12 @@ packages: dev: false resolution: integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + /colors/1.0.3: + dev: false + engines: + node: '>=0.1.90' + resolution: + integrity: sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= /colors/1.4.0: dev: false engines: @@ -260,10 +358,14 @@ packages: dev: false resolution: integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /console-control-strings/1.1.0: + dev: false + resolution: + integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= /constantinople/4.0.1: dependencies: - '@babel/parser': 7.14.4 - '@babel/types': 7.14.4 + '@babel/parser': 7.14.6 + '@babel/types': 7.14.5 dev: false resolution: integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== @@ -298,6 +400,30 @@ packages: dev: false resolution: integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + /debug/4.3.1: + dependencies: + ms: 2.1.2 + dev: false + engines: + node: '>=6.0' + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + resolution: + integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + /delegates/1.0.0: + dev: false + resolution: + integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + /detect-libc/1.0.3: + dev: false + engines: + node: '>=0.10' + hasBin: true + resolution: + integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= /dicer/0.3.0: dependencies: streamsearch: 0.1.2 @@ -343,6 +469,14 @@ packages: node: '>=10' resolution: integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + /fs-minipass/2.1.0: + dependencies: + minipass: 3.1.3 + dev: false + engines: + node: '>= 8' + resolution: + integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== /fs.realpath/1.0.0: dev: false resolution: @@ -351,6 +485,19 @@ packages: dev: false resolution: integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + /gauge/2.7.4: + dependencies: + aproba: 1.2.0 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.3 + string-width: 1.0.2 + strip-ansi: 3.0.1 + wide-align: 1.1.3 + dev: false + resolution: + integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= /get-caller-file/2.0.5: dev: false engines: @@ -391,7 +538,7 @@ packages: node: '>=0.4.7' hasBin: true optionalDependencies: - uglify-js: 3.13.8 + uglify-js: 3.13.9 resolution: integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== /has-symbols/1.0.2: @@ -400,6 +547,10 @@ packages: node: '>= 0.4' resolution: integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + /has-unicode/2.0.1: + dev: false + resolution: + integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= /has/1.0.3: dependencies: function-bind: 1.1.1 @@ -408,6 +559,15 @@ packages: node: '>= 0.4.0' resolution: integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + /https-proxy-agent/5.0.0: + dependencies: + agent-base: 6.0.2 + debug: 4.3.1 + dev: false + engines: + node: '>= 6' + resolution: + integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== /inflight/1.0.6: dependencies: once: 1.4.0 @@ -438,6 +598,14 @@ packages: dev: false resolution: integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== + /is-fullwidth-code-point/1.0.0: + dependencies: + number-is-nan: 1.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs= /is-fullwidth-code-point/3.0.0: dev: false engines: @@ -494,10 +662,26 @@ packages: dev: false resolution: integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + /lru-cache/6.0.0: + dependencies: + yallist: 4.0.0 + dev: false + engines: + node: '>=10' + resolution: + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== /lunr/2.3.9: dev: false resolution: integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== + /make-dir/3.1.0: + dependencies: + semver: 6.3.0 + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== /make-error/1.3.6: dev: false resolution: @@ -519,6 +703,23 @@ packages: dev: false resolution: integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + /minipass/3.1.3: + dependencies: + yallist: 4.0.0 + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + /minizlib/2.1.2: + dependencies: + minipass: 3.1.3 + yallist: 4.0.0 + dev: false + engines: + node: '>= 8' + resolution: + integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== /mkdirp/1.0.4: dev: false engines: @@ -526,6 +727,10 @@ packages: hasBin: true resolution: integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + /ms/2.1.2: + dev: false + resolution: + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== /nan/2.14.2: dev: false optional: true @@ -541,6 +746,16 @@ packages: dev: false resolution: integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + /node-addon-api/3.2.1: + dev: false + resolution: + integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + /node-fetch/2.6.1: + dev: false + engines: + node: 4.x || >=6.0.0 + resolution: + integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== /noms/0.0.0: dependencies: inherits: 2.0.4 @@ -548,6 +763,30 @@ packages: dev: false resolution: integrity: sha1-2o69nzr51nYJGbJ9nNyAkqczKFk= + /nopt/5.0.0: + dependencies: + abbrev: 1.1.1 + dev: false + engines: + node: '>=6' + hasBin: true + resolution: + integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + /npmlog/4.1.2: + dependencies: + are-we-there-yet: 1.1.5 + console-control-strings: 1.1.0 + gauge: 2.7.4 + set-blocking: 2.0.0 + dev: false + resolution: + integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + /number-is-nan/1.0.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= /object-assign/4.1.1: dev: false engines: @@ -853,6 +1092,24 @@ packages: dev: false resolution: integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + /semver/6.3.0: + dev: false + hasBin: true + resolution: + integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + /semver/7.3.5: + dependencies: + lru-cache: 6.0.0 + dev: false + engines: + node: '>=10' + hasBin: true + resolution: + integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + /set-blocking/2.0.0: + dev: false + resolution: + integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc= /shelljs/0.8.4: dependencies: glob: 7.1.7 @@ -871,6 +1128,10 @@ packages: dev: false resolution: integrity: sha512-NEjg1mVbAUrzRv2eIcUt3TG7X9svX7l3n3F5/3OdFq+/BxUdmBOeKGiH4icZJBLHy354Shnj6sfBTemea2e7XA== + /signal-exit/3.0.3: + dev: false + resolution: + integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== /source-map-support/0.5.19: dependencies: buffer-from: 1.1.1 @@ -909,6 +1170,16 @@ packages: node: '>=0.8.0' resolution: integrity: sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= + /string-width/1.0.2: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= /string-width/4.2.2: dependencies: emoji-regex: 8.0.0 @@ -935,6 +1206,14 @@ packages: dev: false resolution: integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + /strip-ansi/3.0.1: + dependencies: + ansi-regex: 2.1.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= /strip-ansi/6.0.0: dependencies: ansi-regex: 5.0.0 @@ -943,6 +1222,19 @@ packages: node: '>=8' resolution: integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + /tar/6.1.0: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 3.1.3 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: false + engines: + node: '>= 10' + resolution: + integrity: sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== /through2/2.0.5: dependencies: readable-stream: 2.3.7 @@ -960,14 +1252,14 @@ packages: dev: false resolution: integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ= - /ts-node/9.1.1_typescript@4.3.2: + /ts-node/9.1.1_typescript@4.3.4: dependencies: arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 source-map-support: 0.5.19 - typescript: 4.3.2 + typescript: 4.3.4 yn: 3.1.1 dev: false engines: @@ -1002,15 +1294,15 @@ packages: dev: false resolution: integrity: sha512-WZoTOSarUL1CPO7LJOpsltP6B8Qrx3Tc0/hjZVNRe5mwvZnU1/LAz12ERyKzA/TsR1iIpiaixzkbhIwYkICGiQ== - /typedoc-plugin-sourcefile-url/1.0.6_typedoc@0.20.36: + /typedoc-plugin-sourcefile-url/1.0.6_typedoc@0.20.37: dependencies: - typedoc: 0.20.36_typescript@4.3.2 + typedoc: 0.20.37_typescript@4.3.4 dev: false peerDependencies: typedoc: '>=0.16.0' resolution: integrity: sha512-xHq9DzkoQywS7FyPneMm2/Hr9GRoCpjSQXkVN0W6SCJKP7fguqg2tasgh+8l5/mW6YSYvqCqEbkSYLbuD4Y6gA== - /typedoc/0.20.36_typescript@4.3.2: + /typedoc/0.20.37_typescript@4.3.4: dependencies: colors: 1.4.0 fs-extra: 9.1.0 @@ -1023,7 +1315,7 @@ packages: shelljs: 0.8.4 shiki: 0.9.3 typedoc-default-themes: 0.12.10 - typescript: 4.3.2 + typescript: 4.3.4 dev: false engines: node: '>= 10.8.0' @@ -1031,7 +1323,7 @@ packages: peerDependencies: typescript: 3.9.x || 4.0.x || 4.1.x || 4.2.x resolution: - integrity: sha512-qFU+DWMV/hifQ9ZAlTjdFO9wbUIHuUBpNXzv68ZyURAP9pInjZiO4+jCPeAzHVcaBCHER9WL/+YzzTt6ZlN/Nw== + integrity: sha512-9+qDhdc4X00qTNOtii6QX2z7ndAeWVOso7w3MPSoSJdXlVhpwPfm1yEp4ooKuWA9fiQILR8FKkyjmeqa13hBbw== /typescript/4.3.2: dev: false engines: @@ -1039,14 +1331,21 @@ packages: hasBin: true resolution: integrity: sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw== - /uglify-js/3.13.8: + /typescript/4.3.4: + dev: false + engines: + node: '>=4.2.0' + hasBin: true + resolution: + integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew== + /uglify-js/3.13.9: dev: false engines: node: '>=0.8.0' hasBin: true optional: true resolution: - integrity: sha512-PvFLMFIQHfIjFFlvAch69U2IvIxK9TNzNWt1SxZGp9JZ/v70yvqIQuiJeVPPtUMOzoNt+aNRDk4wgxb34wvEqA== + integrity: sha512-wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g== /universalify/2.0.0: dev: false engines: @@ -1078,10 +1377,16 @@ packages: dev: false resolution: integrity: sha512-c0Q4zYZkcLizeYJ3hNyaVUM2AA8KDhNCA3JvXY8CeZSJuBdAy3bAvSbv46RClC4P3dSO9BdwhnKEx2zOo6vP/w== + /wide-align/1.1.3: + dependencies: + string-width: 1.0.2 + dev: false + resolution: + integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== /with/7.0.2: dependencies: - '@babel/parser': 7.14.4 - '@babel/types': 7.14.4 + '@babel/parser': 7.14.6 + '@babel/types': 7.14.5 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 dev: false @@ -1123,6 +1428,10 @@ packages: dev: false resolution: integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + /yallist/4.0.0: + dev: false + resolution: + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== /yargs-parser/20.2.7: dev: false engines: @@ -1150,6 +1459,6 @@ packages: resolution: integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== specifiers: - '@extollo/lib': ^0.3.0 + '@extollo/lib': 0.3.1 copyfiles: ^2.4.1 typescript: ^4.1.3 diff --git a/src/Units.extollo.ts b/src/Units.extollo.ts index 5f61307..b687e53 100644 --- a/src/Units.extollo.ts +++ b/src/Units.extollo.ts @@ -9,7 +9,8 @@ import { Database, Models, CommandLine, - Internationalization + Internationalization, + Authentication, } from '@extollo/lib' export const Units = [ @@ -21,6 +22,7 @@ export const Units = [ Database, Models, Internationalization, + Authentication, Routing, HTTPServer, diff --git a/src/app/configs/auth.config.ts b/src/app/configs/auth.config.ts new file mode 100644 index 0000000..900fb6c --- /dev/null +++ b/src/app/configs/auth.config.ts @@ -0,0 +1,9 @@ +import { AuthConfig, env } from '@extollo/lib' + +const authConfig: AuthConfig = { + repositories: { + session: 'orm', + }, +} + +export default authConfig diff --git a/src/bootstrap.ts b/src/bootstrap.ts new file mode 100644 index 0000000..38dd63f --- /dev/null +++ b/src/bootstrap.ts @@ -0,0 +1,43 @@ +import {Application, CommandLineApplication} from '@extollo/lib' +import {Units} from './Units.extollo' + +/* + * Helper functions to bootstrap the Application instance for different uses. + */ + +/** + * Get the base application with no final-target unit. + */ +export function base(): Application { + const app = Application.getApplication() + app.scaffold(__dirname, Units.slice(0, -1)) + return app +} + +/** + * Get the application with the final unit replaced with the CommandLineApplication + * for use on the CLI. + */ +export function cli(): Application { + const app = Application.getApplication() + app.forceStartupMessage = false + + const units = [...Units] + + units.reverse() + CommandLineApplication.setReplacement(units[0]) + units[0] = CommandLineApplication + units.reverse() + + app.scaffold(__dirname, units) + return app +} + +/** + * Get the application as it should be run normally. + */ +export function app(): Application { + const app = Application.getApplication() + app.scaffold(__dirname, Units) + return app +} diff --git a/src/cli.ts b/src/cli.ts index 131ad6d..b063615 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -1,5 +1,5 @@ -import {Application, CommandLineApplication} from '@extollo/lib' -import {Units} from './Units.extollo' +#!/usr/bin/env -S node --experimental-repl-await +import {cli} from './bootstrap' (async () => { /* @@ -9,14 +9,6 @@ import {Units} from './Units.extollo' * ties your entire application together. The app container manages services * and lifecycle. */ - const app = Application.getApplication() - app.forceStartupMessage = false - - Units.reverse() - CommandLineApplication.setReplacement(Units[0]) - Units[0] = CommandLineApplication - Units.reverse() - - app.scaffold(__dirname, Units) + const app = cli() await app.run() })() diff --git a/src/index.ts b/src/index.ts index e6f2b0e..1f2b6a6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,6 @@ -import {Application} from '@extollo/lib' -import {Units} from './Units.extollo' +import {app} from './bootstrap' -;(async () => { +(async () => { /* * The Application * ----------------------------------------------------- @@ -9,7 +8,5 @@ import {Units} from './Units.extollo' * ties your entire application together. The app container manages services * and lifecycle. */ - const app = Application.getApplication() - app.scaffold(__dirname, Units) - await app.run() + await app().run() })()