@strapi/strapi 5.9.0 → 5.10.1

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 (292) hide show
  1. package/dist/admin-test.js +11 -8
  2. package/dist/admin-test.js.map +1 -1
  3. package/dist/admin-test.mjs +1 -1
  4. package/dist/admin-test.mjs.map +1 -1
  5. package/dist/admin.js +36 -42
  6. package/dist/admin.js.map +1 -1
  7. package/dist/admin.mjs +28 -35
  8. package/dist/admin.mjs.map +1 -1
  9. package/dist/chunks/aliases-DAot4dxq.mjs +76 -0
  10. package/dist/chunks/aliases-DAot4dxq.mjs.map +1 -0
  11. package/dist/chunks/aliases-DnWkCRVx.js +80 -0
  12. package/dist/chunks/aliases-DnWkCRVx.js.map +1 -0
  13. package/dist/chunks/build-B_F6r_52.mjs +85 -0
  14. package/dist/chunks/build-B_F6r_52.mjs.map +1 -0
  15. package/dist/chunks/build-Bblul4se.js +87 -0
  16. package/dist/chunks/build-Bblul4se.js.map +1 -0
  17. package/dist/chunks/build-Bi8Renlu.mjs +57 -0
  18. package/dist/chunks/build-Bi8Renlu.mjs.map +1 -0
  19. package/dist/chunks/build-DNnBV0b_.js +59 -0
  20. package/dist/chunks/build-DNnBV0b_.js.map +1 -0
  21. package/dist/chunks/config-D5OUWo8m.js +154 -0
  22. package/dist/chunks/config-D5OUWo8m.js.map +1 -0
  23. package/dist/chunks/config-YXcKrg8-.mjs +243 -0
  24. package/dist/chunks/config-YXcKrg8-.mjs.map +1 -0
  25. package/dist/chunks/config-kmpcowQR.mjs +150 -0
  26. package/dist/chunks/config-kmpcowQR.mjs.map +1 -0
  27. package/dist/chunks/config-nh7CiBvl.js +247 -0
  28. package/dist/chunks/config-nh7CiBvl.js.map +1 -0
  29. package/dist/chunks/index-1UgyJyc8.js +3185 -0
  30. package/dist/chunks/index-1UgyJyc8.js.map +1 -0
  31. package/dist/chunks/index-DIAuPBs8.mjs +3160 -0
  32. package/dist/chunks/index-DIAuPBs8.mjs.map +1 -0
  33. package/dist/chunks/watch-C6MYoEbx.mjs +131 -0
  34. package/dist/chunks/watch-C6MYoEbx.mjs.map +1 -0
  35. package/dist/chunks/watch-CRDw0bas.js +133 -0
  36. package/dist/chunks/watch-CRDw0bas.js.map +1 -0
  37. package/dist/chunks/watch-Cvk1wtNO.mjs +144 -0
  38. package/dist/chunks/watch-Cvk1wtNO.mjs.map +1 -0
  39. package/dist/chunks/watch-Du-Ph6oD.js +146 -0
  40. package/dist/chunks/watch-Du-Ph6oD.js.map +1 -0
  41. package/dist/cli/commands/plugin/init/files/typescript.d.ts +20 -7
  42. package/dist/cli/commands/plugin/init/files/typescript.d.ts.map +1 -1
  43. package/dist/cli/commands/version.d.ts.map +1 -1
  44. package/dist/cli/index.d.ts.map +1 -1
  45. package/dist/cli.js +50 -0
  46. package/dist/cli.js.map +1 -0
  47. package/dist/cli.mjs +43 -0
  48. package/dist/cli.mjs.map +1 -0
  49. package/dist/index.js +11 -8
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.mjs +1 -1
  52. package/dist/index.mjs.map +1 -1
  53. package/dist/node/core/errors.d.ts.map +1 -1
  54. package/dist/node/create-build-context.d.ts +1 -1
  55. package/dist/node/create-build-context.d.ts.map +1 -1
  56. package/package.json +26 -26
  57. package/dist/cli/commands/admin/create-user.js +0 -91
  58. package/dist/cli/commands/admin/create-user.js.map +0 -1
  59. package/dist/cli/commands/admin/create-user.mjs +0 -88
  60. package/dist/cli/commands/admin/create-user.mjs.map +0 -1
  61. package/dist/cli/commands/admin/reset-user-password.js +0 -47
  62. package/dist/cli/commands/admin/reset-user-password.js.map +0 -1
  63. package/dist/cli/commands/admin/reset-user-password.mjs +0 -44
  64. package/dist/cli/commands/admin/reset-user-password.mjs.map +0 -1
  65. package/dist/cli/commands/build.js +0 -24
  66. package/dist/cli/commands/build.js.map +0 -1
  67. package/dist/cli/commands/build.mjs +0 -24
  68. package/dist/cli/commands/build.mjs.map +0 -1
  69. package/dist/cli/commands/components/list.js +0 -27
  70. package/dist/cli/commands/components/list.js.map +0 -1
  71. package/dist/cli/commands/components/list.mjs +0 -24
  72. package/dist/cli/commands/components/list.mjs.map +0 -1
  73. package/dist/cli/commands/configuration/dump.js +0 -43
  74. package/dist/cli/commands/configuration/dump.js.map +0 -1
  75. package/dist/cli/commands/configuration/dump.mjs +0 -41
  76. package/dist/cli/commands/configuration/dump.mjs.map +0 -1
  77. package/dist/cli/commands/configuration/restore.js +0 -142
  78. package/dist/cli/commands/configuration/restore.js.map +0 -1
  79. package/dist/cli/commands/configuration/restore.mjs +0 -139
  80. package/dist/cli/commands/configuration/restore.mjs.map +0 -1
  81. package/dist/cli/commands/console.js +0 -29
  82. package/dist/cli/commands/console.js.map +0 -1
  83. package/dist/cli/commands/console.mjs +0 -27
  84. package/dist/cli/commands/console.mjs.map +0 -1
  85. package/dist/cli/commands/content-types/list.js +0 -27
  86. package/dist/cli/commands/content-types/list.js.map +0 -1
  87. package/dist/cli/commands/content-types/list.mjs +0 -24
  88. package/dist/cli/commands/content-types/list.mjs.map +0 -1
  89. package/dist/cli/commands/controllers/list.js +0 -27
  90. package/dist/cli/commands/controllers/list.js.map +0 -1
  91. package/dist/cli/commands/controllers/list.mjs +0 -24
  92. package/dist/cli/commands/controllers/list.mjs.map +0 -1
  93. package/dist/cli/commands/develop.js +0 -29
  94. package/dist/cli/commands/develop.js.map +0 -1
  95. package/dist/cli/commands/develop.mjs +0 -27
  96. package/dist/cli/commands/develop.mjs.map +0 -1
  97. package/dist/cli/commands/export/action.js +0 -118
  98. package/dist/cli/commands/export/action.js.map +0 -1
  99. package/dist/cli/commands/export/action.mjs +0 -116
  100. package/dist/cli/commands/export/action.mjs.map +0 -1
  101. package/dist/cli/commands/export/command.js +0 -23
  102. package/dist/cli/commands/export/command.js.map +0 -1
  103. package/dist/cli/commands/export/command.mjs +0 -24
  104. package/dist/cli/commands/export/command.mjs.map +0 -1
  105. package/dist/cli/commands/generate.js +0 -35
  106. package/dist/cli/commands/generate.js.map +0 -1
  107. package/dist/cli/commands/generate.mjs +0 -13
  108. package/dist/cli/commands/generate.mjs.map +0 -1
  109. package/dist/cli/commands/hooks/list.js +0 -27
  110. package/dist/cli/commands/hooks/list.js.map +0 -1
  111. package/dist/cli/commands/hooks/list.mjs +0 -24
  112. package/dist/cli/commands/hooks/list.mjs.map +0 -1
  113. package/dist/cli/commands/import/action.js +0 -106
  114. package/dist/cli/commands/import/action.js.map +0 -1
  115. package/dist/cli/commands/import/action.mjs +0 -105
  116. package/dist/cli/commands/import/action.mjs.map +0 -1
  117. package/dist/cli/commands/import/command.js +0 -70
  118. package/dist/cli/commands/import/command.js.map +0 -1
  119. package/dist/cli/commands/import/command.mjs +0 -68
  120. package/dist/cli/commands/import/command.mjs.map +0 -1
  121. package/dist/cli/commands/index.js +0 -63
  122. package/dist/cli/commands/index.js.map +0 -1
  123. package/dist/cli/commands/index.mjs +0 -63
  124. package/dist/cli/commands/index.mjs.map +0 -1
  125. package/dist/cli/commands/middlewares/list.js +0 -27
  126. package/dist/cli/commands/middlewares/list.js.map +0 -1
  127. package/dist/cli/commands/middlewares/list.mjs +0 -24
  128. package/dist/cli/commands/middlewares/list.mjs.map +0 -1
  129. package/dist/cli/commands/policies/list.js +0 -27
  130. package/dist/cli/commands/policies/list.js.map +0 -1
  131. package/dist/cli/commands/policies/list.mjs +0 -24
  132. package/dist/cli/commands/policies/list.mjs.map +0 -1
  133. package/dist/cli/commands/report.js +0 -35
  134. package/dist/cli/commands/report.js.map +0 -1
  135. package/dist/cli/commands/report.mjs +0 -35
  136. package/dist/cli/commands/report.mjs.map +0 -1
  137. package/dist/cli/commands/routes/list.js +0 -31
  138. package/dist/cli/commands/routes/list.js.map +0 -1
  139. package/dist/cli/commands/routes/list.mjs +0 -28
  140. package/dist/cli/commands/routes/list.mjs.map +0 -1
  141. package/dist/cli/commands/services/list.js +0 -27
  142. package/dist/cli/commands/services/list.js.map +0 -1
  143. package/dist/cli/commands/services/list.mjs +0 -24
  144. package/dist/cli/commands/services/list.mjs.map +0 -1
  145. package/dist/cli/commands/start.js +0 -27
  146. package/dist/cli/commands/start.js.map +0 -1
  147. package/dist/cli/commands/start.mjs +0 -24
  148. package/dist/cli/commands/start.mjs.map +0 -1
  149. package/dist/cli/commands/telemetry/disable.js +0 -70
  150. package/dist/cli/commands/telemetry/disable.js.map +0 -1
  151. package/dist/cli/commands/telemetry/disable.mjs +0 -67
  152. package/dist/cli/commands/telemetry/disable.mjs.map +0 -1
  153. package/dist/cli/commands/telemetry/enable.js +0 -89
  154. package/dist/cli/commands/telemetry/enable.js.map +0 -1
  155. package/dist/cli/commands/telemetry/enable.mjs +0 -86
  156. package/dist/cli/commands/telemetry/enable.mjs.map +0 -1
  157. package/dist/cli/commands/templates/generate.js +0 -11
  158. package/dist/cli/commands/templates/generate.js.map +0 -1
  159. package/dist/cli/commands/templates/generate.mjs +0 -11
  160. package/dist/cli/commands/templates/generate.mjs.map +0 -1
  161. package/dist/cli/commands/transfer/action.js +0 -130
  162. package/dist/cli/commands/transfer/action.js.map +0 -1
  163. package/dist/cli/commands/transfer/action.mjs +0 -131
  164. package/dist/cli/commands/transfer/action.mjs.map +0 -1
  165. package/dist/cli/commands/transfer/command.js +0 -85
  166. package/dist/cli/commands/transfer/command.js.map +0 -1
  167. package/dist/cli/commands/transfer/command.mjs +0 -84
  168. package/dist/cli/commands/transfer/command.mjs.map +0 -1
  169. package/dist/cli/commands/ts/generate-types.js +0 -36
  170. package/dist/cli/commands/ts/generate-types.js.map +0 -1
  171. package/dist/cli/commands/ts/generate-types.mjs +0 -34
  172. package/dist/cli/commands/ts/generate-types.mjs.map +0 -1
  173. package/dist/cli/commands/version.js +0 -13
  174. package/dist/cli/commands/version.js.map +0 -1
  175. package/dist/cli/commands/version.mjs +0 -13
  176. package/dist/cli/commands/version.mjs.map +0 -1
  177. package/dist/cli/index.js +0 -79
  178. package/dist/cli/index.js.map +0 -1
  179. package/dist/cli/index.mjs +0 -79
  180. package/dist/cli/index.mjs.map +0 -1
  181. package/dist/cli/utils/commander.js +0 -111
  182. package/dist/cli/utils/commander.js.map +0 -1
  183. package/dist/cli/utils/commander.mjs +0 -108
  184. package/dist/cli/utils/commander.mjs.map +0 -1
  185. package/dist/cli/utils/data-transfer.js +0 -354
  186. package/dist/cli/utils/data-transfer.js.map +0 -1
  187. package/dist/cli/utils/data-transfer.mjs +0 -350
  188. package/dist/cli/utils/data-transfer.mjs.map +0 -1
  189. package/dist/cli/utils/helpers.js +0 -102
  190. package/dist/cli/utils/helpers.js.map +0 -1
  191. package/dist/cli/utils/helpers.mjs +0 -100
  192. package/dist/cli/utils/helpers.mjs.map +0 -1
  193. package/dist/cli/utils/logger.js +0 -137
  194. package/dist/cli/utils/logger.js.map +0 -1
  195. package/dist/cli/utils/logger.mjs +0 -116
  196. package/dist/cli/utils/logger.mjs.map +0 -1
  197. package/dist/cli/utils/telemetry.js +0 -22
  198. package/dist/cli/utils/telemetry.js.map +0 -1
  199. package/dist/cli/utils/telemetry.mjs +0 -22
  200. package/dist/cli/utils/telemetry.mjs.map +0 -1
  201. package/dist/cli/utils/tsconfig.js +0 -26
  202. package/dist/cli/utils/tsconfig.js.map +0 -1
  203. package/dist/cli/utils/tsconfig.mjs +0 -23
  204. package/dist/cli/utils/tsconfig.mjs.map +0 -1
  205. package/dist/node/build.js +0 -76
  206. package/dist/node/build.js.map +0 -1
  207. package/dist/node/build.mjs +0 -58
  208. package/dist/node/build.mjs.map +0 -1
  209. package/dist/node/core/admin-customisations.js +0 -24
  210. package/dist/node/core/admin-customisations.js.map +0 -1
  211. package/dist/node/core/admin-customisations.mjs +0 -22
  212. package/dist/node/core/admin-customisations.mjs.map +0 -1
  213. package/dist/node/core/aliases.js +0 -33
  214. package/dist/node/core/aliases.js.map +0 -1
  215. package/dist/node/core/aliases.mjs +0 -31
  216. package/dist/node/core/aliases.mjs.map +0 -1
  217. package/dist/node/core/config.js +0 -18
  218. package/dist/node/core/config.js.map +0 -1
  219. package/dist/node/core/config.mjs +0 -16
  220. package/dist/node/core/config.mjs.map +0 -1
  221. package/dist/node/core/dependencies.js +0 -163
  222. package/dist/node/core/dependencies.js.map +0 -1
  223. package/dist/node/core/dependencies.mjs +0 -155
  224. package/dist/node/core/dependencies.mjs.map +0 -1
  225. package/dist/node/core/env.js +0 -26
  226. package/dist/node/core/env.js.map +0 -1
  227. package/dist/node/core/env.mjs +0 -23
  228. package/dist/node/core/env.mjs.map +0 -1
  229. package/dist/node/core/errors.js +0 -33
  230. package/dist/node/core/errors.js.map +0 -1
  231. package/dist/node/core/errors.mjs +0 -29
  232. package/dist/node/core/errors.mjs.map +0 -1
  233. package/dist/node/core/files.js +0 -45
  234. package/dist/node/core/files.js.map +0 -1
  235. package/dist/node/core/files.mjs +0 -43
  236. package/dist/node/core/files.mjs.map +0 -1
  237. package/dist/node/core/managers.js +0 -17
  238. package/dist/node/core/managers.js.map +0 -1
  239. package/dist/node/core/managers.mjs +0 -17
  240. package/dist/node/core/managers.mjs.map +0 -1
  241. package/dist/node/core/monorepo.js +0 -23
  242. package/dist/node/core/monorepo.js.map +0 -1
  243. package/dist/node/core/monorepo.mjs +0 -20
  244. package/dist/node/core/monorepo.mjs.map +0 -1
  245. package/dist/node/core/plugins.js +0 -116
  246. package/dist/node/core/plugins.js.map +0 -1
  247. package/dist/node/core/plugins.mjs +0 -111
  248. package/dist/node/core/plugins.mjs.map +0 -1
  249. package/dist/node/core/timer.js +0 -27
  250. package/dist/node/core/timer.js.map +0 -1
  251. package/dist/node/core/timer.mjs +0 -27
  252. package/dist/node/core/timer.mjs.map +0 -1
  253. package/dist/node/create-build-context.js +0 -101
  254. package/dist/node/create-build-context.js.map +0 -1
  255. package/dist/node/create-build-context.mjs +0 -96
  256. package/dist/node/create-build-context.mjs.map +0 -1
  257. package/dist/node/develop.js +0 -275
  258. package/dist/node/develop.js.map +0 -1
  259. package/dist/node/develop.mjs +0 -252
  260. package/dist/node/develop.mjs.map +0 -1
  261. package/dist/node/staticFiles.js +0 -102
  262. package/dist/node/staticFiles.js.map +0 -1
  263. package/dist/node/staticFiles.mjs +0 -76
  264. package/dist/node/staticFiles.mjs.map +0 -1
  265. package/dist/node/vite/build.js +0 -34
  266. package/dist/node/vite/build.js.map +0 -1
  267. package/dist/node/vite/build.mjs +0 -12
  268. package/dist/node/vite/build.mjs.map +0 -1
  269. package/dist/node/vite/config.js +0 -106
  270. package/dist/node/vite/config.js.map +0 -1
  271. package/dist/node/vite/config.mjs +0 -103
  272. package/dist/node/vite/config.mjs.map +0 -1
  273. package/dist/node/vite/plugins.js +0 -43
  274. package/dist/node/vite/plugins.js.map +0 -1
  275. package/dist/node/vite/plugins.mjs +0 -43
  276. package/dist/node/vite/plugins.mjs.map +0 -1
  277. package/dist/node/vite/watch.js +0 -111
  278. package/dist/node/vite/watch.js.map +0 -1
  279. package/dist/node/vite/watch.mjs +0 -85
  280. package/dist/node/vite/watch.mjs.map +0 -1
  281. package/dist/node/webpack/build.js +0 -41
  282. package/dist/node/webpack/build.js.map +0 -1
  283. package/dist/node/webpack/build.mjs +0 -39
  284. package/dist/node/webpack/build.mjs.map +0 -1
  285. package/dist/node/webpack/config.js +0 -259
  286. package/dist/node/webpack/config.js.map +0 -1
  287. package/dist/node/webpack/config.mjs +0 -228
  288. package/dist/node/webpack/config.mjs.map +0 -1
  289. package/dist/node/webpack/watch.js +0 -95
  290. package/dist/node/webpack/watch.js.map +0 -1
  291. package/dist/node/webpack/watch.mjs +0 -90
  292. package/dist/node/webpack/watch.mjs.map +0 -1
