@adonisjs/core 6.1.5-4 → 6.1.5-6

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 (374) hide show
  1. package/build/commands/build.d.ts +8 -1
  2. package/build/commands/build.js +49 -26
  3. package/build/commands/commands.json +1 -1
  4. package/build/commands/configure.d.ts +36 -1
  5. package/build/commands/configure.js +85 -8
  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/{prldfile.d.ts → exception.d.ts} +7 -2
  23. package/build/commands/make/exception.js +35 -0
  24. package/build/commands/make/listener.d.ts +7 -1
  25. package/build/commands/make/listener.js +21 -9
  26. package/build/commands/make/middleware.d.ts +7 -1
  27. package/build/commands/make/middleware.js +17 -7
  28. package/build/commands/make/preload.d.ts +22 -0
  29. package/build/commands/make/preload.js +95 -0
  30. package/build/commands/make/provider.d.ts +6 -1
  31. package/build/commands/make/provider.js +20 -7
  32. package/build/commands/make/service.d.ts +6 -1
  33. package/build/commands/make/service.js +16 -7
  34. package/build/commands/make/test.d.ts +9 -1
  35. package/build/commands/make/test.js +42 -9
  36. package/build/commands/repl.d.ts +14 -0
  37. package/build/commands/repl.js +30 -0
  38. package/build/commands/serve.d.ts +10 -1
  39. package/build/commands/serve.js +63 -32
  40. package/build/commands/test.d.ts +13 -2
  41. package/build/commands/test.js +108 -60
  42. package/build/factories/app.d.ts +0 -1
  43. package/build/factories/app.js +8 -0
  44. package/build/factories/bodyparser.d.ts +0 -1
  45. package/build/factories/bodyparser.js +8 -0
  46. package/build/factories/core/ace.d.ts +4 -2
  47. package/build/factories/core/ace.js +11 -0
  48. package/build/factories/core/ignitor.d.ts +20 -2
  49. package/build/factories/core/ignitor.js +33 -0
  50. package/build/factories/core/main.d.ts +0 -1
  51. package/build/factories/core/main.js +8 -0
  52. package/build/factories/core/test_utils.d.ts +4 -2
  53. package/build/factories/core/test_utils.js +11 -0
  54. package/build/factories/encryption.d.ts +0 -1
  55. package/build/factories/encryption.js +8 -0
  56. package/build/factories/events.d.ts +0 -1
  57. package/build/factories/events.js +8 -0
  58. package/build/factories/hash.d.ts +0 -1
  59. package/build/factories/hash.js +8 -0
  60. package/build/factories/http.d.ts +0 -1
  61. package/build/factories/http.js +8 -0
  62. package/build/factories/logger.d.ts +0 -1
  63. package/build/factories/logger.js +8 -0
  64. package/build/factories/stubs.d.ts +10 -1
  65. package/build/factories/stubs.js +21 -0
  66. package/build/index.d.ts +5 -2
  67. package/build/index.js +13 -0
  68. package/build/modules/ace/commands.d.ts +123 -1
  69. package/build/modules/ace/commands.js +81 -4
  70. package/build/modules/ace/create_kernel.d.ts +9 -1
  71. package/build/modules/ace/create_kernel.js +30 -0
  72. package/build/modules/ace/kernel.d.ts +4 -1
  73. package/build/modules/ace/kernel.js +12 -0
  74. package/build/modules/ace/main.d.ts +0 -1
  75. package/build/modules/ace/main.js +8 -0
  76. package/build/modules/ace/shell.d.ts +9 -2
  77. package/build/modules/ace/shell.js +21 -0
  78. package/build/modules/app.d.ts +0 -1
  79. package/build/modules/app.js +8 -0
  80. package/build/modules/bodyparser/bodyparser_middleware.d.ts +4 -1
  81. package/build/modules/bodyparser/bodyparser_middleware.js +12 -0
  82. package/build/modules/bodyparser/main.d.ts +0 -1
  83. package/build/modules/bodyparser/main.js +8 -0
  84. package/build/modules/config.d.ts +0 -1
  85. package/build/modules/config.js +8 -0
  86. package/build/modules/container.d.ts +0 -1
  87. package/build/modules/container.js +8 -0
  88. package/build/modules/encryption.d.ts +0 -1
  89. package/build/modules/encryption.js +8 -0
  90. package/build/modules/env.d.ts +0 -1
  91. package/build/modules/env.js +8 -0
  92. package/build/modules/events.d.ts +0 -1
  93. package/build/modules/events.js +8 -0
  94. package/build/modules/hash/define_config.d.ts +3 -1
  95. package/build/modules/hash/define_config.js +20 -0
  96. package/build/modules/hash/drivers_collection.d.ts +13 -1
  97. package/build/modules/hash/drivers_collection.js +29 -0
  98. package/build/modules/hash/main.d.ts +0 -1
  99. package/build/modules/hash/main.js +8 -0
  100. package/build/modules/http.d.ts +0 -1
  101. package/build/modules/http.js +8 -0
  102. package/build/modules/logger.d.ts +0 -1
  103. package/build/modules/logger.js +8 -0
  104. package/build/modules/repl.d.ts +1 -0
  105. package/{modules/container.ts → build/modules/repl.js} +1 -2
  106. package/build/providers/app_provider.d.ts +31 -3
  107. package/build/providers/app_provider.js +39 -8
  108. package/build/providers/hash_provider.d.ts +16 -1
  109. package/build/providers/hash_provider.js +24 -0
  110. package/build/providers/http_provider.d.ts +17 -1
  111. package/build/providers/http_provider.js +25 -0
  112. package/build/providers/repl_provider.d.ts +13 -0
  113. package/build/providers/repl_provider.js +33 -0
  114. package/build/services/ace.d.ts +0 -1
  115. package/build/services/ace.js +15 -0
  116. package/build/services/app.d.ts +8 -1
  117. package/build/services/app.js +16 -0
  118. package/build/services/config.d.ts +0 -1
  119. package/build/services/config.js +11 -0
  120. package/build/services/emitter.d.ts +0 -1
  121. package/build/services/emitter.js +12 -0
  122. package/build/services/encryption.d.ts +0 -1
  123. package/build/services/encryption.js +12 -0
  124. package/build/services/hash.d.ts +0 -1
  125. package/build/services/hash.js +12 -0
  126. package/build/services/logger.d.ts +0 -1
  127. package/build/services/logger.js +12 -0
  128. package/build/services/repl.d.ts +3 -0
  129. package/build/services/repl.js +18 -0
  130. package/build/services/router.d.ts +0 -1
  131. package/build/services/router.js +12 -0
  132. package/build/services/server.d.ts +0 -1
  133. package/build/services/server.js +12 -0
  134. package/build/services/test_utils.d.ts +0 -1
  135. package/build/services/test_utils.js +15 -0
  136. package/build/src/bindings/repl.d.ts +6 -0
  137. package/build/src/bindings/repl.js +78 -0
  138. package/build/src/cli_formatters/routes_list.d.ts +23 -1
  139. package/build/src/cli_formatters/routes_list.js +118 -0
  140. package/build/src/debug.d.ts +1 -2
  141. package/build/src/debug.js +8 -0
  142. package/build/src/exceptions.d.ts +1 -0
  143. package/{factories/app.ts → build/src/exceptions.js} +1 -2
  144. package/build/src/helpers/is.d.ts +0 -1
  145. package/build/src/helpers/is.js +8 -0
  146. package/build/src/helpers/main.d.ts +0 -1
  147. package/build/src/helpers/main.js +8 -0
  148. package/build/src/helpers/parse_binding_reference.d.ts +40 -1
  149. package/build/src/helpers/parse_binding_reference.js +60 -0
  150. package/build/src/helpers/string.d.ts +24 -1
  151. package/build/src/helpers/string.js +11 -0
  152. package/build/src/helpers/types.d.ts +7 -3
  153. package/build/src/helpers/types.js +13 -0
  154. package/build/src/ignitor/ace.d.ts +12 -1
  155. package/build/src/ignitor/ace.js +50 -1
  156. package/build/src/ignitor/http.d.ts +9 -3
  157. package/build/src/ignitor/http.js +67 -0
  158. package/build/src/ignitor/main.d.ts +29 -2
  159. package/build/src/ignitor/main.js +56 -0
  160. package/build/src/ignitor/test.d.ts +10 -1
  161. package/build/src/ignitor/test.js +25 -0
  162. package/build/src/internal_helpers.d.ts +12 -6
  163. package/build/src/internal_helpers.js +35 -7
  164. package/build/src/test_utils/http.d.ts +10 -3
  165. package/build/src/test_utils/http.js +19 -0
  166. package/build/src/test_utils/main.d.ts +19 -2
  167. package/build/src/test_utils/main.js +26 -0
  168. package/build/src/types.d.ts +58 -1
  169. package/build/src/types.js +8 -0
  170. package/build/stubs/index.d.ts +0 -1
  171. package/build/stubs/index.js +8 -0
  172. package/build/stubs/make/exception/main.stub +10 -0
  173. package/build/toolkit/commands/index_commands.d.ts +4 -1
  174. package/build/toolkit/commands/index_commands.js +14 -7
  175. package/build/toolkit/main.d.ts +0 -1
  176. package/build/toolkit/main.js +11 -0
  177. package/build/types/ace.d.ts +0 -1
  178. package/build/types/ace.js +8 -0
  179. package/build/types/app.d.ts +0 -1
  180. package/build/types/app.js +8 -0
  181. package/build/types/bodyparser.d.ts +0 -1
  182. package/build/types/bodyparser.js +8 -0
  183. package/build/types/container.d.ts +0 -1
  184. package/build/types/container.js +8 -0
  185. package/build/types/encryption.d.ts +0 -1
  186. package/build/types/encryption.js +8 -0
  187. package/build/types/events.d.ts +0 -1
  188. package/build/types/events.js +8 -0
  189. package/build/types/hash.d.ts +0 -1
  190. package/build/types/hash.js +8 -0
  191. package/build/types/http.d.ts +0 -1
  192. package/build/types/http.js +8 -0
  193. package/build/types/logger.d.ts +0 -1
  194. package/build/types/logger.js +8 -0
  195. package/build/types/repl.d.ts +1 -0
  196. package/{modules/config.ts → build/types/repl.js} +1 -2
  197. package/package.json +65 -126
  198. package/build/commands/build.d.ts.map +0 -1
  199. package/build/commands/configure.d.ts.map +0 -1
  200. package/build/commands/eject.d.ts.map +0 -1
  201. package/build/commands/generate_key.d.ts.map +0 -1
  202. package/build/commands/inspect_rcfile.d.ts.map +0 -1
  203. package/build/commands/list/routes.d.ts.map +0 -1
  204. package/build/commands/make/_base.d.ts.map +0 -1
  205. package/build/commands/make/command.d.ts.map +0 -1
  206. package/build/commands/make/controller.d.ts.map +0 -1
  207. package/build/commands/make/event.d.ts.map +0 -1
  208. package/build/commands/make/listener.d.ts.map +0 -1
  209. package/build/commands/make/middleware.d.ts.map +0 -1
  210. package/build/commands/make/prldfile.d.ts.map +0 -1
  211. package/build/commands/make/prldfile.js +0 -28
  212. package/build/commands/make/provider.d.ts.map +0 -1
  213. package/build/commands/make/service.d.ts.map +0 -1
  214. package/build/commands/make/test.d.ts.map +0 -1
  215. package/build/commands/serve.d.ts.map +0 -1
  216. package/build/commands/test.d.ts.map +0 -1
  217. package/build/factories/app.d.ts.map +0 -1
  218. package/build/factories/bodyparser.d.ts.map +0 -1
  219. package/build/factories/core/ace.d.ts.map +0 -1
  220. package/build/factories/core/ignitor.d.ts.map +0 -1
  221. package/build/factories/core/main.d.ts.map +0 -1
  222. package/build/factories/core/test_utils.d.ts.map +0 -1
  223. package/build/factories/encryption.d.ts.map +0 -1
  224. package/build/factories/events.d.ts.map +0 -1
  225. package/build/factories/hash.d.ts.map +0 -1
  226. package/build/factories/http.d.ts.map +0 -1
  227. package/build/factories/logger.d.ts.map +0 -1
  228. package/build/factories/stubs.d.ts.map +0 -1
  229. package/build/index.d.ts.map +0 -1
  230. package/build/legacy/validator.d.ts +0 -2
  231. package/build/legacy/validator.d.ts.map +0 -1
  232. package/build/legacy/validator.js +0 -1
  233. package/build/modules/ace/commands.d.ts.map +0 -1
  234. package/build/modules/ace/create_kernel.d.ts.map +0 -1
  235. package/build/modules/ace/kernel.d.ts.map +0 -1
  236. package/build/modules/ace/main.d.ts.map +0 -1
  237. package/build/modules/ace/shell.d.ts.map +0 -1
  238. package/build/modules/app.d.ts.map +0 -1
  239. package/build/modules/bodyparser/bodyparser_middleware.d.ts.map +0 -1
  240. package/build/modules/bodyparser/main.d.ts.map +0 -1
  241. package/build/modules/config.d.ts.map +0 -1
  242. package/build/modules/container.d.ts.map +0 -1
  243. package/build/modules/encryption.d.ts.map +0 -1
  244. package/build/modules/env.d.ts.map +0 -1
  245. package/build/modules/events.d.ts.map +0 -1
  246. package/build/modules/hash/define_config.d.ts.map +0 -1
  247. package/build/modules/hash/drivers_collection.d.ts.map +0 -1
  248. package/build/modules/hash/main.d.ts.map +0 -1
  249. package/build/modules/http.d.ts.map +0 -1
  250. package/build/modules/logger.d.ts.map +0 -1
  251. package/build/providers/app_provider.d.ts.map +0 -1
  252. package/build/providers/hash_provider.d.ts.map +0 -1
  253. package/build/providers/http_provider.d.ts.map +0 -1
  254. package/build/services/ace.d.ts.map +0 -1
  255. package/build/services/app.d.ts.map +0 -1
  256. package/build/services/config.d.ts.map +0 -1
  257. package/build/services/emitter.d.ts.map +0 -1
  258. package/build/services/encryption.d.ts.map +0 -1
  259. package/build/services/hash.d.ts.map +0 -1
  260. package/build/services/logger.d.ts.map +0 -1
  261. package/build/services/router.d.ts.map +0 -1
  262. package/build/services/server.d.ts.map +0 -1
  263. package/build/services/test_utils.d.ts.map +0 -1
  264. package/build/src/cli_formatters/routes_list.d.ts.map +0 -1
  265. package/build/src/debug.d.ts.map +0 -1
  266. package/build/src/helpers/is.d.ts.map +0 -1
  267. package/build/src/helpers/main.d.ts.map +0 -1
  268. package/build/src/helpers/parse_binding_reference.d.ts.map +0 -1
  269. package/build/src/helpers/string.d.ts.map +0 -1
  270. package/build/src/helpers/types.d.ts.map +0 -1
  271. package/build/src/ignitor/ace.d.ts.map +0 -1
  272. package/build/src/ignitor/http.d.ts.map +0 -1
  273. package/build/src/ignitor/main.d.ts.map +0 -1
  274. package/build/src/ignitor/test.d.ts.map +0 -1
  275. package/build/src/internal_helpers.d.ts.map +0 -1
  276. package/build/src/test_utils/http.d.ts.map +0 -1
  277. package/build/src/test_utils/main.d.ts.map +0 -1
  278. package/build/src/types.d.ts.map +0 -1
  279. package/build/stubs/index.d.ts.map +0 -1
  280. package/build/toolkit/commands/index_commands.d.ts.map +0 -1
  281. package/build/toolkit/main.d.ts.map +0 -1
  282. package/build/types/ace.d.ts.map +0 -1
  283. package/build/types/app.d.ts.map +0 -1
  284. package/build/types/bodyparser.d.ts.map +0 -1
  285. package/build/types/container.d.ts.map +0 -1
  286. package/build/types/encryption.d.ts.map +0 -1
  287. package/build/types/events.d.ts.map +0 -1
  288. package/build/types/hash.d.ts.map +0 -1
  289. package/build/types/http.d.ts.map +0 -1
  290. package/build/types/logger.d.ts.map +0 -1
  291. package/commands/build.ts +0 -122
  292. package/commands/configure.ts +0 -179
  293. package/commands/eject.ts +0 -39
  294. package/commands/generate_key.ts +0 -53
  295. package/commands/inspect_rcfile.ts +0 -23
  296. package/commands/list/routes.ts +0 -121
  297. package/commands/make/_base.ts +0 -55
  298. package/commands/make/command.ts +0 -33
  299. package/commands/make/controller.ts +0 -77
  300. package/commands/make/event.ts +0 -33
  301. package/commands/make/listener.ts +0 -63
  302. package/commands/make/middleware.ts +0 -34
  303. package/commands/make/prldfile.ts +0 -40
  304. package/commands/make/provider.ts +0 -40
  305. package/commands/make/service.ts +0 -33
  306. package/commands/make/test.ts +0 -115
  307. package/commands/serve.ts +0 -146
  308. package/commands/test.ts +0 -188
  309. package/factories/bodyparser.ts +0 -10
  310. package/factories/core/ace.ts +0 -38
  311. package/factories/core/ignitor.ts +0 -132
  312. package/factories/core/main.ts +0 -13
  313. package/factories/core/test_utils.ts +0 -34
  314. package/factories/encryption.ts +0 -10
  315. package/factories/events.ts +0 -10
  316. package/factories/hash.ts +0 -10
  317. package/factories/http.ts +0 -10
  318. package/factories/logger.ts +0 -10
  319. package/factories/stubs.ts +0 -53
  320. package/index.ts +0 -39
  321. package/legacy/validator.ts +0 -10
  322. package/modules/ace/commands.ts +0 -152
  323. package/modules/ace/create_kernel.ts +0 -74
  324. package/modules/ace/kernel.ts +0 -28
  325. package/modules/ace/main.ts +0 -22
  326. package/modules/ace/shell.ts +0 -49
  327. package/modules/app.ts +0 -10
  328. package/modules/bodyparser/bodyparser_middleware.ts +0 -16
  329. package/modules/bodyparser/main.ts +0 -10
  330. package/modules/encryption.ts +0 -10
  331. package/modules/env.ts +0 -10
  332. package/modules/events.ts +0 -10
  333. package/modules/hash/define_config.ts +0 -64
  334. package/modules/hash/drivers_collection.ts +0 -61
  335. package/modules/hash/main.ts +0 -12
  336. package/modules/http.ts +0 -10
  337. package/modules/logger.ts +0 -10
  338. package/providers/app_provider.ts +0 -125
  339. package/providers/hash_provider.ts +0 -58
  340. package/providers/http_provider.ts +0 -66
  341. package/services/ace.ts +0 -26
  342. package/services/app.ts +0 -26
  343. package/services/config.ts +0 -22
  344. package/services/emitter.ts +0 -23
  345. package/services/encryption.ts +0 -23
  346. package/services/hash.ts +0 -23
  347. package/services/logger.ts +0 -23
  348. package/services/router.ts +0 -23
  349. package/services/server.ts +0 -23
  350. package/services/test_utils.ts +0 -26
  351. package/src/cli_formatters/routes_list.ts +0 -480
  352. package/src/debug.ts +0 -12
  353. package/src/helpers/is.ts +0 -11
  354. package/src/helpers/main.ts +0 -13
  355. package/src/helpers/parse_binding_reference.ts +0 -93
  356. package/src/helpers/string.ts +0 -89
  357. package/src/helpers/types.ts +0 -46
  358. package/src/ignitor/ace.ts +0 -90
  359. package/src/ignitor/http.ts +0 -167
  360. package/src/ignitor/main.ts +0 -118
  361. package/src/ignitor/test.ts +0 -51
  362. package/src/internal_helpers.ts +0 -59
  363. package/src/test_utils/http.ts +0 -79
  364. package/src/test_utils/main.ts +0 -69
  365. package/src/types.ts +0 -136
  366. package/types/ace.ts +0 -15
  367. package/types/app.ts +0 -10
  368. package/types/bodyparser.ts +0 -10
  369. package/types/container.ts +0 -10
  370. package/types/encryption.ts +0 -10
  371. package/types/events.ts +0 -10
  372. package/types/hash.ts +0 -10
  373. package/types/http.ts +0 -10
  374. package/types/logger.ts +0 -10
