@adonisjs/core 7.0.0-next.8 → 7.0.0

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 (210) hide show
  1. package/README.md +62 -1
  2. package/build/chunk-iKc69rpz.js +26 -0
  3. package/build/commands/add.d.ts +4 -3
  4. package/build/commands/add.js +73 -110
  5. package/build/commands/build.js +51 -107
  6. package/build/commands/commands.json +1 -1
  7. package/build/commands/configure.js +81 -177
  8. package/build/commands/eject.js +17 -60
  9. package/build/commands/env/add.js +55 -134
  10. package/build/commands/generate_key.js +22 -66
  11. package/build/commands/inspect_rcfile.js +27 -55
  12. package/build/commands/list/routes.js +246 -116
  13. package/build/commands/make/command.d.ts +5 -0
  14. package/build/commands/make/command.js +16 -57
  15. package/build/commands/make/controller.d.ts +5 -0
  16. package/build/commands/make/controller.js +44 -120
  17. package/build/commands/make/event.d.ts +5 -0
  18. package/build/commands/make/event.js +17 -62
  19. package/build/commands/make/exception.d.ts +5 -0
  20. package/build/commands/make/exception.js +17 -62
  21. package/build/commands/make/listener.d.ts +5 -0
  22. package/build/commands/make/listener.js +37 -93
  23. package/build/commands/make/middleware.d.ts +5 -0
  24. package/build/commands/make/middleware.js +42 -101
  25. package/build/commands/make/preload.d.ts +5 -0
  26. package/build/commands/make/preload.js +48 -113
  27. package/build/commands/make/provider.d.ts +5 -0
  28. package/build/commands/make/provider.js +48 -112
  29. package/build/commands/make/service.d.ts +5 -0
  30. package/build/commands/make/service.js +17 -55
  31. package/build/commands/make/test.d.ts +5 -0
  32. package/build/commands/make/test.js +48 -132
  33. package/build/commands/make/transformer.d.ts +5 -0
  34. package/build/commands/make/transformer.js +18 -64
  35. package/build/commands/make/validator.d.ts +5 -0
  36. package/build/commands/make/validator.js +21 -80
  37. package/build/commands/make/view.d.ts +5 -0
  38. package/build/commands/make/view.js +16 -56
  39. package/build/commands/repl.js +17 -50
  40. package/build/commands/serve.js +80 -156
  41. package/build/commands/test.js +92 -208
  42. package/build/config_provider-FIAUgvae.js +13 -0
  43. package/build/core-IpCOCkUL.js +146 -0
  44. package/build/create_kernel-B7ILNhuP.js +38 -0
  45. package/build/create_kernel-BD0Iqi8e.js +3 -0
  46. package/build/debug-CGQmxzGt.js +3 -0
  47. package/build/decorate-DmrZA614.js +7 -0
  48. package/build/define_config-0oHaj43l.js +86 -0
  49. package/build/dumper-BBgqFX5a.js +147 -0
  50. package/build/errors-CrCO-k44.js +8 -0
  51. package/build/factories/app.js +2 -9
  52. package/build/factories/bodyparser.js +2 -9
  53. package/build/factories/core/ace.js +22 -45
  54. package/build/factories/core/ignitor.js +74 -180
  55. package/build/factories/core/main.js +18 -11
  56. package/build/factories/core/test_utils.js +19 -42
  57. package/build/factories/encryption.d.ts +1 -1
  58. package/build/factories/encryption.js +2 -9
  59. package/build/factories/events.js +2 -9
  60. package/build/factories/hash.js +2 -9
  61. package/build/factories/http.js +2 -9
  62. package/build/factories/logger.js +2 -9
  63. package/build/factories/stubs.d.ts +1 -6
  64. package/build/factories/stubs.js +24 -91
  65. package/build/index.d.ts +1 -1
  66. package/build/index.js +10 -46
  67. package/build/main--nXd7T-C.js +73 -0
  68. package/build/main-Cxz0TyIw.js +173 -0
  69. package/build/main-DN2qEEg5.js +41 -0
  70. package/build/main-DkNgvceD.js +52 -0
  71. package/build/main-MBAMnmJb.js +81 -0
  72. package/build/main-kn40V-hF.js +2 -0
  73. package/build/{stubs/make → make}/health/controller.stub +5 -2
  74. package/build/modules/ace/codemods.d.ts +74 -22
  75. package/build/modules/ace/codemods.js +295 -476
  76. package/build/modules/ace/main.js +2 -41
  77. package/build/modules/app.js +6 -26
  78. package/build/modules/bodyparser/bodyparser_middleware.js +3 -14
  79. package/build/modules/bodyparser/main.js +6 -9
  80. package/build/modules/config.js +6 -26
  81. package/build/modules/container.js +6 -9
  82. package/build/modules/dumper/main.js +6 -32
  83. package/build/modules/dumper/plugins/edge.js +46 -61
  84. package/build/modules/encryption/define_config.d.ts +161 -0
  85. package/build/modules/encryption/drivers/aes_256_cbc.d.ts +20 -0
  86. package/build/modules/encryption/drivers/aes_256_cbc.js +2 -0
  87. package/build/modules/encryption/drivers/aes_256_gcm.d.ts +21 -0
  88. package/build/modules/encryption/drivers/aes_256_gcm.js +2 -0
  89. package/build/modules/encryption/drivers/aes_siv.d.ts +19 -0
  90. package/build/modules/encryption/drivers/aes_siv.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/drivers/legacy.d.ts +84 -0
  94. package/build/modules/encryption/drivers/legacy.js +57 -0
  95. package/build/modules/encryption/errors.d.ts +16 -0
  96. package/build/modules/encryption/main.d.ts +89 -0
  97. package/build/modules/encryption/main.js +6 -0
  98. package/build/modules/env/editor.js +2 -9
  99. package/build/modules/env/main.js +2 -28
  100. package/build/modules/events.js +6 -9
  101. package/build/modules/hash/drivers/argon.js +2 -9
  102. package/build/modules/hash/drivers/bcrypt.js +2 -20
  103. package/build/modules/hash/drivers/scrypt.js +2 -9
  104. package/build/modules/hash/main.js +6 -28
  105. package/build/modules/hash/phc_formatter.js +2 -9
  106. package/build/modules/health.js +2 -9
  107. package/build/modules/http/helpers.d.ts +1 -0
  108. package/build/modules/http/helpers.js +2 -0
  109. package/build/modules/http/main.js +4 -15
  110. package/build/modules/http/request_validator.d.ts +3 -4
  111. package/build/modules/http/url_builder_client.js +2 -9
  112. package/build/modules/logger.d.ts +30 -0
  113. package/build/modules/logger.js +14 -9
  114. package/build/modules/repl.js +6 -9
  115. package/build/modules/transformers/main.js +2 -9
  116. package/build/providers/app_provider.d.ts +14 -21
  117. package/build/providers/app_provider.js +153 -354
  118. package/build/providers/edge_provider.js +98 -164
  119. package/build/providers/hash_provider.js +29 -91
  120. package/build/providers/repl_provider.js +66 -152
  121. package/build/providers/vinejs_provider.d.ts +1 -1
  122. package/build/providers/vinejs_provider.js +21 -65
  123. package/build/services/ace.js +1 -16
  124. package/build/services/app.js +3 -19
  125. package/build/services/config.js +1 -12
  126. package/build/services/dumper.js +4 -20
  127. package/build/services/emitter.js +1 -13
  128. package/build/services/encryption.js +1 -13
  129. package/build/services/hash.js +1 -13
  130. package/build/services/logger.js +1 -13
  131. package/build/services/repl.js +1 -13
  132. package/build/services/router.js +1 -13
  133. package/build/services/server.js +1 -13
  134. package/build/services/test_utils.js +1 -16
  135. package/build/services/url_builder.d.ts +3 -3
  136. package/build/services/url_builder.js +4 -16
  137. package/build/src/assembler_hooks/index_entities.d.ts +34 -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.js +2 -28
  142. package/build/src/helpers/is.js +3 -31
  143. package/build/src/helpers/main.js +5 -52
  144. package/build/src/helpers/string.js +26 -76
  145. package/build/src/helpers/types.js +25 -134
  146. package/build/src/helpers/verification_token.js +46 -120
  147. package/build/src/test_utils/main.js +8 -77
  148. package/build/src/types.d.ts +53 -99
  149. package/build/src/types.js +0 -8
  150. package/build/src/utils.d.ts +1 -1
  151. package/build/src/vine.js +29 -101
  152. package/build/toolkit/main.js +19 -21
  153. package/build/types/ace.js +2 -9
  154. package/build/types/app.js +2 -9
  155. package/build/types/bodyparser.js +2 -9
  156. package/build/types/common.js +2 -9
  157. package/build/types/container.js +2 -9
  158. package/build/types/encryption.d.ts +53 -1
  159. package/build/types/encryption.js +1 -9
  160. package/build/types/events.js +2 -9
  161. package/build/types/hash.js +2 -9
  162. package/build/types/health.js +2 -9
  163. package/build/types/helpers.js +0 -8
  164. package/build/types/http.js +2 -9
  165. package/build/types/logger.js +2 -9
  166. package/build/types/repl.js +2 -9
  167. package/build/types/transformers.js +2 -9
  168. package/build/utils-rRkbAPnP.js +42 -0
  169. package/package.json +117 -62
  170. package/build/modules/ace/commands.js +0 -157
  171. package/build/modules/ace/create_kernel.js +0 -91
  172. package/build/modules/ace/kernel.js +0 -40
  173. package/build/modules/dumper/define_config.js +0 -36
  174. package/build/modules/dumper/dumper.js +0 -266
  175. package/build/modules/dumper/errors.js +0 -119
  176. package/build/modules/encryption.d.ts +0 -18
  177. package/build/modules/encryption.js +0 -26
  178. package/build/modules/hash/define_config.js +0 -125
  179. package/build/modules/http/request_validator.js +0 -100
  180. package/build/src/assembler_hooks/index_entities.js +0 -112
  181. package/build/src/cli_formatters/routes_list.js +0 -397
  182. package/build/src/config_provider.js +0 -71
  183. package/build/src/debug.js +0 -25
  184. package/build/src/ignitor/ace.js +0 -102
  185. package/build/src/ignitor/http.js +0 -159
  186. package/build/src/ignitor/main.js +0 -124
  187. package/build/src/ignitor/test.js +0 -66
  188. package/build/src/test_utils/http.js +0 -82
  189. package/build/src/utils.js +0 -114
  190. package/build/stubs/main.js +0 -9
  191. package/build/toolkit/commands/index_commands.js +0 -30
  192. /package/build/{stubs/make → make}/command/main.stub +0 -0
  193. /package/build/{stubs/make → make}/controller/actions.stub +0 -0
  194. /package/build/{stubs/make → make}/controller/api.stub +0 -0
  195. /package/build/{stubs/make → make}/controller/main.stub +0 -0
  196. /package/build/{stubs/make → make}/controller/resource.stub +0 -0
  197. /package/build/{stubs/make → make}/event/main.stub +0 -0
  198. /package/build/{stubs/make → make}/exception/main.stub +0 -0
  199. /package/build/{stubs/make → make}/health/main.stub +0 -0
  200. /package/build/{stubs/make → make}/listener/for_event.stub +0 -0
  201. /package/build/{stubs/make → make}/listener/main.stub +0 -0
  202. /package/build/{stubs/make → make}/middleware/main.stub +0 -0
  203. /package/build/{stubs/make → make}/preload/main.stub +0 -0
  204. /package/build/{stubs/make → make}/provider/main.stub +0 -0
  205. /package/build/{stubs/make → make}/service/main.stub +0 -0
  206. /package/build/{stubs/make → make}/test/main.stub +0 -0
  207. /package/build/{stubs/make → make}/transformer/main.stub +0 -0
  208. /package/build/{stubs/make → make}/validator/main.stub +0 -0
  209. /package/build/{stubs/make → make}/validator/resource.stub +0 -0
  210. /package/build/{stubs/make → make}/view/main.stub +0 -0
