@adonisjs/core 6.19.0 → 7.0.0-next.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 (171) hide show
  1. package/build/commands/add.d.ts +4 -5
  2. package/build/commands/add.js +7 -60
  3. package/build/commands/build.d.ts +1 -3
  4. package/build/commands/build.js +4 -36
  5. package/build/commands/commands.json +1 -1
  6. package/build/commands/configure.d.ts +3 -3
  7. package/build/commands/configure.js +3 -3
  8. package/build/commands/eject.d.ts +1 -1
  9. package/build/commands/eject.js +3 -3
  10. package/build/commands/env/add.d.ts +2 -2
  11. package/build/commands/env/add.js +2 -2
  12. package/build/commands/generate_key.d.ts +1 -1
  13. package/build/commands/generate_key.js +1 -1
  14. package/build/commands/inspect_rcfile.d.ts +1 -1
  15. package/build/commands/inspect_rcfile.js +1 -1
  16. package/build/commands/list/routes.d.ts +2 -2
  17. package/build/commands/list/routes.js +2 -2
  18. package/build/commands/make/command.d.ts +1 -1
  19. package/build/commands/make/command.js +3 -3
  20. package/build/commands/make/controller.d.ts +2 -2
  21. package/build/commands/make/controller.js +2 -2
  22. package/build/commands/make/event.d.ts +2 -2
  23. package/build/commands/make/event.js +2 -2
  24. package/build/commands/make/exception.d.ts +2 -2
  25. package/build/commands/make/exception.js +2 -2
  26. package/build/commands/make/listener.d.ts +2 -2
  27. package/build/commands/make/listener.js +2 -2
  28. package/build/commands/make/middleware.d.ts +2 -2
  29. package/build/commands/make/middleware.js +4 -4
  30. package/build/commands/make/preload.d.ts +1 -1
  31. package/build/commands/make/preload.js +4 -4
  32. package/build/commands/make/provider.d.ts +1 -1
  33. package/build/commands/make/provider.js +4 -4
  34. package/build/commands/make/service.d.ts +2 -2
  35. package/build/commands/make/service.js +2 -2
  36. package/build/commands/make/test.d.ts +1 -1
  37. package/build/commands/make/test.js +2 -2
  38. package/build/commands/make/validator.d.ts +2 -2
  39. package/build/commands/make/validator.js +2 -2
  40. package/build/commands/make/view.d.ts +1 -1
  41. package/build/commands/make/view.js +2 -2
  42. package/build/commands/repl.d.ts +2 -2
  43. package/build/commands/repl.js +1 -1
  44. package/build/commands/serve.d.ts +2 -4
  45. package/build/commands/serve.js +11 -43
  46. package/build/commands/test.d.ts +2 -4
  47. package/build/commands/test.js +4 -32
  48. package/build/factories/core/ace.d.ts +31 -4
  49. package/build/factories/core/ace.js +20 -4
  50. package/build/factories/core/ignitor.d.ts +80 -9
  51. package/build/factories/core/ignitor.js +84 -13
  52. package/build/factories/core/main.d.ts +3 -3
  53. package/build/factories/core/main.js +3 -3
  54. package/build/factories/core/test_utils.d.ts +32 -4
  55. package/build/factories/core/test_utils.js +21 -4
  56. package/build/factories/stubs.d.ts +54 -5
  57. package/build/factories/stubs.js +55 -6
  58. package/build/index.d.ts +5 -4
  59. package/build/index.js +13 -9
  60. package/build/modules/ace/codemods.d.ts +71 -11
  61. package/build/modules/ace/codemods.js +90 -22
  62. package/build/modules/ace/commands.d.ts +49 -13
  63. package/build/modules/ace/commands.js +48 -10
  64. package/build/modules/ace/create_kernel.d.ts +19 -8
  65. package/build/modules/ace/create_kernel.js +19 -8
  66. package/build/modules/ace/kernel.d.ts +18 -4
  67. package/build/modules/ace/kernel.js +17 -3
  68. package/build/modules/ace/main.d.ts +3 -3
  69. package/build/modules/ace/main.js +3 -3
  70. package/build/modules/dumper/define_config.d.ts +25 -4
  71. package/build/modules/dumper/define_config.js +23 -2
  72. package/build/modules/dumper/dumper.d.ts +82 -12
  73. package/build/modules/dumper/dumper.js +82 -12
  74. package/build/modules/dumper/errors.d.ts +31 -10
  75. package/build/modules/dumper/errors.js +28 -7
  76. package/build/modules/dumper/main.d.ts +3 -3
  77. package/build/modules/dumper/main.js +3 -3
  78. package/build/modules/dumper/plugins/edge.d.ts +1 -1
  79. package/build/modules/hash/define_config.d.ts +53 -8
  80. package/build/modules/hash/define_config.js +51 -6
  81. package/build/modules/hash/main.d.ts +1 -1
  82. package/build/modules/hash/main.js +1 -1
  83. package/build/modules/http/main.d.ts +1 -1
  84. package/build/modules/http/main.js +1 -1
  85. package/build/modules/http/request_validator.d.ts +36 -9
  86. package/build/modules/http/request_validator.js +32 -5
  87. package/build/modules/transformers/main.d.ts +1 -0
  88. package/build/modules/transformers/main.js +9 -0
  89. package/build/providers/app_provider.d.ts +173 -1
  90. package/build/providers/app_provider.js +204 -8
  91. package/build/providers/edge_provider.d.ts +31 -2
  92. package/build/providers/edge_provider.js +31 -2
  93. package/build/providers/hash_provider.d.ts +38 -1
  94. package/build/providers/hash_provider.js +40 -3
  95. package/build/providers/repl_provider.d.ts +40 -1
  96. package/build/providers/repl_provider.js +52 -2
  97. package/build/providers/vinejs_provider.d.ts +32 -5
  98. package/build/providers/vinejs_provider.js +31 -4
  99. package/build/services/ace.d.ts +1 -1
  100. package/build/services/ace.js +1 -1
  101. package/build/services/app.d.ts +1 -1
  102. package/build/services/config.d.ts +1 -1
  103. package/build/services/config.js +1 -1
  104. package/build/services/dumper.js +1 -1
  105. package/build/services/emitter.d.ts +1 -1
  106. package/build/services/emitter.js +1 -1
  107. package/build/services/encryption.d.ts +1 -1
  108. package/build/services/encryption.js +1 -1
  109. package/build/services/hash.d.ts +1 -1
  110. package/build/services/hash.js +1 -1
  111. package/build/services/logger.d.ts +1 -1
  112. package/build/services/logger.js +1 -1
  113. package/build/services/repl.d.ts +1 -1
  114. package/build/services/repl.js +1 -1
  115. package/build/services/router.d.ts +1 -1
  116. package/build/services/router.js +1 -1
  117. package/build/services/server.d.ts +1 -1
  118. package/build/services/server.js +1 -1
  119. package/build/services/test_utils.d.ts +1 -1
  120. package/build/services/test_utils.js +1 -1
  121. package/build/services/url_builder.d.ts +4 -0
  122. package/build/services/url_builder.js +21 -0
  123. package/build/src/assembler_hooks/index_entities.d.ts +51 -0
  124. package/build/src/assembler_hooks/index_entities.js +96 -0
  125. package/build/src/cli_formatters/routes_list.d.ts +24 -12
  126. package/build/src/cli_formatters/routes_list.js +43 -46
  127. package/build/src/config_provider.d.ts +48 -3
  128. package/build/src/config_provider.js +47 -2
  129. package/build/src/debug.d.ts +15 -0
  130. package/build/src/debug.js +15 -0
  131. package/build/src/exceptions.d.ts +41 -1
  132. package/build/src/exceptions.js +41 -1
  133. package/build/src/helpers/assert.d.ts +47 -1
  134. package/build/src/helpers/assert.js +47 -1
  135. package/build/src/helpers/is.d.ts +21 -0
  136. package/build/src/helpers/is.js +21 -0
  137. package/build/src/helpers/main.d.ts +48 -5
  138. package/build/src/helpers/main.js +48 -5
  139. package/build/src/helpers/string.d.ts +89 -9
  140. package/build/src/helpers/string.js +15 -2
  141. package/build/src/helpers/types.d.ts +96 -2
  142. package/build/src/helpers/types.js +96 -2
  143. package/build/src/helpers/verification_token.d.ts +22 -1
  144. package/build/src/helpers/verification_token.js +24 -2
  145. package/build/src/ignitor/ace.d.ts +23 -3
  146. package/build/src/ignitor/ace.js +21 -1
  147. package/build/src/ignitor/http.d.ts +16 -3
  148. package/build/src/ignitor/http.js +16 -3
  149. package/build/src/ignitor/main.d.ts +29 -6
  150. package/build/src/ignitor/main.js +30 -7
  151. package/build/src/ignitor/test.d.ts +26 -3
  152. package/build/src/ignitor/test.js +24 -1
  153. package/build/src/test_utils/http.d.ts +19 -3
  154. package/build/src/test_utils/http.js +24 -3
  155. package/build/src/test_utils/main.d.ts +22 -4
  156. package/build/src/test_utils/main.js +21 -3
  157. package/build/src/types.d.ts +277 -26
  158. package/build/src/utils.d.ts +34 -0
  159. package/build/src/utils.js +49 -0
  160. package/build/src/vine.d.ts +24 -1
  161. package/build/src/vine.js +27 -1
  162. package/build/stubs/main.js +1 -2
  163. package/build/toolkit/main.js +1 -1
  164. package/build/types/helpers.d.ts +2 -1
  165. package/build/types/transformers.d.ts +1 -0
  166. package/build/types/transformers.js +9 -0
  167. package/package.json +51 -50
  168. package/build/src/helpers/parse_binding_reference.d.ts +0 -45
  169. package/build/src/helpers/parse_binding_reference.js +0 -83
  170. package/build/src/internal_helpers.d.ts +0 -15
  171. package/build/src/internal_helpers.js +0 -63
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@adonisjs/core",
3
3
  "description": "Core of AdonisJS",
