@adonisjs/core 6.1.5-3 → 6.1.5-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/commands/build.d.ts +8 -1
- package/build/commands/build.js +33 -16
- package/build/commands/commands.json +1 -1
- package/build/commands/configure.d.ts +22 -1
- package/build/commands/configure.js +47 -7
- package/build/commands/eject.d.ts +4 -1
- package/build/commands/eject.js +15 -9
- package/build/commands/generate_key.d.ts +4 -1
- package/build/commands/generate_key.js +15 -9
- package/build/commands/inspect_rcfile.d.ts +3 -1
- package/build/commands/inspect_rcfile.js +12 -2
- package/build/commands/list/routes.d.ts +23 -1
- package/build/commands/list/routes.js +30 -15
- package/build/commands/make/_base.d.ts +14 -6
- package/build/commands/make/_base.js +19 -20
- package/build/commands/make/command.d.ts +6 -1
- package/build/commands/make/command.js +16 -7
- package/build/commands/make/controller.d.ts +9 -1
- package/build/commands/make/controller.js +31 -13
- package/build/commands/make/event.d.ts +6 -1
- package/build/commands/make/event.js +16 -7
- package/build/commands/make/listener.d.ts +7 -1
- package/build/commands/make/listener.js +21 -9
- package/build/commands/make/middleware.d.ts +7 -1
- package/build/commands/make/middleware.js +17 -7
- package/build/commands/make/prldfile.d.ts +6 -1
- package/build/commands/make/prldfile.js +20 -7
- package/build/commands/make/provider.d.ts +6 -1
- package/build/commands/make/provider.js +20 -7
- package/build/commands/make/service.d.ts +6 -1
- package/build/commands/make/service.js +16 -7
- package/build/commands/make/test.d.ts +9 -1
- package/build/commands/make/test.js +42 -9
- package/build/commands/serve.d.ts +8 -1
- package/build/commands/serve.js +39 -16
- package/build/commands/test.d.ts +7 -1
- package/build/commands/test.js +50 -29
- package/build/factories/app.d.ts +0 -1
- package/build/factories/app.js +8 -0
- package/build/factories/bodyparser.d.ts +0 -1
- package/build/factories/bodyparser.js +8 -0
- package/build/factories/core/ace.d.ts +4 -2
- package/build/factories/core/ace.js +11 -0
- package/build/factories/core/ignitor.d.ts +20 -2
- package/build/factories/core/ignitor.js +33 -0
- package/build/factories/core/main.d.ts +0 -1
- package/build/factories/core/main.js +8 -0
- package/build/factories/core/test_utils.d.ts +4 -2
- package/build/factories/core/test_utils.js +11 -0
- package/build/factories/encryption.d.ts +0 -1
- package/build/factories/encryption.js +8 -0
- package/build/factories/events.d.ts +0 -1
- package/build/factories/events.js +8 -0
- package/build/factories/hash.d.ts +0 -1
- package/build/factories/hash.js +8 -0
- package/build/factories/http.d.ts +0 -1
- package/build/factories/http.js +8 -0
- package/build/factories/logger.d.ts +0 -1
- package/build/factories/logger.js +8 -0
- package/build/factories/stubs.d.ts +10 -1
- package/build/factories/stubs.js +21 -0
- package/build/index.d.ts +5 -2
- package/build/index.js +13 -0
- package/build/modules/ace/commands.d.ts +123 -1
- package/build/modules/ace/commands.js +81 -4
- package/build/modules/ace/create_kernel.d.ts +9 -1
- package/build/modules/ace/create_kernel.js +31 -0
- package/build/modules/ace/kernel.d.ts +4 -1
- package/build/modules/ace/kernel.js +12 -0
- package/build/modules/ace/main.d.ts +0 -1
- package/build/modules/ace/main.js +8 -0
- package/build/modules/ace/shell.d.ts +9 -2
- package/build/modules/ace/shell.js +19 -0
- package/build/modules/app.d.ts +0 -1
- package/build/modules/app.js +8 -0
- package/build/modules/bodyparser/bodyparser_middleware.d.ts +4 -1
- package/build/modules/bodyparser/bodyparser_middleware.js +12 -0
- package/build/modules/bodyparser/main.d.ts +0 -1
- package/build/modules/bodyparser/main.js +8 -0
- package/build/modules/config.d.ts +0 -1
- package/build/modules/config.js +8 -0
- package/build/modules/container.d.ts +0 -1
- package/build/modules/container.js +8 -0
- package/build/modules/encryption.d.ts +0 -1
- package/build/modules/encryption.js +8 -0
- package/build/modules/env.d.ts +0 -1
- package/build/modules/env.js +8 -0
- package/build/modules/events.d.ts +0 -1
- package/build/modules/events.js +8 -0
- package/build/modules/hash/define_config.d.ts +3 -1
- package/build/modules/hash/define_config.js +20 -0
- package/build/modules/hash/drivers_collection.d.ts +13 -1
- package/build/modules/hash/drivers_collection.js +29 -0
- package/build/modules/hash/main.d.ts +0 -1
- package/build/modules/hash/main.js +8 -0
- package/build/modules/http.d.ts +0 -1
- package/build/modules/http.js +8 -0
- package/build/modules/logger.d.ts +0 -1
- package/build/modules/logger.js +8 -0
- package/build/providers/app_provider.d.ts +31 -3
- package/build/providers/app_provider.js +39 -8
- package/build/providers/hash_provider.d.ts +16 -1
- package/build/providers/hash_provider.js +24 -0
- package/build/providers/http_provider.d.ts +17 -1
- package/build/providers/http_provider.js +25 -0
- package/build/services/ace.d.ts +0 -1
- package/build/services/ace.js +15 -0
- package/build/services/app.d.ts +8 -1
- package/build/services/app.js +16 -0
- package/build/services/config.d.ts +0 -1
- package/build/services/config.js +11 -0
- package/build/services/emitter.d.ts +0 -1
- package/build/services/emitter.js +12 -0
- package/build/services/encryption.d.ts +0 -1
- package/build/services/encryption.js +12 -0
- package/build/services/hash.d.ts +0 -1
- package/build/services/hash.js +12 -0
- package/build/services/logger.d.ts +0 -1
- package/build/services/logger.js +12 -0
- package/build/services/router.d.ts +0 -1
- package/build/services/router.js +12 -0
- package/build/services/server.d.ts +0 -1
- package/build/services/server.js +12 -0
- package/build/services/test_utils.d.ts +0 -1
- package/build/services/test_utils.js +15 -0
- package/build/src/cli_formatters/routes_list.d.ts +23 -1
- package/build/src/cli_formatters/routes_list.js +118 -0
- package/build/src/debug.d.ts +1 -2
- package/build/src/debug.js +8 -0
- package/build/src/helpers/is.d.ts +0 -1
- package/build/src/helpers/is.js +8 -0
- package/build/src/helpers/main.d.ts +0 -1
- package/build/src/helpers/main.js +8 -0
- package/build/src/helpers/parse_binding_reference.d.ts +40 -1
- package/build/src/helpers/parse_binding_reference.js +60 -0
- package/build/src/helpers/string.d.ts +24 -1
- package/build/src/helpers/string.js +11 -0
- package/build/src/helpers/types.d.ts +7 -3
- package/build/src/helpers/types.js +13 -0
- package/build/src/ignitor/ace.d.ts +12 -1
- package/build/src/ignitor/ace.js +44 -0
- package/build/src/ignitor/http.d.ts +9 -3
- package/build/src/ignitor/http.js +67 -0
- package/build/src/ignitor/main.d.ts +29 -2
- package/build/src/ignitor/main.js +56 -0
- package/build/src/ignitor/test.d.ts +10 -1
- package/build/src/ignitor/test.js +25 -0
- package/build/src/internal_helpers.d.ts +12 -6
- package/build/src/internal_helpers.js +35 -7
- package/build/src/test_utils/http.d.ts +10 -3
- package/build/src/test_utils/http.js +19 -0
- package/build/src/test_utils/main.d.ts +19 -2
- package/build/src/test_utils/main.js +26 -0
- package/build/src/types.d.ts +56 -1
- package/build/src/types.js +8 -0
- package/build/stubs/index.d.ts +0 -1
- package/build/stubs/index.js +8 -0
- package/build/toolkit/commands/index_commands.d.ts +4 -1
- package/build/toolkit/commands/index_commands.js +14 -7
- package/build/toolkit/main.d.ts +0 -1
- package/build/toolkit/main.js +11 -0
- package/build/types/ace.d.ts +0 -1
- package/build/types/ace.js +8 -0
- package/build/types/app.d.ts +0 -1
- package/build/types/app.js +8 -0
- package/build/types/bodyparser.d.ts +0 -1
- package/build/types/bodyparser.js +8 -0
- package/build/types/container.d.ts +0 -1
- package/build/types/container.js +8 -0
- package/build/types/encryption.d.ts +0 -1
- package/build/types/encryption.js +8 -0
- package/build/types/events.d.ts +0 -1
- package/build/types/events.js +8 -0
- package/build/types/hash.d.ts +0 -1
- package/build/types/hash.js +8 -0
- package/build/types/http.d.ts +0 -1
- package/build/types/http.js +8 -0
- package/build/types/logger.d.ts +0 -1
- package/build/types/logger.js +8 -0
- package/package.json +53 -90
- package/build/commands/build.d.ts.map +0 -1
- package/build/commands/configure.d.ts.map +0 -1
- package/build/commands/eject.d.ts.map +0 -1
- package/build/commands/generate_key.d.ts.map +0 -1
- package/build/commands/inspect_rcfile.d.ts.map +0 -1
- package/build/commands/list/routes.d.ts.map +0 -1
- package/build/commands/make/_base.d.ts.map +0 -1
- package/build/commands/make/command.d.ts.map +0 -1
- package/build/commands/make/controller.d.ts.map +0 -1
- package/build/commands/make/event.d.ts.map +0 -1
- package/build/commands/make/listener.d.ts.map +0 -1
- package/build/commands/make/middleware.d.ts.map +0 -1
- package/build/commands/make/prldfile.d.ts.map +0 -1
- package/build/commands/make/provider.d.ts.map +0 -1
- package/build/commands/make/service.d.ts.map +0 -1
- package/build/commands/make/test.d.ts.map +0 -1
- package/build/commands/serve.d.ts.map +0 -1
- package/build/commands/test.d.ts.map +0 -1
- package/build/factories/app.d.ts.map +0 -1
- package/build/factories/bodyparser.d.ts.map +0 -1
- package/build/factories/core/ace.d.ts.map +0 -1
- package/build/factories/core/ignitor.d.ts.map +0 -1
- package/build/factories/core/main.d.ts.map +0 -1
- package/build/factories/core/test_utils.d.ts.map +0 -1
- package/build/factories/encryption.d.ts.map +0 -1
- package/build/factories/events.d.ts.map +0 -1
- package/build/factories/hash.d.ts.map +0 -1
- package/build/factories/http.d.ts.map +0 -1
- package/build/factories/logger.d.ts.map +0 -1
- package/build/factories/stubs.d.ts.map +0 -1
- package/build/index.d.ts.map +0 -1
- package/build/legacy/validator.d.ts +0 -2
- package/build/legacy/validator.d.ts.map +0 -1
- package/build/legacy/validator.js +0 -1
- package/build/modules/ace/commands.d.ts.map +0 -1
- package/build/modules/ace/create_kernel.d.ts.map +0 -1
- package/build/modules/ace/kernel.d.ts.map +0 -1
- package/build/modules/ace/main.d.ts.map +0 -1
- package/build/modules/ace/shell.d.ts.map +0 -1
- package/build/modules/app.d.ts.map +0 -1
- package/build/modules/bodyparser/bodyparser_middleware.d.ts.map +0 -1
- package/build/modules/bodyparser/main.d.ts.map +0 -1
- package/build/modules/config.d.ts.map +0 -1
- package/build/modules/container.d.ts.map +0 -1
- package/build/modules/encryption.d.ts.map +0 -1
- package/build/modules/env.d.ts.map +0 -1
- package/build/modules/events.d.ts.map +0 -1
- package/build/modules/hash/define_config.d.ts.map +0 -1
- package/build/modules/hash/drivers_collection.d.ts.map +0 -1
- package/build/modules/hash/main.d.ts.map +0 -1
- package/build/modules/http.d.ts.map +0 -1
- package/build/modules/logger.d.ts.map +0 -1
- package/build/providers/app_provider.d.ts.map +0 -1
- package/build/providers/hash_provider.d.ts.map +0 -1
- package/build/providers/http_provider.d.ts.map +0 -1
- package/build/services/ace.d.ts.map +0 -1
- package/build/services/app.d.ts.map +0 -1
- package/build/services/config.d.ts.map +0 -1
- package/build/services/emitter.d.ts.map +0 -1
- package/build/services/encryption.d.ts.map +0 -1
- package/build/services/hash.d.ts.map +0 -1
- package/build/services/logger.d.ts.map +0 -1
- package/build/services/router.d.ts.map +0 -1
- package/build/services/server.d.ts.map +0 -1
- package/build/services/test_utils.d.ts.map +0 -1
- package/build/src/cli_formatters/routes_list.d.ts.map +0 -1
- package/build/src/debug.d.ts.map +0 -1
- package/build/src/helpers/is.d.ts.map +0 -1
- package/build/src/helpers/main.d.ts.map +0 -1
- package/build/src/helpers/parse_binding_reference.d.ts.map +0 -1
- package/build/src/helpers/string.d.ts.map +0 -1
- package/build/src/helpers/types.d.ts.map +0 -1
- package/build/src/ignitor/ace.d.ts.map +0 -1
- package/build/src/ignitor/http.d.ts.map +0 -1
- package/build/src/ignitor/main.d.ts.map +0 -1
- package/build/src/ignitor/test.d.ts.map +0 -1
- package/build/src/internal_helpers.d.ts.map +0 -1
- package/build/src/test_utils/http.d.ts.map +0 -1
- package/build/src/test_utils/main.d.ts.map +0 -1
- package/build/src/types.d.ts.map +0 -1
- package/build/stubs/index.d.ts.map +0 -1
- package/build/toolkit/commands/index_commands.d.ts.map +0 -1
- package/build/toolkit/main.d.ts.map +0 -1
- package/build/types/ace.d.ts.map +0 -1
- package/build/types/app.d.ts.map +0 -1
- package/build/types/bodyparser.d.ts.map +0 -1
- package/build/types/container.d.ts.map +0 -1
- package/build/types/encryption.d.ts.map +0 -1
- package/build/types/events.d.ts.map +0 -1
- package/build/types/hash.d.ts.map +0 -1
- package/build/types/http.d.ts.map +0 -1
- package/build/types/logger.d.ts.map +0 -1
- package/commands/build.ts +0 -122
- package/commands/configure.ts +0 -179
- package/commands/eject.ts +0 -39
- package/commands/generate_key.ts +0 -53
- package/commands/inspect_rcfile.ts +0 -23
- package/commands/list/routes.ts +0 -121
- package/commands/make/_base.ts +0 -55
- package/commands/make/command.ts +0 -33
- package/commands/make/controller.ts +0 -77
- package/commands/make/event.ts +0 -33
- package/commands/make/listener.ts +0 -63
- package/commands/make/middleware.ts +0 -34
- package/commands/make/prldfile.ts +0 -40
- package/commands/make/provider.ts +0 -40
- package/commands/make/service.ts +0 -33
- package/commands/make/test.ts +0 -115
- package/commands/serve.ts +0 -146
- package/commands/test.ts +0 -189
- package/factories/app.ts +0 -10
- package/factories/bodyparser.ts +0 -10
- package/factories/core/ace.ts +0 -38
- package/factories/core/ignitor.ts +0 -132
- package/factories/core/main.ts +0 -13
- package/factories/core/test_utils.ts +0 -34
- package/factories/encryption.ts +0 -10
- package/factories/events.ts +0 -10
- package/factories/hash.ts +0 -10
- package/factories/http.ts +0 -10
- package/factories/logger.ts +0 -10
- package/factories/stubs.ts +0 -53
- package/index.ts +0 -39
- package/legacy/validator.ts +0 -10
- package/modules/ace/commands.ts +0 -152
- package/modules/ace/create_kernel.ts +0 -73
- package/modules/ace/kernel.ts +0 -28
- package/modules/ace/main.ts +0 -22
- package/modules/ace/shell.ts +0 -49
- package/modules/app.ts +0 -10
- package/modules/bodyparser/bodyparser_middleware.ts +0 -16
- package/modules/bodyparser/main.ts +0 -10
- package/modules/config.ts +0 -10
- package/modules/container.ts +0 -10
- package/modules/encryption.ts +0 -10
- package/modules/env.ts +0 -10
- package/modules/events.ts +0 -10
- package/modules/hash/define_config.ts +0 -64
- package/modules/hash/drivers_collection.ts +0 -61
- package/modules/hash/main.ts +0 -12
- package/modules/http.ts +0 -10
- package/modules/logger.ts +0 -10
- package/providers/app_provider.ts +0 -125
- package/providers/hash_provider.ts +0 -58
- package/providers/http_provider.ts +0 -66
- package/services/ace.ts +0 -26
- package/services/app.ts +0 -26
- package/services/config.ts +0 -22
- package/services/emitter.ts +0 -23
- package/services/encryption.ts +0 -23
- package/services/hash.ts +0 -23
- package/services/logger.ts +0 -23
- package/services/router.ts +0 -23
- package/services/server.ts +0 -23
- package/services/test_utils.ts +0 -26
- package/src/cli_formatters/routes_list.ts +0 -480
- package/src/debug.ts +0 -12
- package/src/helpers/is.ts +0 -11
- package/src/helpers/main.ts +0 -13
- package/src/helpers/parse_binding_reference.ts +0 -93
- package/src/helpers/string.ts +0 -89
- package/src/helpers/types.ts +0 -46
- package/src/ignitor/ace.ts +0 -90
- package/src/ignitor/http.ts +0 -167
- package/src/ignitor/main.ts +0 -118
- package/src/ignitor/test.ts +0 -51
- package/src/internal_helpers.ts +0 -59
- package/src/test_utils/http.ts +0 -79
- package/src/test_utils/main.ts +0 -69
- package/src/types.ts +0 -136
- package/types/ace.ts +0 -15
- package/types/app.ts +0 -10
- package/types/bodyparser.ts +0 -10
- package/types/container.ts +0 -10
- package/types/encryption.ts +0 -10
- package/types/events.ts +0 -10
- package/types/hash.ts +0 -10
- package/types/http.ts +0 -10
- package/types/logger.ts +0 -10
|
@@ -1,16 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/core
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
1
9
|
import { Ignitor } from '../../src/ignitor/main.js';
|
|
2
10
|
import { defineConfig as defineHttpConfig } from '../../modules/http.js';
|
|
3
11
|
import { defineConfig as defineLoggerConfig } from '../../modules/logger.js';
|
|
4
12
|
import { defineConfig as defineHashConfig } from '../../modules/hash/main.js';
|
|
5
13
|
import { defineConfig as defineBodyParserConfig } from '../../modules/bodyparser/main.js';
|
|
14
|
+
/**
|
|
15
|
+
* Ignitor factory creates an instance of the AdonisJS ignitor
|
|
16
|
+
*/
|
|
6
17
|
export class IgnitorFactory {
|
|
7
18
|
#preloadActions = [];
|
|
8
19
|
#parameters = {};
|
|
20
|
+
/**
|
|
21
|
+
* A flag to know if we should load the core providers
|
|
22
|
+
*/
|
|
9
23
|
#loadCoreProviders = false;
|
|
24
|
+
/**
|
|
25
|
+
* Define preload actions to run.
|
|
26
|
+
*/
|
|
10
27
|
preload(action) {
|
|
11
28
|
this.#preloadActions.push(action);
|
|
12
29
|
return this;
|
|
13
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Merge core providers with user defined providers
|
|
33
|
+
*/
|
|
14
34
|
#mergeCoreProviders(providers) {
|
|
15
35
|
return [
|
|
16
36
|
'@adonisjs/core/providers/app_provider',
|
|
@@ -18,6 +38,9 @@ export class IgnitorFactory {
|
|
|
18
38
|
'@adonisjs/core/providers/http_provider',
|
|
19
39
|
].concat(providers || []);
|
|
20
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Merge custom factory parameters
|
|
43
|
+
*/
|
|
21
44
|
merge(params) {
|
|
22
45
|
if (params.config) {
|
|
23
46
|
this.#parameters.config = Object.assign(this.#parameters.config || {}, params.config);
|
|
@@ -27,10 +50,17 @@ export class IgnitorFactory {
|
|
|
27
50
|
}
|
|
28
51
|
return this;
|
|
29
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Load core provider when booting the app
|
|
55
|
+
*/
|
|
30
56
|
withCoreProviders() {
|
|
31
57
|
this.#loadCoreProviders = true;
|
|
32
58
|
return this;
|
|
33
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Merge default config for the core features. A shallow merge
|
|
62
|
+
* is performed.
|
|
63
|
+
*/
|
|
34
64
|
withCoreConfig() {
|
|
35
65
|
this.merge({
|
|
36
66
|
config: {
|
|
@@ -58,6 +88,9 @@ export class IgnitorFactory {
|
|
|
58
88
|
});
|
|
59
89
|
return this;
|
|
60
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Create ignitor instance
|
|
93
|
+
*/
|
|
61
94
|
create(appRoot, options) {
|
|
62
95
|
return new Ignitor(appRoot, options).tap((app) => {
|
|
63
96
|
app.booted(async () => {
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/core
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
1
9
|
export { AceFactory } from './ace.js';
|
|
2
10
|
export { StubsFactory } from '../stubs.js';
|
|
3
11
|
export { IgnitorFactory } from './ignitor.js';
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
1
|
+
/// <reference types="@types/node" resolution-mode="require"/>
|
|
2
2
|
import { Ignitor } from '../../index.js';
|
|
3
3
|
import type { IgnitorOptions } from '../../src/types.js';
|
|
4
4
|
import { TestUtils } from '../../src/test_utils/main.js';
|
|
5
|
+
/**
|
|
6
|
+
* Creates an instance of TestUtils class
|
|
7
|
+
*/
|
|
5
8
|
export declare class TestUtilsFactory {
|
|
6
9
|
create(ignitor: Ignitor): TestUtils;
|
|
7
10
|
create(appRoot: URL, options: IgnitorOptions): TestUtils;
|
|
8
11
|
}
|
|
9
|
-
//# sourceMappingURL=test_utils.d.ts.map
|
|
@@ -1,6 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/core
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
1
9
|
import { Ignitor } from '../../index.js';
|
|
2
10
|
import { IgnitorFactory } from './ignitor.js';
|
|
3
11
|
import { TestUtils } from '../../src/test_utils/main.js';
|
|
12
|
+
/**
|
|
13
|
+
* Creates an instance of TestUtils class
|
|
14
|
+
*/
|
|
4
15
|
export class TestUtilsFactory {
|
|
5
16
|
create(ignitorOrAppRoot, options) {
|
|
6
17
|
if (ignitorOrAppRoot instanceof Ignitor) {
|
package/build/factories/hash.js
CHANGED
package/build/factories/http.js
CHANGED
|
@@ -2,9 +2,19 @@ import type { ApplicationService } from '../src/types.js';
|
|
|
2
2
|
type FactoryParameters = {
|
|
3
3
|
app: ApplicationService;
|
|
4
4
|
};
|
|
5
|
+
/**
|
|
6
|
+
* Prepares stubs from "@adonisjs/core" package. We do not publish this class as it
|
|
7
|
+
* is for internal testing only using the "stubsRoot" of the core package
|
|
8
|
+
*/
|
|
5
9
|
export declare class StubsFactory {
|
|
6
10
|
#private;
|
|
11
|
+
/**
|
|
12
|
+
* Merge custom factory parameters
|
|
13
|
+
*/
|
|
7
14
|
merge(params: Partial<FactoryParameters>): this;
|
|
15
|
+
/**
|
|
16
|
+
* Prepares a stub
|
|
17
|
+
*/
|
|
8
18
|
prepare(stubPath: string, data: Record<string, any>): Promise<{
|
|
9
19
|
contents: any;
|
|
10
20
|
destination: any;
|
|
@@ -13,4 +23,3 @@ export declare class StubsFactory {
|
|
|
13
23
|
}>;
|
|
14
24
|
}
|
|
15
25
|
export {};
|
|
16
|
-
//# sourceMappingURL=stubs.d.ts.map
|
package/build/factories/stubs.js
CHANGED
|
@@ -1,14 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/core
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
1
9
|
import { AppFactory } from '@adonisjs/application/factories';
|
|
2
10
|
import { stubsRoot } from '../index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Prepares stubs from "@adonisjs/core" package. We do not publish this class as it
|
|
13
|
+
* is for internal testing only using the "stubsRoot" of the core package
|
|
14
|
+
*/
|
|
3
15
|
export class StubsFactory {
|
|
4
16
|
#parameters = {};
|
|
17
|
+
/**
|
|
18
|
+
* Returns an instance of application
|
|
19
|
+
*/
|
|
5
20
|
#getApp() {
|
|
6
21
|
return this.#parameters.app || new AppFactory().create(new URL('./', import.meta.url), () => { });
|
|
7
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Merge custom factory parameters
|
|
25
|
+
*/
|
|
8
26
|
merge(params) {
|
|
9
27
|
this.#parameters = Object.assign(this.#parameters, params);
|
|
10
28
|
return this;
|
|
11
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Prepares a stub
|
|
32
|
+
*/
|
|
12
33
|
async prepare(stubPath, data) {
|
|
13
34
|
const app = this.#getApp();
|
|
14
35
|
await app.init();
|
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
1
|
+
/// <reference types="@types/node" resolution-mode="require"/>
|
|
2
2
|
export { stubsRoot } from './stubs/index.js';
|
|
3
3
|
export { inject } from './modules/container.js';
|
|
4
4
|
export { Ignitor } from './src/ignitor/main.js';
|
|
@@ -140,5 +140,8 @@ export declare const errors: {
|
|
|
140
140
|
E_INSECURE_APP_KEY: new (args?: any, options?: ErrorOptions | undefined) => import("@poppinss/utils").Exception;
|
|
141
141
|
E_MISSING_APP_KEY: new (args?: any, options?: ErrorOptions | undefined) => import("@poppinss/utils").Exception;
|
|
142
142
|
};
|
|
143
|
+
/**
|
|
144
|
+
* Pretty prints an error with colorful output using
|
|
145
|
+
* Youch terminal
|
|
146
|
+
*/
|
|
143
147
|
export declare function prettyPrintError(error: any): Promise<void>;
|
|
144
|
-
//# sourceMappingURL=index.d.ts.map
|
package/build/index.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/core
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
1
9
|
import { errors as aceErrors } from '@adonisjs/ace';
|
|
2
10
|
import { errors as envErrors } from '@adonisjs/env';
|
|
3
11
|
import { errors as appErrors } from '@adonisjs/application';
|
|
@@ -13,7 +21,12 @@ export const errors = {
|
|
|
13
21
|
...aceErrors,
|
|
14
22
|
...envErrors,
|
|
15
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Pretty prints an error with colorful output using
|
|
26
|
+
* Youch terminal
|
|
27
|
+
*/
|
|
16
28
|
export async function prettyPrintError(error) {
|
|
29
|
+
// @ts-expect-error
|
|
17
30
|
const { default: youchTerminal } = await import('youch-terminal');
|
|
18
31
|
const { default: Youch } = await import('youch');
|
|
19
32
|
const youch = new Youch(error, {});
|
|
@@ -2,26 +2,148 @@ import { BaseCommand as AceBaseCommand, ListCommand as AceListCommand } from '@a
|
|
|
2
2
|
import { Kernel } from './kernel.js';
|
|
3
3
|
import type { ApplicationService } from '../../src/types.js';
|
|
4
4
|
import type { CommandOptions, ParsedOutput, UIPrimitives } from '../../types/ace.js';
|
|
5
|
+
/**
|
|
6
|
+
* Wrapper around the stub generation logic.
|
|
7
|
+
* Allow commands to easily generate files from given stubs
|
|
8
|
+
*/
|
|
9
|
+
declare class StubGenerator {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(command: BaseCommand, flags: Record<string, any>);
|
|
12
|
+
generate(stubsRoot: string, stubPath: string, stubState: Record<string, any>): Promise<{
|
|
13
|
+
relativeFileName: string;
|
|
14
|
+
contents: any;
|
|
15
|
+
destination: any;
|
|
16
|
+
attributes: any;
|
|
17
|
+
status: "created";
|
|
18
|
+
skipReason: null;
|
|
19
|
+
} | {
|
|
20
|
+
relativeFileName: string;
|
|
21
|
+
contents: any;
|
|
22
|
+
destination: any;
|
|
23
|
+
attributes: any;
|
|
24
|
+
status: "force_created";
|
|
25
|
+
skipReason: null;
|
|
26
|
+
} | {
|
|
27
|
+
relativeFileName: string;
|
|
28
|
+
contents: any;
|
|
29
|
+
destination: any;
|
|
30
|
+
attributes: any;
|
|
31
|
+
status: "skipped";
|
|
32
|
+
skipReason: string;
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The base command to create custom ace commands. The AdonisJS base commands
|
|
37
|
+
* receives the application instance
|
|
38
|
+
*/
|
|
5
39
|
export declare class BaseCommand extends AceBaseCommand {
|
|
6
40
|
app: ApplicationService;
|
|
7
41
|
kernel: Kernel;
|
|
42
|
+
stubGenerator: StubGenerator;
|
|
8
43
|
static options: CommandOptions;
|
|
9
44
|
get staysAlive(): boolean | undefined;
|
|
10
45
|
get startApp(): boolean | undefined;
|
|
11
46
|
constructor(app: ApplicationService, kernel: Kernel, parsed: ParsedOutput, ui: UIPrimitives, prompt: Kernel['prompt']);
|
|
47
|
+
/**
|
|
48
|
+
* The prepare template method is used to prepare the
|
|
49
|
+
* state for the command. This is the first method
|
|
50
|
+
* executed on a given command instance.
|
|
51
|
+
*/
|
|
12
52
|
prepare?(..._: any[]): any;
|
|
53
|
+
/**
|
|
54
|
+
* The interact template method is used to display the prompts
|
|
55
|
+
* to the user. The method is called after the prepare
|
|
56
|
+
* method.
|
|
57
|
+
*/
|
|
13
58
|
interact?(..._: any[]): any;
|
|
59
|
+
/**
|
|
60
|
+
* The completed method is the method invoked after the command
|
|
61
|
+
* finishes or results in an error.
|
|
62
|
+
*
|
|
63
|
+
* You can access the command error using the `this.error` property.
|
|
64
|
+
* Returning `true` from completed method supresses the error
|
|
65
|
+
* reporting to the kernel layer.
|
|
66
|
+
*/
|
|
14
67
|
completed?(..._: any[]): any;
|
|
68
|
+
/**
|
|
69
|
+
* Make a new file using the given stub
|
|
70
|
+
*/
|
|
71
|
+
makeUsingStub(stubPath: string, stubState: Record<string, any>, stubsRoot: string): Promise<{
|
|
72
|
+
relativeFileName: string;
|
|
73
|
+
contents: any;
|
|
74
|
+
destination: any;
|
|
75
|
+
attributes: any;
|
|
76
|
+
status: "created";
|
|
77
|
+
skipReason: null;
|
|
78
|
+
} | {
|
|
79
|
+
relativeFileName: string;
|
|
80
|
+
contents: any;
|
|
81
|
+
destination: any;
|
|
82
|
+
attributes: any;
|
|
83
|
+
status: "force_created";
|
|
84
|
+
skipReason: null;
|
|
85
|
+
} | {
|
|
86
|
+
relativeFileName: string;
|
|
87
|
+
contents: any;
|
|
88
|
+
destination: any;
|
|
89
|
+
attributes: any;
|
|
90
|
+
status: "skipped";
|
|
91
|
+
skipReason: string;
|
|
92
|
+
}>;
|
|
93
|
+
/**
|
|
94
|
+
* Executes the command
|
|
95
|
+
*/
|
|
15
96
|
exec(): Promise<any>;
|
|
97
|
+
/**
|
|
98
|
+
* Terminate the app. A command should prefer calling this method
|
|
99
|
+
* over the "app.terminate", because this method only triggers
|
|
100
|
+
* app termination when the current command is in the charge
|
|
101
|
+
* of the process.
|
|
102
|
+
*/
|
|
16
103
|
terminate(): Promise<void>;
|
|
17
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* The List command is used to display a list of commands
|
|
107
|
+
*/
|
|
18
108
|
export declare class ListCommand extends AceListCommand implements BaseCommand {
|
|
19
109
|
app: ApplicationService;
|
|
20
110
|
kernel: Kernel;
|
|
111
|
+
stubGenerator: StubGenerator;
|
|
21
112
|
static options: CommandOptions;
|
|
22
113
|
get staysAlive(): boolean | undefined;
|
|
23
114
|
get startApp(): boolean | undefined;
|
|
24
115
|
constructor(app: ApplicationService, kernel: Kernel, parsed: ParsedOutput, ui: UIPrimitives, prompt: Kernel['prompt']);
|
|
116
|
+
/**
|
|
117
|
+
* Make a new file using the given stub
|
|
118
|
+
*/
|
|
119
|
+
makeUsingStub(stubPath: string, stubState: Record<string, any>, stubsRoot: string): Promise<{
|
|
120
|
+
relativeFileName: string;
|
|
121
|
+
contents: any;
|
|
122
|
+
destination: any;
|
|
123
|
+
attributes: any;
|
|
124
|
+
status: "created";
|
|
125
|
+
skipReason: null;
|
|
126
|
+
} | {
|
|
127
|
+
relativeFileName: string;
|
|
128
|
+
contents: any;
|
|
129
|
+
destination: any;
|
|
130
|
+
attributes: any;
|
|
131
|
+
status: "force_created";
|
|
132
|
+
skipReason: null;
|
|
133
|
+
} | {
|
|
134
|
+
relativeFileName: string;
|
|
135
|
+
contents: any;
|
|
136
|
+
destination: any;
|
|
137
|
+
attributes: any;
|
|
138
|
+
status: "skipped";
|
|
139
|
+
skipReason: string;
|
|
140
|
+
}>;
|
|
141
|
+
/**
|
|
142
|
+
* Terminate the app. A command should prefer calling this method
|
|
143
|
+
* over the "app.terminate", because this method only triggers
|
|
144
|
+
* app termination when the current command is in the charge
|
|
145
|
+
* of the process.
|
|
146
|
+
*/
|
|
25
147
|
terminate(): Promise<void>;
|
|
26
148
|
}
|
|
27
|
-
|
|
149
|
+
export {};
|
|
@@ -1,7 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/core
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
1
9
|
import { BaseCommand as AceBaseCommand, ListCommand as AceListCommand } from '@adonisjs/ace';
|
|
2
|
-
|
|
10
|
+
import { slash } from '@poppinss/utils';
|
|
11
|
+
/**
|
|
12
|
+
* Wrapper around the stub generation logic.
|
|
13
|
+
* Allow commands to easily generate files from given stubs
|
|
14
|
+
*/
|
|
15
|
+
class StubGenerator {
|
|
16
|
+
#command;
|
|
17
|
+
#flags;
|
|
18
|
+
constructor(command, flags) {
|
|
19
|
+
this.#command = command;
|
|
20
|
+
this.#flags = flags;
|
|
21
|
+
}
|
|
22
|
+
async generate(stubsRoot, stubPath, stubState) {
|
|
23
|
+
const stub = await this.#command.app.stubs.build(stubPath, { source: stubsRoot });
|
|
24
|
+
const output = await stub.generate(Object.assign({ flags: this.#flags }, stubState));
|
|
25
|
+
const entityFileName = slash(this.#command.app.relativePath(output.destination));
|
|
26
|
+
const result = { ...output, relativeFileName: entityFileName };
|
|
27
|
+
if (output.status === 'skipped') {
|
|
28
|
+
this.#command.logger.action(`create ${entityFileName}`).skipped(output.skipReason);
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
this.#command.logger.action(`create ${entityFileName}`).succeeded();
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The base command to create custom ace commands. The AdonisJS base commands
|
|
37
|
+
* receives the application instance
|
|
38
|
+
*/
|
|
39
|
+
export class BaseCommand extends AceBaseCommand {
|
|
3
40
|
app;
|
|
4
41
|
kernel;
|
|
42
|
+
stubGenerator = new StubGenerator(this, this.parsed?.flags || {});
|
|
5
43
|
static options = {};
|
|
6
44
|
get staysAlive() {
|
|
7
45
|
return this.constructor.options.staysAlive;
|
|
@@ -14,12 +52,27 @@ class BaseCommand extends AceBaseCommand {
|
|
|
14
52
|
this.app = app;
|
|
15
53
|
this.kernel = kernel;
|
|
16
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Make a new file using the given stub
|
|
57
|
+
*/
|
|
58
|
+
async makeUsingStub(stubPath, stubState, stubsRoot) {
|
|
59
|
+
return this.stubGenerator.generate(stubsRoot, stubPath, stubState);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Executes the command
|
|
63
|
+
*/
|
|
17
64
|
async exec() {
|
|
18
65
|
this.hydrate();
|
|
19
66
|
try {
|
|
67
|
+
/**
|
|
68
|
+
* Executing the template methods
|
|
69
|
+
*/
|
|
20
70
|
this.prepare && (await this.app.container.call(this, 'prepare'));
|
|
21
71
|
this.interact && (await this.app.container.call(this, 'interact'));
|
|
22
72
|
const result = await this.app.container.call(this, 'run');
|
|
73
|
+
/**
|
|
74
|
+
* Set exit code
|
|
75
|
+
*/
|
|
23
76
|
this.result = this.result === undefined ? result : this.result;
|
|
24
77
|
this.exitCode = this.exitCode ?? 0;
|
|
25
78
|
}
|
|
@@ -27,6 +80,10 @@ class BaseCommand extends AceBaseCommand {
|
|
|
27
80
|
this.error = error;
|
|
28
81
|
this.exitCode = this.exitCode ?? 1;
|
|
29
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Run the completed method (if exists) and check if has handled
|
|
85
|
+
* the error
|
|
86
|
+
*/
|
|
30
87
|
let errorHandled = this.completed
|
|
31
88
|
? await this.app.container.call(this, 'completed')
|
|
32
89
|
: false;
|
|
@@ -35,16 +92,25 @@ class BaseCommand extends AceBaseCommand {
|
|
|
35
92
|
}
|
|
36
93
|
return this.result;
|
|
37
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Terminate the app. A command should prefer calling this method
|
|
97
|
+
* over the "app.terminate", because this method only triggers
|
|
98
|
+
* app termination when the current command is in the charge
|
|
99
|
+
* of the process.
|
|
100
|
+
*/
|
|
38
101
|
async terminate() {
|
|
39
102
|
if (this.kernel.getMainCommand() === this) {
|
|
40
103
|
await this.app.terminate();
|
|
41
104
|
}
|
|
42
105
|
}
|
|
43
106
|
}
|
|
44
|
-
|
|
45
|
-
|
|
107
|
+
/**
|
|
108
|
+
* The List command is used to display a list of commands
|
|
109
|
+
*/
|
|
110
|
+
export class ListCommand extends AceListCommand {
|
|
46
111
|
app;
|
|
47
112
|
kernel;
|
|
113
|
+
stubGenerator = new StubGenerator(this, this.parsed?.flags || {});
|
|
48
114
|
static options = {};
|
|
49
115
|
get staysAlive() {
|
|
50
116
|
return this.constructor.options.staysAlive;
|
|
@@ -57,10 +123,21 @@ class ListCommand extends AceListCommand {
|
|
|
57
123
|
this.app = app;
|
|
58
124
|
this.kernel = kernel;
|
|
59
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Make a new file using the given stub
|
|
128
|
+
*/
|
|
129
|
+
async makeUsingStub(stubPath, stubState, stubsRoot) {
|
|
130
|
+
return this.stubGenerator.generate(stubsRoot, stubPath, stubState);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Terminate the app. A command should prefer calling this method
|
|
134
|
+
* over the "app.terminate", because this method only triggers
|
|
135
|
+
* app termination when the current command is in the charge
|
|
136
|
+
* of the process.
|
|
137
|
+
*/
|
|
60
138
|
async terminate() {
|
|
61
139
|
if (this.kernel.getMainCommand() === this) {
|
|
62
140
|
await this.app.terminate();
|
|
63
141
|
}
|
|
64
142
|
}
|
|
65
143
|
}
|
|
66
|
-
export { ListCommand };
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { Kernel } from './main.js';
|
|
2
2
|
import type { ApplicationService } from '../../src/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* We abstract the logic for creating the ace kernel in this
|
|
5
|
+
* file. So that both the "console" environment and rest
|
|
6
|
+
* of the environments can configure and use ace.
|
|
7
|
+
*
|
|
8
|
+
* - In console environment, ace manages the lifecycle of the process
|
|
9
|
+
* - In other environments, ace can be pulled from the container to
|
|
10
|
+
* run commands
|
|
11
|
+
*/
|
|
3
12
|
export declare function createAceKernel(app: ApplicationService): Kernel;
|
|
4
|
-
//# sourceMappingURL=create_kernel.d.ts.map
|
|
@@ -1,11 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/ace
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
1
9
|
import { Kernel } from './main.js';
|
|
2
10
|
import { FsLoader, HelpCommand } from '../../modules/ace/main.js';
|
|
11
|
+
/**
|
|
12
|
+
* We abstract the logic for creating the ace kernel in this
|
|
13
|
+
* file. So that both the "console" environment and rest
|
|
14
|
+
* of the environments can configure and use ace.
|
|
15
|
+
*
|
|
16
|
+
* - In console environment, ace manages the lifecycle of the process
|
|
17
|
+
* - In other environments, ace can be pulled from the container to
|
|
18
|
+
* run commands
|
|
19
|
+
*/
|
|
3
20
|
export function createAceKernel(app) {
|
|
4
21
|
const kernel = new Kernel(app);
|
|
5
22
|
kernel.addLoader(new FsLoader(app.commandsPath()));
|
|
23
|
+
kernel.info.set('binary', 'node ace');
|
|
24
|
+
/**
|
|
25
|
+
* Lazy import commands mentioned in the "commands" array
|
|
26
|
+
* of rcFile
|
|
27
|
+
*/
|
|
6
28
|
app.rcFile.commands.forEach((commandModule) => {
|
|
7
29
|
kernel.addLoader(() => app.import(commandModule));
|
|
8
30
|
});
|
|
31
|
+
/**
|
|
32
|
+
* Custom global flags
|
|
33
|
+
*/
|
|
9
34
|
kernel.defineFlag('ansi', {
|
|
10
35
|
type: 'boolean',
|
|
11
36
|
showNegatedVariantInHelp: true,
|
|
@@ -15,6 +40,9 @@ export function createAceKernel(app) {
|
|
|
15
40
|
type: 'boolean',
|
|
16
41
|
description: HelpCommand.description,
|
|
17
42
|
});
|
|
43
|
+
/**
|
|
44
|
+
* Flag listener to turn colors on/off
|
|
45
|
+
*/
|
|
18
46
|
kernel.on('ansi', (_, $kernel, parsed) => {
|
|
19
47
|
if (parsed.flags.ansi === false) {
|
|
20
48
|
$kernel.ui.switchMode('silent');
|
|
@@ -23,6 +51,9 @@ export function createAceKernel(app) {
|
|
|
23
51
|
$kernel.ui.switchMode('normal');
|
|
24
52
|
}
|
|
25
53
|
});
|
|
54
|
+
/**
|
|
55
|
+
* Flag listener to display the help
|
|
56
|
+
*/
|
|
26
57
|
kernel.on('help', async (command, $kernel, parsed) => {
|
|
27
58
|
parsed.args.unshift(command.commandName);
|
|
28
59
|
const help = new HelpCommand($kernel, parsed, kernel.ui, kernel.prompt);
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Kernel as AceKernel } from '@adonisjs/ace';
|
|
2
2
|
import { BaseCommand } from './commands.js';
|
|
3
3
|
import type { ApplicationService } from '../../src/types.js';
|
|
4
|
+
/**
|
|
5
|
+
* The base command to create custom ace commands. The AdonisJS base commands
|
|
6
|
+
* receives the application instance
|
|
7
|
+
*/
|
|
4
8
|
export declare class Kernel extends AceKernel<typeof BaseCommand> {
|
|
5
9
|
app: ApplicationService;
|
|
6
10
|
constructor(app: ApplicationService);
|
|
7
11
|
}
|
|
8
|
-
//# sourceMappingURL=kernel.d.ts.map
|