@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,87 @@
1
+ 'use strict';
2
+
3
+ var webpack = require('webpack');
4
+ var config = require('./config-CQ94iNYq.js');
5
+ var cli = require('./index-kv_K5f7_.js');
6
+ require('@pmmmwh/react-refresh-webpack-plugin');
7
+ require('browserslist-to-esbuild');
8
+ require('esbuild-loader');
9
+ require('fork-ts-checker-webpack-plugin');
10
+ require('html-webpack-plugin');
11
+ require('mini-css-extract-plugin');
12
+ require('node:crypto');
13
+ require('node:path');
14
+ require('read-pkg-up');
15
+ require('webpack-bundle-analyzer');
16
+ require('./aliases-Ca20Yntz.js');
17
+ require('path');
18
+ require('commander');
19
+ require('@strapi/cloud-cli');
20
+ require('@strapi/utils');
21
+ require('lodash');
22
+ require('inquirer');
23
+ require('@strapi/core');
24
+ require('chalk');
25
+ require('lodash/fp');
26
+ require('boxen');
27
+ require('cli-table3');
28
+ require('fs');
29
+ require('fs-extra');
30
+ require('crypto');
31
+ require('@strapi/typescript-utils');
32
+ require('node:os');
33
+ require('node:fs/promises');
34
+ require('semver');
35
+ require('resolve-from');
36
+ require('execa');
37
+ require('perf_hooks');
38
+ require('browserslist');
39
+ require('dotenv');
40
+ require('esbuild-register/dist/node');
41
+ require('node:fs');
42
+ require('lodash/camelCase');
43
+ require('outdent');
44
+ require('react');
45
+ require('react-dom/server');
46
+ require('@strapi/admin/_internal');
47
+ require('repl');
48
+ require('node:cluster');
49
+ require('chokidar');
50
+ require('os');
51
+ require('@strapi/logger');
52
+ require('ora');
53
+ require('@strapi/data-transfer');
54
+ require('cli-progress');
55
+ require('typescript');
56
+
57
+ const build = async (ctx)=>{
58
+ const config$1 = await config.resolveProductionConfig(ctx);
59
+ const finalConfig = await config.mergeConfigWithUserConfig(config$1, ctx);
60
+ ctx.logger.debug('Webpack config', finalConfig);
61
+ return new Promise((resolve, reject)=>{
62
+ webpack(finalConfig, (err, stats)=>{
63
+ if (stats) {
64
+ if (stats.hasErrors()) {
65
+ ctx.logger.error(stats.toString({
66
+ chunks: false,
67
+ colors: true
68
+ }));
69
+ reject();
70
+ } else if (ctx.options.stats) {
71
+ ctx.logger.info(stats.toString({
72
+ chunks: false,
73
+ colors: true
74
+ }));
75
+ }
76
+ resolve(true);
77
+ }
78
+ if (err && cli.isError(err)) {
79
+ ctx.logger.error(err.message);
80
+ reject();
81
+ }
82
+ });
83
+ });
84
+ };
85
+
86
+ exports.build = build;
87
+ //# sourceMappingURL=build-CWUlYFQo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-CWUlYFQo.js","sources":["../../src/node/webpack/build.ts"],"sourcesContent":["import webpack from 'webpack';\n\nimport { mergeConfigWithUserConfig, resolveProductionConfig } from './config';\nimport { isError } from '../core/errors';\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 ctx.logger.debug('Webpack config', finalConfig);\n\n return new Promise((resolve, reject) => {\n webpack(finalConfig, (err, stats) => {\n if (stats) {\n if (stats.hasErrors()) {\n ctx.logger.error(\n stats.toString({\n chunks: false,\n colors: true,\n })\n );\n\n reject();\n } else if (ctx.options.stats) {\n ctx.logger.info(\n stats.toString({\n chunks: false,\n colors: true,\n })\n );\n }\n\n resolve(true);\n }\n\n if (err && isError(err)) {\n ctx.logger.error(err.message);\n reject();\n }\n });\n });\n};\n\nexport { build };\n"],"names":["build","ctx","config","resolveProductionConfig","finalConfig","mergeConfigWithUserConfig","logger","debug","Promise","resolve","reject","webpack","err","stats","hasErrors","error","toString","chunks","colors","options","info","isError","message"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,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;AAE5DA,IAAAA,GAAAA,CAAIK,MAAM,CAACC,KAAK,CAAC,gBAAkBH,EAAAA,WAAAA,CAAAA;IAEnC,OAAO,IAAII,OAAQ,CAAA,CAACC,OAASC,EAAAA,MAAAA,GAAAA;QAC3BC,OAAQP,CAAAA,WAAAA,EAAa,CAACQ,GAAKC,EAAAA,KAAAA,GAAAA;AACzB,YAAA,IAAIA,KAAO,EAAA;gBACT,IAAIA,KAAAA,CAAMC,SAAS,EAAI,EAAA;AACrBb,oBAAAA,GAAAA,CAAIK,MAAM,CAACS,KAAK,CACdF,KAAAA,CAAMG,QAAQ,CAAC;wBACbC,MAAQ,EAAA,KAAA;wBACRC,MAAQ,EAAA;AACV,qBAAA,CAAA,CAAA;AAGFR,oBAAAA,MAAAA,EAAAA;AACF,iBAAA,MAAO,IAAIT,GAAAA,CAAIkB,OAAO,CAACN,KAAK,EAAE;AAC5BZ,oBAAAA,GAAAA,CAAIK,MAAM,CAACc,IAAI,CACbP,KAAAA,CAAMG,QAAQ,CAAC;wBACbC,MAAQ,EAAA,KAAA;wBACRC,MAAQ,EAAA;AACV,qBAAA,CAAA,CAAA;AAEJ;gBAEAT,OAAQ,CAAA,IAAA,CAAA;AACV;YAEA,IAAIG,GAAAA,IAAOS,YAAQT,GAAM,CAAA,EAAA;AACvBX,gBAAAA,GAAAA,CAAIK,MAAM,CAACS,KAAK,CAACH,IAAIU,OAAO,CAAA;AAC5BZ,gBAAAA,MAAAA,EAAAA;AACF;AACF,SAAA,CAAA;AACF,KAAA,CAAA;AACF;;;;"}
@@ -0,0 +1,57 @@
1
+ import { r as resolveProductionConfig, m as mergeConfigWithUserConfig } from './config-CLeubzgx.mjs';
2
+ import 'browserslist-to-esbuild';
3
+ import '@vitejs/plugin-react-swc';
4
+ import './aliases-DQ51KexN.mjs';
5
+ import 'path';
6
+ import 'read-pkg-up';
7
+ import 'node:path';
8
+ import './index-DtHH3PFG.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-gBR43Dth.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-gBR43Dth.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,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-Ca20Yntz.js');
6
+ var cli = require('./index-kv_K5f7_.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-5tFWkbOi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-5tFWkbOi.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-DQ51KexN.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-BSlsDIVc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BSlsDIVc.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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"}