4
- "version": "6.19.0",
4
+ "version": "7.0.0-next.0",
5
5
  "engines": {
6
- "node": ">=20.6.0"
6
+ "node": ">=24.0.0"
7
7
  },
8
8
  "main": "build/index.js",
9
9
  "type": "module",
@@ -56,6 +56,7 @@
56
56
  "./http": "./build/modules/http/main.js",
57
57
  "./logger": "./build/modules/logger.js",
58
58
  "./repl": "./build/modules/repl.js",
59
+ "./transformers": "./build/modules/transformers/main.js",
59
60
  "./package.json": "./package.json",
60
61
  "./exceptions": "./build/src/exceptions.js",
61
62
  "./test_utils": "./build/src/test_utils/main.js",
@@ -77,83 +78,80 @@
77
78
  "lint": "eslint .",
78
79
  "typecheck": "tsc --noEmit",
79
80
  "format": "prettier --write .",
80
- "quick:test": "node --import=ts-node-maintained/register/esm --enable-source-maps --experimental-import-meta-resolve bin/test.ts --force-exit",
81
- "citgm": "cross-env FORCE_COLOR=0 node --import=ts-node-maintained/register/esm --experimental-import-meta-resolve bin/test.ts --force-exit",
82
- "index:commands": "node --import=ts-node-maintained/register/esm toolkit/main.js index build/commands"
81
+ "quick:test": "node --import=@poppinss/ts-exec --enable-source-maps bin/test.ts --force-exit",
82
+ "citgm": "cross-env FORCE_COLOR=0 node --import=@poppinss/ts-exec bin/test.ts --force-exit",
83
+ "index:commands": "node --import=@poppinss/ts-exec toolkit/main.js index build/commands"
83
84
  },
