@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.
Files changed (309) hide show
  1. package/build/commands/build.d.ts +3 -0
  2. package/build/commands/build.d.ts.map +1 -0
  3. package/build/commands/build.js +22 -2
  4. package/build/commands/commands.json +1 -1
  5. package/build/commands/configure.d.ts +1 -0
  6. package/build/commands/configure.d.ts.map +1 -0
  7. package/build/commands/configure.js +2 -1
  8. package/build/commands/eject.d.ts +1 -0
  9. package/build/commands/eject.d.ts.map +1 -0
  10. package/build/commands/eject.js +2 -1
  11. package/build/commands/generate_key.d.ts +1 -0
  12. package/build/commands/generate_key.d.ts.map +1 -0
  13. package/build/commands/generate_key.js +2 -1
  14. package/build/commands/inspect_rcfile.d.ts +7 -0
  15. package/build/commands/inspect_rcfile.d.ts.map +1 -0
  16. package/build/commands/inspect_rcfile.js +10 -0
  17. package/build/commands/list/routes.d.ts +14 -0
  18. package/build/commands/list/routes.d.ts.map +1 -0
  19. package/build/commands/list/routes.js +79 -0
  20. package/build/commands/make/_base.d.ts +23 -1
  21. package/build/commands/make/_base.d.ts.map +1 -0
  22. package/build/commands/make/_base.js +11 -2
  23. package/build/commands/make/command.d.ts +1 -0
  24. package/build/commands/make/command.d.ts.map +1 -0
  25. package/build/commands/make/command.js +2 -1
  26. package/build/commands/make/controller.d.ts +1 -0
  27. package/build/commands/make/controller.d.ts.map +1 -0
  28. package/build/commands/make/controller.js +2 -1
  29. package/build/commands/make/event.d.ts +1 -0
  30. package/build/commands/make/event.d.ts.map +1 -0
  31. package/build/commands/make/event.js +2 -1
  32. package/build/commands/make/listener.d.ts +1 -0
  33. package/build/commands/make/listener.d.ts.map +1 -0
  34. package/build/commands/make/listener.js +2 -1
  35. package/build/commands/make/middleware.d.ts +1 -0
  36. package/build/commands/make/middleware.d.ts.map +1 -0
  37. package/build/commands/make/middleware.js +2 -1
  38. package/build/commands/make/prldfile.d.ts +9 -0
  39. package/build/commands/make/prldfile.d.ts.map +1 -0
  40. package/build/commands/make/prldfile.js +28 -0
  41. package/build/commands/make/provider.d.ts +1 -0
  42. package/build/commands/make/provider.d.ts.map +1 -0
  43. package/build/commands/make/provider.js +5 -2
  44. package/build/commands/make/service.d.ts +9 -0
  45. package/build/commands/make/service.d.ts.map +1 -0
  46. package/build/commands/make/service.js +26 -0
  47. package/build/commands/make/test.d.ts +1 -0
  48. package/build/commands/make/test.d.ts.map +1 -0
  49. package/build/commands/make/test.js +2 -1
  50. package/build/commands/serve.d.ts +3 -0
  51. package/build/commands/serve.d.ts.map +1 -0
  52. package/build/commands/serve.js +21 -1
  53. package/build/commands/test.d.ts +21 -0
  54. package/build/commands/test.d.ts.map +1 -0
  55. package/build/commands/test.js +156 -0
  56. package/build/factories/app.d.ts +1 -0
  57. package/build/factories/app.d.ts.map +1 -0
  58. package/build/factories/bodyparser.d.ts +1 -0
  59. package/build/factories/bodyparser.d.ts.map +1 -0
  60. package/build/factories/core/ace.d.ts +1 -0
  61. package/build/factories/core/ace.d.ts.map +1 -0
  62. package/build/factories/core/ignitor.d.ts +1 -0
  63. package/build/factories/core/ignitor.d.ts.map +1 -0
  64. package/build/factories/core/main.d.ts +1 -0
  65. package/build/factories/core/main.d.ts.map +1 -0
  66. package/build/factories/core/test_utils.d.ts +1 -0
  67. package/build/factories/core/test_utils.d.ts.map +1 -0
  68. package/build/factories/encryption.d.ts +1 -0
  69. package/build/factories/encryption.d.ts.map +1 -0
  70. package/build/factories/events.d.ts +1 -0
  71. package/build/factories/events.d.ts.map +1 -0
  72. package/build/factories/hash.d.ts +1 -0
  73. package/build/factories/hash.d.ts.map +1 -0
  74. package/build/factories/http.d.ts +1 -0
  75. package/build/factories/http.d.ts.map +1 -0
  76. package/build/factories/logger.d.ts +1 -0
  77. package/build/factories/logger.d.ts.map +1 -0
  78. package/build/factories/stubs.d.ts +1 -0
  79. package/build/factories/stubs.d.ts.map +1 -0
  80. package/build/index.d.ts +1 -0
  81. package/build/index.d.ts.map +1 -0
  82. package/build/legacy/validator.d.ts +1 -0
  83. package/build/legacy/validator.d.ts.map +1 -0
  84. package/build/modules/ace/commands.d.ts +1 -0
  85. package/build/modules/ace/commands.d.ts.map +1 -0
  86. package/build/modules/ace/commands.js +4 -2
  87. package/build/modules/ace/create_kernel.d.ts +1 -0
  88. package/build/modules/ace/create_kernel.d.ts.map +1 -0
  89. package/build/modules/ace/kernel.d.ts +1 -0
  90. package/build/modules/ace/kernel.d.ts.map +1 -0
  91. package/build/modules/ace/main.d.ts +2 -1
  92. package/build/modules/ace/main.d.ts.map +1 -0
  93. package/build/modules/ace/main.js +1 -1
  94. package/build/modules/ace/shell.d.ts +1 -0
  95. package/build/modules/ace/shell.d.ts.map +1 -0
  96. package/build/modules/app.d.ts +1 -0
  97. package/build/modules/app.d.ts.map +1 -0
  98. package/build/modules/bodyparser/bodyparser_middleware.d.ts +1 -0
  99. package/build/modules/bodyparser/bodyparser_middleware.d.ts.map +1 -0
  100. package/build/modules/bodyparser/main.d.ts +1 -0
  101. package/build/modules/bodyparser/main.d.ts.map +1 -0
  102. package/build/modules/config.d.ts +1 -0
  103. package/build/modules/config.d.ts.map +1 -0
  104. package/build/modules/container.d.ts +1 -0
  105. package/build/modules/container.d.ts.map +1 -0
  106. package/build/modules/encryption.d.ts +1 -0
  107. package/build/modules/encryption.d.ts.map +1 -0
  108. package/build/modules/env.d.ts +1 -0
  109. package/build/modules/env.d.ts.map +1 -0
  110. package/build/modules/events.d.ts +1 -0
  111. package/build/modules/events.d.ts.map +1 -0
  112. package/build/modules/hash/define_config.d.ts +1 -0
  113. package/build/modules/hash/define_config.d.ts.map +1 -0
  114. package/build/modules/hash/drivers_collection.d.ts +4 -4
  115. package/build/modules/hash/drivers_collection.d.ts.map +1 -0
  116. package/build/modules/hash/drivers_collection.js +2 -8
  117. package/build/modules/hash/main.d.ts +2 -0
  118. package/build/modules/hash/main.d.ts.map +1 -0
  119. package/build/modules/hash/main.js +1 -0
  120. package/build/modules/http.d.ts +1 -0
  121. package/build/modules/http.d.ts.map +1 -0
  122. package/build/modules/logger.d.ts +1 -0
  123. package/build/modules/logger.d.ts.map +1 -0
  124. package/build/providers/app_provider.d.ts +1 -0
  125. package/build/providers/app_provider.d.ts.map +1 -0
  126. package/build/providers/app_provider.js +5 -7
  127. package/build/providers/hash_provider.d.ts +1 -0
  128. package/build/providers/hash_provider.d.ts.map +1 -0
  129. package/build/providers/hash_provider.js +7 -6
  130. package/build/providers/http_provider.d.ts +1 -0
  131. package/build/providers/http_provider.d.ts.map +1 -0
  132. package/build/services/ace.d.ts +1 -0
  133. package/build/services/ace.d.ts.map +1 -0
  134. package/build/services/app.d.ts +1 -0
  135. package/build/services/app.d.ts.map +1 -0
  136. package/build/services/config.d.ts +1 -0
  137. package/build/services/config.d.ts.map +1 -0
  138. package/build/services/emitter.d.ts +1 -0
  139. package/build/services/emitter.d.ts.map +1 -0
  140. package/build/services/emitter.js +1 -2
  141. package/build/services/encryption.d.ts +1 -0
  142. package/build/services/encryption.d.ts.map +1 -0
  143. package/build/services/encryption.js +1 -2
  144. package/build/services/hash.d.ts +1 -0
  145. package/build/services/hash.d.ts.map +1 -0
  146. package/build/services/hash.js +1 -2
  147. package/build/services/logger.d.ts +1 -0
  148. package/build/services/logger.d.ts.map +1 -0
  149. package/build/services/logger.js +1 -2
  150. package/build/services/router.d.ts +1 -0
  151. package/build/services/router.d.ts.map +1 -0
  152. package/build/services/router.js +1 -2
  153. package/build/services/server.d.ts +1 -0
  154. package/build/services/server.d.ts.map +1 -0
  155. package/build/services/server.js +1 -2
  156. package/build/services/test_utils.d.ts +1 -0
  157. package/build/services/test_utils.d.ts.map +1 -0
  158. package/build/src/cli_formatters/routes_list.d.ts +41 -0
  159. package/build/src/cli_formatters/routes_list.d.ts.map +1 -0
  160. package/build/src/cli_formatters/routes_list.js +258 -0
  161. package/build/src/debug.d.ts +1 -0
  162. package/build/src/debug.d.ts.map +1 -0
  163. package/build/src/helpers/is.d.ts +1 -0
  164. package/build/src/helpers/is.d.ts.map +1 -0
  165. package/build/src/helpers/main.d.ts +3 -0
  166. package/build/src/helpers/main.d.ts.map +1 -0
  167. package/build/src/helpers/main.js +2 -0
  168. package/build/src/helpers/parse_binding_reference.d.ts +6 -0
  169. package/build/src/helpers/parse_binding_reference.d.ts.map +1 -0
  170. package/build/src/helpers/parse_binding_reference.js +23 -0
  171. package/build/src/helpers/string.d.ts +3 -0
  172. package/build/src/helpers/string.d.ts.map +1 -0
  173. package/build/src/helpers/string.js +4 -0
  174. package/build/src/helpers/types.d.ts +1 -0
  175. package/build/src/helpers/types.d.ts.map +1 -0
  176. package/build/src/ignitor/ace.d.ts +1 -0
  177. package/build/src/ignitor/ace.d.ts.map +1 -0
  178. package/build/src/ignitor/http.d.ts +1 -0
  179. package/build/src/ignitor/http.d.ts.map +1 -0
  180. package/build/src/ignitor/main.d.ts +1 -0
  181. package/build/src/ignitor/main.d.ts.map +1 -0
  182. package/build/src/ignitor/test.d.ts +1 -0
  183. package/build/src/ignitor/test.d.ts.map +1 -0
  184. package/build/src/internal_helpers.d.ts +1 -0
  185. package/build/src/internal_helpers.d.ts.map +1 -0
  186. package/build/src/internal_helpers.js +3 -3
  187. package/build/src/test_utils/http.d.ts +1 -0
  188. package/build/src/test_utils/http.d.ts.map +1 -0
  189. package/build/src/test_utils/main.d.ts +2 -1
  190. package/build/src/test_utils/main.d.ts.map +1 -0
  191. package/build/src/types.d.ts +3 -2
  192. package/build/src/types.d.ts.map +1 -0
  193. package/build/stubs/index.d.ts +1 -0
  194. package/build/stubs/index.d.ts.map +1 -0
  195. package/build/stubs/make/preload_file/main.stub +4 -0
  196. package/build/stubs/make/service/main.stub +4 -0
  197. package/build/toolkit/commands/index_commands.d.ts +1 -0
  198. package/build/toolkit/commands/index_commands.d.ts.map +1 -0
  199. package/build/toolkit/commands/index_commands.js +2 -1
  200. package/build/toolkit/main.d.ts +1 -0
  201. package/build/toolkit/main.d.ts.map +1 -0
  202. package/build/types/ace.d.ts +1 -0
  203. package/build/types/ace.d.ts.map +1 -0
  204. package/build/types/app.d.ts +1 -0
  205. package/build/types/app.d.ts.map +1 -0
  206. package/build/types/bodyparser.d.ts +1 -0
  207. package/build/types/bodyparser.d.ts.map +1 -0
  208. package/build/types/container.d.ts +1 -0
  209. package/build/types/container.d.ts.map +1 -0
  210. package/build/types/encryption.d.ts +1 -0
  211. package/build/types/encryption.d.ts.map +1 -0
  212. package/build/types/events.d.ts +1 -0
  213. package/build/types/events.d.ts.map +1 -0
  214. package/build/types/hash.d.ts +1 -0
  215. package/build/types/hash.d.ts.map +1 -0
  216. package/build/types/http.d.ts +1 -0
  217. package/build/types/http.d.ts.map +1 -0
  218. package/build/types/logger.d.ts +1 -0
  219. package/build/types/logger.d.ts.map +1 -0
  220. package/commands/build.ts +122 -0
  221. package/commands/configure.ts +179 -0
  222. package/commands/eject.ts +39 -0
  223. package/commands/generate_key.ts +53 -0
  224. package/commands/inspect_rcfile.ts +23 -0
  225. package/commands/list/routes.ts +121 -0
  226. package/commands/make/_base.ts +55 -0
  227. package/commands/make/command.ts +33 -0
  228. package/commands/make/controller.ts +77 -0
  229. package/commands/make/event.ts +33 -0
  230. package/commands/make/listener.ts +63 -0
  231. package/commands/make/middleware.ts +34 -0
  232. package/commands/make/prldfile.ts +40 -0
  233. package/commands/make/provider.ts +40 -0
  234. package/commands/make/service.ts +33 -0
  235. package/commands/make/test.ts +115 -0
  236. package/commands/serve.ts +146 -0
  237. package/commands/test.ts +189 -0
  238. package/factories/app.ts +10 -0
  239. package/factories/bodyparser.ts +10 -0
  240. package/factories/core/ace.ts +38 -0
  241. package/factories/core/ignitor.ts +132 -0
  242. package/factories/core/main.ts +13 -0
  243. package/factories/core/test_utils.ts +34 -0
  244. package/factories/encryption.ts +10 -0
  245. package/factories/events.ts +10 -0
  246. package/factories/hash.ts +10 -0
  247. package/factories/http.ts +10 -0
  248. package/factories/logger.ts +10 -0
  249. package/factories/stubs.ts +53 -0
  250. package/index.ts +39 -0
  251. package/legacy/validator.ts +10 -0
  252. package/modules/ace/commands.ts +152 -0
  253. package/modules/ace/create_kernel.ts +73 -0
  254. package/modules/ace/kernel.ts +28 -0
  255. package/modules/ace/main.ts +22 -0
  256. package/modules/ace/shell.ts +49 -0
  257. package/modules/app.ts +10 -0
  258. package/modules/bodyparser/bodyparser_middleware.ts +16 -0
  259. package/modules/bodyparser/main.ts +10 -0
  260. package/modules/config.ts +10 -0
  261. package/modules/container.ts +10 -0
  262. package/modules/encryption.ts +10 -0
  263. package/modules/env.ts +10 -0
  264. package/modules/events.ts +10 -0
  265. package/modules/hash/define_config.ts +64 -0
  266. package/modules/hash/drivers_collection.ts +61 -0
  267. package/modules/hash/main.ts +12 -0
  268. package/modules/http.ts +10 -0
  269. package/modules/logger.ts +10 -0
  270. package/package.json +43 -36
  271. package/providers/app_provider.ts +125 -0
  272. package/providers/hash_provider.ts +58 -0
  273. package/providers/http_provider.ts +66 -0
  274. package/services/ace.ts +26 -0
  275. package/services/app.ts +26 -0
  276. package/services/config.ts +22 -0
  277. package/services/emitter.ts +23 -0
  278. package/services/encryption.ts +23 -0
  279. package/services/hash.ts +23 -0
  280. package/services/logger.ts +23 -0
  281. package/services/router.ts +23 -0
  282. package/services/server.ts +23 -0
  283. package/services/test_utils.ts +26 -0
  284. package/src/cli_formatters/routes_list.ts +480 -0
  285. package/src/debug.ts +12 -0
  286. package/src/helpers/is.ts +11 -0
  287. package/src/helpers/main.ts +13 -0
  288. package/src/helpers/parse_binding_reference.ts +93 -0
  289. package/src/helpers/string.ts +89 -0
  290. package/src/helpers/types.ts +46 -0
  291. package/src/ignitor/ace.ts +90 -0
  292. package/src/ignitor/http.ts +167 -0
  293. package/src/ignitor/main.ts +118 -0
  294. package/src/ignitor/test.ts +51 -0
  295. package/src/internal_helpers.ts +59 -0
  296. package/src/test_utils/http.ts +79 -0
  297. package/src/test_utils/main.ts +69 -0
  298. package/src/types.ts +136 -0
  299. package/types/ace.ts +15 -0
  300. package/types/app.ts +10 -0
  301. package/types/bodyparser.ts +10 -0
  302. package/types/container.ts +10 -0
  303. package/types/encryption.ts +10 -0
  304. package/types/events.ts +10 -0
  305. package/types/hash.ts +10 -0
  306. package/types/http.ts +10 -0
  307. package/types/logger.ts +10 -0
  308. package/build/src/helpers/string_builder.d.ts +0 -23
  309. 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
@@ -0,0 +1,10 @@
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
+ export * from '@adonisjs/application/types'
@@ -0,0 +1,10 @@
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
+ */
9
+
10
+ export * from '@adonisjs/bodyparser/types'
@@ -0,0 +1,10 @@
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
+ export * from '@adonisjs/fold/types'
@@ -0,0 +1,10 @@
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
+ export * from '@adonisjs/encryption/types'
@@ -0,0 +1,10 @@
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
+ export * from '@adonisjs/events/types'
package/types/hash.ts ADDED
@@ -0,0 +1,10 @@
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
+ export * from '@adonisjs/hash/types'
package/types/http.ts ADDED
@@ -0,0 +1,10 @@
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
+ export * from '@adonisjs/http-server/types'
@@ -0,0 +1,10 @@
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
+ export * from '@adonisjs/logger/types'
@@ -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
- }