@@ -1,55 +1,27 @@
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 inspect and display the AdonisJS RC file contents with default values.
12
- * The RC file contains configuration for providers, preloads, commands, and other
13
- * application settings. This command formats and displays the contents in a readable JSON format.
14
- *
15
- * @example
16
- * ```
17
- * ace inspect:rcfile
18
- * ```
19
- */
20
- export default class InspectRCFile extends BaseCommand {
21
- /**
22
- * The command name
23
- */
24
- static commandName = 'inspect:rcfile';
25
- /**
26
- * The command description
27
- */
28
- static description = 'Inspect the RC file with its default values';
29
- /**
30
- * Execute the command to display RC file contents.
31
- * Transforms provider, preload, and command entries to display their file paths
32
- * as strings and formats the output as readable JSON.
33
- */
34
- async run() {
35
- const { raw, providers, preloads, commands, ...rest } = this.app.rcFile;
36
- this.logger.log(JSON.stringify({
37
- ...rest,
38
- providers: providers.map((provider) => {
39
- return {
40
- ...provider,
41
- file: provider.file.toString(),
42
- };
43
- }),
44
- preloads: preloads.map((preload) => {
45
- return {
46
- ...preload,
47
- file: preload.file.toString(),
48
- };
49
- }),
50
- commands: commands.map((command) => {
51
- return command.toString();
52
- }),
53
- }, null, 2));
54
- }
55
- }
1
+ import { f as BaseCommand } from "../main-MBAMnmJb.js";
2
+ var InspectRCFile = class extends BaseCommand {
3
+ static commandName = "inspect:rcfile";
4
+ static description = "Inspect the RC file with its default values";
5
+ async run() {
6
+ const { raw, providers, preloads, commands, ...rest } = this.app.rcFile;
7
+ this.logger.log(JSON.stringify({
8
+ ...rest,
9
+ providers: providers.map((provider) => {
10
+ return {
11
+ ...provider,
12
+ file: provider.file.toString()
13
+ };
14
+ }),
15
+ preloads: preloads.map((preload) => {
16
+ return {
17
+ ...preload,
18
+ file: preload.file.toString()
19
+ };
20
+ }),
21
+ commands: commands.map((command) => {
22
+ return command.toString();
23
+ })
24
+ }, null, 2));
25
+ }
26
+ };
27
+ export { InspectRCFile as default };
@@ -1,117 +1,247 @@
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 { f as BaseCommand, l as flags, o as args, s as cliHelpers } from "../../main-MBAMnmJb.js";
2
+ import { t as __decorate } from "../../decorate-DmrZA614.js";
3
+ import stringWidth from "string-width";
4
+ import { middlewareInfo, routeInfo } from "@adonisjs/http-server/helpers";
5
+ var RoutesListFormatter = class {
6
+ #router;
7
+ #colors;
8
+ #table;
9
+ #options;
10
+ #filters;
11
+ constructor(router, ui, options, filters) {
12
+ this.#router = router;
13
+ this.#colors = ui.colors;
14
+ this.#table = ui.table;
15
+ this.#filters = filters;
16
+ this.#options = options;
17
+ this.#router.commit();
18
+ }
19
+ #isAllowedByFilters(route) {
20
+ let allowRoute = true;
21
+ if (this.#filters.middleware) allowRoute = this.#filters.middleware.every((name) => {
22
+ if (name === "*") return route.middleware.length > 0;
23
+ return route.middleware.find((middleware) => middleware.name === name);
24
+ });
25
+ if (allowRoute && this.#filters.ignoreMiddleware) allowRoute = this.#filters.ignoreMiddleware.every((name) => {
26
+ if (name === "*") return route.middleware.length === 0;
27
+ return !route.middleware.find((middleware) => middleware.name === name);
28
+ });
29
+ if (!this.#filters.match) return allowRoute;
30
+ if (route.name.includes(this.#filters.match)) return true;
31
+ if (route.pattern.includes(this.#filters.match)) return true;
32
+ if (route.handler.type === "controller" ? route.handler.moduleNameOrPath.includes(this.#filters.match) : route.handler.name.includes(this.#filters.match)) return true;
33
+ return false;
34
+ }
35
+ async #serializeRoute(route) {
36
+ let methods = route.methods;
37
+ if (!this.#options.displayHeadRoutes) methods = methods.filter((method) => method !== "HEAD");
38
+ const middlewareList = await Promise.all([...route.middleware.all()].map((middleware) => {
39
+ return middlewareInfo(middleware);
40
+ }));
41
+ return {
42
+ name: route.name || "",
43
+ pattern: route.pattern,
44
+ methods,
45
+ handler: await routeInfo(route),
46
+ middleware: middlewareList.filter((info) => info.type !== "global")
47
+ };
48
+ }
49
+ #formatRouteMethod(method) {
50
+ return this.#colors.dim(method);
51
+ }
52
+ #formatRoutePattern(route) {
53
+ const pattern = this.#router.parsePattern(route.pattern).map((token) => {
54
+ if (token.type === 1) return this.#colors.yellow(`:${token.val}`);
55
+ if (token.type === 3) return this.#colors.yellow(`:${token.val}?`);
56
+ if (token.type === 2) return this.#colors.red(token.val);
57
+ return token.val;
58
+ }).join("/");
59
+ return `${pattern === "/" ? pattern : `/${pattern}`}${route.name ? ` ${this.#colors.dim(`(${route.name})`)}` : ""} `;
60
+ }
61
+ #formatControllerName(route) {
62
+ return route.handler.type === "controller" ? ` ${this.#colors.cyan(route.handler.moduleNameOrPath)}.` : "";
63
+ }
64
+ #formatAction(route) {
65
+ if (route.handler.type === "controller") return `${this.#colors.cyan(route.handler.method)}`;
66
+ const functionName = ` ${this.#colors.cyan(route.handler.name)}`;
67
+ if (route.handler.args) return ` ${functionName}${this.#colors.dim(`(${route.handler.args})`)}`;
68
+ return functionName;
69
+ }
70
+ #formatMiddleware(route, mode = "normal") {
71
+ if (mode === "compact" && route.middleware.length > 3) {
72
+ const firstMiddleware = route.middleware[0].name;
73
+ const secondMiddleware = route.middleware[1].name;
74
+ const diff = route.middleware.length - 2;
75
+ return this.#colors.dim(`${firstMiddleware}, ${secondMiddleware}, and ${diff} more`);
76
+ }
77
+ return this.#colors.dim(`${route.middleware.map((one) => one.name).filter((one) => one).join(", ")}`);
78
+ }
79
+ #formatDomainHeadline(domain) {
80
+ if (domain !== "root") return cliHelpers.justify([`${this.#colors.dim("..")} ${this.#colors.green(domain)} `], {
81
+ maxWidth: this.#options.maxPrettyPrintWidth || cliHelpers.TERMINAL_SIZE,
82
+ paddingChar: this.#colors.dim(".")
83
+ })[0];
84
+ return "";
85
+ }
86
+ #justifyListTables(tables) {
87
+ return tables.map((table) => {
88
+ const methods = table.rows.map((columns) => columns[0]);
89
+ const largestMethodsLength = Math.max(...methods.map((method) => stringWidth(method)));
90
+ const formattedMethods = cliHelpers.justify(methods, { maxWidth: largestMethodsLength });
91
+ const patterns = table.rows.map((columns) => columns[1]);
92
+ const largestPatternLength = Math.max(...patterns.map((pattern) => stringWidth(pattern)));
93
+ const formattedPatterns = cliHelpers.justify(patterns, {
94
+ maxWidth: largestPatternLength,
95
+ paddingChar: this.#colors.dim(".")
96
+ });
97
+ const middleware = table.rows.map((columns) => columns[3]);
98
+ const largestMiddlewareLength = Math.max(...middleware.map((one) => stringWidth(one)));
99
+ const formattedMiddleware = cliHelpers.justify(middleware, {
100
+ maxWidth: largestMiddlewareLength,
101
+ align: "right",
102
+ paddingChar: " "
103
+ });
104
+ const controllers = table.rows.map((columns) => columns[2]);
105
+ const largestControllerLength = (this.#options.maxPrettyPrintWidth || cliHelpers.TERMINAL_SIZE) - (largestPatternLength + largestMethodsLength + largestMiddlewareLength);
106
+ const formattedControllers = cliHelpers.truncate(cliHelpers.justify(controllers, {
107
+ maxWidth: largestControllerLength,
108
+ align: "right",
109
+ paddingChar: this.#colors.dim(".")
110
+ }), { maxWidth: largestControllerLength });
111
+ return {
112
+ heading: table.heading,
113
+ rows: formattedMethods.reduce((result, method, index) => {
114
+ result.push(`${method}${formattedPatterns[index]}${formattedControllers[index]}${formattedMiddleware[index]}`);
115
+ return result;
116
+ }, [])
117
+ };
118
+ });
119
+ }
120
+ async formatAsJSON() {
121
+ const routes = this.#router.toJSON();
122
+ const domains = Object.keys(routes);
123
+ let routesJSON = [];
124
+ for (let domain of domains) {
125
+ const domainRoutes = await Promise.all(routes[domain].map((route) => this.#serializeRoute(route)));
126
+ routesJSON.push({
127
+ domain,
128
+ routes: domainRoutes.filter((route) => this.#isAllowedByFilters(route))
129
+ });
130
+ }
131
+ return routesJSON;
132
+ }
133
+ async formatAsAnsiList() {
134
+ const routes = this.#router.toJSON();
135
+ const domains = Object.keys(routes);
136
+ const tables = [];
137
+ for (let domain of domains) {
138
+ const list = {
139
+ heading: this.#formatDomainHeadline(domain),
140
+ rows: [[
141
+ this.#colors.dim("METHOD"),
142
+ ` ${this.#colors.dim("ROUTE")} `,
143
+ ` ${this.#colors.dim("HANDLER")}`,
144
+ ` ${this.#colors.dim("MIDDLEWARE")}`
145
+ ]]
146
+ };
147
+ for (let route of routes[domain]) {
148
+ const serializedRoute = await this.#serializeRoute(route);
149
+ if (this.#isAllowedByFilters(serializedRoute)) serializedRoute.methods.forEach((method) => {
150
+ list.rows.push([
151
+ this.#formatRouteMethod(method),
152
+ ` ${this.#formatRoutePattern(serializedRoute)}`,
153
+ `${this.#formatControllerName(serializedRoute)}${this.#formatAction(serializedRoute)}`,
154
+ ` ${this.#formatMiddleware(serializedRoute, "compact")}`
155
+ ]);
156
+ });
157
+ }
158
+ tables.push(list);
159
+ }
160
+ return this.#justifyListTables(tables);
161
+ }
162
+ async formatAsAnsiTable() {
163
+ const routes = this.#router.toJSON();
164
+ const domains = Object.keys(routes);
165
+ const tables = [];
166
+ for (let domain of domains) {
167
+ const list = {
168
+ heading: this.#formatDomainHeadline(domain),
169
+ table: this.#table().fullWidth().fluidColumnIndex(2).head([
170
+ this.#colors.dim("METHOD"),
171
+ this.#colors.dim("ROUTE"),
172
+ {
173
+ hAlign: "right",
174
+ content: this.#colors.dim("HANDLER")
175
+ },
176
+ {
177
+ content: this.#colors.dim("MIDDLEWARE"),
178
+ hAlign: "right"
179
+ }
180
+ ])
181
+ };
182
+ for (let route of routes[domain]) {
183
+ const serializedRoute = await this.#serializeRoute(route);
184
+ if (this.#isAllowedByFilters(serializedRoute)) serializedRoute.methods.forEach((method) => {
185
+ list.table.row([
186
+ this.#formatRouteMethod(method),
187
+ this.#formatRoutePattern(serializedRoute),
188
+ {
189
+ content: `${this.#formatControllerName(serializedRoute)}${this.#formatAction(serializedRoute)}`,
190
+ hAlign: "right"
191
+ },
192
+ {
193
+ content: this.#formatMiddleware(serializedRoute),
194
+ hAlign: "right"
195
+ }
196
+ ]);
197
+ });
198
+ }
199
+ tables.push(list);
200
+ }
201
+ return tables;
202
+ }
14
203
  };
