@adonisjs/core 7.0.0-next.2 → 7.0.0-next.20

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 (217) hide show
  1. package/build/ace-sWl9sgM1.js +16 -0
  2. package/build/app-B6oge7b3.js +5 -0
  3. package/build/app-DNvbxVWl.js +5 -0
  4. package/build/bodyparser_middleware-BmARtnYe.js +3 -0
  5. package/build/chunk-B88MteZI.js +26 -0
  6. package/build/commands/add.d.ts +4 -3
  7. package/build/commands/add.js +76 -110
  8. package/build/commands/build.js +51 -107
  9. package/build/commands/commands.json +1 -1
  10. package/build/commands/configure.js +82 -177
  11. package/build/commands/eject.js +17 -60
  12. package/build/commands/env/add.js +55 -134
  13. package/build/commands/generate_key.js +22 -66
  14. package/build/commands/inspect_rcfile.js +27 -55
  15. package/build/commands/list/routes.js +246 -116
  16. package/build/commands/make/command.js +15 -57
  17. package/build/commands/make/controller.js +43 -120
  18. package/build/commands/make/event.js +16 -62
  19. package/build/commands/make/exception.js +16 -62
  20. package/build/commands/make/listener.js +36 -93
  21. package/build/commands/make/middleware.js +41 -101
  22. package/build/commands/make/preload.js +47 -113
  23. package/build/commands/make/provider.js +47 -112
  24. package/build/commands/make/service.js +16 -55
  25. package/build/commands/make/test.js +47 -132
  26. package/build/commands/make/transformer.js +17 -64
  27. package/build/commands/make/validator.js +20 -80
  28. package/build/commands/make/view.js +15 -56
  29. package/build/commands/repl.js +17 -50
  30. package/build/commands/serve.js +80 -156
  31. package/build/commands/test.js +92 -208
  32. package/build/config-Dd2H6-_e.js +5 -0
  33. package/build/config_provider-DWVFHOQX.js +15 -0
  34. package/build/container-uxa8LpGI.js +5 -0
  35. package/build/core-BuPP8K6N.js +140 -0
  36. package/build/create_kernel-Cn8zVtvt.js +3 -0
  37. package/build/create_kernel-Cpqqa931.js +38 -0
  38. package/build/decorate-CJcHOoD-.js +7 -0
  39. package/build/define_config-CoWy5lbf.js +62 -0
  40. package/build/dumper-BTjb8j4y.js +147 -0
  41. package/build/edge-BVYR-Vjr.js +47 -0
  42. package/build/events-C4d0OPUI.js +5 -0
  43. package/build/exceptions-DNMesP42.js +2 -0
  44. package/build/factories/app.js +2 -9
  45. package/build/factories/bodyparser.js +2 -9
  46. package/build/factories/core/ace.js +16 -46
  47. package/build/factories/core/ignitor.js +13 -180
  48. package/build/factories/core/main.js +24 -11
  49. package/build/factories/core/test_utils.js +21 -43
  50. package/build/factories/encryption.d.ts +1 -1
  51. package/build/factories/encryption.js +2 -9
  52. package/build/factories/events.js +2 -9
  53. package/build/factories/hash.js +2 -9
  54. package/build/factories/http.js +2 -9
  55. package/build/factories/logger.js +2 -9
  56. package/build/factories/stubs.js +27 -91
  57. package/build/ignitor-BrmVPN5N.js +71 -0
  58. package/build/index.d.ts +1 -1
  59. package/build/index.js +12 -46
  60. package/build/logger-0KKSqgPG.js +13 -0
  61. package/build/main-BU8NWUEG.js +73 -0
  62. package/build/main-Bfnr5tAw.js +2 -0
  63. package/build/main-BlJhxJJ2.js +81 -0
  64. package/build/main-C4B2SPOT.js +5 -0
  65. package/build/main-CZZ21eXm.js +171 -0
  66. package/build/main-D-WhqOOn.js +51 -0
  67. package/build/main-DOY5Q8Av.js +5 -0
  68. package/build/main-kn40V-hF.js +2 -0
  69. package/build/main-nojlltNo.js +30 -0
  70. package/build/{stubs/make → make}/health/controller.stub +5 -2
  71. package/build/modules/ace/codemods.d.ts +109 -14
  72. package/build/modules/ace/codemods.js +222 -382
  73. package/build/modules/ace/main.d.ts +30 -0
  74. package/build/modules/ace/main.js +2 -11
  75. package/build/modules/app.d.ts +17 -0
  76. package/build/modules/app.js +4 -9
  77. package/build/modules/bodyparser/bodyparser_middleware.js +2 -14
  78. package/build/modules/bodyparser/main.js +4 -9
  79. package/build/modules/config.d.ts +17 -0
  80. package/build/modules/config.js +4 -9
  81. package/build/modules/container.js +4 -9
  82. package/build/modules/dumper/dumper.d.ts +5 -0
  83. package/build/modules/dumper/main.d.ts +21 -0
  84. package/build/modules/dumper/main.js +6 -11
  85. package/build/modules/dumper/plugins/edge.js +2 -62
  86. package/build/modules/encryption/define_config.d.ts +128 -0
  87. package/build/modules/encryption/drivers/aes_256_cbc.d.ts +20 -0
  88. package/build/modules/encryption/drivers/aes_256_cbc.js +2 -0
  89. package/build/modules/encryption/drivers/aes_256_gcm.d.ts +21 -0
  90. package/build/modules/encryption/drivers/aes_256_gcm.js +2 -0
  91. package/build/modules/encryption/drivers/chacha20_poly1305.d.ts +21 -0
  92. package/build/modules/encryption/drivers/chacha20_poly1305.js +2 -0
  93. package/build/modules/encryption/main.d.ts +85 -0
  94. package/build/modules/encryption/main.js +5 -0
  95. package/build/modules/env/editor.js +2 -9
  96. package/build/modules/env/main.d.ts +19 -0
  97. package/build/modules/env/main.js +2 -9
  98. package/build/modules/events.js +4 -9
  99. package/build/modules/hash/drivers/argon.js +2 -9
  100. package/build/modules/hash/drivers/bcrypt.d.ts +11 -0
  101. package/build/modules/hash/drivers/bcrypt.js +2 -9
  102. package/build/modules/hash/drivers/scrypt.js +2 -9
  103. package/build/modules/hash/main.d.ts +18 -0
  104. package/build/modules/hash/main.js +5 -10
  105. package/build/modules/hash/phc_formatter.js +2 -9
  106. package/build/modules/health.js +2 -9
  107. package/build/modules/http/main.js +4 -15
  108. package/build/modules/http/request_validator.d.ts +1 -3
  109. package/build/modules/http/url_builder_client.d.ts +1 -0
  110. package/build/modules/http/url_builder_client.js +2 -0
  111. package/build/modules/logger.d.ts +30 -0
  112. package/build/modules/logger.js +4 -9
  113. package/build/modules/repl.js +4 -9
  114. package/build/modules/transformers/main.js +4 -9
  115. package/build/providers/app_provider.d.ts +14 -25
  116. package/build/providers/app_provider.js +155 -363
  117. package/build/providers/edge_provider.js +97 -114
  118. package/build/providers/hash_provider.js +28 -91
  119. package/build/providers/repl_provider.js +66 -152
  120. package/build/providers/vinejs_provider.d.ts +1 -1
  121. package/build/providers/vinejs_provider.js +19 -66
  122. package/build/repl-GSxgovJQ.js +5 -0
  123. package/build/services/ace.js +2 -17
  124. package/build/services/app.js +2 -21
  125. package/build/services/config.js +2 -13
  126. package/build/services/dumper.js +5 -21
  127. package/build/services/emitter.js +2 -14
  128. package/build/services/encryption.js +2 -14
  129. package/build/services/hash.js +2 -14
  130. package/build/services/logger.js +2 -14
  131. package/build/services/repl.js +2 -14
  132. package/build/services/router.js +2 -14
  133. package/build/services/server.js +2 -14
  134. package/build/services/test_utils.js +2 -17
  135. package/build/services/url_builder.d.ts +3 -3
  136. package/build/services/url_builder.js +5 -17
  137. package/build/src/assembler_hooks/index_entities.d.ts +29 -1
  138. package/build/src/debug.d.ts +1 -1
  139. package/build/src/exceptions.js +2 -49
  140. package/build/src/helpers/assert.js +2 -55
  141. package/build/src/helpers/http.d.ts +20 -0
  142. package/build/src/helpers/http.js +2 -0
  143. package/build/src/helpers/is.js +3 -31
  144. package/build/src/helpers/main.d.ts +1 -5
  145. package/build/src/helpers/main.js +5 -56
  146. package/build/src/helpers/string.js +2 -60
  147. package/build/src/helpers/types.js +26 -135
  148. package/build/src/helpers/verification_token.js +2 -120
  149. package/build/src/test_utils/main.js +8 -77
  150. package/build/src/types.d.ts +53 -99
  151. package/build/src/types.js +0 -8
  152. package/build/src/utils.d.ts +1 -1
  153. package/build/src/vine.js +2 -97
  154. package/build/string-Cx6q_win.js +28 -0
  155. package/build/test_utils-hkQDmNpX.js +10 -0
  156. package/build/toolkit/main.js +19 -21
  157. package/build/types/ace.js +2 -9
  158. package/build/types/app.js +2 -9
  159. package/build/types/bodyparser.js +2 -9
  160. package/build/types/common.js +2 -9
  161. package/build/types/container.js +2 -9
  162. package/build/types/encryption.d.ts +39 -1
  163. package/build/types/encryption.js +1 -9
  164. package/build/types/events.js +2 -9
  165. package/build/types/hash.js +2 -9
  166. package/build/types/health.js +2 -9
  167. package/build/types/helpers.d.ts +20 -0
  168. package/build/types/helpers.js +0 -8
  169. package/build/types/http.js +2 -9
  170. package/build/types/logger.js +2 -9
  171. package/build/types/repl.js +2 -9
  172. package/build/types/transformers.js +2 -9
  173. package/build/utils-CtGytdtt.js +42 -0
  174. package/build/verification_token-DrdoU4RH.js +46 -0
  175. package/build/vine-DGint2rk.js +32 -0
  176. package/package.json +113 -60
  177. package/build/modules/ace/commands.js +0 -157
  178. package/build/modules/ace/create_kernel.js +0 -91
  179. package/build/modules/ace/kernel.js +0 -40
  180. package/build/modules/dumper/define_config.js +0 -36
  181. package/build/modules/dumper/dumper.js +0 -256
  182. package/build/modules/dumper/errors.js +0 -119
  183. package/build/modules/encryption.d.ts +0 -1
  184. package/build/modules/encryption.js +0 -9
  185. package/build/modules/hash/define_config.js +0 -125
  186. package/build/modules/http/request_validator.js +0 -100
  187. package/build/src/assembler_hooks/index_entities.js +0 -107
  188. package/build/src/cli_formatters/routes_list.js +0 -381
  189. package/build/src/config_provider.js +0 -71
  190. package/build/src/debug.js +0 -25
  191. package/build/src/ignitor/ace.js +0 -102
  192. package/build/src/ignitor/http.js +0 -146
  193. package/build/src/ignitor/main.js +0 -124
  194. package/build/src/ignitor/test.js +0 -66
  195. package/build/src/test_utils/http.js +0 -82
  196. package/build/src/utils.js +0 -104
  197. package/build/stubs/main.js +0 -9
  198. package/build/toolkit/commands/index_commands.js +0 -30
  199. /package/build/{stubs/make → make}/command/main.stub +0 -0
  200. /package/build/{stubs/make → make}/controller/actions.stub +0 -0
  201. /package/build/{stubs/make → make}/controller/api.stub +0 -0
  202. /package/build/{stubs/make → make}/controller/main.stub +0 -0
  203. /package/build/{stubs/make → make}/controller/resource.stub +0 -0
  204. /package/build/{stubs/make → make}/event/main.stub +0 -0
  205. /package/build/{stubs/make → make}/exception/main.stub +0 -0
  206. /package/build/{stubs/make → make}/health/main.stub +0 -0
  207. /package/build/{stubs/make → make}/listener/for_event.stub +0 -0
  208. /package/build/{stubs/make → make}/listener/main.stub +0 -0
  209. /package/build/{stubs/make → make}/middleware/main.stub +0 -0
  210. /package/build/{stubs/make → make}/preload/main.stub +0 -0
  211. /package/build/{stubs/make → make}/provider/main.stub +0 -0
  212. /package/build/{stubs/make → make}/service/main.stub +0 -0
  213. /package/build/{stubs/make → make}/test/main.stub +0 -0
  214. /package/build/{stubs/make → make}/transformer/main.stub +0 -0
  215. /package/build/{stubs/make → make}/validator/main.stub +0 -0
  216. /package/build/{stubs/make → make}/validator/resource.stub +0 -0
  217. /package/build/{stubs/make → make}/view/main.stub +0 -0
