@adonisjs/core 6.1.5-3 → 6.1.5-5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/build/commands/build.d.ts +8 -1
  2. package/build/commands/build.js +33 -16
  3. package/build/commands/commands.json +1 -1
  4. package/build/commands/configure.d.ts +22 -1
  5. package/build/commands/configure.js +47 -7
  6. package/build/commands/eject.d.ts +4 -1
  7. package/build/commands/eject.js +15 -9
  8. package/build/commands/generate_key.d.ts +4 -1
  9. package/build/commands/generate_key.js +15 -9
  10. package/build/commands/inspect_rcfile.d.ts +3 -1
  11. package/build/commands/inspect_rcfile.js +12 -2
  12. package/build/commands/list/routes.d.ts +23 -1
  13. package/build/commands/list/routes.js +30 -15
  14. package/build/commands/make/_base.d.ts +14 -6
  15. package/build/commands/make/_base.js +19 -20
  16. package/build/commands/make/command.d.ts +6 -1
  17. package/build/commands/make/command.js +16 -7
  18. package/build/commands/make/controller.d.ts +9 -1
  19. package/build/commands/make/controller.js +31 -13
  20. package/build/commands/make/event.d.ts +6 -1
  21. package/build/commands/make/event.js +16 -7
  22. package/build/commands/make/listener.d.ts +7 -1
  23. package/build/commands/make/listener.js +21 -9
  24. package/build/commands/make/middleware.d.ts +7 -1
  25. package/build/commands/make/middleware.js +17 -7
  26. package/build/commands/make/prldfile.d.ts +6 -1
  27. package/build/commands/make/prldfile.js +20 -7
  28. package/build/commands/make/provider.d.ts +6 -1
  29. package/build/commands/make/provider.js +20 -7
  30. package/build/commands/make/service.d.ts +6 -1
  31. package/build/commands/make/service.js +16 -7
  32. package/build/commands/make/test.d.ts +9 -1
  33. package/build/commands/make/test.js +42 -9
  34. package/build/commands/serve.d.ts +8 -1
  35. package/build/commands/serve.js +39 -16
  36. package/build/commands/test.d.ts +7 -1
  37. package/build/commands/test.js +50 -29
  38. package/build/factories/app.d.ts +0 -1
  39. package/build/factories/app.js +8 -0
  40. package/build/factories/bodyparser.d.ts +0 -1
  41. package/build/factories/bodyparser.js +8 -0
  42. package/build/factories/core/ace.d.ts +4 -2
  43. package/build/factories/core/ace.js +11 -0
  44. package/build/factories/core/ignitor.d.ts +20 -2
  45. package/build/factories/core/ignitor.js +33 -0
  46. package/build/factories/core/main.d.ts +0 -1
  47. package/build/factories/core/main.js +8 -0
  48. package/build/factories/core/test_utils.d.ts +4 -2
  49. package/build/factories/core/test_utils.js +11 -0
  50. package/build/factories/encryption.d.ts +0 -1
  51. package/build/factories/encryption.js +8 -0
  52. package/build/factories/events.d.ts +0 -1
  53. package/build/factories/events.js +8 -0
  54. package/build/factories/hash.d.ts +0 -1
  55. package/build/factories/hash.js +8 -0
  56. package/build/factories/http.d.ts +0 -1
  57. package/build/factories/http.js +8 -0
  58. package/build/factories/logger.d.ts +0 -1
  59. package/build/factories/logger.js +8 -0
  60. package/build/factories/stubs.d.ts +10 -1
  61. package/build/factories/stubs.js +21 -0
  62. package/build/index.d.ts +5 -2
  63. package/build/index.js +13 -0
  64. package/build/modules/ace/commands.d.ts +123 -1
  65. package/build/modules/ace/commands.js +81 -4
  66. package/build/modules/ace/create_kernel.d.ts +9 -1
  67. package/build/modules/ace/create_kernel.js +31 -0
  68. package/build/modules/ace/kernel.d.ts +4 -1
  69. package/build/modules/ace/kernel.js +12 -0
  70. package/build/modules/ace/main.d.ts +0 -1
  71. package/build/modules/ace/main.js +8 -0
  72. package/build/modules/ace/shell.d.ts +9 -2
  73. package/build/modules/ace/shell.js +19 -0
  74. package/build/modules/app.d.ts +0 -1
  75. package/build/modules/app.js +8 -0
  76. package/build/modules/bodyparser/bodyparser_middleware.d.ts +4 -1
  77. package/build/modules/bodyparser/bodyparser_middleware.js +12 -0
  78. package/build/modules/bodyparser/main.d.ts +0 -1
  79. package/build/modules/bodyparser/main.js +8 -0
  80. package/build/modules/config.d.ts +0 -1
  81. package/build/modules/config.js +8 -0
  82. package/build/modules/container.d.ts +0 -1
  83. package/build/modules/container.js +8 -0
  84. package/build/modules/encryption.d.ts +0 -1
  85. package/build/modules/encryption.js +8 -0
  86. package/build/modules/env.d.ts +0 -1
  87. package/build/modules/env.js +8 -0
  88. package/build/modules/events.d.ts +0 -1
  89. package/build/modules/events.js +8 -0
  90. package/build/modules/hash/define_config.d.ts +3 -1
  91. package/build/modules/hash/define_config.js +20 -0
  92. package/build/modules/hash/drivers_collection.d.ts +13 -1
  93. package/build/modules/hash/drivers_collection.js +29 -0
  94. package/build/modules/hash/main.d.ts +0 -1
  95. package/build/modules/hash/main.js +8 -0
  96. package/build/modules/http.d.ts +0 -1
  97. package/build/modules/http.js +8 -0
  98. package/build/modules/logger.d.ts +0 -1
  99. package/build/modules/logger.js +8 -0
  100. package/build/providers/app_provider.d.ts +31 -3
  101. package/build/providers/app_provider.js +39 -8
  102. package/build/providers/hash_provider.d.ts +16 -1
  103. package/build/providers/hash_provider.js +24 -0
  104. package/build/providers/http_provider.d.ts +17 -1
  105. package/build/providers/http_provider.js +25 -0
  106. package/build/services/ace.d.ts +0 -1
  107. package/build/services/ace.js +15 -0
  108. package/build/services/app.d.ts +8 -1
  109. package/build/services/app.js +16 -0
  110. package/build/services/config.d.ts +0 -1
  111. package/build/services/config.js +11 -0
  112. package/build/services/emitter.d.ts +0 -1
  113. package/build/services/emitter.js +12 -0
  114. package/build/services/encryption.d.ts +0 -1
  115. package/build/services/encryption.js +12 -0
  116. package/build/services/hash.d.ts +0 -1
  117. package/build/services/hash.js +12 -0
  118. package/build/services/logger.d.ts +0 -1
  119. package/build/services/logger.js +12 -0
  120. package/build/services/router.d.ts +0 -1
  121. package/build/services/router.js +12 -0
  122. package/build/services/server.d.ts +0 -1
  123. package/build/services/server.js +12 -0
  124. package/build/services/test_utils.d.ts +0 -1
  125. package/build/services/test_utils.js +15 -0
  126. package/build/src/cli_formatters/routes_list.d.ts +23 -1
  127. package/build/src/cli_formatters/routes_list.js +118 -0
  128. package/build/src/debug.d.ts +1 -2
  129. package/build/src/debug.js +8 -0
  130. package/build/src/helpers/is.d.ts +0 -1
  131. package/build/src/helpers/is.js +8 -0
  132. package/build/src/helpers/main.d.ts +0 -1
  133. package/build/src/helpers/main.js +8 -0
  134. package/build/src/helpers/parse_binding_reference.d.ts +40 -1
  135. package/build/src/helpers/parse_binding_reference.js +60 -0
  136. package/build/src/helpers/string.d.ts +24 -1
  137. package/build/src/helpers/string.js +11 -0
  138. package/build/src/helpers/types.d.ts +7 -3
  139. package/build/src/helpers/types.js +13 -0
  140. package/build/src/ignitor/ace.d.ts +12 -1
  141. package/build/src/ignitor/ace.js +44 -0
  142. package/build/src/ignitor/http.d.ts +9 -3
  143. package/build/src/ignitor/http.js +67 -0
  144. package/build/src/ignitor/main.d.ts +29 -2
  145. package/build/src/ignitor/main.js +56 -0
  146. package/build/src/ignitor/test.d.ts +10 -1
  147. package/build/src/ignitor/test.js +25 -0
  148. package/build/src/internal_helpers.d.ts +12 -6
  149. package/build/src/internal_helpers.js +35 -7
  150. package/build/src/test_utils/http.d.ts +10 -3
  151. package/build/src/test_utils/http.js +19 -0
  152. package/build/src/test_utils/main.d.ts +19 -2
  153. package/build/src/test_utils/main.js +26 -0
  154. package/build/src/types.d.ts +56 -1
  155. package/build/src/types.js +8 -0
  156. package/build/stubs/index.d.ts +0 -1
  157. package/build/stubs/index.js +8 -0
  158. package/build/toolkit/commands/index_commands.d.ts +4 -1
  159. package/build/toolkit/commands/index_commands.js +14 -7
  160. package/build/toolkit/main.d.ts +0 -1
  161. package/build/toolkit/main.js +11 -0
  162. package/build/types/ace.d.ts +0 -1
  163. package/build/types/ace.js +8 -0
  164. package/build/types/app.d.ts +0 -1
  165. package/build/types/app.js +8 -0
  166. package/build/types/bodyparser.d.ts +0 -1
  167. package/build/types/bodyparser.js +8 -0
  168. package/build/types/container.d.ts +0 -1
  169. package/build/types/container.js +8 -0
  170. package/build/types/encryption.d.ts +0 -1
  171. package/build/types/encryption.js +8 -0
  172. package/build/types/events.d.ts +0 -1
  173. package/build/types/events.js +8 -0
  174. package/build/types/hash.d.ts +0 -1
  175. package/build/types/hash.js +8 -0
  176. package/build/types/http.d.ts +0 -1
  177. package/build/types/http.js +8 -0
  178. package/build/types/logger.d.ts +0 -1
  179. package/build/types/logger.js +8 -0
  180. package/package.json +53 -90
  181. package/build/commands/build.d.ts.map +0 -1
  182. package/build/commands/configure.d.ts.map +0 -1
  183. package/build/commands/eject.d.ts.map +0 -1
  184. package/build/commands/generate_key.d.ts.map +0 -1
  185. package/build/commands/inspect_rcfile.d.ts.map +0 -1
  186. package/build/commands/list/routes.d.ts.map +0 -1
  187. package/build/commands/make/_base.d.ts.map +0 -1
  188. package/build/commands/make/command.d.ts.map +0 -1
  189. package/build/commands/make/controller.d.ts.map +0 -1
  190. package/build/commands/make/event.d.ts.map +0 -1
  191. package/build/commands/make/listener.d.ts.map +0 -1
  192. package/build/commands/make/middleware.d.ts.map +0 -1
  193. package/build/commands/make/prldfile.d.ts.map +0 -1
  194. package/build/commands/make/provider.d.ts.map +0 -1
  195. package/build/commands/make/service.d.ts.map +0 -1
  196. package/build/commands/make/test.d.ts.map +0 -1
  197. package/build/commands/serve.d.ts.map +0 -1
  198. package/build/commands/test.d.ts.map +0 -1
  199. package/build/factories/app.d.ts.map +0 -1
  200. package/build/factories/bodyparser.d.ts.map +0 -1
  201. package/build/factories/core/ace.d.ts.map +0 -1
  202. package/build/factories/core/ignitor.d.ts.map +0 -1
  203. package/build/factories/core/main.d.ts.map +0 -1
  204. package/build/factories/core/test_utils.d.ts.map +0 -1
  205. package/build/factories/encryption.d.ts.map +0 -1
  206. package/build/factories/events.d.ts.map +0 -1
  207. package/build/factories/hash.d.ts.map +0 -1
  208. package/build/factories/http.d.ts.map +0 -1
  209. package/build/factories/logger.d.ts.map +0 -1
  210. package/build/factories/stubs.d.ts.map +0 -1
  211. package/build/index.d.ts.map +0 -1
  212. package/build/legacy/validator.d.ts +0 -2
  213. package/build/legacy/validator.d.ts.map +0 -1
  214. package/build/legacy/validator.js +0 -1
  215. package/build/modules/ace/commands.d.ts.map +0 -1
  216. package/build/modules/ace/create_kernel.d.ts.map +0 -1
  217. package/build/modules/ace/kernel.d.ts.map +0 -1
  218. package/build/modules/ace/main.d.ts.map +0 -1
  219. package/build/modules/ace/shell.d.ts.map +0 -1
  220. package/build/modules/app.d.ts.map +0 -1
  221. package/build/modules/bodyparser/bodyparser_middleware.d.ts.map +0 -1
  222. package/build/modules/bodyparser/main.d.ts.map +0 -1
  223. package/build/modules/config.d.ts.map +0 -1
  224. package/build/modules/container.d.ts.map +0 -1
  225. package/build/modules/encryption.d.ts.map +0 -1
  226. package/build/modules/env.d.ts.map +0 -1
  227. package/build/modules/events.d.ts.map +0 -1
  228. package/build/modules/hash/define_config.d.ts.map +0 -1
  229. package/build/modules/hash/drivers_collection.d.ts.map +0 -1
  230. package/build/modules/hash/main.d.ts.map +0 -1
  231. package/build/modules/http.d.ts.map +0 -1
  232. package/build/modules/logger.d.ts.map +0 -1
  233. package/build/providers/app_provider.d.ts.map +0 -1
  234. package/build/providers/hash_provider.d.ts.map +0 -1
  235. package/build/providers/http_provider.d.ts.map +0 -1
  236. package/build/services/ace.d.ts.map +0 -1
  237. package/build/services/app.d.ts.map +0 -1
  238. package/build/services/config.d.ts.map +0 -1
  239. package/build/services/emitter.d.ts.map +0 -1
  240. package/build/services/encryption.d.ts.map +0 -1
  241. package/build/services/hash.d.ts.map +0 -1
  242. package/build/services/logger.d.ts.map +0 -1
  243. package/build/services/router.d.ts.map +0 -1
  244. package/build/services/server.d.ts.map +0 -1
  245. package/build/services/test_utils.d.ts.map +0 -1
  246. package/build/src/cli_formatters/routes_list.d.ts.map +0 -1
  247. package/build/src/debug.d.ts.map +0 -1
  248. package/build/src/helpers/is.d.ts.map +0 -1
  249. package/build/src/helpers/main.d.ts.map +0 -1
  250. package/build/src/helpers/parse_binding_reference.d.ts.map +0 -1
  251. package/build/src/helpers/string.d.ts.map +0 -1
  252. package/build/src/helpers/types.d.ts.map +0 -1
  253. package/build/src/ignitor/ace.d.ts.map +0 -1
  254. package/build/src/ignitor/http.d.ts.map +0 -1
  255. package/build/src/ignitor/main.d.ts.map +0 -1
  256. package/build/src/ignitor/test.d.ts.map +0 -1
  257. package/build/src/internal_helpers.d.ts.map +0 -1
  258. package/build/src/test_utils/http.d.ts.map +0 -1
  259. package/build/src/test_utils/main.d.ts.map +0 -1
  260. package/build/src/types.d.ts.map +0 -1
  261. package/build/stubs/index.d.ts.map +0 -1
  262. package/build/toolkit/commands/index_commands.d.ts.map +0 -1
  263. package/build/toolkit/main.d.ts.map +0 -1
  264. package/build/types/ace.d.ts.map +0 -1
  265. package/build/types/app.d.ts.map +0 -1
  266. package/build/types/bodyparser.d.ts.map +0 -1
  267. package/build/types/container.d.ts.map +0 -1
  268. package/build/types/encryption.d.ts.map +0 -1
  269. package/build/types/events.d.ts.map +0 -1
  270. package/build/types/hash.d.ts.map +0 -1
  271. package/build/types/http.d.ts.map +0 -1
  272. package/build/types/logger.d.ts.map +0 -1
  273. package/commands/build.ts +0 -122
  274. package/commands/configure.ts +0 -179
  275. package/commands/eject.ts +0 -39
  276. package/commands/generate_key.ts +0 -53
  277. package/commands/inspect_rcfile.ts +0 -23
  278. package/commands/list/routes.ts +0 -121
  279. package/commands/make/_base.ts +0 -55
  280. package/commands/make/command.ts +0 -33
  281. package/commands/make/controller.ts +0 -77
  282. package/commands/make/event.ts +0 -33
  283. package/commands/make/listener.ts +0 -63
  284. package/commands/make/middleware.ts +0 -34
  285. package/commands/make/prldfile.ts +0 -40
  286. package/commands/make/provider.ts +0 -40
  287. package/commands/make/service.ts +0 -33
  288. package/commands/make/test.ts +0 -115
  289. package/commands/serve.ts +0 -146
  290. package/commands/test.ts +0 -189
  291. package/factories/app.ts +0 -10
  292. package/factories/bodyparser.ts +0 -10
  293. package/factories/core/ace.ts +0 -38
  294. package/factories/core/ignitor.ts +0 -132
  295. package/factories/core/main.ts +0 -13
  296. package/factories/core/test_utils.ts +0 -34
  297. package/factories/encryption.ts +0 -10
  298. package/factories/events.ts +0 -10
  299. package/factories/hash.ts +0 -10
  300. package/factories/http.ts +0 -10
  301. package/factories/logger.ts +0 -10
  302. package/factories/stubs.ts +0 -53
  303. package/index.ts +0 -39
  304. package/legacy/validator.ts +0 -10
  305. package/modules/ace/commands.ts +0 -152
  306. package/modules/ace/create_kernel.ts +0 -73
  307. package/modules/ace/kernel.ts +0 -28
  308. package/modules/ace/main.ts +0 -22
  309. package/modules/ace/shell.ts +0 -49
  310. package/modules/app.ts +0 -10
  311. package/modules/bodyparser/bodyparser_middleware.ts +0 -16
  312. package/modules/bodyparser/main.ts +0 -10
  313. package/modules/config.ts +0 -10
  314. package/modules/container.ts +0 -10
  315. package/modules/encryption.ts +0 -10
  316. package/modules/env.ts +0 -10
  317. package/modules/events.ts +0 -10
  318. package/modules/hash/define_config.ts +0 -64
  319. package/modules/hash/drivers_collection.ts +0 -61
  320. package/modules/hash/main.ts +0 -12
  321. package/modules/http.ts +0 -10
  322. package/modules/logger.ts +0 -10
  323. package/providers/app_provider.ts +0 -125
  324. package/providers/hash_provider.ts +0 -58
  325. package/providers/http_provider.ts +0 -66
  326. package/services/ace.ts +0 -26
  327. package/services/app.ts +0 -26
  328. package/services/config.ts +0 -22
  329. package/services/emitter.ts +0 -23
  330. package/services/encryption.ts +0 -23
  331. package/services/hash.ts +0 -23
  332. package/services/logger.ts +0 -23
  333. package/services/router.ts +0 -23
  334. package/services/server.ts +0 -23
  335. package/services/test_utils.ts +0 -26
  336. package/src/cli_formatters/routes_list.ts +0 -480
  337. package/src/debug.ts +0 -12
  338. package/src/helpers/is.ts +0 -11
  339. package/src/helpers/main.ts +0 -13
  340. package/src/helpers/parse_binding_reference.ts +0 -93
  341. package/src/helpers/string.ts +0 -89
  342. package/src/helpers/types.ts +0 -46
  343. package/src/ignitor/ace.ts +0 -90
  344. package/src/ignitor/http.ts +0 -167
  345. package/src/ignitor/main.ts +0 -118
  346. package/src/ignitor/test.ts +0 -51
  347. package/src/internal_helpers.ts +0 -59
  348. package/src/test_utils/http.ts +0 -79
  349. package/src/test_utils/main.ts +0 -69
  350. package/src/types.ts +0 -136
  351. package/types/ace.ts +0 -15
  352. package/types/app.ts +0 -10
  353. package/types/bodyparser.ts +0 -10
  354. package/types/container.ts +0 -10
  355. package/types/encryption.ts +0 -10
  356. package/types/events.ts +0 -10
  357. package/types/hash.ts +0 -10
  358. package/types/http.ts +0 -10
  359. package/types/logger.ts +0 -10
