@strapi/strapi 5.8.1 → 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 (293) 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/dist/node/vite/watch.d.ts.map +1 -1
  57. package/package.json +26 -26
  58. package/dist/cli/commands/admin/create-user.js +0 -91
  59. package/dist/cli/commands/admin/create-user.js.map +0 -1
  60. package/dist/cli/commands/admin/create-user.mjs +0 -88
  61. package/dist/cli/commands/admin/create-user.mjs.map +0 -1
  62. package/dist/cli/commands/admin/reset-user-password.js +0 -47
  63. package/dist/cli/commands/admin/reset-user-password.js.map +0 -1
  64. package/dist/cli/commands/admin/reset-user-password.mjs +0 -44
  65. package/dist/cli/commands/admin/reset-user-password.mjs.map +0 -1
  66. package/dist/cli/commands/build.js +0 -24
  67. package/dist/cli/commands/build.js.map +0 -1
  68. package/dist/cli/commands/build.mjs +0 -24
  69. package/dist/cli/commands/build.mjs.map +0 -1
  70. package/dist/cli/commands/components/list.js +0 -27
  71. package/dist/cli/commands/components/list.js.map +0 -1
  72. package/dist/cli/commands/components/list.mjs +0 -24
  73. package/dist/cli/commands/components/list.mjs.map +0 -1
  74. package/dist/cli/commands/configuration/dump.js +0 -43
  75. package/dist/cli/commands/configuration/dump.js.map +0 -1
  76. package/dist/cli/commands/configuration/dump.mjs +0 -41
  77. package/dist/cli/commands/configuration/dump.mjs.map +0 -1
  78. package/dist/cli/commands/configuration/restore.js +0 -142
  79. package/dist/cli/commands/configuration/restore.js.map +0 -1
  80. package/dist/cli/commands/configuration/restore.mjs +0 -139
  81. package/dist/cli/commands/configuration/restore.mjs.map +0 -1
  82. package/dist/cli/commands/console.js +0 -29
  83. package/dist/cli/commands/console.js.map +0 -1
  84. package/dist/cli/commands/console.mjs +0 -27
  85. package/dist/cli/commands/console.mjs.map +0 -1
  86. package/dist/cli/commands/content-types/list.js +0 -27
  87. package/dist/cli/commands/content-types/list.js.map +0 -1
  88. package/dist/cli/commands/content-types/list.mjs +0 -24
  89. package/dist/cli/commands/content-types/list.mjs.map +0 -1
  90. package/dist/cli/commands/controllers/list.js +0 -27
  91. package/dist/cli/commands/controllers/list.js.map +0 -1
  92. package/dist/cli/commands/controllers/list.mjs +0 -24
  93. package/dist/cli/commands/controllers/list.mjs.map +0 -1
  94. package/dist/cli/commands/develop.js +0 -29
  95. package/dist/cli/commands/develop.js.map +0 -1
  96. package/dist/cli/commands/develop.mjs +0 -27
  97. package/dist/cli/commands/develop.mjs.map +0 -1
  98. package/dist/cli/commands/export/action.js +0 -118
  99. package/dist/cli/commands/export/action.js.map +0 -1
  100. package/dist/cli/commands/export/action.mjs +0 -116
  101. package/dist/cli/commands/export/action.mjs.map +0 -1
  102. package/dist/cli/commands/export/command.js +0 -23
  103. package/dist/cli/commands/export/command.js.map +0 -1
  104. package/dist/cli/commands/export/command.mjs +0 -24
  105. package/dist/cli/commands/export/command.mjs.map +0 -1
  106. package/dist/cli/commands/generate.js +0 -35
  107. package/dist/cli/commands/generate.js.map +0 -1
  108. package/dist/cli/commands/generate.mjs +0 -13
  109. package/dist/cli/commands/generate.mjs.map +0 -1
  110. package/dist/cli/commands/hooks/list.js +0 -27
  111. package/dist/cli/commands/hooks/list.js.map +0 -1
  112. package/dist/cli/commands/hooks/list.mjs +0 -24
  113. package/dist/cli/commands/hooks/list.mjs.map +0 -1
  114. package/dist/cli/commands/import/action.js +0 -106
  115. package/dist/cli/commands/import/action.js.map +0 -1
  116. package/dist/cli/commands/import/action.mjs +0 -105
  117. package/dist/cli/commands/import/action.mjs.map +0 -1
  118. package/dist/cli/commands/import/command.js +0 -70
  119. package/dist/cli/commands/import/command.js.map +0 -1
  120. package/dist/cli/commands/import/command.mjs +0 -68
  121. package/dist/cli/commands/import/command.mjs.map +0 -1
  122. package/dist/cli/commands/index.js +0 -63
  123. package/dist/cli/commands/index.js.map +0 -1
  124. package/dist/cli/commands/index.mjs +0 -63
  125. package/dist/cli/commands/index.mjs.map +0 -1
  126. package/dist/cli/commands/middlewares/list.js +0 -27
  127. package/dist/cli/commands/middlewares/list.js.map +0 -1
  128. package/dist/cli/commands/middlewares/list.mjs +0 -24
  129. package/dist/cli/commands/middlewares/list.mjs.map +0 -1
  130. package/dist/cli/commands/policies/list.js +0 -27
  131. package/dist/cli/commands/policies/list.js.map +0 -1
  132. package/dist/cli/commands/policies/list.mjs +0 -24
  133. package/dist/cli/commands/policies/list.mjs.map +0 -1
  134. package/dist/cli/commands/report.js +0 -35
  135. package/dist/cli/commands/report.js.map +0 -1
  136. package/dist/cli/commands/report.mjs +0 -35
  137. package/dist/cli/commands/report.mjs.map +0 -1
  138. package/dist/cli/commands/routes/list.js +0 -31
  139. package/dist/cli/commands/routes/list.js.map +0 -1
  140. package/dist/cli/commands/routes/list.mjs +0 -28
  141. package/dist/cli/commands/routes/list.mjs.map +0 -1
  142. package/dist/cli/commands/services/list.js +0 -27
  143. package/dist/cli/commands/services/list.js.map +0 -1
  144. package/dist/cli/commands/services/list.mjs +0 -24
  145. package/dist/cli/commands/services/list.mjs.map +0 -1
  146. package/dist/cli/commands/start.js +0 -27
  147. package/dist/cli/commands/start.js.map +0 -1
  148. package/dist/cli/commands/start.mjs +0 -24
  149. package/dist/cli/commands/start.mjs.map +0 -1
  150. package/dist/cli/commands/telemetry/disable.js +0 -70
  151. package/dist/cli/commands/telemetry/disable.js.map +0 -1
  152. package/dist/cli/commands/telemetry/disable.mjs +0 -67
  153. package/dist/cli/commands/telemetry/disable.mjs.map +0 -1
  154. package/dist/cli/commands/telemetry/enable.js +0 -89
  155. package/dist/cli/commands/telemetry/enable.js.map +0 -1
  156. package/dist/cli/commands/telemetry/enable.mjs +0 -86
  157. package/dist/cli/commands/telemetry/enable.mjs.map +0 -1
  158. package/dist/cli/commands/templates/generate.js +0 -11
  159. package/dist/cli/commands/templates/generate.js.map +0 -1
  160. package/dist/cli/commands/templates/generate.mjs +0 -11
  161. package/dist/cli/commands/templates/generate.mjs.map +0 -1
  162. package/dist/cli/commands/transfer/action.js +0 -130
  163. package/dist/cli/commands/transfer/action.js.map +0 -1
  164. package/dist/cli/commands/transfer/action.mjs +0 -131
  165. package/dist/cli/commands/transfer/action.mjs.map +0 -1
  166. package/dist/cli/commands/transfer/command.js +0 -85
  167. package/dist/cli/commands/transfer/command.js.map +0 -1
  168. package/dist/cli/commands/transfer/command.mjs +0 -84
  169. package/dist/cli/commands/transfer/command.mjs.map +0 -1
  170. package/dist/cli/commands/ts/generate-types.js +0 -36
  171. package/dist/cli/commands/ts/generate-types.js.map +0 -1
  172. package/dist/cli/commands/ts/generate-types.mjs +0 -34
  173. package/dist/cli/commands/ts/generate-types.mjs.map +0 -1
  174. package/dist/cli/commands/version.js +0 -13
  175. package/dist/cli/commands/version.js.map +0 -1
  176. package/dist/cli/commands/version.mjs +0 -13
  177. package/dist/cli/commands/version.mjs.map +0 -1
  178. package/dist/cli/index.js +0 -79
  179. package/dist/cli/index.js.map +0 -1
  180. package/dist/cli/index.mjs +0 -79
  181. package/dist/cli/index.mjs.map +0 -1
  182. package/dist/cli/utils/commander.js +0 -111
  183. package/dist/cli/utils/commander.js.map +0 -1
  184. package/dist/cli/utils/commander.mjs +0 -108
  185. package/dist/cli/utils/commander.mjs.map +0 -1
  186. package/dist/cli/utils/data-transfer.js +0 -354
  187. package/dist/cli/utils/data-transfer.js.map +0 -1
  188. package/dist/cli/utils/data-transfer.mjs +0 -350
  189. package/dist/cli/utils/data-transfer.mjs.map +0 -1
  190. package/dist/cli/utils/helpers.js +0 -102
  191. package/dist/cli/utils/helpers.js.map +0 -1
  192. package/dist/cli/utils/helpers.mjs +0 -100
  193. package/dist/cli/utils/helpers.mjs.map +0 -1
  194. package/dist/cli/utils/logger.js +0 -137
  195. package/dist/cli/utils/logger.js.map +0 -1
  196. package/dist/cli/utils/logger.mjs +0 -116
  197. package/dist/cli/utils/logger.mjs.map +0 -1
  198. package/dist/cli/utils/telemetry.js +0 -22
  199. package/dist/cli/utils/telemetry.js.map +0 -1
  200. package/dist/cli/utils/telemetry.mjs +0 -22
  201. package/dist/cli/utils/telemetry.mjs.map +0 -1
  202. package/dist/cli/utils/tsconfig.js +0 -26
  203. package/dist/cli/utils/tsconfig.js.map +0 -1
  204. package/dist/cli/utils/tsconfig.mjs +0 -23
  205. package/dist/cli/utils/tsconfig.mjs.map +0 -1
  206. package/dist/node/build.js +0 -76
  207. package/dist/node/build.js.map +0 -1
  208. package/dist/node/build.mjs +0 -58
  209. package/dist/node/build.mjs.map +0 -1
  210. package/dist/node/core/admin-customisations.js +0 -24
  211. package/dist/node/core/admin-customisations.js.map +0 -1
  212. package/dist/node/core/admin-customisations.mjs +0 -22
  213. package/dist/node/core/admin-customisations.mjs.map +0 -1
  214. package/dist/node/core/aliases.js +0 -33
  215. package/dist/node/core/aliases.js.map +0 -1
  216. package/dist/node/core/aliases.mjs +0 -31
  217. package/dist/node/core/aliases.mjs.map +0 -1
  218. package/dist/node/core/config.js +0 -18
  219. package/dist/node/core/config.js.map +0 -1
  220. package/dist/node/core/config.mjs +0 -16
  221. package/dist/node/core/config.mjs.map +0 -1
  222. package/dist/node/core/dependencies.js +0 -163
  223. package/dist/node/core/dependencies.js.map +0 -1
  224. package/dist/node/core/dependencies.mjs +0 -155
  225. package/dist/node/core/dependencies.mjs.map +0 -1
  226. package/dist/node/core/env.js +0 -26
  227. package/dist/node/core/env.js.map +0 -1
  228. package/dist/node/core/env.mjs +0 -23
  229. package/dist/node/core/env.mjs.map +0 -1
  230. package/dist/node/core/errors.js +0 -33
  231. package/dist/node/core/errors.js.map +0 -1
  232. package/dist/node/core/errors.mjs +0 -29
  233. package/dist/node/core/errors.mjs.map +0 -1
  234. package/dist/node/core/files.js +0 -45
  235. package/dist/node/core/files.js.map +0 -1
  236. package/dist/node/core/files.mjs +0 -43
  237. package/dist/node/core/files.mjs.map +0 -1
  238. package/dist/node/core/managers.js +0 -17
  239. package/dist/node/core/managers.js.map +0 -1
  240. package/dist/node/core/managers.mjs +0 -17
  241. package/dist/node/core/managers.mjs.map +0 -1
  242. package/dist/node/core/monorepo.js +0 -23
  243. package/dist/node/core/monorepo.js.map +0 -1
  244. package/dist/node/core/monorepo.mjs +0 -20
  245. package/dist/node/core/monorepo.mjs.map +0 -1
  246. package/dist/node/core/plugins.js +0 -116
  247. package/dist/node/core/plugins.js.map +0 -1
  248. package/dist/node/core/plugins.mjs +0 -111
  249. package/dist/node/core/plugins.mjs.map +0 -1
  250. package/dist/node/core/timer.js +0 -27
  251. package/dist/node/core/timer.js.map +0 -1
  252. package/dist/node/core/timer.mjs +0 -27
  253. package/dist/node/core/timer.mjs.map +0 -1
  254. package/dist/node/create-build-context.js +0 -101
  255. package/dist/node/create-build-context.js.map +0 -1
  256. package/dist/node/create-build-context.mjs +0 -96
  257. package/dist/node/create-build-context.mjs.map +0 -1
  258. package/dist/node/develop.js +0 -275
  259. package/dist/node/develop.js.map +0 -1
  260. package/dist/node/develop.mjs +0 -252
  261. package/dist/node/develop.mjs.map +0 -1
  262. package/dist/node/staticFiles.js +0 -102
  263. package/dist/node/staticFiles.js.map +0 -1
  264. package/dist/node/staticFiles.mjs +0 -76
  265. package/dist/node/staticFiles.mjs.map +0 -1
  266. package/dist/node/vite/build.js +0 -34
  267. package/dist/node/vite/build.js.map +0 -1
  268. package/dist/node/vite/build.mjs +0 -12
  269. package/dist/node/vite/build.mjs.map +0 -1
  270. package/dist/node/vite/config.js +0 -106
  271. package/dist/node/vite/config.js.map +0 -1
  272. package/dist/node/vite/config.mjs +0 -103
  273. package/dist/node/vite/config.mjs.map +0 -1
  274. package/dist/node/vite/plugins.js +0 -43
  275. package/dist/node/vite/plugins.js.map +0 -1
  276. package/dist/node/vite/plugins.mjs +0 -43
  277. package/dist/node/vite/plugins.mjs.map +0 -1
  278. package/dist/node/vite/watch.js +0 -103
  279. package/dist/node/vite/watch.js.map +0 -1
  280. package/dist/node/vite/watch.mjs +0 -77
  281. package/dist/node/vite/watch.mjs.map +0 -1
  282. package/dist/node/webpack/build.js +0 -41
  283. package/dist/node/webpack/build.js.map +0 -1
  284. package/dist/node/webpack/build.mjs +0 -39
  285. package/dist/node/webpack/build.mjs.map +0 -1
  286. package/dist/node/webpack/config.js +0 -259
  287. package/dist/node/webpack/config.js.map +0 -1
  288. package/dist/node/webpack/config.mjs +0 -228
  289. package/dist/node/webpack/config.mjs.map +0 -1
  290. package/dist/node/webpack/watch.js +0 -95
  291. package/dist/node/webpack/watch.js.map +0 -1
  292. package/dist/node/webpack/watch.mjs +0 -90
  293. 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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"}