@@ -1,81 +1,21 @@
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
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
10
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
13
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1
+ import { t as stubsRoot } from "../../main-kn40V-hF.js";
2
+ import { f as BaseCommand, l as flags, o as args } from "../../main-BlJhxJJ2.js";
3
+ import { t as __decorate } from "../../decorate-CJcHOoD-.js";
4
+ var MakeValidator = class extends BaseCommand {
5
+ static commandName = "make:validator";
6
+ static description = "Create a new file to define VineJS validators";
7
+ static options = { allowUnknownFlags: true };
8
+ stubPath = "make/validator/main.stub";
9
+ async prepare() {
10
+ if (this.resource) this.stubPath = "make/validator/resource.stub";
11
+ }
12
+ async run() {
13
+ await (await this.createCodemods()).makeUsingStub(stubsRoot, this.stubPath, {
14
+ flags: this.parsed.flags,
15
+ entity: this.app.generators.createEntity(this.name)
16
+ });
17
+ }
14
18
  };
15
- import { stubsRoot } from "../../stubs/main.js";
16
- import { args, flags, BaseCommand } from "../../modules/ace/main.js";
17
- /**
18
- * Command to create a new VineJS validator file.
19
- * Validators define reusable validation schemas for request validation,
20
- * and can be generated as simple validators or resource-based validators
21
- * with create and update schemas.
22
- *
23
- * @example
24
- * ```
25
- * ace make:validator UserValidator
26
- * ace make:validator PostValidator --resource
27
- * ace make:validator ContactValidator
28
- * ```
29
- */
30
- export default class MakeValidator extends BaseCommand {
31
- /**
32
- * The command name
33
- */
34
- static commandName = 'make:validator';
35
- /**
36
- * The command description
37
- */
38
- static description = 'Create a new file to define VineJS validators';
39
- /**
40
- * Command options configuration.
41
- * Allows unknown flags to be passed through.
42
- */
43
- static options = {
44
- allowUnknownFlags: true,
45
- };
46
- /**
47
- * The stub template file to use for generating the validator
48
- */
49
- stubPath = 'make/validator/main.stub';
50
- /**
51
- * Prepare the command by selecting the appropriate stub based on options.
52
- * Uses a resource stub when generating validators for CRUD operations.
53
- */
54
- async prepare() {
55
- /**
56
- * Use resource stub
57
- */
58
- if (this.resource) {
59
- this.stubPath = 'make/validator/resource.stub';
60
- }
61
- }
62
- /**
63
- * Execute the command to create a new VineJS validator file.
64
- * Generates the validator with the appropriate stub template.
65
- */
66
- async run() {
67
- const codemods = await this.createCodemods();
68
- await codemods.makeUsingStub(stubsRoot, this.stubPath, {
69
- flags: this.parsed.flags,
70
- entity: this.app.generators.createEntity(this.name),
71
- });
72
- }
73
- }
74
- __decorate([
75
- args.string({ description: 'Name of the validator file' })
76
- ], MakeValidator.prototype, "name", void 0);
77
- __decorate([
78
- flags.boolean({
79
- description: 'Create a file with pre-defined validators for create and update actions',
80
- })
81
- ], MakeValidator.prototype, "resource", void 0);
19
+ __decorate([args.string({ description: "Name of the validator file" })], MakeValidator.prototype, "name", void 0);
20
+ __decorate([flags.boolean({ description: "Create a file with pre-defined validators for create and update actions" })], MakeValidator.prototype, "resource", void 0);
21
+ export { MakeValidator as default };
@@ -1,57 +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
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
10
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
13
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1
+ import { t as stubsRoot } from "../../main-kn40V-hF.js";
2
+ import { f as BaseCommand, o as args } from "../../main-BlJhxJJ2.js";
3
+ import { t as __decorate } from "../../decorate-CJcHOoD-.js";
4
+ var MakeView = class extends BaseCommand {
5
+ static commandName = "make:view";
6
+ static description = "Create a new Edge.js template file";
7
+ stubPath = "make/view/main.stub";
8
+ async run() {
9
+ await (await this.createCodemods()).makeUsingStub(stubsRoot, this.stubPath, {
10
+ flags: this.parsed.flags,
11
+ entity: this.app.generators.createEntity(this.name)
12
+ });
13
+ }
14
14
  };