84
85
  "devDependencies": {
85
- "@adonisjs/assembler": "^7.8.2",
86
- "@adonisjs/eslint-config": "^2.1.0",
86
+ "@adonisjs/assembler": "^8.0.0-next.7",
87
+ "@adonisjs/eslint-config": "^3.0.0-next.1",
87
88
  "@adonisjs/prettier-config": "^1.4.5",
88
- "@adonisjs/tsconfig": "^1.4.1",
89
- "@japa/assert": "^4.0.1",
89
+ "@adonisjs/tsconfig": "^2.0.0-next.0",
90
+ "@japa/assert": "^4.1.1",
90
91
  "@japa/expect-type": "^2.0.3",
91
92
  "@japa/file-system": "^2.3.2",
92
- "@japa/runner": "^4.2.0",
93
- "@japa/snapshot": "^2.0.8",
93
+ "@japa/runner": "^4.4.0",
94
+ "@japa/snapshot": "^2.0.9",
95
+ "@poppinss/ts-exec": "^1.4.1",
94
96
  "@release-it/conventional-changelog": "^10.0.1",
95
- "@swc/core": "1.10.7",
96
- "@types/node": "^24.0.3",
97
+ "@types/node": "^24.3.1",
97
98
  "@types/pretty-hrtime": "^1.0.3",
98
99
  "@types/sinon": "^17.0.4",
99
100
  "@types/supertest": "^6.0.3",
100
101
  "@types/test-console": "^2.0.3",
101
102
  "@vinejs/vine": "^3.0.1",
102
- "argon2": "^0.43.0",
103
+ "argon2": "^0.44.0",
103
104
  "bcrypt": "^6.0.0",
104
105
  "c8": "^10.1.3",
105
106
  "copyfiles": "^2.4.1",
106
- "cross-env": "^7.0.3",
107
+ "cross-env": "^10.0.0",
107
108
  "del-cli": "^6.0.0",
108
- "edge.js": "^6.2.1",
109
- "eslint": "^9.29.0",
109
+ "edge.js": "^6.3.0",
110
+ "eslint": "^9.34.0",
110
111
  "execa": "^9.6.0",
111
112
  "get-port": "^7.1.0",
112
- "prettier": "^3.5.3",
113
- "release-it": "^19.0.3",
113
+ "prettier": "^3.6.2",
114
+ "release-it": "^19.0.4",
114
115
  "sinon": "^21.0.0",
115
- "supertest": "^7.1.1",
116
+ "supertest": "^7.1.4",
116
117
  "test-console": "^2.0.0",
117
118
  "timekeeper": "^2.3.1",
118
- "ts-node-maintained": "^10.9.5",
119
- "typescript": "^5.8.3"
119
+ "typescript": "^5.9.2",
120
+ "youch": "^4.1.0-beta.11"
120
121
  },
