@adonisjs/core 6.1.5-3 → 6.1.5-31
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 +49 -26
- package/build/commands/commands.json +1 -1
- package/build/commands/configure.d.ts +36 -4
- package/build/commands/configure.js +114 -27
- package/build/commands/eject.d.ts +4 -1
- package/build/commands/eject.js +17 -10
- package/build/commands/generate_key.d.ts +4 -1
- package/build/commands/generate_key.js +16 -10
- package/build/commands/inspect_rcfile.d.ts +3 -1
- package/build/commands/inspect_rcfile.js +29 -3
- package/build/commands/list/routes.d.ts +23 -1
- package/build/commands/list/routes.js +30 -15
- package/build/commands/main.d.ts +4 -0
- package/build/commands/make/command.d.ts +7 -2
- package/build/commands/make/command.js +21 -9
- package/build/commands/make/controller.d.ts +10 -2
- package/build/commands/make/controller.js +36 -16
- package/build/commands/make/event.d.ts +7 -2
- package/build/commands/make/event.js +21 -10
- package/build/commands/make/exception.d.ts +14 -0
- package/build/commands/make/exception.js +37 -0
- package/build/commands/make/listener.d.ts +8 -2
- package/build/commands/make/listener.js +29 -14
- package/build/commands/make/middleware.d.ts +8 -2
- package/build/commands/make/middleware.js +22 -10
- package/build/commands/make/preload.d.ts +22 -0
- package/build/commands/make/preload.js +99 -0
- package/build/commands/make/provider.d.ts +7 -2
- package/build/commands/make/provider.js +28 -11
- package/build/commands/make/service.d.ts +7 -2
- package/build/commands/make/service.js +21 -10
- package/build/commands/make/test.d.ts +10 -2
- package/build/commands/make/test.js +48 -13
- package/build/commands/make/validator.d.ts +14 -0
- package/build/commands/make/validator.js +37 -0
- package/build/commands/make/view.d.ts +14 -0
- package/build/commands/make/view.js +37 -0
- package/build/commands/repl.d.ts +14 -0
- package/build/commands/repl.js +30 -0
- package/build/commands/serve.d.ts +10 -1
- package/build/commands/serve.js +63 -32
- package/build/commands/test.d.ts +13 -2
- package/build/commands/test.js +108 -61
- 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 +3 -1
- package/build/factories/core/ace.js +11 -0
- package/build/factories/core/ignitor.d.ts +19 -1
- package/build/factories/core/ignitor.js +37 -5
- package/build/factories/core/main.d.ts +0 -2
- package/build/factories/core/main.js +8 -1
- package/build/factories/core/test_utils.d.ts +3 -1
- 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 +12 -3
- package/build/factories/stubs.js +23 -1
- package/build/index.d.ts +15 -141
- package/build/index.js +18 -1
- package/build/modules/ace/codemods.d.ts +59 -0
- package/build/modules/ace/codemods.js +133 -0
- package/build/modules/ace/commands.d.ts +48 -1
- package/build/modules/ace/commands.js +56 -4
- package/build/modules/ace/create_kernel.d.ts +9 -1
- package/build/modules/ace/create_kernel.js +32 -1
- 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 +8 -1
- package/build/modules/ace/shell.js +21 -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/editor.d.ts +1 -0
- package/{modules/config.ts → build/modules/env/editor.js} +1 -2
- package/{modules/env.ts → build/modules/env/main.js} +1 -2
- package/build/modules/events.d.ts +0 -1
- package/build/modules/events.js +8 -0
- package/build/modules/hash/define_config.d.ts +31 -12
- package/build/modules/hash/define_config.js +68 -10
- package/build/modules/hash/drivers/argon.d.ts +1 -0
- package/{factories/hash.ts → build/modules/hash/drivers/argon.js} +1 -2
- package/build/modules/hash/drivers/bcrypt.d.ts +1 -0
- package/{factories/events.ts → build/modules/hash/drivers/bcrypt.js} +1 -2
- package/build/modules/hash/drivers/scrypt.d.ts +1 -0
- package/{legacy/validator.ts → build/modules/hash/drivers/scrypt.js} +1 -2
- package/build/modules/hash/main.d.ts +1 -3
- package/build/modules/hash/main.js +9 -2
- package/build/modules/hash/phc_formatter.d.ts +1 -0
- package/{factories/logger.ts → build/modules/hash/phc_formatter.js} +1 -2
- package/build/modules/http/main.d.ts +7 -0
- package/build/modules/http/main.js +15 -0
- package/build/modules/http/request_validator.d.ts +34 -0
- package/build/modules/http/request_validator.js +66 -0
- package/build/modules/logger.d.ts +0 -1
- package/build/modules/logger.js +8 -0
- package/build/modules/repl.d.ts +1 -0
- package/{modules/container.ts → build/modules/repl.js} +1 -2
- package/build/providers/app_provider.d.ts +44 -2
- package/build/providers/app_provider.js +78 -5
- package/build/providers/edge_provider.d.ts +31 -0
- package/build/providers/edge_provider.js +69 -0
- package/build/providers/hash_provider.d.ts +13 -2
- package/build/providers/hash_provider.js +32 -8
- package/build/providers/repl_provider.d.ts +13 -0
- package/build/providers/repl_provider.js +98 -0
- package/build/providers/vinejs_provider.d.ts +33 -0
- package/build/providers/vinejs_provider.js +84 -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/repl.d.ts +3 -0
- package/build/services/repl.js +18 -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 +24 -2
- package/build/src/cli_formatters/routes_list.js +118 -0
- package/build/src/config_provider.d.ts +9 -0
- package/build/src/config_provider.js +26 -0
- package/build/src/debug.d.ts +0 -1
- package/build/src/debug.js +8 -0
- package/build/src/exceptions.d.ts +1 -0
- package/{factories/bodyparser.ts → build/src/exceptions.js} +1 -2
- package/build/src/helpers/is.d.ts +0 -1
- package/build/src/helpers/is.js +8 -0
- package/build/src/helpers/main.d.ts +1 -2
- package/build/src/helpers/main.js +9 -1
- 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 +114 -17
- package/build/src/helpers/types.js +13 -0
- package/build/src/ignitor/ace.d.ts +12 -1
- package/build/src/ignitor/ace.js +50 -1
- package/build/src/ignitor/http.d.ts +7 -1
- package/build/src/ignitor/http.js +67 -0
- package/build/src/ignitor/main.d.ts +28 -1
- 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 +8 -1
- package/build/src/test_utils/http.js +19 -0
- package/build/src/test_utils/main.d.ts +20 -3
- package/build/src/test_utils/main.js +27 -1
- package/build/src/types.d.ts +69 -11
- package/build/src/types.js +8 -0
- package/build/stubs/{index.d.ts → main.d.ts} +0 -1
- package/{factories/app.ts → build/stubs/main.js} +2 -2
- package/build/stubs/make/command/main.stub +6 -4
- package/build/stubs/make/controller/api.stub +6 -4
- package/build/stubs/make/controller/main.stub +6 -4
- package/build/stubs/make/controller/resource.stub +6 -4
- package/build/stubs/make/event/main.stub +5 -3
- package/build/stubs/make/exception/main.stub +12 -0
- package/build/stubs/make/listener/for_event.stub +6 -4
- package/build/stubs/make/listener/main.stub +5 -3
- package/build/stubs/make/middleware/main.stub +7 -5
- package/build/stubs/make/preload_file/main.stub +5 -3
- package/build/stubs/make/provider/main.stub +6 -4
- package/build/stubs/make/service/main.stub +5 -3
- package/build/stubs/make/test/main.stub +5 -3
- package/build/stubs/make/validator/main.stub +7 -0
- package/build/stubs/make/view/main.stub +6 -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 +7 -1
- package/build/types/http.js +8 -0
- package/build/types/logger.d.ts +0 -1
- package/build/types/logger.js +8 -0
- package/build/types/repl.d.ts +1 -0
- package/{modules/bodyparser/main.ts → build/types/repl.js} +1 -2
- package/package.json +93 -137
- 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 +0 -28
- package/build/commands/make/_base.d.ts.map +0 -1
- package/build/commands/make/_base.js +0 -28
- 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 +0 -9
- package/build/commands/make/prldfile.d.ts.map +0 -1
- package/build/commands/make/prldfile.js +0 -28
- 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 +0 -2
- 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 +0 -9
- package/build/modules/hash/drivers_collection.d.ts.map +0 -1
- package/build/modules/hash/drivers_collection.js +0 -16
- package/build/modules/hash/main.d.ts.map +0 -1
- package/build/modules/http.d.ts +0 -2
- package/build/modules/http.d.ts.map +0 -1
- package/build/modules/http.js +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 +0 -10
- package/build/providers/http_provider.d.ts.map +0 -1
- package/build/providers/http_provider.js +0 -36
- 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/stubs/index.js +0 -2
- 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/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/http.ts +0 -10
- package/factories/stubs.ts +0 -53
- package/index.ts +0 -39
- 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/encryption.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
- /package/build/modules/{env.js → env/main.d.ts} +0 -0
package/src/helpers/types.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
import is from '@sindresorhus/is'
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated
|
|
14
|
-
* Use "is" helpers instead. The types helpers exists
|
|
15
|
-
* for backward compatibility
|
|
16
|
-
*/
|
|
17
|
-
const types = {
|
|
18
|
-
lookup: is,
|
|
19
|
-
isNull: is.null_,
|
|
20
|
-
isBoolean: is.boolean,
|
|
21
|
-
isBuffer: is.buffer,
|
|
22
|
-
isNumber: is.number,
|
|
23
|
-
isString: is.string,
|
|
24
|
-
isArguments: is.arguments,
|
|
25
|
-
isObject: is.object,
|
|
26
|
-
isDate: is.date,
|
|
27
|
-
isArray: is.array,
|
|
28
|
-
isRegexp: is.regExp,
|
|
29
|
-
isError: is.error,
|
|
30
|
-
isFunction: is.function_,
|
|
31
|
-
isClass: is.class_,
|
|
32
|
-
isInteger: is.integer,
|
|
33
|
-
isFloat(value: number): value is number {
|
|
34
|
-
return value !== (value | 0)
|
|
35
|
-
},
|
|
36
|
-
isDecimal(value: string | number, options?: { decimalPlaces?: string }): boolean {
|
|
37
|
-
if (typeof value === 'number') {
|
|
38
|
-
value = value.toString()
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const decimalPlaces = (options && options.decimalPlaces) || '1,'
|
|
42
|
-
return new RegExp(`^[-+]?([0-9]+)?(\\.[0-9]{${decimalPlaces}})$`).test(value)
|
|
43
|
-
},
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export default types
|
package/src/ignitor/ace.ts
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { Ignitor } from './main.js'
|
|
11
|
-
import type { ApplicationService } from '../types.js'
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* The Ace process is used to start the application in the
|
|
15
|
-
* console environment.
|
|
16
|
-
*/
|
|
17
|
-
export class AceProcess {
|
|
18
|
-
/**
|
|
19
|
-
* Ignitor reference
|
|
20
|
-
*/
|
|
21
|
-
#ignitor: Ignitor
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* The callback that configures the tests runner. This callback
|
|
25
|
-
* runs at the time of starting the app.
|
|
26
|
-
*/
|
|
27
|
-
#configureCallback: (app: ApplicationService) => Promise<void> | void = () => {}
|
|
28
|
-
|
|
29
|
-
constructor(ignitor: Ignitor) {
|
|
30
|
-
this.#ignitor = ignitor
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Register a callback that runs after booting the AdonisJS app
|
|
35
|
-
* and just before the provider's ready hook
|
|
36
|
-
*/
|
|
37
|
-
configure(callback: (app: ApplicationService) => Promise<void> | void): this {
|
|
38
|
-
this.#configureCallback = callback
|
|
39
|
-
return this
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Handles the command line arguments and executes
|
|
44
|
-
* the matching ace commands
|
|
45
|
-
*/
|
|
46
|
-
async handle(argv: string[]) {
|
|
47
|
-
const app = this.#ignitor.createApp('console')
|
|
48
|
-
await app.init()
|
|
49
|
-
|
|
50
|
-
const { createAceKernel } = await import('../../modules/ace/create_kernel.js')
|
|
51
|
-
|
|
52
|
-
const kernel = createAceKernel(app)
|
|
53
|
-
app.container.bindValue('ace', kernel)
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Hook into kernel and start the app when the
|
|
57
|
-
* command needs the app.
|
|
58
|
-
*
|
|
59
|
-
* Since multiple commands can be executed in a single process,
|
|
60
|
-
* we add a check to only start the app only once.
|
|
61
|
-
*/
|
|
62
|
-
kernel.loading(async (metaData) => {
|
|
63
|
-
if (metaData.options.startApp && !app.isReady) {
|
|
64
|
-
await app.boot()
|
|
65
|
-
await app.start(() => {})
|
|
66
|
-
}
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
await this.#configureCallback(app)
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Handle command line args
|
|
73
|
-
*/
|
|
74
|
-
await kernel.handle(argv)
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Update the process exit code
|
|
78
|
-
*/
|
|
79
|
-
process.exitCode = kernel.exitCode
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Terminate the app when the command does not want to
|
|
83
|
-
* hold a long running process
|
|
84
|
-
*/
|
|
85
|
-
const mainCommand = kernel.getMainCommand()
|
|
86
|
-
if (!mainCommand || !mainCommand.staysAlive) {
|
|
87
|
-
await app.terminate()
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
package/src/ignitor/http.ts
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
import type { Server as NodeHttpsServer } from 'node:https'
|
|
11
|
-
import { IncomingMessage, ServerResponse, Server as NodeHttpServer, createServer } from 'node:http'
|
|
12
|
-
|
|
13
|
-
import debug from '../debug.js'
|
|
14
|
-
import { Ignitor } from './main.js'
|
|
15
|
-
import type { ApplicationService, EmitterService, LoggerService } from '../types.js'
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* The HTTP server process is used to start the application in the
|
|
19
|
-
* web environment.
|
|
20
|
-
*/
|
|
21
|
-
export class HttpServerProcess {
|
|
22
|
-
/**
|
|
23
|
-
* Ignitor reference
|
|
24
|
-
*/
|
|
25
|
-
#ignitor: Ignitor
|
|
26
|
-
|
|
27
|
-
constructor(ignitor: Ignitor) {
|
|
28
|
-
this.#ignitor = ignitor
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Calling this method closes the underlying HTTP server
|
|
33
|
-
*/
|
|
34
|
-
#close(nodeHttpServer: NodeHttpsServer | NodeHttpServer): Promise<void> {
|
|
35
|
-
return new Promise((resolve) => {
|
|
36
|
-
debug('closing http server process')
|
|
37
|
-
nodeHttpServer.close(() => resolve())
|
|
38
|
-
})
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Monitors the app and the server to close the HTTP server when
|
|
43
|
-
* either one of them goes down
|
|
44
|
-
*/
|
|
45
|
-
#monitorAppAndServer(
|
|
46
|
-
nodeHttpServer: NodeHttpsServer | NodeHttpServer,
|
|
47
|
-
app: ApplicationService,
|
|
48
|
-
logger: LoggerService
|
|
49
|
-
) {
|
|
50
|
-
/**
|
|
51
|
-
* Close the HTTP server when the application begins to
|
|
52
|
-
* terminate
|
|
53
|
-
*/
|
|
54
|
-
app.terminating(async () => {
|
|
55
|
-
debug('terminating signal received')
|
|
56
|
-
await this.#close(nodeHttpServer)
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Terminate the app when the HTTP server crashes
|
|
61
|
-
*/
|
|
62
|
-
nodeHttpServer.once('error', (error: NodeJS.ErrnoException) => {
|
|
63
|
-
debug('http server crashed with error "%O"', error)
|
|
64
|
-
logger.fatal({ err: error }, error.message)
|
|
65
|
-
process.exitCode = 1
|
|
66
|
-
app.terminate()
|
|
67
|
-
})
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Starts the http server a given host and port
|
|
72
|
-
*/
|
|
73
|
-
#listen(
|
|
74
|
-
nodeHttpServer: NodeHttpsServer | NodeHttpServer
|
|
75
|
-
): Promise<{ port: number; host: string }> {
|
|
76
|
-
return new Promise((resolve, reject) => {
|
|
77
|
-
const host = process.env.HOST || '0.0.0.0'
|
|
78
|
-
const port = Number(process.env.PORT || '3333')
|
|
79
|
-
|
|
80
|
-
nodeHttpServer.listen(port, host)
|
|
81
|
-
nodeHttpServer.once('listening', () => {
|
|
82
|
-
debug('listening to http server, host :%s, port: %s', host, port)
|
|
83
|
-
resolve({ port, host })
|
|
84
|
-
})
|
|
85
|
-
|
|
86
|
-
nodeHttpServer.once('error', (error: NodeJS.ErrnoException) => {
|
|
87
|
-
reject(error)
|
|
88
|
-
})
|
|
89
|
-
})
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Notifies the app and the parent process that the
|
|
94
|
-
* HTTP server is ready
|
|
95
|
-
*/
|
|
96
|
-
#notifyServerHasStarted(
|
|
97
|
-
app: ApplicationService,
|
|
98
|
-
logger: LoggerService,
|
|
99
|
-
emitter: EmitterService,
|
|
100
|
-
payload: { host: string; port: number }
|
|
101
|
-
) {
|
|
102
|
-
/**
|
|
103
|
-
* Notify parent process
|
|
104
|
-
*/
|
|
105
|
-
app.notify({ isAdonisJS: true, environment: 'web', ...payload })
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Visual notification
|
|
109
|
-
*/
|
|
110
|
-
logger.info('started HTTP server on %s:%s', payload.host, payload.port)
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Notify app
|
|
114
|
-
*/
|
|
115
|
-
emitter.emit('http:server_ready', payload)
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Start the HTTP server by wiring up the application
|
|
120
|
-
*/
|
|
121
|
-
async start(
|
|
122
|
-
serverCallback?: (
|
|
123
|
-
handler: (req: IncomingMessage, res: ServerResponse) => any
|
|
124
|
-
) => NodeHttpsServer | NodeHttpServer
|
|
125
|
-
) {
|
|
126
|
-
/**
|
|
127
|
-
* Method to create the HTTP server
|
|
128
|
-
*/
|
|
129
|
-
const createHTTPServer = serverCallback || createServer
|
|
130
|
-
const app = this.#ignitor.createApp('web')
|
|
131
|
-
|
|
132
|
-
await app.init()
|
|
133
|
-
await app.boot()
|
|
134
|
-
await app.start(async () => {
|
|
135
|
-
/**
|
|
136
|
-
* Resolve and boot the AdonisJS HTTP server
|
|
137
|
-
*/
|
|
138
|
-
const server = await app.container.make('server')
|
|
139
|
-
await server.boot()
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Create Node.js HTTP server instance and share it with the
|
|
143
|
-
* AdonisJS HTTP server
|
|
144
|
-
*/
|
|
145
|
-
const httpServer = createHTTPServer(server.handle.bind(server))
|
|
146
|
-
server.setNodeServer(httpServer)
|
|
147
|
-
|
|
148
|
-
const logger = await app.container.make('logger')
|
|
149
|
-
const emitter = await app.container.make('emitter')
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Start the server by listening on a port of host
|
|
153
|
-
*/
|
|
154
|
-
const payload = await this.#listen(httpServer)
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Notify
|
|
158
|
-
*/
|
|
159
|
-
this.#notifyServerHasStarted(app, logger, emitter, payload)
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Monitor app and the server (after the server is listening)
|
|
163
|
-
*/
|
|
164
|
-
this.#monitorAppAndServer(httpServer, app, logger)
|
|
165
|
-
})
|
|
166
|
-
}
|
|
167
|
-
}
|
package/src/ignitor/main.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
import debug from '../debug.js'
|
|
11
|
-
import { AceProcess } from './ace.js'
|
|
12
|
-
import { TestRunnerProcess } from './test.js'
|
|
13
|
-
import { HttpServerProcess } from './http.js'
|
|
14
|
-
import { setApp } from '../../services/app.js'
|
|
15
|
-
import { Application } from '../../modules/app.js'
|
|
16
|
-
import type { AppEnvironments } from '../../types/app.js'
|
|
17
|
-
import type { ApplicationService, IgnitorOptions } from '../types.js'
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Ignitor is used to instantiate an AdonisJS application in different
|
|
21
|
-
* known environments.
|
|
22
|
-
*/
|
|
23
|
-
export class Ignitor {
|
|
24
|
-
/**
|
|
25
|
-
* Ignitor options
|
|
26
|
-
*/
|
|
27
|
-
#options: IgnitorOptions
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Application root URL
|
|
31
|
-
*/
|
|
32
|
-
#appRoot: URL
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Reference to the application instance created using
|
|
36
|
-
* the "createApp" method.
|
|
37
|
-
*
|
|
38
|
-
* We store the output of the last call made to "createApp" method
|
|
39
|
-
* and assume that in one process only one entrypoint will
|
|
40
|
-
* call this method.
|
|
41
|
-
*/
|
|
42
|
-
#app?: ApplicationService
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Reference to the created application
|
|
46
|
-
*/
|
|
47
|
-
#tapCallbacks: Set<(app: ApplicationService) => void> = new Set()
|
|
48
|
-
|
|
49
|
-
constructor(appRoot: URL, options: IgnitorOptions) {
|
|
50
|
-
this.#appRoot = appRoot
|
|
51
|
-
this.#options = options
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Runs all the tap callbacks
|
|
56
|
-
*/
|
|
57
|
-
#runTapCallbacks(app: ApplicationService) {
|
|
58
|
-
this.#tapCallbacks.forEach((tapCallback) => tapCallback(app))
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Get access to the application instance created
|
|
63
|
-
* by either the http server process or the ace
|
|
64
|
-
* process
|
|
65
|
-
*/
|
|
66
|
-
getApp() {
|
|
67
|
-
return this.#app
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Create an instance of AdonisJS application
|
|
72
|
-
*/
|
|
73
|
-
createApp(environment: AppEnvironments) {
|
|
74
|
-
debug('creating application instance')
|
|
75
|
-
this.#app = new Application(this.#appRoot, { environment, importer: this.#options.importer })
|
|
76
|
-
|
|
77
|
-
setApp(this.#app)
|
|
78
|
-
this.#runTapCallbacks(this.#app)
|
|
79
|
-
return this.#app
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Tap to access the application class instance.
|
|
84
|
-
*/
|
|
85
|
-
tap(callback: (app: ApplicationService) => void): this {
|
|
86
|
-
this.#tapCallbacks.add(callback)
|
|
87
|
-
return this
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Get instance of the HTTPServerProcess
|
|
92
|
-
*/
|
|
93
|
-
httpServer() {
|
|
94
|
-
return new HttpServerProcess(this)
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Get an instance of the AceProcess class
|
|
99
|
-
*/
|
|
100
|
-
ace() {
|
|
101
|
-
return new AceProcess(this)
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Get an instance of the TestRunnerProcess class
|
|
106
|
-
*/
|
|
107
|
-
testRunner() {
|
|
108
|
-
return new TestRunnerProcess(this)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Terminates the app by calling the "app.terminate"
|
|
113
|
-
* method
|
|
114
|
-
*/
|
|
115
|
-
async terminate() {
|
|
116
|
-
await this.#app?.terminate()
|
|
117
|
-
}
|
|
118
|
-
}
|
package/src/ignitor/test.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { Ignitor } from './main.js'
|
|
11
|
-
import type { ApplicationService } from '../types.js'
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* The Test runner process is used to start the tests runner process
|
|
15
|
-
*/
|
|
16
|
-
export class TestRunnerProcess {
|
|
17
|
-
/**
|
|
18
|
-
* Ignitor reference
|
|
19
|
-
*/
|
|
20
|
-
#ignitor: Ignitor
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* The callback that configures the tests runner. This callback
|
|
24
|
-
* runs at the time of starting the app.
|
|
25
|
-
*/
|
|
26
|
-
#configureCallback: (app: ApplicationService) => Promise<void> | void = () => {}
|
|
27
|
-
|
|
28
|
-
constructor(ignitor: Ignitor) {
|
|
29
|
-
this.#ignitor = ignitor
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Register a callback that runs after booting the AdonisJS app
|
|
34
|
-
* and just before the provider's ready hook
|
|
35
|
-
*/
|
|
36
|
-
configure(callback: (app: ApplicationService) => Promise<void> | void): this {
|
|
37
|
-
this.#configureCallback = callback
|
|
38
|
-
return this
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Runs a callback after starting the app
|
|
43
|
-
*/
|
|
44
|
-
async run(callback: (app: ApplicationService) => Promise<void> | void) {
|
|
45
|
-
const app = this.#ignitor.createApp('test')
|
|
46
|
-
await app.init()
|
|
47
|
-
await app.boot()
|
|
48
|
-
await app.start(this.#configureCallback)
|
|
49
|
-
await callback(app)
|
|
50
|
-
}
|
|
51
|
-
}
|
package/src/internal_helpers.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
import fs from 'node:fs'
|
|
11
|
-
import { ApplicationService } from './types.js'
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Imports assembler optionally
|
|
15
|
-
*/
|
|
16
|
-
export async function importAssembler(
|
|
17
|
-
app: ApplicationService
|
|
18
|
-
): Promise<typeof import('@adonisjs/assembler') | undefined> {
|
|
19
|
-
try {
|
|
20
|
-
return await app.import('@adonisjs/assembler')
|
|
21
|
-
} catch {}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Imports typescript optionally
|
|
26
|
-
*/
|
|
27
|
-
export async function importTypeScript(
|
|
28
|
-
app: ApplicationService
|
|
29
|
-
): Promise<typeof import('typescript') | undefined> {
|
|
30
|
-
try {
|
|
31
|
-
return await app.importDefault('typescript')
|
|
32
|
-
} catch {}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Detects the assets bundler in use. The rcFile.assetsBundler is
|
|
37
|
-
* used when exists.
|
|
38
|
-
*/
|
|
39
|
-
export async function detectAssetsBundler(app: ApplicationService) {
|
|
40
|
-
if (app.rcFile.assetsBundler) {
|
|
41
|
-
return app.rcFile.assetsBundler
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (fs.existsSync(app.makePath('vite.config.js'))) {
|
|
45
|
-
return {
|
|
46
|
-
name: 'vite',
|
|
47
|
-
devServerCommand: 'vite',
|
|
48
|
-
buildCommand: 'vite build',
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (fs.existsSync(app.makePath('webpack.config.js'))) {
|
|
53
|
-
return {
|
|
54
|
-
name: 'encore',
|
|
55
|
-
devServerCommand: 'encore dev-server',
|
|
56
|
-
buildCommand: 'encore',
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
package/src/test_utils/http.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
import debug from '../debug.js'
|
|
11
|
-
import type { TestUtils } from './main.js'
|
|
12
|
-
import type { Server as NodeHttpsServer } from 'node:https'
|
|
13
|
-
import { IncomingMessage, ServerResponse, Server as NodeHttpServer, createServer } from 'node:http'
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Http server utils are used to start the AdonisJS HTTP server
|
|
17
|
-
* during testing
|
|
18
|
-
*/
|
|
19
|
-
export class HttpServerUtils {
|
|
20
|
-
#utils: TestUtils
|
|
21
|
-
|
|
22
|
-
constructor(utils: TestUtils) {
|
|
23
|
-
this.#utils = utils
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Starts the http server a given host and port
|
|
28
|
-
*/
|
|
29
|
-
#listen(
|
|
30
|
-
nodeHttpServer: NodeHttpsServer | NodeHttpServer
|
|
31
|
-
): Promise<{ port: number; host: string }> {
|
|
32
|
-
return new Promise((resolve, reject) => {
|
|
33
|
-
const host = process.env.HOST || '0.0.0.0'
|
|
34
|
-
const port = Number(process.env.PORT || '3333')
|
|
35
|
-
|
|
36
|
-
nodeHttpServer.listen(port, host)
|
|
37
|
-
nodeHttpServer.once('listening', () => {
|
|
38
|
-
debug('listening to utils http server, host :%s, port: %s', host, port)
|
|
39
|
-
resolve({ port, host })
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
nodeHttpServer.once('error', (error: NodeJS.ErrnoException) => {
|
|
43
|
-
reject(error)
|
|
44
|
-
})
|
|
45
|
-
})
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Testing hook to start the HTTP server to listen for new request.
|
|
50
|
-
* The return value is a function to close the HTTP server.
|
|
51
|
-
*/
|
|
52
|
-
async start(
|
|
53
|
-
serverCallback?: (
|
|
54
|
-
handler: (req: IncomingMessage, res: ServerResponse) => any
|
|
55
|
-
) => NodeHttpsServer | NodeHttpServer
|
|
56
|
-
): Promise<() => Promise<void>> {
|
|
57
|
-
const createHTTPServer = serverCallback || createServer
|
|
58
|
-
|
|
59
|
-
const server = await this.#utils.app.container.make('server')
|
|
60
|
-
await server.boot()
|
|
61
|
-
|
|
62
|
-
const httpServer = createHTTPServer(server.handle.bind(server))
|
|
63
|
-
server.setNodeServer(httpServer)
|
|
64
|
-
|
|
65
|
-
await this.#listen(httpServer)
|
|
66
|
-
|
|
67
|
-
return () => {
|
|
68
|
-
return new Promise<void>((resolve, reject) => {
|
|
69
|
-
httpServer.close((error) => {
|
|
70
|
-
if (error) {
|
|
71
|
-
reject(error)
|
|
72
|
-
} else {
|
|
73
|
-
resolve()
|
|
74
|
-
}
|
|
75
|
-
})
|
|
76
|
-
})
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
package/src/test_utils/main.ts
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { Socket } from 'node:net'
|
|
11
|
-
import Macroable from '@poppinss/macroable'
|
|
12
|
-
import { IncomingMessage, ServerResponse } from 'node:http'
|
|
13
|
-
|
|
14
|
-
import { HttpServerUtils } from './http.js'
|
|
15
|
-
import { CookieClient } from '../../modules/http.js'
|
|
16
|
-
import type { ApplicationService } from '../types.js'
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Test utils has a collection of helper methods to make testing
|
|
20
|
-
* experience great for AdonisJS applications
|
|
21
|
-
*/
|
|
22
|
-
export class TestUtils extends Macroable {
|
|
23
|
-
#booted: boolean = false
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Check if utils have been booted
|
|
27
|
-
*/
|
|
28
|
-
get isBooted() {
|
|
29
|
-
return this.#booted
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
declare cookies: CookieClient
|
|
33
|
-
|
|
34
|
-
constructor(public app: ApplicationService) {
|
|
35
|
-
super()
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Boot test utils. It requires the app to be booted
|
|
40
|
-
* and container to have all the bindings
|
|
41
|
-
*/
|
|
42
|
-
async boot() {
|
|
43
|
-
if (!this.isBooted) {
|
|
44
|
-
this.#booted = true
|
|
45
|
-
this.cookies = new CookieClient(await this.app.container.make('encryption'))
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Returns an instance of the HTTP server testing
|
|
51
|
-
* utils
|
|
52
|
-
*/
|
|
53
|
-
httpServer() {
|
|
54
|
-
return new HttpServerUtils(this)
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Create an instance of HTTP context for testing
|
|
59
|
-
*/
|
|
60
|
-
async createHttpContext(options: { req?: IncomingMessage; res?: ServerResponse } = {}) {
|
|
61
|
-
const req = options.req || new IncomingMessage(new Socket())
|
|
62
|
-
const res = options.res || new ServerResponse(req)
|
|
63
|
-
const server = await this.app.container.make('server')
|
|
64
|
-
|
|
65
|
-
const request = server.createRequest(req, res)
|
|
66
|
-
const response = server.createResponse(req, res)
|
|
67
|
-
return server.createHttpContext(request, response, this.app.container.createResolver())
|
|
68
|
-
}
|
|
69
|
-
}
|