15
- import { stubsRoot } from "../../stubs/main.js";
16
- import { args, BaseCommand } from "../../modules/ace/main.js";
17
- /**
18
- * Command to create a new Edge.js template file.
19
- * Edge templates are used for rendering HTML views in your web application,
20
- * supporting layouts, partials, components, and template inheritance.
21
- *
22
- * @example
23
- * ```
24
- * ace make:view home
25
- * ace make:view users/profile
26
- * ace make:view components/navbar
27
- * ace make:view layouts/app
28
- * ```
29
- */
30
- export default class MakeView extends BaseCommand {
31
- /**
32
- * The command name
33
- */
34
- static commandName = 'make:view';
35
- /**
36
- * The command description
37
- */
38
- static description = 'Create a new Edge.js template file';
39
- /**
40
- * The stub template file to use for generating the Edge template
41
- */
42
- stubPath = 'make/view/main.stub';
43
- /**
44
- * Execute the command to create a new Edge.js template file.
45
- * Generates the template file in the views directory.
46
- */
47
- async run() {
48
- const codemods = await this.createCodemods();
49
- await codemods.makeUsingStub(stubsRoot, this.stubPath, {
50
- flags: this.parsed.flags,
51
- entity: this.app.generators.createEntity(this.name),
52
- });
53
- }
54
- }
55
- __decorate([
56
- args.string({ description: 'Name of the template' })
57
- ], MakeView.prototype, "name", void 0);
15
+ __decorate([args.string({ description: "Name of the template" })], MakeView.prototype, "name", void 0);
16
+ export { MakeView as default };
@@ -1,50 +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
- */
9
- import { BaseCommand } from "../modules/ace/main.js";
10
- /**
11
- * Command to start an interactive REPL (Read-Eval-Print Loop) session for AdonisJS.
12
- * The REPL provides a command-line interface where you can execute JavaScript code
13
- * in the context of your AdonisJS application, allowing you to interact with models,
14
- * services, and other application components in real-time.
15
- *
16
- * @example
17
- * ```
18
- * ace repl
19
- * ```
20
- */
21
- export default class ReplCommand extends BaseCommand {
22
- /**
23
- * The command name
24
- */
25
- static commandName = 'repl';
26
- /**
27
- * The command description
28
- */
29
- static description = 'Start a new REPL session';
30
- /**
31
- * Command options configuration.
32
- * Requires the application to be started and keeps the process alive.
33
- */
34
- static options = {
35
- startApp: true,
36
- staysAlive: true,
37
- };
38
- /**
39
- * Execute the command to start the REPL server.
40
- * Creates a REPL instance from the container and sets up an exit handler
41
- * that properly terminates the application when the REPL session ends.
42
- */
43
- async run() {
44
- const repl = await this.app.container.make('repl');
45
- repl.start();
46
- repl.server.on('exit', async () => {
47
- await this.terminate();
48
- });
49
- }
50
- }
1
+ import { f as BaseCommand } from "../main-BlJhxJJ2.js";
2
+ var ReplCommand = class extends BaseCommand {
3
+ static commandName = "repl";
4
+ static description = "Start a new REPL session";
5
+ static options = {
6
+ startApp: true,
7
+ staysAlive: true
8
+ };
9
+ async run() {
10
+ const repl = await this.app.container.make("repl");
11
+ repl.start();
12
+ repl.server.on("exit", async () => {
13
+ await this.terminate();
14
+ });
15
+ }
16
+ };
17
+ export { ReplCommand as default };
@@ -1,157 +1,81 @@
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
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
10
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
13
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1
+ import { t as importAssembler } from "../utils-CtGytdtt.js";
2
+ import { f as BaseCommand, l as flags } from "../main-BlJhxJJ2.js";
3
+ import { t as __decorate } from "../decorate-CJcHOoD-.js";
4
+ var Serve = class extends BaseCommand {
5
+ static commandName = "serve";
6
+ static description = "Start the development HTTP server along with the file watcher to perform restarts on file change";
7
+ static help = [
8
+ "Start the development server with file watcher using the following command.",
9
+ "```",
10
+ "{{ binaryName }} serve --watch",
11
+ "```",
12
+ "",
13
+ "You can also start the server with HMR support using the following command.",
14
+ "```",
15
+ "{{ binaryName }} serve --hmr",
16
+ "```",
17
+ "",
18
+ "The assets bundler dev server runs automatically after detecting vite config or webpack config files",
19
+ "You may pass vite CLI args using the --assets-args command line flag.",
20
+ "```",
21
+ "{{ binaryName }} serve --assets-args=\"--debug --base=/public\"",
22
+ "```"
23
+ ];
24
+ static options = { staysAlive: true };
25
+ #logMissingDevelopmentDependency(dependency) {
26
+ this.logger.error([
27
+ `Cannot find package "${dependency}"`,
28
+ "",
29
+ `The "${dependency}" package is a development dependency and therefore you should use the serve command during development only.`,
30
+ "",
31
+ "If you are running your application in production, then use \"node bin/server.js\" command to start the HTTP server"
32
+ ].join("\n"));
33
+ }
34
+ async run() {
35
+ const assembler = await importAssembler(this.app);
36
+ if (!assembler) {
37
+ this.#logMissingDevelopmentDependency("@adonisjs/assembler");
38
+ this.exitCode = 1;
39
+ return;
40
+ }
41
+ if (this.watch && this.hmr) {
42
+ this.logger.error("Cannot use --watch and --hmr flags together. Choose one of them");
43
+ this.exitCode = 1;
44
+ return;
45
+ }
46
+ this.devServer = new assembler.DevServer(this.app.appRoot, {
47
+ hmr: this.hmr === true ? true : false,
48
+ clearScreen: this.clear === false ? false : true,
49
+ nodeArgs: this.parsed.nodeArgs,
50
+ scriptArgs: [],
51
+ metaFiles: this.app.rcFile.metaFiles,
52
+ hooks: this.app.rcFile.hooks
53
+ });
54
+ this.devServer.ui.logger = this.logger;
55
+ this.devServer.onClose((exitCode) => {
56
+ this.exitCode = exitCode;
57
+ this.terminate();
58
+ });
59
+ this.devServer.onError(() => {
60
+ this.exitCode = 1;
61
+ this.terminate();
62
+ });
63
+ if (this.watch) await this.devServer.startAndWatch({ poll: this.poll || false });
64
+ else await this.devServer.start();
65
+ }
14
66
  };