@@ -1,21 +1,33 @@
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
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
10
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
11
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
12
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
13
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
14
  };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
15
  import { BaseCommand, flags, args } from '../modules/ace/main.js';
11
16
  import { detectAssetsBundler, importAssembler, importTypeScript } from '../src/internal_helpers.js';
12
- class Test extends BaseCommand {
17
+ /**
18
+ * Test command is used to run tests with optional file watcher. Under the
19
+ * hood, we run "bin/test.js" file.
20
+ */
21
+ export default class Test extends BaseCommand {
13
22
  static commandName = 'test';
14
23
  static description = 'Run tests along with the file watcher to re-run tests on file change';
15
24
  static options = {
16
25
  allowUnknownFlags: true,
17
26
  staysAlive: true,
18
27
  };
28
+ /**
29
+ * Log a development dependency is missing
30
+ */
19
31
  #logMissingDevelopmentDependency(dependency) {
20
32
  this.logger.error([
21
33
  `Cannot find package "${dependency}"`,
@@ -25,6 +37,48 @@ class Test extends BaseCommand {
25
37
  'If you are run tests inside a CI, make sure the NODE_ENV is set to "development"',
26
38
  ].join('\n'));
27
39
  }
40
+ /**
41
+ * Collection of unknown flags to pass to Japa
42
+ */
43
+ #getPassthroughFlags() {
44
+ return this.parsed.unknownFlags
45
+ .map((flag) => {
46
+ const value = this.parsed.flags[flag];
47
+ /**
48
+ * Not mentioning value when value is "true"
49
+ */
50
+ if (value === true) {
51
+ return [`--${flag}`];
52
+ }
53
+ /**
54
+ * Repeating flag multiple times when value is an array
55
+ */
56
+ if (Array.isArray(value)) {
57
+ return value.map((v) => [`--${flag}`, v]);
58
+ }
59
+ return [`--${flag}`, value];
60
+ })
61
+ .flat(2);
62
+ }
63
+ /**
64
+ * Returns the assets bundler config
65
+ */
66
+ async #getAssetsBundlerConfig() {
67
+ const assetsBundler = await detectAssetsBundler(this.app);
68
+ return assetsBundler
69
+ ? {
70
+ serve: this.assets === false ? false : true,
71
+ driver: assetsBundler.name,
72
+ cmd: assetsBundler.devServer.command,
73
+ args: (assetsBundler.devServer.args || []).concat(this.assetsArgs || []),
74
+ }
75
+ : {
76
+ serve: false,
77
+ };
78
+ }
79
+ /**
80
+ * Runs tests
81
+ */
28
82
  async run() {
29
83
  const assembler = await importAssembler(this.app);
30
84
  if (!assembler) {
@@ -32,55 +86,52 @@ class Test extends BaseCommand {
32
86
  this.exitCode = 1;
33
87
  return;
34
88
  }
35
- const assetsBundler = await detectAssetsBundler(this.app);
36
- const testRunner = new assembler.TestRunner(this.app.appRoot, {
89
+ this.testsRunner = new assembler.TestRunner(this.app.appRoot, {
37
90
  clearScreen: this.clear === false ? false : true,
38
91
  nodeArgs: this.parsed.nodeArgs,
39
- scriptArgs: this.parsed.unknownFlags
40
- .map((flag) => {
41
- const value = this.parsed.flags[flag];
42
- if (value === true) {
43
- return [`--${flag}`];
44
- }
45
- if (Array.isArray(value)) {
46
- return value.map((v) => [`--${flag}`, v]);
47
- }
48
- return [`--${flag}`, value];
49
- })
50
- .flat(2),
51
- assets: assetsBundler
52
- ? {
53
- serve: this.assets === false ? false : true,
54
- driver: assetsBundler.name,
55
- cmd: assetsBundler.devServerCommand,
56
- args: this.assetsArgs || [],
57
- }
58
- : {
59
- serve: false,
60
- },
92
+ scriptArgs: this.#getPassthroughFlags(),
93
+ assets: await this.#getAssetsBundlerConfig(),
61
94
  filters: {
62
95
  suites: this.suites,
63
96
  files: this.files,
64
97
  groups: this.groups,
65
98
  tags: this.tags,
66
- ignoreTags: this.ignoreTags,
67
99
  tests: this.tests,
68
100
  },
101
+ failed: this.failed,
102
+ retries: this.retries,
103
+ timeout: this.timeout,
104
+ reporters: this.reporters,
69
105
  suites: this.app.rcFile.tests.suites.map((suite) => {
70
106
  return {
71
107
  name: suite.name,
72
- files: Array.isArray(suite.files) ? suite.files : [suite.files],
108
+ files: suite.files,
73
109
  };
74
110
  }),
75
111
  metaFiles: this.app.rcFile.metaFiles,
76
112
  });
77
- testRunner.setLogger(this.logger);
78
- testRunner.onClose((exitCode) => {
113
+ /**
114
+ * Share command logger with assembler, so that CLI flags like --no-ansi has
115
+ * similar impact for assembler logs as well.
116
+ */
117
+ this.testsRunner.setLogger(this.logger);
118
+ /**
119
+ * Exit command when the test runner is closed
120
+ */
121
+ this.testsRunner.onClose((exitCode) => {
79
122
  this.exitCode = exitCode;
123
+ this.terminate();
80
124
  });
81
- testRunner.onError(() => {
125
+ /**
126
+ * Exit command when the dev server crashes
127
+ */
128
+ this.testsRunner.onError(() => {
82
129
  this.exitCode = 1;
130
+ this.terminate();
83
131
  });
132
+ /**
133
+ * Start the test runner in watch mode
134
+ */
84
135
  if (this.watch) {
85
136
  const ts = await importTypeScript(this.app);
86
137
  if (!ts) {
@@ -88,10 +139,10 @@ class Test extends BaseCommand {
88
139
  this.exitCode = 1;
89
140
  return;
90
141
  }
91
- await testRunner.runAndWatch(ts, { poll: this.poll || false });
142
+ await this.testsRunner.runAndWatch(ts, { poll: this.poll || false });
92
143
  }
93
144
  else {
94
- await testRunner.run();
145
+ await this.testsRunner.run();
95
146
  }
96
147
  }
97
148
  }
@@ -99,57 +150,54 @@ __decorate([
99
150
  args.spread({
100
151
  description: 'Mention suite names to run tests for selected suites',
101
152
  required: false,
102
- }),
103
- __metadata("design:type", Array)
153
+ })
104
154
  ], Test.prototype, "suites", void 0);
105
155
  __decorate([
106
- flags.array({ description: 'Filter tests by the filename' }),
107
- __metadata("design:type", Array)
156
+ flags.array({ description: 'Filter tests by the filename' })
108
157
  ], Test.prototype, "files", void 0);
109
158
  __decorate([
110
- flags.array({ description: 'Filter tests by tags' }),
111
- __metadata("design:type", Array)
159
+ flags.array({ description: 'Filter tests by tags' })
112
160
  ], Test.prototype, "tags", void 0);
113
161
  __decorate([
114
- flags.array({ description: 'Run tests that does not have mentioned tags' }),
115
- __metadata("design:type", Array)
116
- ], Test.prototype, "ignoreTags", void 0);
117
- __decorate([
118
- flags.array({ description: 'Filter tests by parent group title' }),
119
- __metadata("design:type", Array)
162
+ flags.array({ description: 'Filter tests by parent group title' })
120
163
  ], Test.prototype, "groups", void 0);
121
164
  __decorate([
122
- flags.array({ description: 'Filter tests by test title' }),
123
- __metadata("design:type", Array)
165
+ flags.array({ description: 'Filter tests by test title' })
124
166
  ], Test.prototype, "tests", void 0);
125
167
  __decorate([
126
- flags.boolean({ description: 'Watch filesystem and re-run tests on file change' }),
127
- __metadata("design:type", Boolean)
168
+ flags.array({ description: 'Activate one or more test reporters' })
169
+ ], Test.prototype, "reporters", void 0);
170
+ __decorate([
171
+ flags.boolean({ description: 'Watch filesystem and re-run tests on file change' })
128
172
  ], Test.prototype, "watch", void 0);
129
173
  __decorate([
130
- flags.boolean({ description: 'Use polling to detect filesystem changes' }),
131
- __metadata("design:type", Boolean)
174
+ flags.boolean({ description: 'Use polling to detect filesystem changes' })
132
175
  ], Test.prototype, "poll", void 0);
176
+ __decorate([
177
+ flags.number({ description: 'Define default timeout for all tests' })
178
+ ], Test.prototype, "timeout", void 0);
179
+ __decorate([
180
+ flags.number({ description: 'Define default retries for all tests' })
181
+ ], Test.prototype, "retries", void 0);
182
+ __decorate([
183
+ flags.boolean({ description: 'Execute tests failed during the last run' })
184
+ ], Test.prototype, "failed", void 0);
133
185
  __decorate([
134
186
  flags.boolean({
135
187
  description: 'Clear the terminal for new logs after file change',
136
188
  showNegatedVariantInHelp: true,
137
189
  default: true,
138
- }),
139
- __metadata("design:type", Boolean)
190
+ })
140
191
  ], Test.prototype, "clear", void 0);
141
192
  __decorate([
142
193
  flags.boolean({
143
194
  description: 'Start assets bundler dev server.',
144
195
  showNegatedVariantInHelp: true,
145
196
  default: true,
146
- }),
147
- __metadata("design:type", Boolean)
197
+ })
148
198
  ], Test.prototype, "assets", void 0);
149
199
  __decorate([
150
200
  flags.array({
151
201
  description: 'Define CLI arguments to pass to the assets bundler',
152
- }),
153
- __metadata("design:type", Array)
202
+ })
154
203
  ], Test.prototype, "assetsArgs", void 0);
