Browse Source

Update lib to 0.3.1 and add authentication unit/app bootstrapping

master
Garrett Mills 7 months ago
parent
commit
1da29c5c4a
Signed by: garrettmills GPG Key ID: D2BF5FBA8298F246
  1. 2
      package.json
  2. 389
      pnpm-lock.yaml
  3. 4
      src/Units.extollo.ts
  4. 9
      src/app/configs/auth.config.ts
  5. 43
      src/bootstrap.ts
  6. 14
      src/cli.ts
  7. 9
      src/index.ts

2
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"
},

389
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

4
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,

9
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

43
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
}

14
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()
})()

9
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()
})()

Loading…
Cancel
Save