15
- import { BaseCommand, flags } from "../modules/ace/main.js";
16
- import { importAssembler, importTypeScript } from "../src/utils.js";
17
- /**
18
- * Serve command is used to run the AdonisJS HTTP server during development. The
19
- * command under the hood runs the "bin/server.ts" file and watches for file
20
- * system changes
21
- *
22
- * @example
23
- * ```
24
- * ace serve
25
- * ace serve --watch
26
- * ace serve --hmr
27
- * ace serve --poll
28
- * ace serve --no-clear
29
- * ```
30
- */
31
- export default class Serve extends BaseCommand {
32
- /**
33
- * The command name
34
- */
35
- static commandName = 'serve';
36
- /**
37
- * The command description
38
- */
39
- static description = 'Start the development HTTP server along with the file watcher to perform restarts on file change';
40
- /**
41
- * Help text for the command
42
- */
43
- static help = [
44
- 'Start the development server with file watcher using the following command.',
45
- '```',
46
- '{{ binaryName }} serve --watch',
47
- '```',
48
- '',
49
- 'You can also start the server with HMR support using the following command.',
50
- '```',
51
- '{{ binaryName }} serve --hmr',
52
- '```',
53
- '',
54
- 'The assets bundler dev server runs automatically after detecting vite config or webpack config files',
55
- 'You may pass vite CLI args using the --assets-args command line flag.',
56
- '```',
57
- '{{ binaryName }} serve --assets-args="--debug --base=/public"',
58
- '```',
59
- ];
60
- /**
61
- * Command options configuration
62
- */
63
- static options = {
64
- staysAlive: true,
65
- };
66
- /**
67
- * Log a development dependency is missing
68
- *
69
- * @param dependency - The name of the missing dependency
70
- */
71
- #logMissingDevelopmentDependency(dependency) {
72
- this.logger.error([
73
- `Cannot find package "${dependency}"`,
74
- '',
75
- `The "${dependency}" package is a development dependency and therefore you should use the serve command during development only.`,
76
- '',
77
- 'If you are running your application in production, then use "node bin/server.js" command to start the HTTP server',
78
- ].join('\n'));
79
- }
80
- /**
81
- * Runs the HTTP server
82
- */
83
- async run() {
84
- const assembler = await importAssembler(this.app);
85
- if (!assembler) {
86
- this.#logMissingDevelopmentDependency('@adonisjs/assembler');
87
- this.exitCode = 1;
88
- return;
89
- }
90
- if (this.watch && this.hmr) {
91
- this.logger.error('Cannot use --watch and --hmr flags together. Choose one of them');
92
- this.exitCode = 1;
93
- return;
94
- }
95
- this.devServer = new assembler.DevServer(this.app.appRoot, {
96
- hmr: this.hmr === true ? true : false,
97
- clearScreen: this.clear === false ? false : true,
98
- nodeArgs: this.parsed.nodeArgs,
99
- scriptArgs: [],
100
- metaFiles: this.app.rcFile.metaFiles,
101
- hooks: this.app.rcFile.hooks,
102
- });
103
- /**
104
- * Share command logger with assembler, so that CLI flags like --no-ansi has
105
- * similar impact for assembler logs as well.
106
- */
107
- this.devServer.ui.logger = this.logger;
108
- /**
109
- * Exit command when the dev server is closed
110
- */
111
- this.devServer.onClose((exitCode) => {
112
- this.exitCode = exitCode;
113
- this.terminate();
114
- });
115
- /**
116
- * Exit command when the dev server crashes
117
- */
118
- this.devServer.onError(() => {
119
- this.exitCode = 1;
120
- this.terminate();
121
- });
122
- const ts = await importTypeScript(this.app);
123
- if (!ts) {
124
- this.#logMissingDevelopmentDependency('typescript');
125
- this.exitCode = 1;
126
- return;
127
- }
128
- /**
129
- * Start the development server
130
- */
131
- if (this.watch) {
132
- await this.devServer.startAndWatch(ts, { poll: this.poll || false });
133
- }
134
- else {
135
- await this.devServer.start(ts);
136
- }
137
- }
138
- }
139
- __decorate([
140
- flags.boolean({ description: 'Start the server with HMR support' })
141
- ], Serve.prototype, "hmr", void 0);
142
- __decorate([
143
- flags.boolean({
144
- description: 'Watch filesystem and restart the HTTP server on file change',
145
- alias: 'w',
146
- })
147
- ], Serve.prototype, "watch", void 0);
148
- __decorate([
149
- flags.boolean({ description: 'Use polling to detect filesystem changes', alias: 'p' })
150
- ], Serve.prototype, "poll", void 0);
151
- __decorate([
152
- flags.boolean({
153
- description: 'Clear the terminal for new logs after file change',
154
- showNegatedVariantInHelp: true,
155
- default: true,
156
- })
157
- ], Serve.prototype, "clear", void 0);
67
+ __decorate([flags.boolean({ description: "Start the server with HMR support" })], Serve.prototype, "hmr", void 0);
68
+ __decorate([flags.boolean({
69
+ description: "Watch filesystem and restart the HTTP server on file change",
70
+ alias: "w"
71
+ })], Serve.prototype, "watch", void 0);
72
+ __decorate([flags.boolean({
73
+ description: "Use polling to detect filesystem changes",
74
+ alias: "p"
75
+ })], Serve.prototype, "poll", void 0);
76
+ __decorate([flags.boolean({
77
+ description: "Clear the terminal for new logs after file change",
78
+ showNegatedVariantInHelp: true,
79
+ default: true
80
+ })], Serve.prototype, "clear", void 0);
81
+ export { Serve as default };