155
- export default Test;
@@ -1,2 +1 @@
1
1
  export * from '@adonisjs/application/factories';
2
- //# sourceMappingURL=app.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/application/factories';
@@ -1,2 +1 @@
1
1
  export * from '@adonisjs/bodyparser/factories';
2
- //# sourceMappingURL=bodyparser.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/bodyparser/factories';
@@ -1,9 +1,11 @@
1
- /// <reference types="node" resolution-mode="require"/>
1
+ /// <reference types="@types/node" resolution-mode="require"/>
2
2
  import { Ignitor } from '../../src/ignitor/main.js';
3
3
  import type { IgnitorOptions } from '../../src/types.js';
4
4
  import type { Kernel } from '../../modules/ace/kernel.js';
5
+ /**
6
+ * Creates an instance of Ace kernel
7
+ */
5
8
  export declare class AceFactory {
6
9
  make(ignitor: Ignitor): Promise<Kernel>;
7
10
  make(appRoot: URL, options: IgnitorOptions): Promise<Kernel>;
8
11
  }
9
- //# sourceMappingURL=ace.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 { IgnitorFactory } from './ignitor.js';
2
10
  import { Ignitor } from '../../src/ignitor/main.js';
3
11
  import { createAceKernel } from '../../modules/ace/create_kernel.js';
