@strapi/strapi 5.9.0 → 5.10.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 (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-Ca20Yntz.js +80 -0
  10. package/dist/chunks/aliases-Ca20Yntz.js.map +1 -0
  11. package/dist/chunks/aliases-DQ51KexN.mjs +76 -0
  12. package/dist/chunks/aliases-DQ51KexN.mjs.map +1 -0
  13. package/dist/chunks/build-3I6A92J1.js +59 -0
  14. package/dist/chunks/build-3I6A92J1.js.map +1 -0
  15. package/dist/chunks/build-BqigoS45.mjs +85 -0
  16. package/dist/chunks/build-BqigoS45.mjs.map +1 -0
  17. package/dist/chunks/build-CWUlYFQo.js +87 -0
  18. package/dist/chunks/build-CWUlYFQo.js.map +1 -0
  19. package/dist/chunks/build-gBR43Dth.mjs +57 -0
  20. package/dist/chunks/build-gBR43Dth.mjs.map +1 -0
  21. package/dist/chunks/config-5tFWkbOi.js +154 -0
  22. package/dist/chunks/config-5tFWkbOi.js.map +1 -0
  23. package/dist/chunks/config-BSlsDIVc.mjs +243 -0
  24. package/dist/chunks/config-BSlsDIVc.mjs.map +1 -0
  25. package/dist/chunks/config-CLeubzgx.mjs +150 -0
  26. package/dist/chunks/config-CLeubzgx.mjs.map +1 -0
  27. package/dist/chunks/config-CQ94iNYq.js +247 -0
  28. package/dist/chunks/config-CQ94iNYq.js.map +1 -0
  29. package/dist/chunks/index-DtHH3PFG.mjs +3160 -0
  30. package/dist/chunks/index-DtHH3PFG.mjs.map +1 -0
  31. package/dist/chunks/index-kv_K5f7_.js +3185 -0
  32. package/dist/chunks/index-kv_K5f7_.js.map +1 -0
  33. package/dist/chunks/watch-B7qfL21s.js +146 -0
  34. package/dist/chunks/watch-B7qfL21s.js.map +1 -0
  35. package/dist/chunks/watch-BBDpuCFC.js +133 -0
  36. package/dist/chunks/watch-BBDpuCFC.js.map +1 -0
  37. package/dist/chunks/watch-Bhd-75O5.mjs +131 -0
  38. package/dist/chunks/watch-Bhd-75O5.mjs.map +1 -0
  39. package/dist/chunks/watch-CJr1UoWF.mjs +144 -0
  40. package/dist/chunks/watch-CJr1UoWF.mjs.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,150 @@
1
+ import browserslistToEsbuild from 'browserslist-to-esbuild';
2
+ import react from '@vitejs/plugin-react-swc';
3
+ import { l as loadStrapiMonorepo, g as getMonorepoAliases, a as getUserConfig } from './aliases-DQ51KexN.mjs';
4
+ import { g as getDocumentHTML } from './index-DtHH3PFG.mjs';
5
+
6
+ const buildFilesPlugin = (ctx)=>{
7
+ const CHUNK_ID = '.strapi/client/app.js';
8
+ return {
9
+ name: 'strapi/server/build-files',
10
+ apply: 'build',
11
+ buildStart () {
12
+ this.emitFile({
13
+ type: 'chunk',
14
+ id: CHUNK_ID,
15
+ name: 'strapi'
16
+ });
17
+ },
18
+ async generateBundle (_options, outputBundle) {
19
+ const bundle = outputBundle;
20
+ const entryFile = Object.values(bundle).find((file)=>file.type === 'chunk' && file.name === 'strapi' && file.facadeModuleId?.endsWith(CHUNK_ID));
21
+ if (!entryFile) {
22
+ throw new Error(`Failed to find entry file in bundle (${CHUNK_ID})`);
23
+ }
24
+ if (entryFile.type !== 'chunk') {
25
+ throw new Error('Entry file is not a chunk');
26
+ }
27
+ const entryFileName = entryFile.fileName;
28
+ const entryPath = [
29
+ ctx.basePath.replace(/\/+$/, ''),
30
+ entryFileName
31
+ ].join('/');
32
+ this.emitFile({
33
+ type: 'asset',
34
+ fileName: 'index.html',
35
+ source: getDocumentHTML({
36
+ logger: ctx.logger,
37
+ props: {
38
+ entryPath
39
+ }
40
+ })
41
+ });
42
+ }
43
+ };
44
+ };
45
+
46
+ const resolveBaseConfig = async (ctx)=>{
47
+ const target = browserslistToEsbuild(ctx.target);
48
+ return {
49
+ root: ctx.cwd,
50
+ base: ctx.basePath,
51
+ build: {
52
+ emptyOutDir: false,
53
+ outDir: ctx.distDir,
54
+ target
55
+ },
56
+ cacheDir: 'node_modules/.strapi/vite',
57
+ configFile: false,
58
+ define: {
59
+ 'process.env': ctx.env
60
+ },
61
+ envPrefix: 'STRAPI_ADMIN_',
62
+ optimizeDeps: {
63
+ include: [
64
+ // pre-bundle React dependencies to avoid React duplicates,
65
+ // even if React dependencies are not direct dependencies
66
+ // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react
67
+ 'react',
68
+ `react/jsx-runtime`,
69
+ 'react-dom/client',
70
+ 'styled-components',
71
+ 'react-router-dom'
72
+ ]
73
+ },
74
+ resolve: {
75
+ // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react
76
+ dedupe: [
77
+ 'react',
78
+ 'react-dom',
79
+ 'react-router-dom',
80
+ 'styled-components'
81
+ ]
82
+ },
83
+ plugins: [
84
+ react(),
85
+ buildFilesPlugin(ctx)
86
+ ]
87
+ };
88
+ };
89
+ const resolveProductionConfig = async (ctx)=>{
90
+ const { options: { minify, sourcemaps } } = ctx;
91
+ const baseConfig = await resolveBaseConfig(ctx);
92
+ return {
93
+ ...baseConfig,
94
+ logLevel: 'silent',
95
+ mode: 'production',
96
+ build: {
97
+ ...baseConfig.build,
98
+ assetsDir: '',
99
+ minify,
100
+ sourcemap: sourcemaps,
101
+ rollupOptions: {
102
+ input: {
103
+ strapi: ctx.entry
104
+ }
105
+ }
106
+ }
107
+ };
108
+ };
109
+ const resolveDevelopmentConfig = async (ctx)=>{
110
+ const monorepo = await loadStrapiMonorepo(ctx.cwd);
111
+ const baseConfig = await resolveBaseConfig(ctx);
112
+ return {
113
+ ...baseConfig,
114
+ mode: 'development',
115
+ resolve: {
116
+ ...baseConfig.resolve,
117
+ alias: {
118
+ ...baseConfig.resolve?.alias,
119
+ ...getMonorepoAliases({
120
+ monorepo
121
+ })
122
+ }
123
+ },
124
+ server: {
125
+ cors: false,
126
+ middlewareMode: true,
127
+ open: ctx.options.open,
128
+ hmr: {
129
+ server: ctx.options.hmrServer,
130
+ clientPort: ctx.options.hmrClientPort
131
+ }
132
+ },
133
+ appType: 'custom'
134
+ };
135
+ };
136
+ const USER_CONFIGS = [
137
+ 'vite.config.js',
138
+ 'vite.config.mjs',
139
+ 'vite.config.ts'
140
+ ];
141
+ const mergeConfigWithUserConfig = async (config, ctx)=>{
142
+ const userConfig = await getUserConfig(USER_CONFIGS, ctx);
143
+ if (userConfig) {
144
+ return userConfig(config);
145
+ }
146
+ return config;
147
+ };
148
+
149
+ export { resolveDevelopmentConfig as a, mergeConfigWithUserConfig as m, resolveProductionConfig as r };
150
+ //# sourceMappingURL=config-CLeubzgx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-CLeubzgx.mjs","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,247 @@
1
+ 'use strict';
2
+
3
+ var ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
4
+ var browserslistToEsbuild = require('browserslist-to-esbuild');
5
+ var esbuildLoader = require('esbuild-loader');
6
+ var ForkTsCheckerPlugin = require('fork-ts-checker-webpack-plugin');
7
+ var HtmlWebpackPlugin = require('html-webpack-plugin');
8
+ var MiniCssExtractPlugin = require('mini-css-extract-plugin');
9
+ var crypto = require('node:crypto');
10
+ var path = require('node:path');
11
+ var readPkgUp = require('read-pkg-up');
12
+ var webpack = require('webpack');
13
+ var webpackBundleAnalyzer = require('webpack-bundle-analyzer');
14
+ var aliases = require('./aliases-Ca20Yntz.js');
15
+
16
+ const resolveBaseConfig = async (ctx)=>{
17
+ const target = browserslistToEsbuild(ctx.target);
18
+ return {
19
+ experiments: {
20
+ topLevelAwait: true
21
+ },
22
+ entry: {
23
+ main: [
24
+ `./${ctx.entry}`
25
+ ]
26
+ },
27
+ resolve: {
28
+ alias: {
29
+ react: getModulePath('react'),
30
+ 'react-dom': getModulePath('react-dom'),
31
+ 'styled-components': getModulePath('styled-components'),
32
+ 'react-router-dom': getModulePath('react-router-dom')
33
+ },
34
+ extensions: [
35
+ '.js',
36
+ '.jsx',
37
+ '.react.js',
38
+ '.ts',
39
+ '.tsx'
40
+ ]
41
+ },
42
+ module: {
43
+ rules: [
44
+ {
45
+ test: /\.(ts|tsx)$/,
46
+ loader: require.resolve('esbuild-loader'),
47
+ options: {
48
+ loader: 'tsx',
49
+ target,
50
+ jsx: 'automatic'
51
+ }
52
+ },
53
+ {
54
+ test: /\.(js|jsx|mjs)$/,
55
+ use: {
56
+ loader: require.resolve('esbuild-loader'),
57
+ options: {
58
+ loader: 'jsx',
59
+ target,
60
+ jsx: 'automatic'
61
+ }
62
+ }
63
+ },
64
+ {
65
+ test: /\.m?js/,
66
+ resolve: {
67
+ fullySpecified: false
68
+ }
69
+ },
70
+ {
71
+ test: /\.css$/i,
72
+ use: [
73
+ require.resolve('style-loader'),
74
+ require.resolve('css-loader')
75
+ ]
76
+ },
77
+ {
78
+ test: /\.(svg|eot|otf|ttf|woff|woff2)$/,
79
+ type: 'asset/resource'
80
+ },
81
+ {
82
+ test: [
83
+ /\.bmp$/,
84
+ /\.gif$/,
85
+ /\.jpe?g$/,
86
+ /\.png$/,
87
+ /\.ico$/
88
+ ],
89
+ type: 'asset',
90
+ parser: {
91
+ dataUrlCondition: {
92
+ maxSize: 1000
93
+ }
94
+ }
95
+ },
96
+ {
97
+ test: /\.(mp4|webm)$/,
98
+ type: 'asset',
99
+ parser: {
100
+ dataUrlCondition: {
101
+ maxSize: 10000
102
+ }
103
+ }
104
+ }
105
+ ]
106
+ },
107
+ plugins: [
108
+ new HtmlWebpackPlugin({
109
+ inject: true,
110
+ template: path.resolve(ctx.runtimeDir, 'index.html')
111
+ }),
112
+ new webpack.DefinePlugin(Object.entries(ctx.env).reduce((acc, [key, value])=>{
113
+ acc[`process.env.${key}`] = JSON.stringify(value);
114
+ return acc;
115
+ }, {})),
116
+ ctx.tsconfig && new ForkTsCheckerPlugin({
117
+ typescript: {
118
+ configFile: ctx.tsconfig.path,
119
+ configOverwrite: {
120
+ compilerOptions: {
121
+ sourceMap: ctx.options.sourcemaps
122
+ }
123
+ }
124
+ }
125
+ })
126
+ ].filter(Boolean)
127
+ };
128
+ };
129
+ const resolveDevelopmentConfig = async (ctx)=>{
130
+ const baseConfig = await resolveBaseConfig(ctx);
131
+ const monorepo = await aliases.loadStrapiMonorepo(ctx.cwd);
132
+ return {
133
+ ...baseConfig,
134
+ cache: {
135
+ type: 'filesystem',
136
+ // version cache when there are changes to aliases
137
+ buildDependencies: {
138
+ config: [
139
+ __filename
140
+ ]
141
+ },
142
+ version: crypto.createHash('md5').update(Object.entries(baseConfig.resolve.alias ?? {}).join()).digest('hex')
143
+ },
144
+ resolve: {
145
+ ...baseConfig.resolve,
146
+ alias: {
147
+ ...baseConfig.resolve.alias,
148
+ ...aliases.getMonorepoAliases({
149
+ monorepo
150
+ })
151
+ }
152
+ },
153
+ entry: {
154
+ ...baseConfig.entry,
155
+ main: [
156
+ `${require.resolve('webpack-hot-middleware/client')}?path=/__webpack_hmr`,
157
+ ...baseConfig.entry.main
158
+ ]
159
+ },
160
+ stats: 'errors-warnings',
161
+ mode: 'development',
162
+ devtool: 'inline-source-map',
163
+ output: {
164
+ filename: '[name].js',
165
+ path: ctx.distPath,
166
+ publicPath: ctx.basePath
167
+ },
168
+ infrastructureLogging: {
169
+ level: 'error'
170
+ },
171
+ plugins: [
172
+ ...baseConfig.plugins,
173
+ new webpack.HotModuleReplacementPlugin(),
174
+ new ReactRefreshWebpackPlugin()
175
+ ]
176
+ };
177
+ };
178
+ const resolveProductionConfig = async (ctx)=>{
179
+ const target = browserslistToEsbuild(ctx.target);
180
+ const baseConfig = await resolveBaseConfig(ctx);
181
+ return {
182
+ ...baseConfig,
183
+ stats: 'errors-only',
184
+ mode: 'production',
185
+ bail: true,
186
+ devtool: ctx.options.sourcemaps ? 'source-map' : false,
187
+ output: {
188
+ path: ctx.distPath,
189
+ publicPath: ctx.basePath,
190
+ // Utilize long-term caching by adding content hashes (not compilation hashes)
191
+ // to compiled assets for production
192
+ filename: '[name].[contenthash:8].js',
193
+ chunkFilename: '[name].[contenthash:8].chunk.js'
194
+ },
195
+ optimization: {
196
+ minimize: ctx.options.minify,
197
+ minimizer: [
198
+ new esbuildLoader.ESBuildMinifyPlugin({
199
+ target,
200
+ css: true
201
+ })
202
+ ],
203
+ moduleIds: 'deterministic',
204
+ runtimeChunk: true
205
+ },
206
+ plugins: [
207
+ ...baseConfig.plugins,
208
+ new MiniCssExtractPlugin({
209
+ filename: '[name].[chunkhash].css',
210
+ chunkFilename: '[name].[chunkhash].chunkhash.css',
211
+ ignoreOrder: true
212
+ }),
213
+ ctx.options.stats && new webpackBundleAnalyzer.BundleAnalyzerPlugin()
214
+ ].filter(Boolean)
215
+ };
216
+ };
217
+ const USER_CONFIGS = [
218
+ 'webpack.config.js',
219
+ 'webpack.config.mjs',
220
+ 'webpack.config.ts'
221
+ ];
222
+ const mergeConfigWithUserConfig = async (config, ctx)=>{
223
+ const userConfig = await aliases.getUserConfig(USER_CONFIGS, ctx);
224
+ if (userConfig) {
225
+ if (typeof userConfig === 'function') {
226
+ const webpack = await import('webpack');
227
+ return userConfig(config, webpack);
228
+ }
229
+ ctx.logger.warn(`You've exported something other than a function from ${path.join(ctx.appDir, 'src', 'admin', 'webpack.config')}, this will ignored.`);
230
+ }
231
+ return config;
232
+ };
233
+ /**
234
+ * @internal This function is used to resolve the path of a module.
235
+ * It mimics what vite does internally already.
236
+ */ const getModulePath = (mod)=>{
237
+ const modulePath = require.resolve(mod);
238
+ const pkg = readPkgUp.sync({
239
+ cwd: path.dirname(modulePath)
240
+ });
241
+ return pkg ? path.dirname(pkg.path) : modulePath;
242
+ };
243
+
244
+ exports.mergeConfigWithUserConfig = mergeConfigWithUserConfig;
245
+ exports.resolveDevelopmentConfig = resolveDevelopmentConfig;
246
+ exports.resolveProductionConfig = resolveProductionConfig;
247
+ //# sourceMappingURL=config-CQ94iNYq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-CQ94iNYq.js","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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"}