@adonisjs/core 6.1.5-2 → 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 (304) 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 +1 -0
  18. package/build/commands/list/routes.d.ts.map +1 -0
  19. package/build/commands/list/routes.js +2 -1
  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 +1 -0
  92. package/build/modules/ace/main.d.ts.map +1 -0
  93. package/build/modules/ace/shell.d.ts +1 -0
  94. package/build/modules/ace/shell.d.ts.map +1 -0
  95. package/build/modules/app.d.ts +1 -0
  96. package/build/modules/app.d.ts.map +1 -0
  97. package/build/modules/bodyparser/bodyparser_middleware.d.ts +1 -0
  98. package/build/modules/bodyparser/bodyparser_middleware.d.ts.map +1 -0
  99. package/build/modules/bodyparser/main.d.ts +1 -0
  100. package/build/modules/bodyparser/main.d.ts.map +1 -0
  101. package/build/modules/config.d.ts +1 -0
  102. package/build/modules/config.d.ts.map +1 -0
  103. package/build/modules/container.d.ts +1 -0
  104. package/build/modules/container.d.ts.map +1 -0
  105. package/build/modules/encryption.d.ts +1 -0
  106. package/build/modules/encryption.d.ts.map +1 -0
  107. package/build/modules/env.d.ts +1 -0
  108. package/build/modules/env.d.ts.map +1 -0
  109. package/build/modules/events.d.ts +1 -0
  110. package/build/modules/events.d.ts.map +1 -0
  111. package/build/modules/hash/define_config.d.ts +1 -0
  112. package/build/modules/hash/define_config.d.ts.map +1 -0
  113. package/build/modules/hash/drivers_collection.d.ts +4 -4
  114. package/build/modules/hash/drivers_collection.d.ts.map +1 -0
  115. package/build/modules/hash/drivers_collection.js +2 -8
  116. package/build/modules/hash/main.d.ts +2 -0
  117. package/build/modules/hash/main.d.ts.map +1 -0
  118. package/build/modules/hash/main.js +1 -0
  119. package/build/modules/http.d.ts +1 -0
  120. package/build/modules/http.d.ts.map +1 -0
  121. package/build/modules/logger.d.ts +1 -0
  122. package/build/modules/logger.d.ts.map +1 -0
  123. package/build/providers/app_provider.d.ts +1 -0
  124. package/build/providers/app_provider.d.ts.map +1 -0
  125. package/build/providers/app_provider.js +5 -7
  126. package/build/providers/hash_provider.d.ts +1 -0
  127. package/build/providers/hash_provider.d.ts.map +1 -0
  128. package/build/providers/hash_provider.js +7 -6
  129. package/build/providers/http_provider.d.ts +1 -0
  130. package/build/providers/http_provider.d.ts.map +1 -0
  131. package/build/services/ace.d.ts +1 -0
  132. package/build/services/ace.d.ts.map +1 -0
  133. package/build/services/app.d.ts +1 -0
  134. package/build/services/app.d.ts.map +1 -0
  135. package/build/services/config.d.ts +1 -0
  136. package/build/services/config.d.ts.map +1 -0
  137. package/build/services/emitter.d.ts +1 -0
  138. package/build/services/emitter.d.ts.map +1 -0
  139. package/build/services/emitter.js +1 -2
  140. package/build/services/encryption.d.ts +1 -0
  141. package/build/services/encryption.d.ts.map +1 -0
  142. package/build/services/encryption.js +1 -2
  143. package/build/services/hash.d.ts +1 -0
  144. package/build/services/hash.d.ts.map +1 -0
  145. package/build/services/hash.js +1 -2
  146. package/build/services/logger.d.ts +1 -0
  147. package/build/services/logger.d.ts.map +1 -0
  148. package/build/services/logger.js +1 -2
  149. package/build/services/router.d.ts +1 -0
  150. package/build/services/router.d.ts.map +1 -0
  151. package/build/services/router.js +1 -2
  152. package/build/services/server.d.ts +1 -0
  153. package/build/services/server.d.ts.map +1 -0
  154. package/build/services/server.js +1 -2
  155. package/build/services/test_utils.d.ts +1 -0
  156. package/build/services/test_utils.d.ts.map +1 -0
  157. package/build/src/cli_formatters/routes_list.d.ts +1 -0
  158. package/build/src/cli_formatters/routes_list.d.ts.map +1 -0
  159. package/build/src/debug.d.ts +1 -0
  160. package/build/src/debug.d.ts.map +1 -0
  161. package/build/src/helpers/is.d.ts +1 -0
  162. package/build/src/helpers/is.d.ts.map +1 -0
  163. package/build/src/helpers/main.d.ts +1 -0
  164. package/build/src/helpers/main.d.ts.map +1 -0
  165. package/build/src/helpers/parse_binding_reference.d.ts +1 -0
  166. package/build/src/helpers/parse_binding_reference.d.ts.map +1 -0
  167. package/build/src/helpers/string.d.ts +3 -0
  168. package/build/src/helpers/string.d.ts.map +1 -0
  169. package/build/src/helpers/string.js +4 -0
  170. package/build/src/helpers/types.d.ts +1 -0
  171. package/build/src/helpers/types.d.ts.map +1 -0
  172. package/build/src/ignitor/ace.d.ts +1 -0
  173. package/build/src/ignitor/ace.d.ts.map +1 -0
  174. package/build/src/ignitor/http.d.ts +1 -0
  175. package/build/src/ignitor/http.d.ts.map +1 -0
  176. package/build/src/ignitor/main.d.ts +1 -0
  177. package/build/src/ignitor/main.d.ts.map +1 -0
  178. package/build/src/ignitor/test.d.ts +1 -0
  179. package/build/src/ignitor/test.d.ts.map +1 -0
  180. package/build/src/internal_helpers.d.ts +1 -0
  181. package/build/src/internal_helpers.d.ts.map +1 -0
  182. package/build/src/test_utils/http.d.ts +1 -0
  183. package/build/src/test_utils/http.d.ts.map +1 -0
  184. package/build/src/test_utils/main.d.ts +2 -1
  185. package/build/src/test_utils/main.d.ts.map +1 -0
  186. package/build/src/types.d.ts +3 -2
  187. package/build/src/types.d.ts.map +1 -0
  188. package/build/stubs/index.d.ts +1 -0
  189. package/build/stubs/index.d.ts.map +1 -0
  190. package/build/stubs/make/preload_file/main.stub +4 -0
  191. package/build/stubs/make/service/main.stub +4 -0
  192. package/build/toolkit/commands/index_commands.d.ts +1 -0
  193. package/build/toolkit/commands/index_commands.d.ts.map +1 -0
  194. package/build/toolkit/commands/index_commands.js +2 -1
  195. package/build/toolkit/main.d.ts +1 -0
  196. package/build/toolkit/main.d.ts.map +1 -0
  197. package/build/types/ace.d.ts +1 -0
  198. package/build/types/ace.d.ts.map +1 -0
  199. package/build/types/app.d.ts +1 -0
  200. package/build/types/app.d.ts.map +1 -0
  201. package/build/types/bodyparser.d.ts +1 -0
  202. package/build/types/bodyparser.d.ts.map +1 -0
  203. package/build/types/container.d.ts +1 -0
  204. package/build/types/container.d.ts.map +1 -0
  205. package/build/types/encryption.d.ts +1 -0
  206. package/build/types/encryption.d.ts.map +1 -0
  207. package/build/types/events.d.ts +1 -0
  208. package/build/types/events.d.ts.map +1 -0
  209. package/build/types/hash.d.ts +1 -0
  210. package/build/types/hash.d.ts.map +1 -0
  211. package/build/types/http.d.ts +1 -0
  212. package/build/types/http.d.ts.map +1 -0
  213. package/build/types/logger.d.ts +1 -0
  214. package/build/types/logger.d.ts.map +1 -0
  215. package/commands/build.ts +122 -0
  216. package/commands/configure.ts +179 -0
  217. package/commands/eject.ts +39 -0
  218. package/commands/generate_key.ts +53 -0
  219. package/commands/inspect_rcfile.ts +23 -0
  220. package/commands/list/routes.ts +121 -0
  221. package/commands/make/_base.ts +55 -0
  222. package/commands/make/command.ts +33 -0
  223. package/commands/make/controller.ts +77 -0
  224. package/commands/make/event.ts +33 -0
  225. package/commands/make/listener.ts +63 -0
  226. package/commands/make/middleware.ts +34 -0
  227. package/commands/make/prldfile.ts +40 -0
  228. package/commands/make/provider.ts +40 -0
  229. package/commands/make/service.ts +33 -0
  230. package/commands/make/test.ts +115 -0
  231. package/commands/serve.ts +146 -0
  232. package/commands/test.ts +189 -0
  233. package/factories/app.ts +10 -0
  234. package/factories/bodyparser.ts +10 -0
  235. package/factories/core/ace.ts +38 -0
  236. package/factories/core/ignitor.ts +132 -0
  237. package/factories/core/main.ts +13 -0
  238. package/factories/core/test_utils.ts +34 -0
  239. package/factories/encryption.ts +10 -0
  240. package/factories/events.ts +10 -0
  241. package/factories/hash.ts +10 -0
  242. package/factories/http.ts +10 -0
  243. package/factories/logger.ts +10 -0
  244. package/factories/stubs.ts +53 -0
  245. package/index.ts +39 -0
  246. package/legacy/validator.ts +10 -0
  247. package/modules/ace/commands.ts +152 -0
  248. package/modules/ace/create_kernel.ts +73 -0
  249. package/modules/ace/kernel.ts +28 -0
  250. package/modules/ace/main.ts +22 -0
  251. package/modules/ace/shell.ts +49 -0
  252. package/modules/app.ts +10 -0
  253. package/modules/bodyparser/bodyparser_middleware.ts +16 -0
  254. package/modules/bodyparser/main.ts +10 -0
  255. package/modules/config.ts +10 -0
  256. package/modules/container.ts +10 -0
  257. package/modules/encryption.ts +10 -0
  258. package/modules/env.ts +10 -0
  259. package/modules/events.ts +10 -0
  260. package/modules/hash/define_config.ts +64 -0
  261. package/modules/hash/drivers_collection.ts +61 -0
  262. package/modules/hash/main.ts +12 -0
  263. package/modules/http.ts +10 -0
  264. package/modules/logger.ts +10 -0
  265. package/package.json +39 -30
  266. package/providers/app_provider.ts +125 -0
  267. package/providers/hash_provider.ts +58 -0
  268. package/providers/http_provider.ts +66 -0
  269. package/services/ace.ts +26 -0
  270. package/services/app.ts +26 -0
  271. package/services/config.ts +22 -0
  272. package/services/emitter.ts +23 -0
  273. package/services/encryption.ts +23 -0
  274. package/services/hash.ts +23 -0
  275. package/services/logger.ts +23 -0
  276. package/services/router.ts +23 -0
  277. package/services/server.ts +23 -0
  278. package/services/test_utils.ts +26 -0
  279. package/src/cli_formatters/routes_list.ts +480 -0
  280. package/src/debug.ts +12 -0
  281. package/src/helpers/is.ts +11 -0
  282. package/src/helpers/main.ts +13 -0
  283. package/src/helpers/parse_binding_reference.ts +93 -0
  284. package/src/helpers/string.ts +89 -0
  285. package/src/helpers/types.ts +46 -0
  286. package/src/ignitor/ace.ts +90 -0
  287. package/src/ignitor/http.ts +167 -0
  288. package/src/ignitor/main.ts +118 -0
  289. package/src/ignitor/test.ts +51 -0
  290. package/src/internal_helpers.ts +59 -0
  291. package/src/test_utils/http.ts +79 -0
  292. package/src/test_utils/main.ts +69 -0
  293. package/src/types.ts +136 -0
  294. package/types/ace.ts +15 -0
  295. package/types/app.ts +10 -0
  296. package/types/bodyparser.ts +10 -0
  297. package/types/container.ts +10 -0
  298. package/types/encryption.ts +10 -0
  299. package/types/events.ts +10 -0
  300. package/types/hash.ts +10 -0
  301. package/types/http.ts +10 -0
  302. package/types/logger.ts +10 -0
  303. package/build/src/helpers/string_builder.d.ts +0 -23
  304. package/build/src/helpers/string_builder.js +0 -86
