@adonisjs/core 6.1.5-1 → 6.1.5-3
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 +3 -0
- package/build/commands/build.d.ts.map +1 -0
- package/build/commands/build.js +22 -2
- package/build/commands/commands.json +1 -1
- package/build/commands/configure.d.ts +1 -0
- package/build/commands/configure.d.ts.map +1 -0
- package/build/commands/configure.js +2 -1
- package/build/commands/eject.d.ts +1 -0
- package/build/commands/eject.d.ts.map +1 -0
- package/build/commands/eject.js +2 -1
- package/build/commands/generate_key.d.ts +1 -0
- package/build/commands/generate_key.d.ts.map +1 -0
- package/build/commands/generate_key.js +2 -1
- package/build/commands/inspect_rcfile.d.ts +7 -0
- package/build/commands/inspect_rcfile.d.ts.map +1 -0
- package/build/commands/inspect_rcfile.js +10 -0
- package/build/commands/list/routes.d.ts +14 -0
- package/build/commands/list/routes.d.ts.map +1 -0
- package/build/commands/list/routes.js +79 -0
- package/build/commands/make/_base.d.ts +23 -1
- package/build/commands/make/_base.d.ts.map +1 -0
- package/build/commands/make/_base.js +11 -2
- package/build/commands/make/command.d.ts +1 -0
- package/build/commands/make/command.d.ts.map +1 -0
- package/build/commands/make/command.js +2 -1
- package/build/commands/make/controller.d.ts +1 -0
- package/build/commands/make/controller.d.ts.map +1 -0
- package/build/commands/make/controller.js +2 -1
- package/build/commands/make/event.d.ts +1 -0
- package/build/commands/make/event.d.ts.map +1 -0
- package/build/commands/make/event.js +2 -1
- package/build/commands/make/listener.d.ts +1 -0
- package/build/commands/make/listener.d.ts.map +1 -0
- package/build/commands/make/listener.js +2 -1
- package/build/commands/make/middleware.d.ts +1 -0
- package/build/commands/make/middleware.d.ts.map +1 -0
- package/build/commands/make/middleware.js +2 -1
- package/build/commands/make/prldfile.d.ts +9 -0
- package/build/commands/make/prldfile.d.ts.map +1 -0
- package/build/commands/make/prldfile.js +28 -0
- package/build/commands/make/provider.d.ts +1 -0
- package/build/commands/make/provider.d.ts.map +1 -0
- package/build/commands/make/provider.js +5 -2
- package/build/commands/make/service.d.ts +9 -0
- package/build/commands/make/service.d.ts.map +1 -0
- package/build/commands/make/service.js +26 -0
- package/build/commands/make/test.d.ts +1 -0
- package/build/commands/make/test.d.ts.map +1 -0
- package/build/commands/make/test.js +2 -1
- package/build/commands/serve.d.ts +3 -0
- package/build/commands/serve.d.ts.map +1 -0
- package/build/commands/serve.js +21 -1
- package/build/commands/test.d.ts +21 -0
- package/build/commands/test.d.ts.map +1 -0
- package/build/commands/test.js +156 -0
- package/build/factories/app.d.ts +1 -0
- package/build/factories/app.d.ts.map +1 -0
- package/build/factories/bodyparser.d.ts +1 -0
- package/build/factories/bodyparser.d.ts.map +1 -0
- package/build/factories/core/ace.d.ts +1 -0
- package/build/factories/core/ace.d.ts.map +1 -0
- package/build/factories/core/ignitor.d.ts +1 -0
- package/build/factories/core/ignitor.d.ts.map +1 -0
- package/build/factories/core/main.d.ts +1 -0
- package/build/factories/core/main.d.ts.map +1 -0
- package/build/factories/core/test_utils.d.ts +1 -0
- package/build/factories/core/test_utils.d.ts.map +1 -0
- package/build/factories/encryption.d.ts +1 -0
- package/build/factories/encryption.d.ts.map +1 -0
- package/build/factories/events.d.ts +1 -0
- package/build/factories/events.d.ts.map +1 -0
- package/build/factories/hash.d.ts +1 -0
- package/build/factories/hash.d.ts.map +1 -0
- package/build/factories/http.d.ts +1 -0
- package/build/factories/http.d.ts.map +1 -0
- package/build/factories/logger.d.ts +1 -0
- package/build/factories/logger.d.ts.map +1 -0
- package/build/factories/stubs.d.ts +1 -0
- package/build/factories/stubs.d.ts.map +1 -0
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -0
- package/build/legacy/validator.d.ts +1 -0
- package/build/legacy/validator.d.ts.map +1 -0
- package/build/modules/ace/commands.d.ts +1 -0
- package/build/modules/ace/commands.d.ts.map +1 -0
- package/build/modules/ace/commands.js +4 -2
- package/build/modules/ace/create_kernel.d.ts +1 -0
- package/build/modules/ace/create_kernel.d.ts.map +1 -0
- package/build/modules/ace/kernel.d.ts +1 -0
- package/build/modules/ace/kernel.d.ts.map +1 -0
- package/build/modules/ace/main.d.ts +2 -1
- package/build/modules/ace/main.d.ts.map +1 -0
- package/build/modules/ace/main.js +1 -1
- package/build/modules/ace/shell.d.ts +1 -0
- package/build/modules/ace/shell.d.ts.map +1 -0
- package/build/modules/app.d.ts +1 -0
- package/build/modules/app.d.ts.map +1 -0
- package/build/modules/bodyparser/bodyparser_middleware.d.ts +1 -0
- package/build/modules/bodyparser/bodyparser_middleware.d.ts.map +1 -0
- package/build/modules/bodyparser/main.d.ts +1 -0
- package/build/modules/bodyparser/main.d.ts.map +1 -0
- package/build/modules/config.d.ts +1 -0
- package/build/modules/config.d.ts.map +1 -0
- package/build/modules/container.d.ts +1 -0
- package/build/modules/container.d.ts.map +1 -0
- package/build/modules/encryption.d.ts +1 -0
- package/build/modules/encryption.d.ts.map +1 -0
- package/build/modules/env.d.ts +1 -0
- package/build/modules/env.d.ts.map +1 -0
- package/build/modules/events.d.ts +1 -0
- package/build/modules/events.d.ts.map +1 -0
- package/build/modules/hash/define_config.d.ts +1 -0
- package/build/modules/hash/define_config.d.ts.map +1 -0
- package/build/modules/hash/drivers_collection.d.ts +4 -4
- package/build/modules/hash/drivers_collection.d.ts.map +1 -0
- package/build/modules/hash/drivers_collection.js +2 -8
- package/build/modules/hash/main.d.ts +2 -0
- package/build/modules/hash/main.d.ts.map +1 -0
- package/build/modules/hash/main.js +1 -0
- package/build/modules/http.d.ts +1 -0
- package/build/modules/http.d.ts.map +1 -0
- package/build/modules/logger.d.ts +1 -0
- package/build/modules/logger.d.ts.map +1 -0
- package/build/providers/app_provider.d.ts +1 -0
- package/build/providers/app_provider.d.ts.map +1 -0
- package/build/providers/app_provider.js +5 -7
- package/build/providers/hash_provider.d.ts +1 -0
- package/build/providers/hash_provider.d.ts.map +1 -0
- package/build/providers/hash_provider.js +7 -6
- package/build/providers/http_provider.d.ts +1 -0
- package/build/providers/http_provider.d.ts.map +1 -0
- package/build/services/ace.d.ts +1 -0
- package/build/services/ace.d.ts.map +1 -0
- package/build/services/app.d.ts +1 -0
- package/build/services/app.d.ts.map +1 -0
- package/build/services/config.d.ts +1 -0
- package/build/services/config.d.ts.map +1 -0
- package/build/services/emitter.d.ts +1 -0
- package/build/services/emitter.d.ts.map +1 -0
- package/build/services/emitter.js +1 -2
- package/build/services/encryption.d.ts +1 -0
- package/build/services/encryption.d.ts.map +1 -0
- package/build/services/encryption.js +1 -2
- package/build/services/hash.d.ts +1 -0
- package/build/services/hash.d.ts.map +1 -0
- package/build/services/hash.js +1 -2
- package/build/services/logger.d.ts +1 -0
- package/build/services/logger.d.ts.map +1 -0
- package/build/services/logger.js +1 -2
- package/build/services/router.d.ts +1 -0
- package/build/services/router.d.ts.map +1 -0
- package/build/services/router.js +1 -2
- package/build/services/server.d.ts +1 -0
- package/build/services/server.d.ts.map +1 -0
- package/build/services/server.js +1 -2
- package/build/services/test_utils.d.ts +1 -0
- package/build/services/test_utils.d.ts.map +1 -0
- package/build/src/cli_formatters/routes_list.d.ts +41 -0
- package/build/src/cli_formatters/routes_list.d.ts.map +1 -0
- package/build/src/cli_formatters/routes_list.js +258 -0
- package/build/src/debug.d.ts +1 -0
- package/build/src/debug.d.ts.map +1 -0
- package/build/src/helpers/is.d.ts +1 -0
- package/build/src/helpers/is.d.ts.map +1 -0
- package/build/src/helpers/main.d.ts +3 -0
- package/build/src/helpers/main.d.ts.map +1 -0
- package/build/src/helpers/main.js +2 -0
- package/build/src/helpers/parse_binding_reference.d.ts +6 -0
- package/build/src/helpers/parse_binding_reference.d.ts.map +1 -0
- package/build/src/helpers/parse_binding_reference.js +23 -0
- package/build/src/helpers/string.d.ts +3 -0
- package/build/src/helpers/string.d.ts.map +1 -0
- package/build/src/helpers/string.js +4 -0
- package/build/src/helpers/types.d.ts +1 -0
- package/build/src/helpers/types.d.ts.map +1 -0
- package/build/src/ignitor/ace.d.ts +1 -0
- package/build/src/ignitor/ace.d.ts.map +1 -0
- package/build/src/ignitor/http.d.ts +1 -0
- package/build/src/ignitor/http.d.ts.map +1 -0
- package/build/src/ignitor/main.d.ts +1 -0
- package/build/src/ignitor/main.d.ts.map +1 -0
- package/build/src/ignitor/test.d.ts +1 -0
- package/build/src/ignitor/test.d.ts.map +1 -0
- package/build/src/internal_helpers.d.ts +1 -0
- package/build/src/internal_helpers.d.ts.map +1 -0
- package/build/src/internal_helpers.js +3 -3
- package/build/src/test_utils/http.d.ts +1 -0
- package/build/src/test_utils/http.d.ts.map +1 -0
- package/build/src/test_utils/main.d.ts +2 -1
- package/build/src/test_utils/main.d.ts.map +1 -0
- package/build/src/types.d.ts +3 -2
- package/build/src/types.d.ts.map +1 -0
- package/build/stubs/index.d.ts +1 -0
- package/build/stubs/index.d.ts.map +1 -0
- package/build/stubs/make/preload_file/main.stub +4 -0
- package/build/stubs/make/service/main.stub +4 -0
- package/build/toolkit/commands/index_commands.d.ts +1 -0
- package/build/toolkit/commands/index_commands.d.ts.map +1 -0
- package/build/toolkit/commands/index_commands.js +2 -1
- package/build/toolkit/main.d.ts +1 -0
- package/build/toolkit/main.d.ts.map +1 -0
- package/build/types/ace.d.ts +1 -0
- package/build/types/ace.d.ts.map +1 -0
- package/build/types/app.d.ts +1 -0
- package/build/types/app.d.ts.map +1 -0
- package/build/types/bodyparser.d.ts +1 -0
- package/build/types/bodyparser.d.ts.map +1 -0
- package/build/types/container.d.ts +1 -0
- package/build/types/container.d.ts.map +1 -0
- package/build/types/encryption.d.ts +1 -0
- package/build/types/encryption.d.ts.map +1 -0
- package/build/types/events.d.ts +1 -0
- package/build/types/events.d.ts.map +1 -0
- package/build/types/hash.d.ts +1 -0
- package/build/types/hash.d.ts.map +1 -0
- package/build/types/http.d.ts +1 -0
- package/build/types/http.d.ts.map +1 -0
- package/build/types/logger.d.ts +1 -0
- package/build/types/logger.d.ts.map +1 -0
- package/commands/build.ts +122 -0
- package/commands/configure.ts +179 -0
- package/commands/eject.ts +39 -0
- package/commands/generate_key.ts +53 -0
- package/commands/inspect_rcfile.ts +23 -0
- package/commands/list/routes.ts +121 -0
- package/commands/make/_base.ts +55 -0
- package/commands/make/command.ts +33 -0
- package/commands/make/controller.ts +77 -0
- package/commands/make/event.ts +33 -0
- package/commands/make/listener.ts +63 -0
- package/commands/make/middleware.ts +34 -0
- package/commands/make/prldfile.ts +40 -0
- package/commands/make/provider.ts +40 -0
- package/commands/make/service.ts +33 -0
- package/commands/make/test.ts +115 -0
- package/commands/serve.ts +146 -0
- package/commands/test.ts +189 -0
- package/factories/app.ts +10 -0
- package/factories/bodyparser.ts +10 -0
- package/factories/core/ace.ts +38 -0
- package/factories/core/ignitor.ts +132 -0
- package/factories/core/main.ts +13 -0
- package/factories/core/test_utils.ts +34 -0
- package/factories/encryption.ts +10 -0
- package/factories/events.ts +10 -0
- package/factories/hash.ts +10 -0
- package/factories/http.ts +10 -0
- package/factories/logger.ts +10 -0
- package/factories/stubs.ts +53 -0
- package/index.ts +39 -0
- package/legacy/validator.ts +10 -0
- package/modules/ace/commands.ts +152 -0
- package/modules/ace/create_kernel.ts +73 -0
- package/modules/ace/kernel.ts +28 -0
- package/modules/ace/main.ts +22 -0
- package/modules/ace/shell.ts +49 -0
- package/modules/app.ts +10 -0
- package/modules/bodyparser/bodyparser_middleware.ts +16 -0
- package/modules/bodyparser/main.ts +10 -0
- package/modules/config.ts +10 -0
- package/modules/container.ts +10 -0
- package/modules/encryption.ts +10 -0
- package/modules/env.ts +10 -0
- package/modules/events.ts +10 -0
- package/modules/hash/define_config.ts +64 -0
- package/modules/hash/drivers_collection.ts +61 -0
- package/modules/hash/main.ts +12 -0
- package/modules/http.ts +10 -0
- package/modules/logger.ts +10 -0
- package/package.json +43 -36
- package/providers/app_provider.ts +125 -0
- package/providers/hash_provider.ts +58 -0
- package/providers/http_provider.ts +66 -0
- package/services/ace.ts +26 -0
- package/services/app.ts +26 -0
- package/services/config.ts +22 -0
- package/services/emitter.ts +23 -0
- package/services/encryption.ts +23 -0
- package/services/hash.ts +23 -0
- package/services/logger.ts +23 -0
- package/services/router.ts +23 -0
- package/services/server.ts +23 -0
- package/services/test_utils.ts +26 -0
- package/src/cli_formatters/routes_list.ts +480 -0
- package/src/debug.ts +12 -0
- package/src/helpers/is.ts +11 -0
- package/src/helpers/main.ts +13 -0
- package/src/helpers/parse_binding_reference.ts +93 -0
- package/src/helpers/string.ts +89 -0
- package/src/helpers/types.ts +46 -0
- package/src/ignitor/ace.ts +90 -0
- package/src/ignitor/http.ts +167 -0
- package/src/ignitor/main.ts +118 -0
- package/src/ignitor/test.ts +51 -0
- package/src/internal_helpers.ts +59 -0
- package/src/test_utils/http.ts +79 -0
- package/src/test_utils/main.ts +69 -0
- package/src/types.ts +136 -0
- package/types/ace.ts +15 -0
- package/types/app.ts +10 -0
- package/types/bodyparser.ts +10 -0
- package/types/container.ts +10 -0
- package/types/encryption.ts +10 -0
- package/types/events.ts +10 -0
- package/types/hash.ts +10 -0
- package/types/http.ts +10 -0
- package/types/logger.ts +10 -0
- package/build/src/helpers/string_builder.d.ts +0 -23
- package/build/src/helpers/string_builder.js +0 -86
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
}
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
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 { Importer } from '../types/app.js'
|
|
11
|
+
import type { Emitter } from '../modules/events.js'
|
|
12
|
+
import type { Kernel } from '../modules/ace/main.js'
|
|
13
|
+
import type { Application } from '../modules/app.js'
|
|
14
|
+
import type { TestUtils } from './test_utils/main.js'
|
|
15
|
+
import type { Router, Server } from '../modules/http.js'
|
|
16
|
+
import type { LoggerManager } from '../modules/logger.js'
|
|
17
|
+
import type { Encryption } from '../modules/encryption.js'
|
|
18
|
+
import type { HttpRequestFinishedPayload } from '../types/http.js'
|
|
19
|
+
import type { ContainerResolveEventData } from '../types/container.js'
|
|
20
|
+
import type { LoggerConfig, LoggerManagerConfig } from '../types/logger.js'
|
|
21
|
+
import type { Argon, Bcrypt, HashManager, Scrypt } from '../modules/hash/main.js'
|
|
22
|
+
import type {
|
|
23
|
+
ArgonConfig,
|
|
24
|
+
BcryptConfig,
|
|
25
|
+
ScryptConfig,
|
|
26
|
+
ManagerDriverFactory,
|
|
27
|
+
} from '../types/hash.js'
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Options accepted by ignitor
|
|
31
|
+
*/
|
|
32
|
+
export type IgnitorOptions = { importer: Importer }
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* A list of known events. The interface must be extended in
|
|
36
|
+
* user land code or packages to register events and their
|
|
37
|
+
* types.
|
|
38
|
+
*/
|
|
39
|
+
export interface EventsList {
|
|
40
|
+
'container:resolved': ContainerResolveEventData<ContainerBindings>
|
|
41
|
+
'http:request_handled': HttpRequestFinishedPayload
|
|
42
|
+
'http:server_ready': { port: number; host: string }
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The loggers list inferred from the user application
|
|
47
|
+
* config
|
|
48
|
+
*/
|
|
49
|
+
export interface LoggersList {}
|
|
50
|
+
export type InferLoggers<T extends LoggerManagerConfig<any>> = T['loggers']
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* A list of globally available hash drivers
|
|
54
|
+
*/
|
|
55
|
+
export interface HashDriversList {
|
|
56
|
+
bcrypt: (config: BcryptConfig) => Bcrypt
|
|
57
|
+
argon2: (config: ArgonConfig) => Argon
|
|
58
|
+
scrypt: (config: ScryptConfig) => Scrypt
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* A list of known hashers inferred from the user config
|
|
63
|
+
*/
|
|
64
|
+
export interface HashersList {}
|
|
65
|
+
export type InferHashers<T extends { list: Record<string, ManagerDriverFactory> }> = T['list']
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* ----------------------------------------------------------------
|
|
69
|
+
* Container services
|
|
70
|
+
* -----------------------------------------------------------------
|
|
71
|
+
*
|
|
72
|
+
* Types for the container singleton services. Defining them
|
|
73
|
+
* upfront so that we do not have to define them in
|
|
74
|
+
* multiple places.
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Application service is a singleton resolved from
|
|
79
|
+
* the container
|
|
80
|
+
*/
|
|
81
|
+
export interface ApplicationService
|
|
82
|
+
extends Application<ContainerBindings extends Record<any, any> ? ContainerBindings : never> {}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Logger service is a singleton logger instance registered
|
|
86
|
+
* to the container.
|
|
87
|
+
*/
|
|
88
|
+
export interface LoggerService
|
|
89
|
+
extends LoggerManager<LoggersList extends Record<string, LoggerConfig> ? LoggersList : never> {}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Emitter service is a singleton emitter instance registered
|
|
93
|
+
* to the container.
|
|
94
|
+
*/
|
|
95
|
+
export interface EmitterService extends Emitter<EventsList> {}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Encryption service is a singleton Encryption class instance
|
|
99
|
+
* registered to the container.
|
|
100
|
+
*/
|
|
101
|
+
export interface EncryptionService extends Encryption {}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Http server service added to the container as a singleton
|
|
105
|
+
*/
|
|
106
|
+
export interface HttpServerService extends Server {}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Http server service added to the container as a singleton
|
|
110
|
+
*/
|
|
111
|
+
export interface HttpRouterService extends Router {}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Hash service is a singleton instance of the HashManager
|
|
115
|
+
* registered in the container
|
|
116
|
+
*/
|
|
117
|
+
export interface HashService
|
|
118
|
+
extends HashManager<
|
|
119
|
+
HashersList extends Record<string, ManagerDriverFactory> ? HashersList : never
|
|
120
|
+
> {}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* A list of known container bindings.
|
|
124
|
+
*/
|
|
125
|
+
export interface ContainerBindings {
|
|
126
|
+
ace: Kernel
|
|
127
|
+
app: ApplicationService
|
|
128
|
+
logger: LoggerService
|
|
129
|
+
config: ApplicationService['config']
|
|
130
|
+
emitter: EmitterService
|
|
131
|
+
encryption: EncryptionService
|
|
132
|
+
hash: HashService
|
|
133
|
+
server: HttpServerService
|
|
134
|
+
router: HttpRouterService
|
|
135
|
+
testUtils: TestUtils
|
|
136
|
+
}
|
package/types/ace.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
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 { CommandOptions as BaseCommandOptions } from '@adonisjs/ace/types'
|
|
11
|
+
export type CommandOptions = BaseCommandOptions & {
|
|
12
|
+
startApp?: boolean
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export * from '@adonisjs/ace/types'
|
package/types/app.ts
ADDED
package/types/events.ts
ADDED
package/types/hash.ts
ADDED
package/types/http.ts
ADDED
package/types/logger.ts
ADDED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export declare class StringBuilder {
|
|
2
|
-
#private;
|
|
3
|
-
constructor(value: string | StringBuilder);
|
|
4
|
-
dashCase(): this;
|
|
5
|
-
dotCase(): this;
|
|
6
|
-
snakeCase(): this;
|
|
7
|
-
pascalCase(): this;
|
|
8
|
-
camelCase(): this;
|
|
9
|
-
capitalCase(): this;
|
|
10
|
-
titleCase(): this;
|
|
11
|
-
sentenceCase(): this;
|
|
12
|
-
noCase(): this;
|
|
13
|
-
plural(): this;
|
|
14
|
-
singular(): this;
|
|
15
|
-
slugify(): this;
|
|
16
|
-
removeSuffix(suffix: string): this;
|
|
17
|
-
suffix(suffix: string): this;
|
|
18
|
-
removePrefix(prefix: string): this;
|
|
19
|
-
prefix(prefix: string): this;
|
|
20
|
-
removeExtension(): this;
|
|
21
|
-
ext(extension: string): this;
|
|
22
|
-
toString(): string;
|
|
23
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { extname } from 'node:path';
|
|
2
|
-
import string from './string.js';
|
|
3
|
-
export class StringBuilder {
|
|
4
|
-
#value;
|
|
5
|
-
constructor(value) {
|
|
6
|
-
this.#value = typeof value === 'string' ? value : value.toString();
|
|
7
|
-
}
|
|
8
|
-
dashCase() {
|
|
9
|
-
this.#value = string.dashCase(this.#value);
|
|
10
|
-
return this;
|
|
11
|
-
}
|
|
12
|
-
dotCase() {
|
|
13
|
-
this.#value = string.dotCase(this.#value);
|
|
14
|
-
return this;
|
|
15
|
-
}
|
|
16
|
-
snakeCase() {
|
|
17
|
-
this.#value = string.snakeCase(this.#value);
|
|
18
|
-
return this;
|
|
19
|
-
}
|
|
20
|
-
pascalCase() {
|
|
21
|
-
this.#value = string.pascalCase(this.#value);
|
|
22
|
-
return this;
|
|
23
|
-
}
|
|
24
|
-
camelCase() {
|
|
25
|
-
this.#value = string.camelCase(this.#value);
|
|
26
|
-
return this;
|
|
27
|
-
}
|
|
28
|
-
capitalCase() {
|
|
29
|
-
this.#value = string.capitalCase(this.#value);
|
|
30
|
-
return this;
|
|
31
|
-
}
|
|
32
|
-
titleCase() {
|
|
33
|
-
this.#value = string.titleCase(this.#value);
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
sentenceCase() {
|
|
37
|
-
this.#value = string.sentenceCase(this.#value);
|
|
38
|
-
return this;
|
|
39
|
-
}
|
|
40
|
-
noCase() {
|
|
41
|
-
this.#value = string.noCase(this.#value);
|
|
42
|
-
return this;
|
|
43
|
-
}
|
|
44
|
-
plural() {
|
|
45
|
-
this.#value = string.pluralize(this.#value);
|
|
46
|
-
return this;
|
|
47
|
-
}
|
|
48
|
-
singular() {
|
|
49
|
-
this.#value = string.singular(this.#value);
|
|
50
|
-
return this;
|
|
51
|
-
}
|
|
52
|
-
slugify() {
|
|
53
|
-
this.#value = string.slug(this.#value);
|
|
54
|
-
return this;
|
|
55
|
-
}
|
|
56
|
-
removeSuffix(suffix) {
|
|
57
|
-
this.#value = this.#value.replace(new RegExp(`[-_]?${suffix}$`, 'i'), '');
|
|
58
|
-
return this;
|
|
59
|
-
}
|
|
60
|
-
suffix(suffix) {
|
|
61
|
-
this.removeSuffix(suffix);
|
|
62
|
-
this.#value = `${this.#value}${suffix}`;
|
|
63
|
-
return this;
|
|
64
|
-
}
|
|
65
|
-
removePrefix(prefix) {
|
|
66
|
-
this.#value = this.#value.replace(new RegExp(`^${prefix}[-_]?`, 'i'), '');
|
|
67
|
-
return this;
|
|
68
|
-
}
|
|
69
|
-
prefix(prefix) {
|
|
70
|
-
this.removePrefix(prefix);
|
|
71
|
-
this.#value = `${prefix}${this.#value}`;
|
|
72
|
-
return this;
|
|
73
|
-
}
|
|
74
|
-
removeExtension() {
|
|
75
|
-
this.#value = this.#value.replace(new RegExp(`${extname(this.#value)}$`), '');
|
|
76
|
-
return this;
|
|
77
|
-
}
|
|
78
|
-
ext(extension) {
|
|
79
|
-
this.removeExtension();
|
|
80
|
-
this.#value = `${this.#value}.${extension.replace(/^\./, '')}`;
|
|
81
|
-
return this;
|
|
82
|
-
}
|
|
83
|
-
toString() {
|
|
84
|
-
return this.#value;
|
|
85
|
-
}
|
|
86
|
-
}
|