121
122
  "dependencies": {
122
- "@adonisjs/ace": "^13.3.0",
123
- "@adonisjs/application": "^8.4.1",
124
- "@adonisjs/bodyparser": "^10.1.0",
125
- "@adonisjs/config": "^5.0.3",
126
- "@adonisjs/encryption": "^6.0.2",
127
- "@adonisjs/env": "^6.2.0",
128
- "@adonisjs/events": "^9.0.2",
129
- "@adonisjs/fold": "^10.2.0",
130
- "@adonisjs/hash": "^9.1.1",
131
- "@adonisjs/health": "^2.0.0",
132
- "@adonisjs/http-server": "^7.7.0",
133
- "@adonisjs/logger": "^6.0.6",
134
- "@adonisjs/repl": "^4.1.0",
135
- "@antfu/install-pkg": "^1.1.0",
136
- "@paralleldrive/cuid2": "^2.2.2",
137
- "@poppinss/colors": "^4.1.4",
138
- "@poppinss/dumper": "^0.6.3",
139
- "@poppinss/macroable": "^1.0.4",
140
- "@poppinss/utils": "^6.10.0",
123
+ "@adonisjs/ace": "^14.0.1-next.1",
124
+ "@adonisjs/application": "^9.0.0-next.5",
125
+ "@adonisjs/bodyparser": "^11.0.0-next.1",
126
+ "@adonisjs/config": "^6.0.0-next.1",
127
+ "@adonisjs/encryption": "^7.0.0-next.1",
128
+ "@adonisjs/env": "^7.0.0-next.1",
129
+ "@adonisjs/events": "^10.1.0-next.2",
130
+ "@adonisjs/fold": "^11.0.0-next.2",
131
+ "@adonisjs/hash": "^10.0.0-next.1",
132
+ "@adonisjs/health": "^3.0.0-next.0",
133
+ "@adonisjs/http-server": "^8.0.0-next.6",
134
+ "@adonisjs/http-transformers": "^1.1.0",
135
+ "@adonisjs/logger": "^7.1.0-next.0",
136
+ "@adonisjs/repl": "^5.0.0-next.0",
137
+ "@poppinss/colors": "^4.1.5",
138
+ "@poppinss/dumper": "^0.6.4",
139
+ "@poppinss/macroable": "^1.0.5",
140
+ "@poppinss/utils": "^7.0.0-next.3",
141
141
  "@sindresorhus/is": "^7.0.2",
142
142
  "@types/he": "^1.2.3",
143
143
  "error-stack-parser-es": "^1.0.5",
144
144
  "he": "^1.2.0",
145
- "parse-imports": "^2.2.1",
146
145
  "pretty-hrtime": "^1.0.3",
147
- "string-width": "^7.2.0",
148
- "youch": "^3.3.4",
149
- "youch-terminal": "^2.2.3"
146
+ "string-width": "^8.1.0"
150
147
  },