@@ -0,0 +1,49 @@
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
+ const DEFAULT_NODE_ARGS = [
11
+ // Use ts-node/esm loader. The project must install it
12
+ '--loader=ts-node/esm',
13
+ // Disable annonying warnings
14
+ '--no-warnings',
15
+ // Enable expiremental meta resolve for cases where someone uses magic import string
16
+ '--experimental-import-meta-resolve',
17
+ ]
18
+
19
+ /**
20
+ * Ace shell is used to run the ace commands inside a TypeScript project
21
+ * without pre-compiling TypeScript source files.
22
+ *
23
+ * Under the hood a child process is used to execute the "bin/console.ts" file. This
24
+ * is required because we have to use "ts-node/esm" loader in order to run TypeScript
25
+ * files.
26
+ */
27
+ export function aceShell(cwd: URL) {
28
+ return {
29
+ async handle(argv: string[]) {
30
+ const { execaNode } = await import('execa')
31
+ const childProcess = execaNode('bin/console.js', argv, {
32
+ nodeOptions: DEFAULT_NODE_ARGS,
33
+ preferLocal: true,
34
+ windowsHide: false,
35
+ localDir: cwd,
36
+ cwd,
37
+ buffer: false,
38
+ stdio: 'inherit',
39
+ })
40
+
41
+ try {
42
+ const result = await childProcess
43
+ process.exitCode = result.exitCode
44
+ } catch (error) {
45
+ process.exitCode = 1
46
+ }
47
+ },
48
+ }
49
+ }
package/modules/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'
@@ -0,0 +1,16 @@
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 { BodyParserMiddleware } from '@adonisjs/bodyparser/bodyparser_middleware'
11
+
12
+ /**
13
+ * Default export allows lazy importing middleware with
14
+ * destructuring the named exports
15
+ */
16
+ export default BodyParserMiddleware
@@ -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/bodyparser'
@@ -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/config'
@@ -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'
@@ -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'
package/modules/env.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/env'
@@ -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'
@@ -0,0 +1,64 @@
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 { InvalidArgumentsException } from '@poppinss/utils'
11
+
12
+ import driversCollection from './drivers_collection.js'
13
+ import type { HashDriversList } from '../../src/types.js'
14
+ import type { ManagerDriverFactory } from '../../types/hash.js'
15
+
16
+ /**
17
+ * Define config for the hash service.
18
+ */
19
+ export function defineConfig<
20
+ KnownHashers extends Record<
21
+ string,
22
+ {
23
+ [K in keyof HashDriversList]: { driver: K } & Parameters<HashDriversList[K]>[0]
24
+ }[keyof HashDriversList]
25
+ >
26
+ >(config: {
27
+ default?: keyof KnownHashers
28
+ list: KnownHashers
29
+ }): {
30
+ default?: keyof KnownHashers
31
+ list: { [K in keyof KnownHashers]: ManagerDriverFactory }
32
+ } {
33
+ /**
34
+ * Hashers list should always be provided
35
+ */
36
+ if (!config.list) {
37
+ throw new InvalidArgumentsException('Missing "list" property in hash config')
38
+ }
39
+
40
+ /**
41
+ * The default hasher should be mentioned in the list
42
+ */
43
+ if (config.default && !config.list[config.default]) {
44
+ throw new InvalidArgumentsException(
45
+ `Missing "list.${String(
46
+ config.default
47
+ )}" in hash config. It is referenced by the "default" property`
48
+ )
49
+ }
50
+
51
+ /**
52
+ * Converting list config to a collection that hash manager can use
53
+ */
54
+ const managerHashers = Object.keys(config.list).reduce((result, disk: keyof KnownHashers) => {
55
+ const hasherConfig = config.list[disk]
56
+ result[disk] = () => driversCollection.create(hasherConfig.driver, hasherConfig)
57
+ return result
58
+ }, {} as { [K in keyof KnownHashers]: ManagerDriverFactory })
59
+
60
+ return {
61
+ default: config.default,
62
+ list: managerHashers,
63
+ }
64
+ }
@@ -0,0 +1,61 @@
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
+ /**
11
+ * This class exists in the core, because it maintains a list of
12
+ * globally available drivers applicable to the hash manager
13
+ * instance registered with the container.
14
+ *
15
+ * In other words, these drivers are not needed by the hash module
16
+ * regular usage and specific to AdonisJS container flow.
17
+ */
18
+
19
+ import { RuntimeException } from '@poppinss/utils'
20
+ import type { HashDriversList } from '../../src/types.js'
21
+
22
+ /**
23
+ * A global collection of Hash drivers
24
+ */
25
+ class HashDriversCollection {
26
+ /**
27
+ * List of registered drivers
28
+ */
29
+ list: Partial<HashDriversList> = {}
30
+
31
+ /**
32
+ * Extend drivers collection and add a custom
33
+ * driver to it.
34
+ */
35
+ extend<Name extends keyof HashDriversList>(
36
+ driverName: Name,
37
+ factoryCallback: HashDriversList[Name]
38
+ ): this {
39
+ this.list[driverName] = factoryCallback
40
+ return this
41
+ }
42
+
43
+ /**
44
+ * Creates the driver instance with config
45
+ */
46
+ create<Name extends keyof HashDriversList>(
47
+ name: Name,
48
+ config: Parameters<HashDriversList[Name]>[0]
49
+ ) {
50
+ const driverFactory = this.list[name]
51
+ if (!driverFactory) {
52
+ throw new RuntimeException(
53
+ `Unknown hash driver "${String(name)}". Make sure the driver is registered`
54
+ )
55
+ }
56
+
57
+ return driverFactory(config as any)
58
+ }
59
+ }
60
+
61
+ export default new HashDriversCollection()
@@ -0,0 +1,12 @@
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'
11
+ export { defineConfig } from './define_config.js'
12
+ export { default as driversList } from './drivers_collection.js'
@@ -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'
@@ -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'
package/package.json CHANGED
@@ -1,10 +1,19 @@
1
1
  {
2
2
  "name": "@adonisjs/core",
3
- "version": "6.1.5-2",
3
+ "version": "6.1.5-3",
4
4
  "description": "Core of AdonisJS",
5
5
  "main": "build/index.js",
6
6
  "type": "module",
7
7
  "files": [
8
+ "modules",
9
+ "commands",
10
+ "legacy",
11
+ "providers",
12
+ "services",
13
+ "factories",
14
+ "types",
15
+ "src",
16
+ "index.ts",
8
17
  "build/modules",
9
18
  "build/commands",
10
19
  "build/legacy",
@@ -16,6 +25,7 @@
16
25
  "build/src",
17
26
  "build/stubs",
18
27
  "build/index.d.ts",
28
+ "build/index.d.ts.map",
19
29
  "build/index.js"
20
30
  ],
21
31
  "bin": {
@@ -61,7 +71,6 @@
61
71
  "./helpers/is": "./build/src/helpers/is.js",
62
72
  "./helpers/types": "./build/src/helpers/types.js",
63
73
  "./helpers/string": "./build/src/helpers/string.js",
64
- "./helpers/string_builder": "./build/src/helpers/string_builder.js",
65
74
  "./ace/shell": "./build/modules/ace/shell.js",
66
75
  "./ace": "./build/modules/ace/main.js",
67
76
  "./bodyparser": "./build/modules/bodyparser/main.js",
@@ -79,7 +88,7 @@
79
88
  },
80
89
  "scripts": {
81
90
  "pretest": "npm run lint",
82
- "test": "cross-env NODE_DEBUG=adonisjs:core c8 npm run vscode:test",
91
+ "test": "cross-env NODE_DEBUG=adonisjs:core c8 npm run quick:test",
83
92
  "clean": "del-cli build",
84
93
  "copy:templates": "copyfiles \"stubs/**/**/*.stub\" build",
85
94
  "precompile": "npm run lint",
@@ -92,7 +101,7 @@
92
101
  "lint": "eslint . --ext=.ts",
93
102
  "format": "prettier --write .",
94
103
  "sync-labels": "github-label-sync --labels .github/labels.json adonisjs/core",
95
- "vscode:test": "node --loader=ts-node/esm --experimental-import-meta-resolve bin/test.ts",
104
+ "quick:test": "node --loader=ts-node/esm --experimental-import-meta-resolve bin/test.ts",
96
105
  "index:commands": "node --loader=ts-node/esm toolkit/main.js index build/commands"
97
106
  },
98
107
  "keywords": [
@@ -103,17 +112,17 @@
103
112
  "author": "virk,adonisjs",
104
113
  "license": "MIT",
105
114
  "devDependencies": {
106
- "@adonisjs/assembler": "^6.1.3-3",
107
- "@commitlint/cli": "^17.4.4",
108
- "@commitlint/config-conventional": "^17.4.4",
115
+ "@adonisjs/assembler": "^6.1.3-6",
116
+ "@commitlint/cli": "^17.6.1",
117
+ "@commitlint/config-conventional": "^17.6.1",
109
118
  "@japa/assert": "^1.4.1",
110
119
  "@japa/expect-type": "^1.0.3",
111
120
  "@japa/file-system": "^1.0.1",
112
121
  "@japa/run-failed-tests": "^1.1.1",
113
122
  "@japa/runner": "^2.5.1",
114
123
  "@japa/spec-reporter": "^1.3.3",
115
- "@swc/core": "^1.3.40",
116
- "@types/node": "^18.15.3",
124
+ "@swc/core": "^1.3.51",
125
+ "@types/node": "^18.15.11",
117
126
  "@types/pretty-hrtime": "^1.0.1",
118
127
  "@types/sinon": "^10.0.13",
119
128
  "@types/supertest": "^2.0.12",
@@ -122,37 +131,37 @@
122
131
  "copyfiles": "^2.4.1",
123
132
  "cross-env": "^7.0.3",
124
133
  "del-cli": "^5.0.0",
125
- "eslint": "^8.36.0",
126
- "eslint-config-prettier": "^8.7.0",
134
+ "eslint": "^8.38.0",
135
+ "eslint-config-prettier": "^8.8.0",
127
136
  "eslint-plugin-adonis": "^3.0.3",
128
137
  "eslint-plugin-prettier": "^4.2.1",
129
138
  "get-port": "^6.1.2",
130
139
  "github-label-sync": "^2.3.1",
131
140
  "husky": "^8.0.3",
132
- "np": "^7.6.3",
133
- "prettier": "^2.8.4",
134
- "sinon": "^15.0.2",
141
+ "np": "^7.7.0",
142
+ "prettier": "^2.8.7",
143
+ "sinon": "^15.0.3",
135
144
  "supertest": "^6.3.3",
136
145
  "test-console": "^2.0.0",
137
146
  "ts-node": "^10.9.1",
138
- "typescript": "^4.9.5"
147
+ "typescript": "^5.0.4"
139
148
  },
140
149
  "dependencies": {
141
- "@adonisjs/ace": "^12.3.1-3",
142
- "@adonisjs/application": "^7.1.2-2",
143
- "@adonisjs/bodyparser": "^9.3.2-2",
144
- "@adonisjs/config": "^4.2.1-0",
145
- "@adonisjs/encryption": "^5.1.2-0",
146
- "@adonisjs/env": "^4.2.0-1",
147
- "@adonisjs/events": "^8.4.9-1",
148
- "@adonisjs/fold": "^9.9.3-3",
149
- "@adonisjs/hash": "^8.3.1-1",
150
- "@adonisjs/http-server": "^6.8.2-4",
151
- "@adonisjs/logger": "^5.4.2-0",
152
- "@adonisjs/validator": "^13.0.2-0",
150
+ "@adonisjs/ace": "^12.3.1-5",
151
+ "@adonisjs/application": "^7.1.2-3",
152
+ "@adonisjs/bodyparser": "^9.3.2-5",
153
+ "@adonisjs/config": "^4.2.1-1",
154
+ "@adonisjs/encryption": "^5.1.2-1",
155
+ "@adonisjs/env": "^4.2.0-2",
156
+ "@adonisjs/events": "^8.4.9-2",
157
+ "@adonisjs/fold": "^9.9.3-4",
158
+ "@adonisjs/hash": "^8.3.1-2",
159
+ "@adonisjs/http-server": "^6.8.2-6",
160
+ "@adonisjs/logger": "^5.4.2-1",
161
+ "@adonisjs/validator": "^13.0.2-2",
153
162
  "@paralleldrive/cuid2": "^2.2.0",
154
- "@poppinss/macroable": "^1.0.0-3",
155
- "@poppinss/utils": "^6.5.0-1",
163
+ "@poppinss/macroable": "^1.0.0-6",
164
+ "@poppinss/utils": "^6.5.0-2",
156
165
  "@sindresorhus/is": "^5.3.0",
157
166
  "@types/he": "^1.2.0",
158
167
  "execa": "^7.1.1",
@@ -164,7 +173,7 @@
164
173
  "youch-terminal": "^2.2.0"
165
174
  },
166
175
  "peerDependencies": {
167
- "@adonisjs/assembler": "^6.1.3-2",
176
+ "@adonisjs/assembler": "^6.1.3-4",
168
177
  "argon2": "^0.30.3",
169
178
  "bcrypt": "^5.0.1"
170
179
  },
@@ -0,0 +1,125 @@
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 { Config } from '../modules/config.js'
11
+ import { Logger } from '../modules/logger.js'
12
+ import { validator } from '../legacy/validator.js'
13
+ import { Encryption } from '../modules/encryption.js'
14
+ import type { ApplicationService, LoggerService } from '../src/types.js'
15
+
16
+ /**
17
+ * The Application Service provider registers all the baseline
18
+ * features required to run the framework.
19
+ */
20
+ export default class AppServiceProvider {
21
+ constructor(protected app: ApplicationService) {}
22
+
23
+ /**
24
+ * Registers test utils with the container
25
+ */
26
+ protected registerTestUtils() {
27
+ this.app.container.singleton('testUtils', async () => {
28
+ const { TestUtils } = await import('../src/test_utils/main.js')
29
+ return new TestUtils(this.app)
30
+ })
31
+ }
32
+
33
+ /**
34
+ * Registers ace with the container
35
+ */
36
+ protected registerAce() {
37
+ this.app.container.singleton('ace', async () => {
38
+ const { createAceKernel } = await import('../modules/ace/create_kernel.js')
39
+ return createAceKernel(this.app)
40
+ })
41
+ }
42
+
43
+ /**
44
+ * Registers the application to the container
45
+ */
46
+ protected registerApp() {
47
+ this.app.container.singleton('app', () => this.app)
48
+ }
49
+
50
+ /**
51
+ * Registers the logger class to resolve the default logger
52
+ */
53
+ protected registerLogger() {
54
+ this.app.container.singleton(Logger, async (resolver) => {
55
+ const loggerManager = await resolver.make('logger')
56
+ return loggerManager.use()
57
+ })
58
+ }
59
+
60
+ /**
61
+ * Registers the logger manager to the container
62
+ */
63
+ protected registerLoggerManager() {
64
+ this.app.container.singleton('logger', async () => {
65
+ const { LoggerManager } = await import('../modules/logger.js')
66
+ const config = this.app.config.get<any>('logger')
67
+ return new LoggerManager(config) as LoggerService
68
+ })
69
+ }
70
+
71
+ /**
72
+ * Registers the config to the container
73
+ */
74
+ protected registerConfig() {
75
+ this.app.container.singleton(Config, () => this.app.config)
76
+ this.app.container.alias('config', Config)
77
+ }
78
+
79
+ /**
80
+ * Registers emitter service to the container
81
+ */
82
+ protected registerEmitter() {
83
+ this.app.container.singleton('emitter', async () => {
84
+ const { Emitter } = await import('../modules/events.js')
85
+ return new Emitter(this.app)
86
+ })
87
+ }
88
+
89
+ /**
90
+ * Register the encryption service to the container
91
+ */
92
+ protected registerEncryption() {
93
+ this.app.container.singleton(Encryption, () => {
94
+ const appKey = this.app.config.get<string>('app.appKey')
95
+ return new Encryption({ secret: appKey })
96
+ })
97
+ this.app.container.alias('encryption', Encryption)
98
+ }
99
+
100
+ /**
101
+ * Configure the validator
102
+ */
103
+ protected async configureValidator() {
104
+ const config = await this.app.container.make('config')
105
+ validator.configure(config.get('validator', {}))
106
+ }
107
+
108
+ /**
109
+ * Registers bindings
110
+ */
111
+ register() {
112
+ this.registerApp()
113
+ this.registerAce()
114
+ this.registerLoggerManager()
115
+ this.registerLogger()
116
+ this.registerConfig()
117
+ this.registerEmitter()
118
+ this.registerEncryption()
119
+ this.registerTestUtils()
120
+ }
121
+
122
+ async boot() {
123
+ await this.configureValidator()
124
+ }
125
+ }
@@ -0,0 +1,58 @@
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 { ApplicationService } from '../src/types.js'
11
+ import { Argon, Bcrypt, Hash, Scrypt, driversList } from '../modules/hash/main.js'
12
+
13
+ /**
14
+ * Registers the passwords hasher with the container
15
+ */
16
+ export default class HashServiceProvider {
17
+ constructor(protected app: ApplicationService) {}
18
+
19
+ /**
20
+ * Registering bundled drivers with the driversList collection
21
+ */
22
+ protected registerHashDrivers() {
23
+ driversList.extend('bcrypt', (config) => new Bcrypt(config))
24
+ driversList.extend('scrypt', (config) => new Scrypt(config))
25
+ driversList.extend('argon2', (config) => new Argon(config))
26
+ }
27
+
28
+ /**
29
+ * Registering the hash class to resolve an instance with the
30
+ * default hasher.
31
+ */
32
+ protected registerHash() {
33
+ this.app.container.singleton(Hash, async (resolver) => {
34
+ const hashManager = await resolver.make('hash')
35
+ return hashManager.use()
36
+ })
37
+ }
38
+
39
+ /**
40
+ * Registers the hash manager with the container
41
+ */
42
+ protected registerHashManager() {
43
+ this.app.container.singleton('hash', async () => {
44
+ const { HashManager } = await import('../modules/hash/main.js')
45
+ const config = this.app.config.get<any>('hash')
46
+ return new HashManager(config)
47
+ })
48
+ }
49
+
50
+ /**
51
+ * Registers bindings
52
+ */
53
+ register() {
54
+ this.registerHashDrivers()
55
+ this.registerHashManager()
56
+ this.registerHash()
57
+ }
58
+ }