15
- import { args, BaseCommand, flags } from "../../modules/ace/main.js";
16
- import { RoutesListFormatter } from "../../src/cli_formatters/routes_list.js";
17
- /**
18
- * Command to display a list of all registered routes in the application.
19
- * Supports filtering by keywords, middleware, and output formatting options.
20
- * Routes can be displayed as a formatted list, table, or JSON.
21
- *
22
- * @example
23
- * ```
24
- * ace list:routes
25
- * ace list:routes user
26
- * ace list:routes --middleware=auth
27
- * ace list:routes --ignore-middleware=guest
28
- * ace list:routes --json
29
- * ace list:routes --table
30
- * ```
31
- */
32
- export default class ListRoutes extends BaseCommand {
33
- /**
34
- * The command name
35
- */
36
- static commandName = 'list:routes';
37
- /**
38
- * The command description
39
- */
40
- static description = 'List application routes. This command will boot the application in the console environment';
41
- /**
42
- * Command options configuration.
43
- * Requires the application to be started so routes are loaded.
44
- */
45
- static options = {
46
- startApp: true,
47
- };
48
- /**
49
- * Execute the command to list application routes.
50
- * Creates a formatter with the specified filters and outputs routes
51
- * in the requested format (JSON, table, or formatted list).
52
- */
53
- async run() {
54
- const router = await this.app.container.make('router');
55
- const formatter = new RoutesListFormatter(router, this.ui, {}, {
56
- ignoreMiddleware: this.ignoreMiddleware,
57
- middleware: this.middleware,
58
- match: this.match,
59
- });
60
- /**
61
- * Display as JSON
62
- */
63
- if (this.json) {
64
- this.logger.log(JSON.stringify(await formatter.formatAsJSON(), null, 2));
65
- return;
66
- }
67
- /**
68
- * Display as a standard table
69
- */
70
- if (this.table) {
71
- const tables = await formatter.formatAsAnsiTable();
72
- tables.forEach((table) => {
73
- this.logger.log('');
74
- if (table.heading) {
75
- this.logger.log(table.heading);
76
- this.logger.log('');
77
- }
78
- table.table.render();
79
- });
80
- return;
81
- }
82
- /**
83
- * Display as a list
84
- */
85
- const list = await formatter.formatAsAnsiList();
86
- list.forEach((item) => {
87
- this.logger.log('');
88
- if (item.heading) {
89
- this.logger.log(item.heading);
90
- this.logger.log('');
91
- }
92
- this.logger.log(item.rows.join('\n'));
93
- });
94
- }
95
- }
96
- __decorate([
97
- args.string({
98
- description: 'Find routes matching the given keyword. Route name, pattern and controller name will be searched against the keyword',
99
- required: false,
100
- })
101
- ], ListRoutes.prototype, "match", void 0);
102
- __decorate([
103
- flags.array({
104
- description: 'View routes that includes all the mentioned middleware names. Use * to see routes that are using one or more middleware',
105
- })
106
- ], ListRoutes.prototype, "middleware", void 0);
107
- __decorate([
108
- flags.array({
109
- description: 'View routes that does not include all the mentioned middleware names. Use * to see routes that are using zero middleware',
110
- })
111
- ], ListRoutes.prototype, "ignoreMiddleware", void 0);
112
- __decorate([
113
- flags.boolean({ description: 'Get routes list as a JSON string' })
114
- ], ListRoutes.prototype, "json", void 0);
115
- __decorate([
116
- flags.boolean({ description: 'View list of routes as a table' })
117
- ], ListRoutes.prototype, "table", void 0);
204
+ var ListRoutes = class extends BaseCommand {
205
+ static commandName = "list:routes";
206
+ static description = "List application routes. This command will boot the application in the console environment";
207
+ static options = { startApp: true };
208
+ async run() {
209
+ const formatter = new RoutesListFormatter(await this.app.container.make("router"), this.ui, {}, {
210
+ ignoreMiddleware: this.ignoreMiddleware,
211
+ middleware: this.middleware,
212
+ match: this.match
213
+ });
214
+ if (this.json) {
215
+ this.logger.log(JSON.stringify(await formatter.formatAsJSON(), null, 2));
216
+ return;
217
+ }
218
+ if (this.table) {
219
+ (await formatter.formatAsAnsiTable()).forEach((table) => {
220
+ this.logger.log("");
221
+ if (table.heading) {
222
+ this.logger.log(table.heading);
223
+ this.logger.log("");
224
+ }
225
+ table.table.render();
226
+ });
227
+ return;
228
+ }
229
+ (await formatter.formatAsAnsiList()).forEach((item) => {
230
+ this.logger.log("");
231
+ if (item.heading) {
232
+ this.logger.log(item.heading);
233
+ this.logger.log("");
234
+ }
235
+ this.logger.log(item.rows.join("\n"));
236
+ });
237
+ }
238
+ };
239
+ __decorate([args.string({
240
+ description: "Find routes matching the given keyword. Route name, pattern and controller name will be searched against the keyword",
241
+ required: false
242
+ })], ListRoutes.prototype, "match", void 0);
243
+ __decorate([flags.array({ description: "View routes that includes all the mentioned middleware names. Use * to see routes that are using one or more middleware" })], ListRoutes.prototype, "middleware", void 0);
244
+ __decorate([flags.array({ description: "View routes that does not include all the mentioned middleware names. Use * to see routes that are using zero middleware" })], ListRoutes.prototype, "ignoreMiddleware", void 0);
245
+ __decorate([flags.boolean({ description: "Get routes list as a JSON string" })], ListRoutes.prototype, "json", void 0);
246
+ __decorate([flags.boolean({ description: "View list of routes as a table" })], ListRoutes.prototype, "table", void 0);
247
+ export { ListRoutes as default };
@@ -25,6 +25,11 @@ export default class MakeCommand extends BaseCommand {
25
25
  * Name of the command class to create
26
26
  */
27
27
  name: string;
28
+ /**
29
+ * Read the contents from this file (if the flag exists) and use
30
+ * it as the raw contents
31
+ */
32
+ contentsFrom: string;
28
33
  /**
29
34
  * The stub template file to use for generating the command class
30
35
  */
@@ -1,58 +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
- 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-MBAMnmJb.js";
3
+ import { t as __decorate } from "../../decorate-DmrZA614.js";
4
+ var MakeCommand = class extends BaseCommand {
5
+ static commandName = "make:command";
6
+ static description = "Create a new ace command class";
7
+ stubPath = "make/command/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
+ }, { contentsFromFile: this.contentsFrom });
13
+ }
14
14
  };