@@ -1,16 +1,36 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  import { Ignitor } from '../../src/ignitor/main.js';
2
10
  import { defineConfig as defineHttpConfig } from '../../modules/http.js';
3
11
  import { defineConfig as defineLoggerConfig } from '../../modules/logger.js';
4
12
  import { defineConfig as defineHashConfig } from '../../modules/hash/main.js';
5
13
  import { defineConfig as defineBodyParserConfig } from '../../modules/bodyparser/main.js';
14
+ /**
15
+ * Ignitor factory creates an instance of the AdonisJS ignitor
16
+ */
6
17
  export class IgnitorFactory {
7
18
  #preloadActions = [];
8
19
  #parameters = {};
20
+ /**
21
+ * A flag to know if we should load the core providers
22
+ */
9
23
  #loadCoreProviders = false;
24
+ /**
25
+ * Define preload actions to run.
26
+ */
10
27
  preload(action) {
11
28
  this.#preloadActions.push(action);
12
29
  return this;
13
30
  }
31
+ /**
32
+ * Merge core providers with user defined providers
33
+ */
14
34
  #mergeCoreProviders(providers) {
15
35
  return [
16
36
  '@adonisjs/core/providers/app_provider',
@@ -18,6 +38,9 @@ export class IgnitorFactory {
18
38
  '@adonisjs/core/providers/http_provider',
19
39
  ].concat(providers || []);
20
40
  }
41
+ /**
42
+ * Merge custom factory parameters
43
+ */
21
44
  merge(params) {
22
45
  if (params.config) {
23
46
  this.#parameters.config = Object.assign(this.#parameters.config || {}, params.config);
@@ -27,10 +50,17 @@ export class IgnitorFactory {
27
50
  }
28
51
  return this;
29
52
  }
53
+ /**
54
+ * Load core provider when booting the app
55
+ */
30
56
  withCoreProviders() {
31
57
  this.#loadCoreProviders = true;
32
58
  return this;
33
59
  }
60
+ /**
61
+ * Merge default config for the core features. A shallow merge
62
+ * is performed.
63
+ */
34
64
  withCoreConfig() {
35
65
  this.merge({
36
66
  config: {
@@ -58,6 +88,9 @@ export class IgnitorFactory {
58
88
  });
59
89
  return this;
60
90
  }
91
+ /**
92
+ * Create ignitor instance
93
+ */
61
94
  create(appRoot, options) {
62
95
  return new Ignitor(appRoot, options).tap((app) => {
63
96
  app.booted(async () => {
@@ -2,4 +2,3 @@ export { AceFactory } from './ace.js';
2
2
  export { StubsFactory } from '../stubs.js';
3
3
  export { IgnitorFactory } from './ignitor.js';
4
4
  export { TestUtilsFactory } from './test_utils.js';
5
- //# sourceMappingURL=main.d.ts.map
@@ -1,3 +1,11 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  export { AceFactory } from './ace.js';
2
10
  export { StubsFactory } from '../stubs.js';
3
11
  export { IgnitorFactory } from './ignitor.js';
@@ -1,9 +1,11 @@
1
- /// <reference types="node" resolution-mode="require"/>
1
+ /// <reference types="@types/node" resolution-mode="require"/>
2
2
  import { Ignitor } from '../../index.js';
3
3
  import type { IgnitorOptions } from '../../src/types.js';
4
4
  import { TestUtils } from '../../src/test_utils/main.js';
5
+ /**
6
+ * Creates an instance of TestUtils class
7
+ */
5
8
  export declare class TestUtilsFactory {
6
9
  create(ignitor: Ignitor): TestUtils;
7
10
  create(appRoot: URL, options: IgnitorOptions): TestUtils;
8
11
  }
9
- //# sourceMappingURL=test_utils.d.ts.map
@@ -1,6 +1,17 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  import { Ignitor } from '../../index.js';
2
10
  import { IgnitorFactory } from './ignitor.js';
3
11
  import { TestUtils } from '../../src/test_utils/main.js';
12
+ /**
13
+ * Creates an instance of TestUtils class
14
+ */
4
15
  export class TestUtilsFactory {
5
16
  create(ignitorOrAppRoot, options) {
6
17
  if (ignitorOrAppRoot instanceof Ignitor) {
@@ -1,2 +1 @@
1
1
  export * from '@adonisjs/encryption/factories';
2
- //# sourceMappingURL=encryption.d.ts.map
@@ -1 +1,9 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  export * from '@adonisjs/encryption/factories';
@@ -1,2 +1 @@
1
1
  export * from '@adonisjs/events/factories';
2
- //# sourceMappingURL=events.d.ts.map
@@ -1 +1,9 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  export * from '@adonisjs/events/factories';
@@ -1,2 +1 @@
1
1
  export * from '@adonisjs/hash/factories';
2
- //# sourceMappingURL=hash.d.ts.map
@@ -1 +1,9 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  export * from '@adonisjs/hash/factories';
@@ -1,2 +1 @@
1
1
  export * from '@adonisjs/http-server/factories';
2
- //# sourceMappingURL=http.d.ts.map
@@ -1 +1,9 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  export * from '@adonisjs/http-server/factories';
@@ -1,2 +1 @@
1
1
  export * from '@adonisjs/logger/factories';
2
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +1,9 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  export * from '@adonisjs/logger/factories';
@@ -2,9 +2,19 @@ import type { ApplicationService } from '../src/types.js';
2
2
  type FactoryParameters = {
3
3
  app: ApplicationService;
4
4
  };
5
+ /**
6
+ * Prepares stubs from "@adonisjs/core" package. We do not publish this class as it
7
+ * is for internal testing only using the "stubsRoot" of the core package
8
+ */
5
9
  export declare class StubsFactory {
6
10
  #private;
11
+ /**
12
+ * Merge custom factory parameters
13
+ */
7
14
  merge(params: Partial<FactoryParameters>): this;
15
+ /**
16
+ * Prepares a stub
17
+ */
8
18
  prepare(stubPath: string, data: Record<string, any>): Promise<{
9
19
  contents: any;
10
20
  destination: any;
@@ -13,4 +23,3 @@ export declare class StubsFactory {
13
23
  }>;
14
24
  }
15
25
  export {};
16
- //# sourceMappingURL=stubs.d.ts.map
@@ -1,14 +1,35 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  import { AppFactory } from '@adonisjs/application/factories';
2
10
  import { stubsRoot } from '../index.js';
11
+ /**
12
+ * Prepares stubs from "@adonisjs/core" package. We do not publish this class as it
13
+ * is for internal testing only using the "stubsRoot" of the core package
14
+ */
3
15
  export class StubsFactory {
4
16
  #parameters = {};
17
+ /**
18
+ * Returns an instance of application
19
+ */
5
20
  #getApp() {
6
21
  return this.#parameters.app || new AppFactory().create(new URL('./', import.meta.url), () => { });
7
22
  }
23
+ /**
24
+ * Merge custom factory parameters
25
+ */
8
26
  merge(params) {
9
27
  this.#parameters = Object.assign(this.#parameters, params);
10
28
  return this;
11
29
  }
30
+ /**
31
+ * Prepares a stub
32
+ */
12
33
  async prepare(stubPath, data) {
13
34
  const app = this.#getApp();
14
35
  await app.init();
package/build/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
1
+ /// <reference types="@types/node" resolution-mode="require"/>
2
2
  export { stubsRoot } from './stubs/index.js';
3
3
  export { inject } from './modules/container.js';
4
4
  export { Ignitor } from './src/ignitor/main.js';
@@ -140,5 +140,8 @@ export declare const errors: {
140
140
  E_INSECURE_APP_KEY: new (args?: any, options?: ErrorOptions | undefined) => import("@poppinss/utils").Exception;
141
141
  E_MISSING_APP_KEY: new (args?: any, options?: ErrorOptions | undefined) => import("@poppinss/utils").Exception;
142
142
  };
143
+ /**
144
+ * Pretty prints an error with colorful output using
145
+ * Youch terminal
146
+ */
143
147
  export declare function prettyPrintError(error: any): Promise<void>;
144
- //# sourceMappingURL=index.d.ts.map
package/build/index.js CHANGED
@@ -1,3 +1,11 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  import { errors as aceErrors } from '@adonisjs/ace';
2
10
  import { errors as envErrors } from '@adonisjs/env';
3
11
  import { errors as appErrors } from '@adonisjs/application';
@@ -13,7 +21,12 @@ export const errors = {
13
21
  ...aceErrors,
14
22
  ...envErrors,
15
23
  };
24
+ /**
25
+ * Pretty prints an error with colorful output using
26
+ * Youch terminal
27
+ */
16
28
  export async function prettyPrintError(error) {
29
+ // @ts-expect-error
17
30
  const { default: youchTerminal } = await import('youch-terminal');
18
31
  const { default: Youch } = await import('youch');
19
32
  const youch = new Youch(error, {});
@@ -2,26 +2,148 @@ import { BaseCommand as AceBaseCommand, ListCommand as AceListCommand } from '@a
2
2
  import { Kernel } from './kernel.js';
3
3
  import type { ApplicationService } from '../../src/types.js';
4
4
  import type { CommandOptions, ParsedOutput, UIPrimitives } from '../../types/ace.js';
5
+ /**
6
+ * Wrapper around the stub generation logic.
7
+ * Allow commands to easily generate files from given stubs
8
+ */
9
+ declare class StubGenerator {
10
+ #private;
11
+ constructor(command: BaseCommand, flags: Record<string, any>);
12
+ generate(stubsRoot: string, stubPath: string, stubState: Record<string, any>): Promise<{
13
+ relativeFileName: string;
14
+ contents: any;
15
+ destination: any;
16
+ attributes: any;
17
+ status: "created";
18
+ skipReason: null;
19
+ } | {
20
+ relativeFileName: string;
21
+ contents: any;
22
+ destination: any;
23
+ attributes: any;
24
+ status: "force_created";
25
+ skipReason: null;
26
+ } | {
27
+ relativeFileName: string;
28
+ contents: any;
29
+ destination: any;
30
+ attributes: any;
31
+ status: "skipped";
32
+ skipReason: string;
33
+ }>;
34
+ }
35
+ /**
36
+ * The base command to create custom ace commands. The AdonisJS base commands
37
+ * receives the application instance
38
+ */
5
39
  export declare class BaseCommand extends AceBaseCommand {
6
40
  app: ApplicationService;
7
41
  kernel: Kernel;
42
+ stubGenerator: StubGenerator;
8
43
  static options: CommandOptions;
9
44
  get staysAlive(): boolean | undefined;
10
45
  get startApp(): boolean | undefined;
11
46
  constructor(app: ApplicationService, kernel: Kernel, parsed: ParsedOutput, ui: UIPrimitives, prompt: Kernel['prompt']);
47
+ /**
48
+ * The prepare template method is used to prepare the
49
+ * state for the command. This is the first method
50
+ * executed on a given command instance.
51
+ */
12
52
  prepare?(..._: any[]): any;
53
+ /**
54
+ * The interact template method is used to display the prompts
55
+ * to the user. The method is called after the prepare
56
+ * method.
57
+ */
13
58
  interact?(..._: any[]): any;
59
+ /**
60
+ * The completed method is the method invoked after the command
61
+ * finishes or results in an error.
62
+ *
63
+ * You can access the command error using the `this.error` property.
64
+ * Returning `true` from completed method supresses the error
65
+ * reporting to the kernel layer.
66
+ */
14
67
  completed?(..._: any[]): any;
68
+ /**
69
+ * Make a new file using the given stub
70
+ */
71
+ makeUsingStub(stubPath: string, stubState: Record<string, any>, stubsRoot: string): Promise<{
72
+ relativeFileName: string;
73
+ contents: any;
74
+ destination: any;
75
+ attributes: any;
76
+ status: "created";
77
+ skipReason: null;
78
+ } | {
79
+ relativeFileName: string;
80
+ contents: any;
81
+ destination: any;
82
+ attributes: any;
83
+ status: "force_created";
84
+ skipReason: null;
85
+ } | {
86
+ relativeFileName: string;
87
+ contents: any;
88
+ destination: any;
89
+ attributes: any;
90
+ status: "skipped";
91
+ skipReason: string;
92
+ }>;
93
+ /**
94
+ * Executes the command
95
+ */
15
96
  exec(): Promise<any>;
97
+ /**
98
+ * Terminate the app. A command should prefer calling this method
99
+ * over the "app.terminate", because this method only triggers
100
+ * app termination when the current command is in the charge
101
+ * of the process.
102
+ */
16
103
  terminate(): Promise<void>;
17
104
  }
105
+ /**
106
+ * The List command is used to display a list of commands
107
+ */
18
108
  export declare class ListCommand extends AceListCommand implements BaseCommand {
19
109
  app: ApplicationService;
20
110
  kernel: Kernel;
111
+ stubGenerator: StubGenerator;
21
112
  static options: CommandOptions;
22
113
  get staysAlive(): boolean | undefined;
23
114
  get startApp(): boolean | undefined;
24
115
  constructor(app: ApplicationService, kernel: Kernel, parsed: ParsedOutput, ui: UIPrimitives, prompt: Kernel['prompt']);
116
+ /**
117
+ * Make a new file using the given stub
118
+ */
119
+ makeUsingStub(stubPath: string, stubState: Record<string, any>, stubsRoot: string): Promise<{
120
+ relativeFileName: string;
121
+ contents: any;
122
+ destination: any;
123
+ attributes: any;
124
+ status: "created";
125
+ skipReason: null;
126
+ } | {
127
+ relativeFileName: string;
128
+ contents: any;
129
+ destination: any;
130
+ attributes: any;
131
+ status: "force_created";
132
+ skipReason: null;
133
+ } | {
134
+ relativeFileName: string;
135
+ contents: any;
136
+ destination: any;
137
+ attributes: any;
138
+ status: "skipped";
139
+ skipReason: string;
140
+ }>;
141
+ /**
142
+ * Terminate the app. A command should prefer calling this method
143
+ * over the "app.terminate", because this method only triggers
144
+ * app termination when the current command is in the charge
145
+ * of the process.
146
+ */
25
147
  terminate(): Promise<void>;
26
148
  }
27
- //# sourceMappingURL=commands.d.ts.map
149
+ export {};
@@ -1,7 +1,45 @@
1
+ /*
2
+ * @adonisjs/core
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  import { BaseCommand as AceBaseCommand, ListCommand as AceListCommand } from '@adonisjs/ace';
2
- class BaseCommand extends AceBaseCommand {
10
+ import { slash } from '@poppinss/utils';
11
+ /**
12
+ * Wrapper around the stub generation logic.
13
+ * Allow commands to easily generate files from given stubs
14
+ */
15
+ class StubGenerator {
16
+ #command;
17
+ #flags;
18
+ constructor(command, flags) {
19
+ this.#command = command;
20
+ this.#flags = flags;
21
+ }
22
+ async generate(stubsRoot, stubPath, stubState) {
23
+ const stub = await this.#command.app.stubs.build(stubPath, { source: stubsRoot });
24
+ const output = await stub.generate(Object.assign({ flags: this.#flags }, stubState));
25
+ const entityFileName = slash(this.#command.app.relativePath(output.destination));
26
+ const result = { ...output, relativeFileName: entityFileName };
27
+ if (output.status === 'skipped') {
28
+ this.#command.logger.action(`create ${entityFileName}`).skipped(output.skipReason);
29
+ return result;
30
+ }
31
+ this.#command.logger.action(`create ${entityFileName}`).succeeded();
32
+ return result;
33
+ }
34
+ }
35
+ /**
36
+ * The base command to create custom ace commands. The AdonisJS base commands
37
+ * receives the application instance
38
+ */
39
+ export class BaseCommand extends AceBaseCommand {
3
40
  app;
4
41
  kernel;
42
+ stubGenerator = new StubGenerator(this, this.parsed?.flags || {});
5
43
  static options = {};
6
44
  get staysAlive() {
7
45
  return this.constructor.options.staysAlive;
@@ -14,12 +52,27 @@ class BaseCommand extends AceBaseCommand {
14
52
  this.app = app;
15
53
  this.kernel = kernel;
16
54
  }
55
+ /**
56
+ * Make a new file using the given stub
57
+ */
58
+ async makeUsingStub(stubPath, stubState, stubsRoot) {
59
+ return this.stubGenerator.generate(stubsRoot, stubPath, stubState);
60
+ }
61
+ /**
62
+ * Executes the command
63
+ */
17
64
  async exec() {
18
65
  this.hydrate();
19
66
  try {
67
+ /**
68
+ * Executing the template methods
69
+ */
20
70
  this.prepare && (await this.app.container.call(this, 'prepare'));
21
71
  this.interact && (await this.app.container.call(this, 'interact'));
22
72
  const result = await this.app.container.call(this, 'run');
73
+ /**
74
+ * Set exit code
75
+ */
23
76
  this.result = this.result === undefined ? result : this.result;
24
77
  this.exitCode = this.exitCode ?? 0;
25
78
  }
@@ -27,6 +80,10 @@ class BaseCommand extends AceBaseCommand {
27
80
  this.error = error;
28
81
  this.exitCode = this.exitCode ?? 1;
29
82
  }
83
+ /**
84
+ * Run the completed method (if exists) and check if has handled
85
+ * the error
86
+ */
30
87
  let errorHandled = this.completed
31
88
  ? await this.app.container.call(this, 'completed')
32
89
  : false;
@@ -35,16 +92,25 @@ class BaseCommand extends AceBaseCommand {
35
92
  }
36
93
  return this.result;
37
94
  }
95
+ /**
96
+ * Terminate the app. A command should prefer calling this method
97
+ * over the "app.terminate", because this method only triggers
98
+ * app termination when the current command is in the charge
99
+ * of the process.
100
+ */
38
101
  async terminate() {
39
102
  if (this.kernel.getMainCommand() === this) {
40
103
  await this.app.terminate();
41
104
  }
42
105
  }
43
106
  }
44
- export { BaseCommand };
45
- class ListCommand extends AceListCommand {
107
+ /**
108
+ * The List command is used to display a list of commands
109
+ */
110
+ export class ListCommand extends AceListCommand {
46
111
  app;
47
112
  kernel;
113
+ stubGenerator = new StubGenerator(this, this.parsed?.flags || {});
48
114
  static options = {};
49
115
  get staysAlive() {
50
116
  return this.constructor.options.staysAlive;
@@ -57,10 +123,21 @@ class ListCommand extends AceListCommand {
57
123
  this.app = app;
58
124
  this.kernel = kernel;
59
125
  }
126
+ /**
127
+ * Make a new file using the given stub
128
+ */
129
+ async makeUsingStub(stubPath, stubState, stubsRoot) {
130
+ return this.stubGenerator.generate(stubsRoot, stubPath, stubState);
131
+ }
132
+ /**
133
+ * Terminate the app. A command should prefer calling this method
134
+ * over the "app.terminate", because this method only triggers
135
+ * app termination when the current command is in the charge
136
+ * of the process.
137
+ */
60
138
  async terminate() {
61
139
  if (this.kernel.getMainCommand() === this) {
62
140
  await this.app.terminate();
63
141
  }
64
142
  }
65
143
  }
66
- export { ListCommand };
@@ -1,4 +1,12 @@
1
1
  import { Kernel } from './main.js';
2
2
  import type { ApplicationService } from '../../src/types.js';
3
+ /**
4
+ * We abstract the logic for creating the ace kernel in this
5
+ * file. So that both the "console" environment and rest
6
+ * of the environments can configure and use ace.
7
+ *
8
+ * - In console environment, ace manages the lifecycle of the process
9
+ * - In other environments, ace can be pulled from the container to
10
+ * run commands
11
+ */
3
12
  export declare function createAceKernel(app: ApplicationService): Kernel;
4
- //# sourceMappingURL=create_kernel.d.ts.map
@@ -1,11 +1,36 @@
1
+ /*
2
+ * @adonisjs/ace
3
+ *
4
+ * (c) AdonisJS
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
1
9
  import { Kernel } from './main.js';
2
10
  import { FsLoader, HelpCommand } from '../../modules/ace/main.js';
11
+ /**
12
+ * We abstract the logic for creating the ace kernel in this
13
+ * file. So that both the "console" environment and rest
14
+ * of the environments can configure and use ace.
15
+ *
16
+ * - In console environment, ace manages the lifecycle of the process
17
+ * - In other environments, ace can be pulled from the container to
18
+ * run commands
19
+ */
3
20
  export function createAceKernel(app) {
4
21
  const kernel = new Kernel(app);
5
22
  kernel.addLoader(new FsLoader(app.commandsPath()));
23
+ kernel.info.set('binary', 'node ace');
24
+ /**
25
+ * Lazy import commands mentioned in the "commands" array
26
+ * of rcFile
27
+ */
6
28
  app.rcFile.commands.forEach((commandModule) => {
7
29
  kernel.addLoader(() => app.import(commandModule));
8
30
  });
31
+ /**
32
+ * Custom global flags
33
+ */
9
34
  kernel.defineFlag('ansi', {
10
35
  type: 'boolean',
11
36
  showNegatedVariantInHelp: true,
@@ -15,6 +40,9 @@ export function createAceKernel(app) {
15
40
  type: 'boolean',
16
41
  description: HelpCommand.description,
17
42
  });
43
+ /**
44
+ * Flag listener to turn colors on/off
45
+ */
18
46
  kernel.on('ansi', (_, $kernel, parsed) => {
19
47
  if (parsed.flags.ansi === false) {
20
48
  $kernel.ui.switchMode('silent');
@@ -23,6 +51,9 @@ export function createAceKernel(app) {
23
51
  $kernel.ui.switchMode('normal');
24
52
  }
25
53
  });
54
+ /**
55
+ * Flag listener to display the help
56
+ */
26
57
  kernel.on('help', async (command, $kernel, parsed) => {
27
58
  parsed.args.unshift(command.commandName);
28
59
  const help = new HelpCommand($kernel, parsed, kernel.ui, kernel.prompt);
@@ -1,8 +1,11 @@
1
1
  import { Kernel as AceKernel } from '@adonisjs/ace';
2
2
  import { BaseCommand } from './commands.js';
3
3
  import type { ApplicationService } from '../../src/types.js';
4
+ /**
5
+ * The base command to create custom ace commands. The AdonisJS base commands
6
+ * receives the application instance
7
+ */
4
8
  export declare class Kernel extends AceKernel<typeof BaseCommand> {
5
9
  app: ApplicationService;
6
10
  constructor(app: ApplicationService);
7
11
  }
8
- //# sourceMappingURL=kernel.d.ts.map