12
+ /**
13
+ * Creates an instance of Ace kernel
14
+ */
4
15
  export class AceFactory {
5
16
  async make(ignitorOrAppRoot, options) {
6
17
  if (ignitorOrAppRoot instanceof Ignitor) {
@@ -1,17 +1,35 @@
1
- /// <reference types="node" resolution-mode="require"/>
1
+ /// <reference types="@types/node" resolution-mode="require"/>
2
2
  import { Ignitor } from '../../src/ignitor/main.js';
3
3
  import type { ApplicationService, IgnitorOptions } from '../../src/types.js';
4
4
  type FactoryParameters = {
5
5
  rcFileContents: Record<string, any>;
6
6
  config: Record<string, any>;
7
7
  };
8
+ /**
9
+ * Ignitor factory creates an instance of the AdonisJS ignitor
10
+ */
8
11
  export declare class IgnitorFactory {
9
12
  #private;
13
+ /**
14
+ * Define preload actions to run.
15
+ */
10
16
  preload(action: (app: ApplicationService) => void | Promise<void>): this;
17
+ /**
18
+ * Merge custom factory parameters
19
+ */
11
20
  merge(params: Partial<FactoryParameters>): this;
21
+ /**
22
+ * Load core provider when booting the app
23
+ */
12
24
  withCoreProviders(): this;
25
+ /**
26
+ * Merge default config for the core features. A shallow merge
27
+ * is performed.
28
+ */
13
29
  withCoreConfig(): this;
30
+ /**
31
+ * Create ignitor instance
32
+ */
14
33
  create(appRoot: URL, options: IgnitorOptions): Ignitor;
15
34
  }
16
35
  export {};
17
- //# sourceMappingURL=ignitor.d.ts.map
@@ -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, {});