15
- import { stubsRoot } from "../../stubs/main.js";
16
- import { args } from "../../modules/ace/main.js";
17
- import { BaseCommand } from "../../modules/ace/main.js";
18
- /**
19
- * Command to create a new Ace command class.
20
- * Ace commands are CLI commands that can be executed via the `ace` binary,
21
- * allowing you to create custom functionality for your application's command line interface.
22
- *
23
- * @example
24
- * ```
25
- * ace make:command SendEmails
26
- * ace make:command ProcessPayments
27
- * ace make:command GenerateReports
28
- * ace make:command CleanupFiles
29
- * ```
30
- */
31
- export default class MakeCommand extends BaseCommand {
32
- /**
33
- * The command name
34
- */
35
- static commandName = 'make:command';
36
- /**
37
- * The command description
38
- */
39
- static description = 'Create a new ace command class';
40
- /**
41
- * The stub template file to use for generating the command class
42
- */
43
- stubPath = 'make/command/main.stub';
44
- /**
45
- * Execute the command to create a new Ace command class.
46
- * Generates the command file with proper CLI command structure.
47
- */
48
- async run() {
49
- const codemods = await this.createCodemods();
50
- await codemods.makeUsingStub(stubsRoot, this.stubPath, {
51
- flags: this.parsed.flags,
52
- entity: this.app.generators.createEntity(this.name),
53
- });
54
- }
55
- }
56
- __decorate([
57
- args.string({ description: 'Name of the command' })
58
- ], MakeCommand.prototype, "name", void 0);
15
+ __decorate([args.string({ description: "Name of the command" })], MakeCommand.prototype, "name", void 0);
16
+ __decorate([flags.string({ description: "Use the contents of the given file as the generated output" })], MakeCommand.prototype, "contentsFrom", void 0);
17
+ export { MakeCommand as default };
@@ -45,6 +45,11 @@ export default class MakeController extends BaseCommand {
45
45
  * Generate resourceful controller without the "edit" and the "create" methods
46
46
  */
47
47
  api: boolean;
48
+ /**
49
+ * Read the contents from this file (if the flag exists) and use
50
+ * it as the raw contents
51
+ */
52
+ contentsFrom: string;
48
53
  /**
49
54
  * The stub to use for generating the controller
50
55
  */