151
148
  "peerDependencies": {
152
- "@adonisjs/assembler": "^7.8.0",
153
- "@vinejs/vine": "^2.1.0 || ^3.0.0",
154
- "argon2": "^0.31.2 || ^0.41.0 || ^0.43.0",
155
- "bcrypt": "^5.1.1 || ^6.0.0",
156
- "edge.js": "^6.2.0"
149
+ "@adonisjs/assembler": "^8.0.0-next.6",
150
+ "@vinejs/vine": "^3.0.0",
151
+ "argon2": "^0.43.0",
152
+ "bcrypt": "^6.0.0",
153
+ "edge.js": "^6.2.0",
154
+ "youch": "^4.1.0-beta.11"
157
155
  },
158
156
  "peerDependenciesMeta": {
159
157
  "argon2": {
@@ -170,6 +168,9 @@
170
168
  },
171
169
  "edge.js": {
172
170
  "optional": true
171
+ },
172
+ "youch": {
173
+ "optional": true
173
174
  }
174
175
  },
175
176
  "homepage": "https://github.com/adonisjs/core#readme",
@@ -1,45 +0,0 @@
1
- import { LazyImport, Constructor } from '../../types/http.js';
2
- /**
3
- * The "parseBindingReference" method can be used to parse a binding references
4
- * similar to route controller binding value or event listener binding value.
5
- *
6
- * See the following examples to understand how this function works.
7
- *
8
- * ### Magic strings
9
- * ```ts
10
- * parseBindingReference('#controllers/home_controller')
11
- * // returns { moduleNameOrPath: '#controllers/home_controller', method: 'handle' }
12
-
13
- * parseBindingReference('#controllers/home_controller.index')
14
- * // returns { moduleNameOrPath: '#controllers/home_controller', method: 'index' }
15
-
16
- * parseBindingReference('#controllers/home.controller.index')
17
- * // returns { moduleNameOrPath: '#controllers/home.controller', method: 'index' }
18
- * ```
19
- *
20
- * ### Class reference
21
- * ```ts
22
- * class HomeController {}
23
- *
24
- * parseBindingReference([HomeController])
25
- * // returns { moduleNameOrPath: 'HomeController', method: 'handle' }
26
-
27
- * parseBindingReference([HomeController, 'index'])
28
- * // returns { moduleNameOrPath: 'HomeController', method: 'index' }
29
- * ```
30
- *
31
- * ### Lazy import reference
32
- * ```ts
33
- * const HomeController = () => import('#controllers/home_controller')
34
- *
35
- * parseBindingReference([HomeController])
36
- * // returns { moduleNameOrPath: '#controllers/home_controller', method: 'handle' }
37
-
38
- * parseBindingReference([HomeController, 'index'])
39
- * // returns { moduleNameOrPath: 'controllers/home_controller', method: 'index' }
40
- * ```
41
- */
42
- export declare function parseBindingReference(binding: string | [LazyImport<Constructor<any>> | Constructor<any>, any?]): Promise<{
43
- moduleNameOrPath: string;
44
- method: string;
45
- }>;
@@ -1,83 +0,0 @@
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 { parseImports } from 'parse-imports';
10
- /**
11
- * The "parseBindingReference" method can be used to parse a binding references
12
- * similar to route controller binding value or event listener binding value.
13
- *
14
- * See the following examples to understand how this function works.
15
- *
16
- * ### Magic strings
17
- * ```ts
18
- * parseBindingReference('#controllers/home_controller')
19
- * // returns { moduleNameOrPath: '#controllers/home_controller', method: 'handle' }
20
-
21
- * parseBindingReference('#controllers/home_controller.index')
22
- * // returns { moduleNameOrPath: '#controllers/home_controller', method: 'index' }
23
-
24
- * parseBindingReference('#controllers/home.controller.index')
25
- * // returns { moduleNameOrPath: '#controllers/home.controller', method: 'index' }
26
- * ```
27
- *
28
- * ### Class reference
29
- * ```ts
30
- * class HomeController {}
31
- *
32
- * parseBindingReference([HomeController])
33
- * // returns { moduleNameOrPath: 'HomeController', method: 'handle' }
34
-
35
- * parseBindingReference([HomeController, 'index'])
36
- * // returns { moduleNameOrPath: 'HomeController', method: 'index' }
37
- * ```
38
- *
39
- * ### Lazy import reference
40
- * ```ts
41
- * const HomeController = () => import('#controllers/home_controller')
42
- *
43
- * parseBindingReference([HomeController])
44
- * // returns { moduleNameOrPath: '#controllers/home_controller', method: 'handle' }
45
-
46
- * parseBindingReference([HomeController, 'index'])
47
- * // returns { moduleNameOrPath: 'controllers/home_controller', method: 'index' }
48
- * ```
49
- */
50
- export async function parseBindingReference(binding) {
51
- /**
52
- * The binding reference is a magic string. It might not have method
53
- * name attached to it. Therefore we split the string and attempt
54
- * to find the method or use the default method name "handle".
55
- */
56
- if (typeof binding === 'string') {
57
- const tokens = binding.split('.');
58
- if (tokens.length === 1) {
59
- return { moduleNameOrPath: binding, method: 'handle' };
60
- }
61
- return { method: tokens.pop(), moduleNameOrPath: tokens.join('.') };
62
- }
63
- const [bindingReference, method] = binding;
64
- /**
65
- * Parsing the binding reference for dynamic imports and using its
66
- * import value.
67
- */
68
- const imports = [...(await parseImports(bindingReference.toString()))];
69
- const importedModule = imports.find(($import) => $import.isDynamicImport && $import.moduleSpecifier.value);
70
- if (importedModule) {
71
- return {
72
- moduleNameOrPath: importedModule.moduleSpecifier.value,
73
- method: method || 'handle',
74
- };
75
- }
76
- /**
77
- * Otherwise using the name of the binding reference.
78
- */
79
- return {
80
- moduleNameOrPath: bindingReference.name,
81
- method: method || 'handle',
82
- };
83
- }
@@ -1,15 +0,0 @@
1
- import { ApplicationService } from './types.js';
2
- import { RcFile } from '@adonisjs/application/types';
3
- /**
4
- * Imports assembler optionally
5
- */
6
- export declare function importAssembler(app: ApplicationService): Promise<typeof import('@adonisjs/assembler') | undefined>;
7
- /**
8
- * Imports typescript optionally
9
- */
10
- export declare function importTypeScript(app: ApplicationService): Promise<typeof import('typescript') | undefined>;
11
- /**
12
- * Detects the assets bundler in use. The rcFile.assetsBundler is
13
- * used when exists.
14
- */
15
- export declare function detectAssetsBundler(app: ApplicationService): Promise<RcFile['assetsBundler']>;
@@ -1,63 +0,0 @@
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 { existsSync } from 'node:fs';
10
- /**
11
- * Imports assembler optionally
12
- */
13
- export async function importAssembler(app) {
14
- try {
15
- return await app.import('@adonisjs/assembler');
16
- }
17
- catch { }
18
- }
19
- /**
20
- * Imports typescript optionally
21
- */
22
- export async function importTypeScript(app) {
23
- try {
24
- return await app.importDefault('typescript');
25
- }
26
- catch { }
27
- }
28
- /**
29
- * Generates an array of filenames with different JavaScript
30
- * extensions for the given filename
31
- */
32
- function generateJsFilenames(filename) {
33
- const extensions = ['.js', '.ts', '.cjs', '.mjs', '.cts', '.mts'];
34
- return extensions.map((extension) => filename + extension);
35
- }
36
- /**
37
- * Detects the assets bundler in use. The rcFile.assetsBundler is
38
- * used when exists.
39
- */
40
- export async function detectAssetsBundler(app) {
41
- if (app.rcFile.assetsBundler === false) {
42
- return false;
43
- }
44
- if (app.rcFile.assetsBundler) {
45
- return app.rcFile.assetsBundler;
46
- }
47
- const possibleViteConfigFiles = generateJsFilenames('vite.config');
48
- if (possibleViteConfigFiles.some((config) => existsSync(app.makePath(config)))) {
49
- return {
50
- name: 'vite',
51
- devServer: { command: 'vite' },
52
- build: { command: 'vite', args: ['build'] },
53
- };
54
- }
55
- const possibleEncoreConfigFiles = generateJsFilenames('webpack.config');
56
- if (possibleEncoreConfigFiles.some((config) => existsSync(app.makePath(config)))) {
57
- return {
58
- name: 'encore',
59
- devServer: { command: 'encore', args: ['dev-server'] },
60
- build: { command: 'encore', args: ['production'] },
61
- };
62
- }
63
- }