@@ -0,0 +1,57 @@
1
+ import { r as resolveProductionConfig, m as mergeConfigWithUserConfig } from './config-kmpcowQR.mjs';
2
+ import 'browserslist-to-esbuild';
3
+ import '@vitejs/plugin-react-swc';
4
+ import './aliases-DAot4dxq.mjs';
5
+ import 'path';
6
+ import 'read-pkg-up';
7
+ import 'node:path';
8
+ import './index-DIAuPBs8.mjs';
9
+ import 'commander';
10
+ import '@strapi/cloud-cli';
11
+ import '@strapi/utils';
12
+ import 'lodash';
13
+ import 'inquirer';
14
+ import '@strapi/core';
15
+ import 'chalk';
16
+ import 'lodash/fp';
17
+ import 'boxen';
18
+ import 'cli-table3';
19
+ import 'fs';
20
+ import 'fs-extra';
21
+ import 'crypto';
22
+ import '@strapi/typescript-utils';
23
+ import 'node:os';
24
+ import 'node:fs/promises';
25
+ import 'semver';
26
+ import 'resolve-from';
27
+ import 'execa';
28
+ import 'perf_hooks';
29
+ import 'browserslist';
30
+ import 'dotenv';
31
+ import 'esbuild-register/dist/node';
32
+ import 'node:fs';
33
+ import 'lodash/camelCase';
34
+ import 'outdent';
35
+ import 'react';
36
+ import 'react-dom/server';
37
+ import '@strapi/admin/_internal';
38
+ import 'repl';
39
+ import 'node:cluster';
40
+ import 'chokidar';
41
+ import 'os';
42
+ import '@strapi/logger';
43
+ import 'ora';
44
+ import '@strapi/data-transfer';
45
+ import 'cli-progress';
46
+ import 'typescript';
47
+
48
+ const build = async (ctx)=>{
49
+ const config = await resolveProductionConfig(ctx);
50
+ const finalConfig = await mergeConfigWithUserConfig(config, ctx);
51
+ const { build: viteBuild } = await import('vite');
52
+ ctx.logger.debug('Vite config', finalConfig);
53
+ await viteBuild(finalConfig);
54
+ };
55
+
56
+ export { build };
57
+ //# sourceMappingURL=build-Bi8Renlu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-Bi8Renlu.mjs","sources":["../../src/node/vite/build.ts"],"sourcesContent":["import { mergeConfigWithUserConfig, resolveProductionConfig } from './config';\n\nimport type { BuildContext } from '../create-build-context';\n\nconst build = async (ctx: BuildContext) => {\n const config = await resolveProductionConfig(ctx);\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n const { build: viteBuild } = await import('vite');\n\n ctx.logger.debug('Vite config', finalConfig);\n\n await viteBuild(finalConfig);\n};\n\nexport { build };\n"],"names":["build","ctx","config","resolveProductionConfig","finalConfig","mergeConfigWithUserConfig","viteBuild","logger","debug"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,QAAQ,OAAOC,GAAAA,GAAAA;IACnB,MAAMC,MAAAA,GAAS,MAAMC,uBAAwBF,CAAAA,GAAAA,CAAAA;IAC7C,MAAMG,WAAAA,GAAc,MAAMC,yBAAAA,CAA0BH,MAAQD,EAAAA,GAAAA,CAAAA;AAE5D,IAAA,MAAM,EAAED,KAAOM,EAAAA,SAAS,EAAE,GAAG,MAAM,OAAO,MAAA,CAAA;AAE1CL,IAAAA,GAAAA,CAAIM,MAAM,CAACC,KAAK,CAAC,aAAeJ,EAAAA,WAAAA,CAAAA;AAEhC,IAAA,MAAME,SAAUF,CAAAA,WAAAA,CAAAA;AAClB;;;;"}
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var config = require('./config-D5OUWo8m.js');
4
+ require('browserslist-to-esbuild');
5
+ require('@vitejs/plugin-react-swc');
6
+ require('./aliases-DnWkCRVx.js');
7
+ require('path');
8
+ require('read-pkg-up');
9
+ require('node:path');
10
+ require('./index-1UgyJyc8.js');
11
+ require('commander');
12
+ require('@strapi/cloud-cli');
13
+ require('@strapi/utils');
14
+ require('lodash');
15
+ require('inquirer');
16
+ require('@strapi/core');
17
+ require('chalk');
18
+ require('lodash/fp');
19
+ require('boxen');
20
+ require('cli-table3');
21
+ require('fs');
22
+ require('fs-extra');
23
+ require('crypto');
24
+ require('@strapi/typescript-utils');
25
+ require('node:os');
26
+ require('node:fs/promises');
27
+ require('semver');
28
+ require('resolve-from');
29
+ require('execa');
30
+ require('perf_hooks');
31
+ require('browserslist');
32
+ require('dotenv');
33
+ require('esbuild-register/dist/node');
34
+ require('node:fs');
35
+ require('lodash/camelCase');
36
+ require('outdent');
37
+ require('react');
38
+ require('react-dom/server');
39
+ require('@strapi/admin/_internal');
40
+ require('repl');
41
+ require('node:cluster');
42
+ require('chokidar');
43
+ require('os');
44
+ require('@strapi/logger');
45
+ require('ora');
46
+ require('@strapi/data-transfer');
47
+ require('cli-progress');
48
+ require('typescript');
49
+
50
+ const build = async (ctx)=>{
51
+ const config$1 = await config.resolveProductionConfig(ctx);
52
+ const finalConfig = await config.mergeConfigWithUserConfig(config$1, ctx);
53
+ const { build: viteBuild } = await import('vite');
54
+ ctx.logger.debug('Vite config', finalConfig);
55
+ await viteBuild(finalConfig);
56
+ };
57
+
58
+ exports.build = build;
59
+ //# sourceMappingURL=build-DNnBV0b_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-DNnBV0b_.js","sources":["../../src/node/vite/build.ts"],"sourcesContent":["import { mergeConfigWithUserConfig, resolveProductionConfig } from './config';\n\nimport type { BuildContext } from '../create-build-context';\n\nconst build = async (ctx: BuildContext) => {\n const config = await resolveProductionConfig(ctx);\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n const { build: viteBuild } = await import('vite');\n\n ctx.logger.debug('Vite config', finalConfig);\n\n await viteBuild(finalConfig);\n};\n\nexport { build };\n"],"names":["build","ctx","config","resolveProductionConfig","finalConfig","mergeConfigWithUserConfig","viteBuild","logger","debug"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,QAAQ,OAAOC,GAAAA,GAAAA;IACnB,MAAMC,QAAAA,GAAS,MAAMC,8BAAwBF,CAAAA,GAAAA,CAAAA;IAC7C,MAAMG,WAAAA,GAAc,MAAMC,gCAAAA,CAA0BH,QAAQD,EAAAA,GAAAA,CAAAA;AAE5D,IAAA,MAAM,EAAED,KAAOM,EAAAA,SAAS,EAAE,GAAG,MAAM,OAAO,MAAA,CAAA;AAE1CL,IAAAA,GAAAA,CAAIM,MAAM,CAACC,KAAK,CAAC,aAAeJ,EAAAA,WAAAA,CAAAA;AAEhC,IAAA,MAAME,SAAUF,CAAAA,WAAAA,CAAAA;AAClB;;;;"}
@@ -0,0 +1,154 @@
1
+ 'use strict';
2
+
3
+ var browserslistToEsbuild = require('browserslist-to-esbuild');
4
+ var react = require('@vitejs/plugin-react-swc');
5
+ var aliases = require('./aliases-DnWkCRVx.js');
6
+ var cli = require('./index-1UgyJyc8.js');
7
+
8
+ const buildFilesPlugin = (ctx)=>{
9
+ const CHUNK_ID = '.strapi/client/app.js';
10
+ return {
11
+ name: 'strapi/server/build-files',
12
+ apply: 'build',
13
+ buildStart () {
14
+ this.emitFile({
15
+ type: 'chunk',
16
+ id: CHUNK_ID,
17
+ name: 'strapi'
18
+ });
19
+ },
20
+ async generateBundle (_options, outputBundle) {
21
+ const bundle = outputBundle;
22
+ const entryFile = Object.values(bundle).find((file)=>file.type === 'chunk' && file.name === 'strapi' && file.facadeModuleId?.endsWith(CHUNK_ID));
23
+ if (!entryFile) {
24
+ throw new Error(`Failed to find entry file in bundle (${CHUNK_ID})`);
25
+ }
26
+ if (entryFile.type !== 'chunk') {
27
+ throw new Error('Entry file is not a chunk');
28
+ }
29
+ const entryFileName = entryFile.fileName;
30
+ const entryPath = [
31
+ ctx.basePath.replace(/\/+$/, ''),
32
+ entryFileName
33
+ ].join('/');
34
+ this.emitFile({
35
+ type: 'asset',
36
+ fileName: 'index.html',
37
+ source: cli.getDocumentHTML({
38
+ logger: ctx.logger,
39
+ props: {
40
+ entryPath
41
+ }
42
+ })
43
+ });
44
+ }
45
+ };
46
+ };
47
+
48
+ const resolveBaseConfig = async (ctx)=>{
49
+ const target = browserslistToEsbuild(ctx.target);
50
+ return {
51
+ root: ctx.cwd,
52
+ base: ctx.basePath,
53
+ build: {
54
+ emptyOutDir: false,
55
+ outDir: ctx.distDir,
56
+ target
57
+ },
58
+ cacheDir: 'node_modules/.strapi/vite',
59
+ configFile: false,
60
+ define: {
61
+ 'process.env': ctx.env
62
+ },
63
+ envPrefix: 'STRAPI_ADMIN_',
64
+ optimizeDeps: {
65
+ include: [
66
+ // pre-bundle React dependencies to avoid React duplicates,
67
+ // even if React dependencies are not direct dependencies
68
+ // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react
69
+ 'react',
70
+ `react/jsx-runtime`,
71
+ 'react-dom/client',
72
+ 'styled-components',
73
+ 'react-router-dom'
74
+ ]
75
+ },
76
+ resolve: {
77
+ // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react
78
+ dedupe: [
79
+ 'react',
80
+ 'react-dom',
81
+ 'react-router-dom',
82
+ 'styled-components'
83
+ ]
84
+ },
85
+ plugins: [
86
+ react(),
87
+ buildFilesPlugin(ctx)
88
+ ]
89
+ };
90
+ };
91
+ const resolveProductionConfig = async (ctx)=>{
92
+ const { options: { minify, sourcemaps } } = ctx;
93
+ const baseConfig = await resolveBaseConfig(ctx);
94
+ return {
95
+ ...baseConfig,
96
+ logLevel: 'silent',
97
+ mode: 'production',
98
+ build: {
99
+ ...baseConfig.build,
100
+ assetsDir: '',
101
+ minify,
102
+ sourcemap: sourcemaps,
103
+ rollupOptions: {
104
+ input: {
105
+ strapi: ctx.entry
106
+ }
107
+ }
108
+ }
109
+ };
110
+ };
111
+ const resolveDevelopmentConfig = async (ctx)=>{
112
+ const monorepo = await aliases.loadStrapiMonorepo(ctx.cwd);
113
+ const baseConfig = await resolveBaseConfig(ctx);
114
+ return {
115
+ ...baseConfig,
116
+ mode: 'development',
117
+ resolve: {
118
+ ...baseConfig.resolve,
119
+ alias: {
120
+ ...baseConfig.resolve?.alias,
121
+ ...aliases.getMonorepoAliases({
122
+ monorepo
123
+ })
124
+ }
125
+ },
126
+ server: {
127
+ cors: false,
128
+ middlewareMode: true,
129
+ open: ctx.options.open,
130
+ hmr: {
131
+ server: ctx.options.hmrServer,
132
+ clientPort: ctx.options.hmrClientPort
133
+ }
134
+ },
135
+ appType: 'custom'
136
+ };
137
+ };
138
+ const USER_CONFIGS = [
139
+ 'vite.config.js',
140
+ 'vite.config.mjs',
141
+ 'vite.config.ts'
142
+ ];
143
+ const mergeConfigWithUserConfig = async (config, ctx)=>{
144
+ const userConfig = await aliases.getUserConfig(USER_CONFIGS, ctx);
145
+ if (userConfig) {
146
+ return userConfig(config);
147
+ }
148
+ return config;
149
+ };
150
+
151
+ exports.mergeConfigWithUserConfig = mergeConfigWithUserConfig;
152
+ exports.resolveDevelopmentConfig = resolveDevelopmentConfig;
153
+ exports.resolveProductionConfig = resolveProductionConfig;
154
+ //# sourceMappingURL=config-D5OUWo8m.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-D5OUWo8m.js","sources":["../../src/node/vite/plugins.ts","../../src/node/vite/config.ts"],"sourcesContent":["import type { Plugin } from 'vite';\n\nimport { getDocumentHTML } from '../staticFiles';\nimport type { BuildContext } from '../create-build-context';\n\nconst buildFilesPlugin = (ctx: BuildContext): Plugin => {\n const CHUNK_ID = '.strapi/client/app.js';\n\n return {\n name: 'strapi/server/build-files',\n apply: 'build',\n buildStart() {\n this.emitFile({\n type: 'chunk',\n id: CHUNK_ID,\n name: 'strapi',\n });\n },\n async generateBundle(_options, outputBundle) {\n const bundle = outputBundle;\n const entryFile = Object.values(bundle).find(\n (file) =>\n file.type === 'chunk' && file.name === 'strapi' && file.facadeModuleId?.endsWith(CHUNK_ID)\n );\n\n if (!entryFile) {\n throw new Error(`Failed to find entry file in bundle (${CHUNK_ID})`);\n }\n\n if (entryFile.type !== 'chunk') {\n throw new Error('Entry file is not a chunk');\n }\n\n const entryFileName = entryFile.fileName;\n const entryPath = [ctx.basePath.replace(/\\/+$/, ''), entryFileName].join('/');\n\n this.emitFile({\n type: 'asset',\n fileName: 'index.html',\n source: getDocumentHTML({\n logger: ctx.logger,\n props: {\n entryPath,\n },\n }),\n });\n },\n };\n};\n\nexport { buildFilesPlugin };\n","import type { InlineConfig, UserConfig } from 'vite';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport react from '@vitejs/plugin-react-swc';\n\nimport { getUserConfig } from '../core/config';\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport { getMonorepoAliases } from '../core/aliases';\nimport type { BuildContext } from '../create-build-context';\nimport { buildFilesPlugin } from './plugins';\n\nconst resolveBaseConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const target = browserslistToEsbuild(ctx.target);\n\n return {\n root: ctx.cwd,\n base: ctx.basePath,\n build: {\n emptyOutDir: false, // Rely on CLI to do this\n outDir: ctx.distDir,\n target,\n },\n cacheDir: 'node_modules/.strapi/vite',\n configFile: false,\n define: {\n 'process.env': ctx.env,\n },\n envPrefix: 'STRAPI_ADMIN_',\n optimizeDeps: {\n include: [\n // pre-bundle React dependencies to avoid React duplicates,\n // even if React dependencies are not direct dependencies\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n 'react',\n `react/jsx-runtime`,\n 'react-dom/client',\n 'styled-components',\n 'react-router-dom',\n ],\n },\n resolve: {\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n dedupe: ['react', 'react-dom', 'react-router-dom', 'styled-components'],\n },\n plugins: [react(), buildFilesPlugin(ctx)],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const {\n options: { minify, sourcemaps },\n } = ctx;\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n logLevel: 'silent',\n mode: 'production',\n build: {\n ...baseConfig.build,\n assetsDir: '',\n minify,\n sourcemap: sourcemaps,\n rollupOptions: {\n input: {\n strapi: ctx.entry,\n },\n },\n },\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n mode: 'development',\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve?.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n server: {\n cors: false,\n middlewareMode: true,\n open: ctx.options.open,\n hmr: {\n server: ctx.options.hmrServer,\n clientPort: ctx.options.hmrClientPort,\n },\n },\n appType: 'custom',\n };\n};\n\nconst USER_CONFIGS = ['vite.config.js', 'vite.config.mjs', 'vite.config.ts'];\n\ntype UserViteConfig = (config: UserConfig) => UserConfig;\n\nconst mergeConfigWithUserConfig = async (config: InlineConfig, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserViteConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n return userConfig(config);\n }\n\n return config;\n};\n\nexport { mergeConfigWithUserConfig, resolveProductionConfig, resolveDevelopmentConfig };\n"],"names":["buildFilesPlugin","ctx","CHUNK_ID","name","apply","buildStart","emitFile","type","id","generateBundle","_options","outputBundle","bundle","entryFile","Object","values","find","file","facadeModuleId","endsWith","Error","entryFileName","fileName","entryPath","basePath","replace","join","source","getDocumentHTML","logger","props","resolveBaseConfig","target","browserslistToEsbuild","root","cwd","base","build","emptyOutDir","outDir","distDir","cacheDir","configFile","define","env","envPrefix","optimizeDeps","include","resolve","dedupe","plugins","react","resolveProductionConfig","options","minify","sourcemaps","baseConfig","logLevel","mode","assetsDir","sourcemap","rollupOptions","input","strapi","entry","resolveDevelopmentConfig","monorepo","loadStrapiMonorepo","alias","getMonorepoAliases","server","cors","middlewareMode","open","hmr","hmrServer","clientPort","hmrClientPort","appType","USER_CONFIGS","mergeConfigWithUserConfig","config","userConfig","getUserConfig"],"mappings":"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"}
@@ -0,0 +1,243 @@
1
+ import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';
2
+ import browserslistToEsbuild from 'browserslist-to-esbuild';
3
+ import { ESBuildMinifyPlugin } from 'esbuild-loader';
4
+ import ForkTsCheckerPlugin from 'fork-ts-checker-webpack-plugin';
5
+ import HtmlWebpackPlugin from 'html-webpack-plugin';
6
+ import MiniCssExtractPlugin from 'mini-css-extract-plugin';
7
+ import crypto from 'node:crypto';
8
+ import path from 'node:path';
9
+ import readPkgUp from 'read-pkg-up';
10
+ import { HotModuleReplacementPlugin, DefinePlugin } from 'webpack';
11
+ import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
12
+ import { l as loadStrapiMonorepo, g as getMonorepoAliases, a as getUserConfig } from './aliases-DAot4dxq.mjs';
13
+
14
+ const resolveBaseConfig = async (ctx)=>{
15
+ const target = browserslistToEsbuild(ctx.target);
16
+ return {
17
+ experiments: {
18
+ topLevelAwait: true
19
+ },
20
+ entry: {
21
+ main: [
22
+ `./${ctx.entry}`
23
+ ]
24
+ },
25
+ resolve: {
26
+ alias: {
27
+ react: getModulePath('react'),
28
+ 'react-dom': getModulePath('react-dom'),
29
+ 'styled-components': getModulePath('styled-components'),
30
+ 'react-router-dom': getModulePath('react-router-dom')
31
+ },
32
+ extensions: [
33
+ '.js',
34
+ '.jsx',
35
+ '.react.js',
36
+ '.ts',
37
+ '.tsx'
38
+ ]
39
+ },
40
+ module: {
41
+ rules: [
42
+ {
43
+ test: /\.(ts|tsx)$/,
44
+ loader: require.resolve('esbuild-loader'),
45
+ options: {
46
+ loader: 'tsx',
47
+ target,
48
+ jsx: 'automatic'
49
+ }
50
+ },
51
+ {
52
+ test: /\.(js|jsx|mjs)$/,
53
+ use: {
54
+ loader: require.resolve('esbuild-loader'),
55
+ options: {
56
+ loader: 'jsx',
57
+ target,
58
+ jsx: 'automatic'
59
+ }
60
+ }
61
+ },
62
+ {
63
+ test: /\.m?js/,
64
+ resolve: {
65
+ fullySpecified: false
66
+ }
67
+ },
68
+ {
69
+ test: /\.css$/i,
70
+ use: [
71
+ require.resolve('style-loader'),
72
+ require.resolve('css-loader')
73
+ ]
74
+ },
75
+ {
76
+ test: /\.(svg|eot|otf|ttf|woff|woff2)$/,
77
+ type: 'asset/resource'
78
+ },
79
+ {
80
+ test: [
81
+ /\.bmp$/,
82
+ /\.gif$/,
83
+ /\.jpe?g$/,
84
+ /\.png$/,
85
+ /\.ico$/
86
+ ],
87
+ type: 'asset',
88
+ parser: {
89
+ dataUrlCondition: {
90
+ maxSize: 1000
91
+ }
92
+ }
93
+ },
94
+ {
95
+ test: /\.(mp4|webm)$/,
96
+ type: 'asset',
97
+ parser: {
98
+ dataUrlCondition: {
99
+ maxSize: 10000
100
+ }
101
+ }
102
+ }
103
+ ]
104
+ },
105
+ plugins: [
106
+ new HtmlWebpackPlugin({
107
+ inject: true,
108
+ template: path.resolve(ctx.runtimeDir, 'index.html')
109
+ }),
110
+ new DefinePlugin(Object.entries(ctx.env).reduce((acc, [key, value])=>{
111
+ acc[`process.env.${key}`] = JSON.stringify(value);
112
+ return acc;
113
+ }, {})),
114
+ ctx.tsconfig && new ForkTsCheckerPlugin({
115
+ typescript: {
116
+ configFile: ctx.tsconfig.path,
117
+ configOverwrite: {
118
+ compilerOptions: {
119
+ sourceMap: ctx.options.sourcemaps
120
+ }
121
+ }
122
+ }
123
+ })
124
+ ].filter(Boolean)
125
+ };
126
+ };
127
+ const resolveDevelopmentConfig = async (ctx)=>{
128
+ const baseConfig = await resolveBaseConfig(ctx);
129
+ const monorepo = await loadStrapiMonorepo(ctx.cwd);
130
+ return {
131
+ ...baseConfig,
132
+ cache: {
133
+ type: 'filesystem',
134
+ // version cache when there are changes to aliases
135
+ buildDependencies: {
136
+ config: [
137
+ __filename
138
+ ]
139
+ },
140
+ version: crypto.createHash('md5').update(Object.entries(baseConfig.resolve.alias ?? {}).join()).digest('hex')
141
+ },
142
+ resolve: {
143
+ ...baseConfig.resolve,
144
+ alias: {
145
+ ...baseConfig.resolve.alias,
146
+ ...getMonorepoAliases({
147
+ monorepo
148
+ })
149
+ }
150
+ },
151
+ entry: {
152
+ ...baseConfig.entry,
153
+ main: [
154
+ `${require.resolve('webpack-hot-middleware/client')}?path=/__webpack_hmr`,
155
+ ...baseConfig.entry.main
156
+ ]
157
+ },
158
+ stats: 'errors-warnings',
159
+ mode: 'development',
160
+ devtool: 'inline-source-map',
161
+ output: {
162
+ filename: '[name].js',
163
+ path: ctx.distPath,
164
+ publicPath: ctx.basePath
165
+ },
166
+ infrastructureLogging: {
167
+ level: 'error'
168
+ },
169
+ plugins: [
170
+ ...baseConfig.plugins,
171
+ new HotModuleReplacementPlugin(),
172
+ new ReactRefreshWebpackPlugin()
173
+ ]
174
+ };
175
+ };
176
+ const resolveProductionConfig = async (ctx)=>{
177
+ const target = browserslistToEsbuild(ctx.target);
178
+ const baseConfig = await resolveBaseConfig(ctx);
179
+ return {
180
+ ...baseConfig,
181
+ stats: 'errors-only',
182
+ mode: 'production',
183
+ bail: true,
184
+ devtool: ctx.options.sourcemaps ? 'source-map' : false,
185
+ output: {
186
+ path: ctx.distPath,
187
+ publicPath: ctx.basePath,
188
+ // Utilize long-term caching by adding content hashes (not compilation hashes)
189
+ // to compiled assets for production
190
+ filename: '[name].[contenthash:8].js',
191
+ chunkFilename: '[name].[contenthash:8].chunk.js'
192
+ },
193
+ optimization: {
194
+ minimize: ctx.options.minify,
195
+ minimizer: [
196
+ new ESBuildMinifyPlugin({
197
+ target,
198
+ css: true
199
+ })
200
+ ],
201
+ moduleIds: 'deterministic',
202
+ runtimeChunk: true
203
+ },
204
+ plugins: [
205
+ ...baseConfig.plugins,
206
+ new MiniCssExtractPlugin({
207
+ filename: '[name].[chunkhash].css',
208
+ chunkFilename: '[name].[chunkhash].chunkhash.css',
209
+ ignoreOrder: true
210
+ }),
211
+ ctx.options.stats && new BundleAnalyzerPlugin()
212
+ ].filter(Boolean)
213
+ };
214
+ };
215
+ const USER_CONFIGS = [
216
+ 'webpack.config.js',
217
+ 'webpack.config.mjs',
218
+ 'webpack.config.ts'
219
+ ];
220
+ const mergeConfigWithUserConfig = async (config, ctx)=>{
221
+ const userConfig = await getUserConfig(USER_CONFIGS, ctx);
222
+ if (userConfig) {
223
+ if (typeof userConfig === 'function') {
224
+ const webpack = await import('webpack');
225
+ return userConfig(config, webpack);
226
+ }
227
+ ctx.logger.warn(`You've exported something other than a function from ${path.join(ctx.appDir, 'src', 'admin', 'webpack.config')}, this will ignored.`);
228
+ }
229
+ return config;
230
+ };
231
+ /**
232
+ * @internal This function is used to resolve the path of a module.
233
+ * It mimics what vite does internally already.
234
+ */ const getModulePath = (mod)=>{
235
+ const modulePath = require.resolve(mod);
236
+ const pkg = readPkgUp.sync({
237
+ cwd: path.dirname(modulePath)
238
+ });
239
+ return pkg ? path.dirname(pkg.path) : modulePath;
240
+ };
241
+
242
+ export { resolveDevelopmentConfig as a, mergeConfigWithUserConfig as m, resolveProductionConfig as r };
243
+ //# sourceMappingURL=config-YXcKrg8-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-YXcKrg8-.mjs","sources":["../../src/node/webpack/config.ts"],"sourcesContent":["import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport { ESBuildMinifyPlugin } from 'esbuild-loader';\nimport ForkTsCheckerPlugin from 'fork-ts-checker-webpack-plugin';\nimport HtmlWebpackPlugin from 'html-webpack-plugin';\nimport MiniCssExtractPlugin from 'mini-css-extract-plugin';\nimport crypto from 'node:crypto';\nimport path from 'node:path';\nimport readPkgUp from 'read-pkg-up';\nimport {\n Configuration,\n DefinePlugin,\n HotModuleReplacementPlugin,\n WebpackPluginInstance,\n} from 'webpack';\nimport { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';\n\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport type { BuildContext } from '../create-build-context';\nimport { getUserConfig } from '../core/config';\nimport { getMonorepoAliases } from '../core/aliases';\n\nconst resolveBaseConfig = async (ctx: BuildContext) => {\n const target = browserslistToEsbuild(ctx.target);\n\n return {\n experiments: {\n topLevelAwait: true,\n },\n entry: {\n main: [`./${ctx.entry}`],\n },\n resolve: {\n alias: {\n react: getModulePath('react'),\n 'react-dom': getModulePath('react-dom'),\n 'styled-components': getModulePath('styled-components'),\n 'react-router-dom': getModulePath('react-router-dom'),\n },\n extensions: ['.js', '.jsx', '.react.js', '.ts', '.tsx'],\n },\n module: {\n rules: [\n {\n test: /\\.(ts|tsx)$/,\n loader: require.resolve('esbuild-loader'),\n options: {\n loader: 'tsx',\n target,\n jsx: 'automatic',\n },\n },\n {\n test: /\\.(js|jsx|mjs)$/,\n use: {\n loader: require.resolve('esbuild-loader'),\n options: {\n loader: 'jsx',\n target,\n jsx: 'automatic',\n },\n },\n },\n {\n test: /\\.m?js/,\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.css$/i,\n use: [require.resolve('style-loader'), require.resolve('css-loader')],\n },\n {\n test: /\\.(svg|eot|otf|ttf|woff|woff2)$/,\n type: 'asset/resource',\n },\n {\n test: [/\\.bmp$/, /\\.gif$/, /\\.jpe?g$/, /\\.png$/, /\\.ico$/],\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: 1000,\n },\n },\n },\n {\n test: /\\.(mp4|webm)$/,\n type: 'asset',\n parser: {\n dataUrlCondition: {\n maxSize: 10000,\n },\n },\n },\n ],\n },\n plugins: [\n new HtmlWebpackPlugin({\n inject: true,\n template: path.resolve(ctx.runtimeDir, 'index.html'),\n }),\n new DefinePlugin(\n Object.entries(ctx.env).reduce<Record<string, string>>((acc, [key, value]) => {\n acc[`process.env.${key}`] = JSON.stringify(value);\n return acc;\n }, {})\n ),\n ctx.tsconfig &&\n new ForkTsCheckerPlugin({\n typescript: {\n configFile: ctx.tsconfig.path,\n configOverwrite: {\n compilerOptions: {\n sourceMap: ctx.options.sourcemaps,\n },\n },\n },\n }),\n ].filter(Boolean),\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<Configuration> => {\n const baseConfig = await resolveBaseConfig(ctx);\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n\n return {\n ...baseConfig,\n cache: {\n type: 'filesystem',\n // version cache when there are changes to aliases\n buildDependencies: {\n config: [__filename],\n },\n version: crypto\n .createHash('md5')\n .update(Object.entries(baseConfig.resolve.alias ?? {}).join())\n .digest('hex'),\n },\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n entry: {\n ...baseConfig.entry,\n main: [\n `${require.resolve('webpack-hot-middleware/client')}?path=/__webpack_hmr`,\n ...baseConfig.entry.main,\n ],\n },\n stats: 'errors-warnings',\n mode: 'development',\n devtool: 'inline-source-map',\n output: {\n filename: '[name].js',\n path: ctx.distPath,\n publicPath: ctx.basePath,\n },\n infrastructureLogging: {\n level: 'error',\n },\n plugins: [\n ...baseConfig.plugins,\n new HotModuleReplacementPlugin(),\n new ReactRefreshWebpackPlugin(),\n ],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<Configuration> => {\n const target = browserslistToEsbuild(ctx.target);\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n stats: 'errors-only',\n mode: 'production',\n bail: true,\n devtool: ctx.options.sourcemaps ? 'source-map' : false,\n output: {\n path: ctx.distPath,\n publicPath: ctx.basePath,\n // Utilize long-term caching by adding content hashes (not compilation hashes)\n // to compiled assets for production\n filename: '[name].[contenthash:8].js',\n chunkFilename: '[name].[contenthash:8].chunk.js',\n },\n optimization: {\n minimize: ctx.options.minify,\n minimizer: [\n new ESBuildMinifyPlugin({\n target,\n css: true, // Apply minification to CSS assets\n }),\n ],\n moduleIds: 'deterministic',\n runtimeChunk: true,\n },\n plugins: [\n ...baseConfig.plugins,\n new MiniCssExtractPlugin({\n filename: '[name].[chunkhash].css',\n chunkFilename: '[name].[chunkhash].chunkhash.css',\n ignoreOrder: true,\n }),\n ctx.options.stats && (new BundleAnalyzerPlugin() as unknown as WebpackPluginInstance), // TODO: find out if this is an actual issue or just a ts bug\n ].filter(Boolean),\n };\n};\n\nconst USER_CONFIGS = ['webpack.config.js', 'webpack.config.mjs', 'webpack.config.ts'];\n\ntype UserWebpackConfig = (config: Configuration, webpack: unknown) => Configuration;\n\nconst mergeConfigWithUserConfig = async (config: Configuration, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserWebpackConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n if (typeof userConfig === 'function') {\n const webpack = await import('webpack');\n return userConfig(config, webpack);\n }\n\n ctx.logger.warn(\n `You've exported something other than a function from ${path.join(\n ctx.appDir,\n 'src',\n 'admin',\n 'webpack.config'\n )}, this will ignored.`\n );\n }\n\n return config;\n};\n\n/**\n * @internal This function is used to resolve the path of a module.\n * It mimics what vite does internally already.\n */\nconst getModulePath = (mod: string) => {\n const modulePath = require.resolve(mod);\n const pkg = readPkgUp.sync({ cwd: path.dirname(modulePath) });\n return pkg ? path.dirname(pkg.path) : modulePath;\n};\n\nexport { mergeConfigWithUserConfig, resolveDevelopmentConfig, resolveProductionConfig };\n"],"names":["resolveBaseConfig","ctx","target","browserslistToEsbuild","experiments","topLevelAwait","entry","main","resolve","alias","react","getModulePath","extensions","module","rules","test","loader","require","options","jsx","use","fullySpecified","type","parser","dataUrlCondition","maxSize","plugins","HtmlWebpackPlugin","inject","template","path","runtimeDir","DefinePlugin","Object","entries","env","reduce","acc","key","value","JSON","stringify","tsconfig","ForkTsCheckerPlugin","typescript","configFile","configOverwrite","compilerOptions","sourceMap","sourcemaps","filter","Boolean","resolveDevelopmentConfig","baseConfig","monorepo","loadStrapiMonorepo","cwd","cache","buildDependencies","config","__filename","version","crypto","createHash","update","join","digest","getMonorepoAliases","stats","mode","devtool","output","filename","distPath","publicPath","basePath","infrastructureLogging","level","HotModuleReplacementPlugin","ReactRefreshWebpackPlugin","resolveProductionConfig","bail","chunkFilename","optimization","minimize","minify","minimizer","ESBuildMinifyPlugin","css","moduleIds","runtimeChunk","MiniCssExtractPlugin","ignoreOrder","BundleAnalyzerPlugin","USER_CONFIGS","mergeConfigWithUserConfig","userConfig","getUserConfig","webpack","logger","warn","appDir","mod","modulePath","pkg","readPkgUp","sync","dirname"],"mappings":"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"}