Add dependency on @extollo/ui and enable recursive discovery
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Garrett Mills 2021-11-27 00:10:48 -06:00
parent 5175d64e36
commit 0ed096c782
4 changed files with 140 additions and 1 deletions

View File

@ -9,6 +9,7 @@
}, },
"dependencies": { "dependencies": {
"@atao60/fse-cli": "^0.1.6", "@atao60/fse-cli": "^0.1.6",
"@extollo/ui": "^0.1.0",
"@types/bcrypt": "^5.0.0", "@types/bcrypt": "^5.0.0",
"@types/busboy": "^0.2.3", "@types/busboy": "^0.2.3",
"@types/cli-table": "^0.3.0", "@types/cli-table": "^0.3.0",
@ -81,6 +82,9 @@
"discover": true, "discover": true,
"units": { "units": {
"discover": false "discover": false
},
"recursiveDependencies": {
"discover": true
} }
} }
} }

View File

@ -2,6 +2,7 @@ lockfileVersion: 5.3
specifiers: specifiers:
'@atao60/fse-cli': ^0.1.6 '@atao60/fse-cli': ^0.1.6
'@extollo/ui': ^0.1.0
'@types/bcrypt': ^5.0.0 '@types/bcrypt': ^5.0.0
'@types/busboy': ^0.2.3 '@types/busboy': ^0.2.3
'@types/chai': ^4.2.22 '@types/chai': ^4.2.22
@ -50,6 +51,7 @@ specifiers:
dependencies: dependencies:
'@atao60/fse-cli': 0.1.6 '@atao60/fse-cli': 0.1.6
'@extollo/ui': 0.1.0_@types+node@14.17.4
'@types/bcrypt': 5.0.0 '@types/bcrypt': 5.0.0
'@types/busboy': 0.2.3 '@types/busboy': 0.2.3
'@types/cli-table': 0.3.0 '@types/cli-table': 0.3.0
@ -161,6 +163,18 @@ packages:
to-fast-properties: 2.0.0 to-fast-properties: 2.0.0
dev: false dev: false
/@cspotcode/source-map-consumer/0.8.0:
resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==}
engines: {node: '>= 12'}
dev: false
/@cspotcode/source-map-support/0.7.0:
resolution: {integrity: sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==}
engines: {node: '>=12'}
dependencies:
'@cspotcode/source-map-consumer': 0.8.0
dev: false
/@eslint/eslintrc/0.4.1: /@eslint/eslintrc/0.4.1:
resolution: {integrity: sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==} resolution: {integrity: sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==}
engines: {node: ^10.12.0 || >=12.0.0} engines: {node: ^10.12.0 || >=12.0.0}
@ -178,6 +192,25 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@extollo/ui/0.1.0_@types+node@14.17.4:
resolution: {integrity: sha512-EuFpNfIyL9ZTbrlCxeOwIJaZnZo3EOLEKNUDHgGgTfEUJPDKKl8VTrGsuCEGWtPnwZwz/kwD0q8Qv+jTdgducQ==}
dependencies:
'@popperjs/core': 2.10.2
'@types/rimraf': 3.0.2
'@types/uuid': 8.3.3
bootstrap: 5.1.3_@popperjs+core@2.10.2
dotenv: 10.0.0
mkdirp: 1.0.4
rimraf: 3.0.2
ts-node: 10.4.0_9033393ac6e1960c4e4feb229fa8feef
typescript: 4.5.2
uuid: 8.3.2
transitivePeerDependencies:
- '@swc/core'
- '@swc/wasm'
- '@types/node'
dev: false
/@mapbox/node-pre-gyp/1.0.5: /@mapbox/node-pre-gyp/1.0.5:
resolution: {integrity: sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==} resolution: {integrity: sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==}
hasBin: true hasBin: true
@ -216,6 +249,10 @@ packages:
fastq: 1.11.0 fastq: 1.11.0
dev: true dev: true
/@popperjs/core/2.10.2:
resolution: {integrity: sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==}
dev: false
/@sinonjs/commons/1.8.3: /@sinonjs/commons/1.8.3:
resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==}
dependencies: dependencies:
@ -246,6 +283,22 @@ packages:
resolution: {integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==} resolution: {integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==}
dev: true dev: true
/@tsconfig/node10/1.0.8:
resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==}
dev: false
/@tsconfig/node12/1.0.9:
resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==}
dev: false
/@tsconfig/node14/1.0.1:
resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==}
dev: false
/@tsconfig/node16/1.0.2:
resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==}
dev: false
/@types/bcrypt/5.0.0: /@types/bcrypt/5.0.0:
resolution: {integrity: sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==} resolution: {integrity: sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==}
dependencies: dependencies:
@ -270,7 +323,7 @@ packages:
resolution: {integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==} resolution: {integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==}
dependencies: dependencies:
'@types/minimatch': 3.0.4 '@types/minimatch': 3.0.4
'@types/node': 14.17.1 '@types/node': 14.17.6
dev: false dev: false
/@types/ioredis/4.26.6: /@types/ioredis/4.26.6:
@ -348,6 +401,13 @@ packages:
'@types/node': 14.17.1 '@types/node': 14.17.1
dev: false dev: false
/@types/rimraf/3.0.2:
resolution: {integrity: sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==}
dependencies:
'@types/glob': 7.1.3
'@types/node': 14.17.6
dev: false
/@types/sinon/10.0.6: /@types/sinon/10.0.6:
resolution: {integrity: sha512-6EF+wzMWvBNeGrfP3Nx60hhx+FfwSg1JJBLAAP/IdIUq0EYkqCYf70VT3PhuhPX9eLD+Dp+lNdpb/ZeHG8Yezg==} resolution: {integrity: sha512-6EF+wzMWvBNeGrfP3Nx60hhx+FfwSg1JJBLAAP/IdIUq0EYkqCYf70VT3PhuhPX9eLD+Dp+lNdpb/ZeHG8Yezg==}
dependencies: dependencies:
@ -371,6 +431,10 @@ packages:
resolution: {integrity: sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==} resolution: {integrity: sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==}
dev: false dev: false
/@types/uuid/8.3.3:
resolution: {integrity: sha512-0LbEEx1zxrYB3pgpd1M5lEhLcXjKJnYghvhTRgaBeUivLHMDM1TzF3IJ6hXU2+8uA4Xz+5BA63mtZo5DjVT8iA==}
dev: false
/@typescript-eslint/eslint-plugin/4.26.0_942c48837be95e76bb4156c78358cdbe: /@typescript-eslint/eslint-plugin/4.26.0_942c48837be95e76bb4156c78358cdbe:
resolution: {integrity: sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg==} resolution: {integrity: sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg==}
engines: {node: ^10.12.0 || >=12.0.0} engines: {node: ^10.12.0 || >=12.0.0}
@ -493,11 +557,22 @@ packages:
acorn: 7.4.1 acorn: 7.4.1
dev: true dev: true
/acorn-walk/8.2.0:
resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
engines: {node: '>=0.4.0'}
dev: false
/acorn/7.4.1: /acorn/7.4.1:
resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
hasBin: true hasBin: true
/acorn/8.6.0:
resolution: {integrity: sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: false
/agent-base/6.0.2: /agent-base/6.0.2:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
engines: {node: '>= 6.0.0'} engines: {node: '>= 6.0.0'}
@ -680,6 +755,14 @@ packages:
readable-stream: 3.6.0 readable-stream: 3.6.0
dev: false dev: false
/bootstrap/5.1.3_@popperjs+core@2.10.2:
resolution: {integrity: sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==}
peerDependencies:
'@popperjs/core': ^2.10.2
dependencies:
'@popperjs/core': 2.10.2
dev: false
/brace-expansion/1.1.11: /brace-expansion/1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
dependencies: dependencies:
@ -1037,6 +1120,11 @@ packages:
resolution: {integrity: sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=} resolution: {integrity: sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=}
dev: false dev: false
/dotenv/10.0.0:
resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
engines: {node: '>=10'}
dev: false
/dotenv/8.2.0: /dotenv/8.2.0:
resolution: {integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==} resolution: {integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -2679,6 +2767,36 @@ packages:
resolution: {integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=} resolution: {integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=}
dev: false dev: false
/ts-node/10.4.0_9033393ac6e1960c4e4feb229fa8feef:
resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==}
hasBin: true
peerDependencies:
'@swc/core': '>=1.2.50'
'@swc/wasm': '>=1.2.50'
'@types/node': '*'
typescript: '>=2.7'
peerDependenciesMeta:
'@swc/core':
optional: true
'@swc/wasm':
optional: true
dependencies:
'@cspotcode/source-map-support': 0.7.0
'@tsconfig/node10': 1.0.8
'@tsconfig/node12': 1.0.9
'@tsconfig/node14': 1.0.1
'@tsconfig/node16': 1.0.2
'@types/node': 14.17.4
acorn: 8.6.0
acorn-walk: 8.2.0
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
typescript: 4.5.2
yn: 3.1.1
dev: false
/ts-node/9.1.1_typescript@4.2.3: /ts-node/9.1.1_typescript@4.2.3:
resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
@ -2802,6 +2920,12 @@ packages:
hasBin: true hasBin: true
dev: false dev: false
/typescript/4.5.2:
resolution: {integrity: sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==}
engines: {node: '>=4.2.0'}
hasBin: true
dev: false
/uglify-js/3.13.8: /uglify-js/3.13.8:
resolution: {integrity: sha512-PvFLMFIQHfIjFFlvAch69U2IvIxK9TNzNWt1SxZGp9JZ/v70yvqIQuiJeVPPtUMOzoNt+aNRDk4wgxb34wvEqA==} resolution: {integrity: sha512-PvFLMFIQHfIjFFlvAch69U2IvIxK9TNzNWt1SxZGp9JZ/v70yvqIQuiJeVPPtUMOzoNt+aNRDk4wgxb34wvEqA==}
engines: {node: '>=0.8.0'} engines: {node: '>=0.8.0'}

View File

@ -76,6 +76,7 @@ export * from './service/Files'
export * from './service/HTTPServer' export * from './service/HTTPServer'
export * from './service/Routing' export * from './service/Routing'
export * from './service/Middlewares' export * from './service/Middlewares'
export * from './service/Discovery'
export * from './support/redis/Redis' export * from './support/redis/Redis'
export * from './support/cache/MemoryCache' export * from './support/cache/MemoryCache'

10
src/service/Discovery.ts Normal file
View File

@ -0,0 +1,10 @@
import {Unit} from '../lifecycle/Unit'
import {Singleton} from '../di'
import {NodeModules} from '../support/NodeModules'
@Singleton()
export class Discovery extends Unit {
async up(): Promise<void> {
await this.make<NodeModules>(NodeModules).discover()
}
}