@strapi/strapi 5.9.0 → 5.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/dist/admin-test.js +11 -8
  2. package/dist/admin-test.js.map +1 -1
  3. package/dist/admin-test.mjs +1 -1
  4. package/dist/admin-test.mjs.map +1 -1
  5. package/dist/admin.js +36 -42
  6. package/dist/admin.js.map +1 -1
  7. package/dist/admin.mjs +28 -35
  8. package/dist/admin.mjs.map +1 -1
  9. package/dist/chunks/aliases-DAot4dxq.mjs +76 -0
  10. package/dist/chunks/aliases-DAot4dxq.mjs.map +1 -0
  11. package/dist/chunks/aliases-DnWkCRVx.js +80 -0
  12. package/dist/chunks/aliases-DnWkCRVx.js.map +1 -0
  13. package/dist/chunks/build-B_F6r_52.mjs +85 -0
  14. package/dist/chunks/build-B_F6r_52.mjs.map +1 -0
  15. package/dist/chunks/build-Bblul4se.js +87 -0
  16. package/dist/chunks/build-Bblul4se.js.map +1 -0
  17. package/dist/chunks/build-Bi8Renlu.mjs +57 -0
  18. package/dist/chunks/build-Bi8Renlu.mjs.map +1 -0
  19. package/dist/chunks/build-DNnBV0b_.js +59 -0
  20. package/dist/chunks/build-DNnBV0b_.js.map +1 -0
  21. package/dist/chunks/config-D5OUWo8m.js +154 -0
  22. package/dist/chunks/config-D5OUWo8m.js.map +1 -0
  23. package/dist/chunks/config-YXcKrg8-.mjs +243 -0
  24. package/dist/chunks/config-YXcKrg8-.mjs.map +1 -0
  25. package/dist/chunks/config-kmpcowQR.mjs +150 -0
  26. package/dist/chunks/config-kmpcowQR.mjs.map +1 -0
  27. package/dist/chunks/config-nh7CiBvl.js +247 -0
  28. package/dist/chunks/config-nh7CiBvl.js.map +1 -0
  29. package/dist/chunks/index-1UgyJyc8.js +3185 -0
  30. package/dist/chunks/index-1UgyJyc8.js.map +1 -0
  31. package/dist/chunks/index-DIAuPBs8.mjs +3160 -0
  32. package/dist/chunks/index-DIAuPBs8.mjs.map +1 -0
  33. package/dist/chunks/watch-C6MYoEbx.mjs +131 -0
  34. package/dist/chunks/watch-C6MYoEbx.mjs.map +1 -0
  35. package/dist/chunks/watch-CRDw0bas.js +133 -0
  36. package/dist/chunks/watch-CRDw0bas.js.map +1 -0
  37. package/dist/chunks/watch-Cvk1wtNO.mjs +144 -0
  38. package/dist/chunks/watch-Cvk1wtNO.mjs.map +1 -0
  39. package/dist/chunks/watch-Du-Ph6oD.js +146 -0
  40. package/dist/chunks/watch-Du-Ph6oD.js.map +1 -0
  41. package/dist/cli/commands/plugin/init/files/typescript.d.ts +20 -7
  42. package/dist/cli/commands/plugin/init/files/typescript.d.ts.map +1 -1
  43. package/dist/cli/commands/version.d.ts.map +1 -1
  44. package/dist/cli/index.d.ts.map +1 -1
  45. package/dist/cli.js +50 -0
  46. package/dist/cli.js.map +1 -0
  47. package/dist/cli.mjs +43 -0
  48. package/dist/cli.mjs.map +1 -0
  49. package/dist/index.js +11 -8
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.mjs +1 -1
  52. package/dist/index.mjs.map +1 -1
  53. package/dist/node/core/errors.d.ts.map +1 -1
  54. package/dist/node/create-build-context.d.ts +1 -1
  55. package/dist/node/create-build-context.d.ts.map +1 -1
  56. package/package.json +26 -26
  57. package/dist/cli/commands/admin/create-user.js +0 -91
  58. package/dist/cli/commands/admin/create-user.js.map +0 -1
  59. package/dist/cli/commands/admin/create-user.mjs +0 -88
  60. package/dist/cli/commands/admin/create-user.mjs.map +0 -1
  61. package/dist/cli/commands/admin/reset-user-password.js +0 -47
  62. package/dist/cli/commands/admin/reset-user-password.js.map +0 -1
  63. package/dist/cli/commands/admin/reset-user-password.mjs +0 -44
  64. package/dist/cli/commands/admin/reset-user-password.mjs.map +0 -1
  65. package/dist/cli/commands/build.js +0 -24
  66. package/dist/cli/commands/build.js.map +0 -1
  67. package/dist/cli/commands/build.mjs +0 -24
  68. package/dist/cli/commands/build.mjs.map +0 -1
  69. package/dist/cli/commands/components/list.js +0 -27
  70. package/dist/cli/commands/components/list.js.map +0 -1
  71. package/dist/cli/commands/components/list.mjs +0 -24
  72. package/dist/cli/commands/components/list.mjs.map +0 -1
  73. package/dist/cli/commands/configuration/dump.js +0 -43
  74. package/dist/cli/commands/configuration/dump.js.map +0 -1
  75. package/dist/cli/commands/configuration/dump.mjs +0 -41
  76. package/dist/cli/commands/configuration/dump.mjs.map +0 -1
  77. package/dist/cli/commands/configuration/restore.js +0 -142
  78. package/dist/cli/commands/configuration/restore.js.map +0 -1
  79. package/dist/cli/commands/configuration/restore.mjs +0 -139
  80. package/dist/cli/commands/configuration/restore.mjs.map +0 -1
  81. package/dist/cli/commands/console.js +0 -29
  82. package/dist/cli/commands/console.js.map +0 -1
  83. package/dist/cli/commands/console.mjs +0 -27
  84. package/dist/cli/commands/console.mjs.map +0 -1
  85. package/dist/cli/commands/content-types/list.js +0 -27
  86. package/dist/cli/commands/content-types/list.js.map +0 -1
  87. package/dist/cli/commands/content-types/list.mjs +0 -24
  88. package/dist/cli/commands/content-types/list.mjs.map +0 -1
  89. package/dist/cli/commands/controllers/list.js +0 -27
  90. package/dist/cli/commands/controllers/list.js.map +0 -1
  91. package/dist/cli/commands/controllers/list.mjs +0 -24
  92. package/dist/cli/commands/controllers/list.mjs.map +0 -1
  93. package/dist/cli/commands/develop.js +0 -29
  94. package/dist/cli/commands/develop.js.map +0 -1
  95. package/dist/cli/commands/develop.mjs +0 -27
  96. package/dist/cli/commands/develop.mjs.map +0 -1
  97. package/dist/cli/commands/export/action.js +0 -118
  98. package/dist/cli/commands/export/action.js.map +0 -1
  99. package/dist/cli/commands/export/action.mjs +0 -116
  100. package/dist/cli/commands/export/action.mjs.map +0 -1
  101. package/dist/cli/commands/export/command.js +0 -23
  102. package/dist/cli/commands/export/command.js.map +0 -1
  103. package/dist/cli/commands/export/command.mjs +0 -24
  104. package/dist/cli/commands/export/command.mjs.map +0 -1
  105. package/dist/cli/commands/generate.js +0 -35
  106. package/dist/cli/commands/generate.js.map +0 -1
  107. package/dist/cli/commands/generate.mjs +0 -13
  108. package/dist/cli/commands/generate.mjs.map +0 -1
  109. package/dist/cli/commands/hooks/list.js +0 -27
  110. package/dist/cli/commands/hooks/list.js.map +0 -1
  111. package/dist/cli/commands/hooks/list.mjs +0 -24
  112. package/dist/cli/commands/hooks/list.mjs.map +0 -1
  113. package/dist/cli/commands/import/action.js +0 -106
  114. package/dist/cli/commands/import/action.js.map +0 -1
  115. package/dist/cli/commands/import/action.mjs +0 -105
  116. package/dist/cli/commands/import/action.mjs.map +0 -1
  117. package/dist/cli/commands/import/command.js +0 -70
  118. package/dist/cli/commands/import/command.js.map +0 -1
  119. package/dist/cli/commands/import/command.mjs +0 -68
  120. package/dist/cli/commands/import/command.mjs.map +0 -1
  121. package/dist/cli/commands/index.js +0 -63
  122. package/dist/cli/commands/index.js.map +0 -1
  123. package/dist/cli/commands/index.mjs +0 -63
  124. package/dist/cli/commands/index.mjs.map +0 -1
  125. package/dist/cli/commands/middlewares/list.js +0 -27
  126. package/dist/cli/commands/middlewares/list.js.map +0 -1
  127. package/dist/cli/commands/middlewares/list.mjs +0 -24
  128. package/dist/cli/commands/middlewares/list.mjs.map +0 -1
  129. package/dist/cli/commands/policies/list.js +0 -27
  130. package/dist/cli/commands/policies/list.js.map +0 -1
  131. package/dist/cli/commands/policies/list.mjs +0 -24
  132. package/dist/cli/commands/policies/list.mjs.map +0 -1
  133. package/dist/cli/commands/report.js +0 -35
  134. package/dist/cli/commands/report.js.map +0 -1
  135. package/dist/cli/commands/report.mjs +0 -35
  136. package/dist/cli/commands/report.mjs.map +0 -1
  137. package/dist/cli/commands/routes/list.js +0 -31
  138. package/dist/cli/commands/routes/list.js.map +0 -1
  139. package/dist/cli/commands/routes/list.mjs +0 -28
  140. package/dist/cli/commands/routes/list.mjs.map +0 -1
  141. package/dist/cli/commands/services/list.js +0 -27
  142. package/dist/cli/commands/services/list.js.map +0 -1
  143. package/dist/cli/commands/services/list.mjs +0 -24
  144. package/dist/cli/commands/services/list.mjs.map +0 -1
  145. package/dist/cli/commands/start.js +0 -27
  146. package/dist/cli/commands/start.js.map +0 -1
  147. package/dist/cli/commands/start.mjs +0 -24
  148. package/dist/cli/commands/start.mjs.map +0 -1
  149. package/dist/cli/commands/telemetry/disable.js +0 -70
  150. package/dist/cli/commands/telemetry/disable.js.map +0 -1
  151. package/dist/cli/commands/telemetry/disable.mjs +0 -67
  152. package/dist/cli/commands/telemetry/disable.mjs.map +0 -1
  153. package/dist/cli/commands/telemetry/enable.js +0 -89
  154. package/dist/cli/commands/telemetry/enable.js.map +0 -1
  155. package/dist/cli/commands/telemetry/enable.mjs +0 -86
  156. package/dist/cli/commands/telemetry/enable.mjs.map +0 -1
  157. package/dist/cli/commands/templates/generate.js +0 -11
  158. package/dist/cli/commands/templates/generate.js.map +0 -1
  159. package/dist/cli/commands/templates/generate.mjs +0 -11
  160. package/dist/cli/commands/templates/generate.mjs.map +0 -1
  161. package/dist/cli/commands/transfer/action.js +0 -130
  162. package/dist/cli/commands/transfer/action.js.map +0 -1
  163. package/dist/cli/commands/transfer/action.mjs +0 -131
  164. package/dist/cli/commands/transfer/action.mjs.map +0 -1
  165. package/dist/cli/commands/transfer/command.js +0 -85
  166. package/dist/cli/commands/transfer/command.js.map +0 -1
  167. package/dist/cli/commands/transfer/command.mjs +0 -84
  168. package/dist/cli/commands/transfer/command.mjs.map +0 -1
  169. package/dist/cli/commands/ts/generate-types.js +0 -36
  170. package/dist/cli/commands/ts/generate-types.js.map +0 -1
  171. package/dist/cli/commands/ts/generate-types.mjs +0 -34
  172. package/dist/cli/commands/ts/generate-types.mjs.map +0 -1
  173. package/dist/cli/commands/version.js +0 -13
  174. package/dist/cli/commands/version.js.map +0 -1
  175. package/dist/cli/commands/version.mjs +0 -13
  176. package/dist/cli/commands/version.mjs.map +0 -1
  177. package/dist/cli/index.js +0 -79
  178. package/dist/cli/index.js.map +0 -1
  179. package/dist/cli/index.mjs +0 -79
  180. package/dist/cli/index.mjs.map +0 -1
  181. package/dist/cli/utils/commander.js +0 -111
  182. package/dist/cli/utils/commander.js.map +0 -1
  183. package/dist/cli/utils/commander.mjs +0 -108
  184. package/dist/cli/utils/commander.mjs.map +0 -1
  185. package/dist/cli/utils/data-transfer.js +0 -354
  186. package/dist/cli/utils/data-transfer.js.map +0 -1
  187. package/dist/cli/utils/data-transfer.mjs +0 -350
  188. package/dist/cli/utils/data-transfer.mjs.map +0 -1
  189. package/dist/cli/utils/helpers.js +0 -102
  190. package/dist/cli/utils/helpers.js.map +0 -1
  191. package/dist/cli/utils/helpers.mjs +0 -100
  192. package/dist/cli/utils/helpers.mjs.map +0 -1
  193. package/dist/cli/utils/logger.js +0 -137
  194. package/dist/cli/utils/logger.js.map +0 -1
  195. package/dist/cli/utils/logger.mjs +0 -116
  196. package/dist/cli/utils/logger.mjs.map +0 -1
  197. package/dist/cli/utils/telemetry.js +0 -22
  198. package/dist/cli/utils/telemetry.js.map +0 -1
  199. package/dist/cli/utils/telemetry.mjs +0 -22
  200. package/dist/cli/utils/telemetry.mjs.map +0 -1
  201. package/dist/cli/utils/tsconfig.js +0 -26
  202. package/dist/cli/utils/tsconfig.js.map +0 -1
  203. package/dist/cli/utils/tsconfig.mjs +0 -23
  204. package/dist/cli/utils/tsconfig.mjs.map +0 -1
  205. package/dist/node/build.js +0 -76
  206. package/dist/node/build.js.map +0 -1
  207. package/dist/node/build.mjs +0 -58
  208. package/dist/node/build.mjs.map +0 -1
  209. package/dist/node/core/admin-customisations.js +0 -24
  210. package/dist/node/core/admin-customisations.js.map +0 -1
  211. package/dist/node/core/admin-customisations.mjs +0 -22
  212. package/dist/node/core/admin-customisations.mjs.map +0 -1
  213. package/dist/node/core/aliases.js +0 -33
  214. package/dist/node/core/aliases.js.map +0 -1
  215. package/dist/node/core/aliases.mjs +0 -31
  216. package/dist/node/core/aliases.mjs.map +0 -1
  217. package/dist/node/core/config.js +0 -18
  218. package/dist/node/core/config.js.map +0 -1
  219. package/dist/node/core/config.mjs +0 -16
  220. package/dist/node/core/config.mjs.map +0 -1
  221. package/dist/node/core/dependencies.js +0 -163
  222. package/dist/node/core/dependencies.js.map +0 -1
  223. package/dist/node/core/dependencies.mjs +0 -155
  224. package/dist/node/core/dependencies.mjs.map +0 -1
  225. package/dist/node/core/env.js +0 -26
  226. package/dist/node/core/env.js.map +0 -1
  227. package/dist/node/core/env.mjs +0 -23
  228. package/dist/node/core/env.mjs.map +0 -1
  229. package/dist/node/core/errors.js +0 -33
  230. package/dist/node/core/errors.js.map +0 -1
  231. package/dist/node/core/errors.mjs +0 -29
  232. package/dist/node/core/errors.mjs.map +0 -1
  233. package/dist/node/core/files.js +0 -45
  234. package/dist/node/core/files.js.map +0 -1
  235. package/dist/node/core/files.mjs +0 -43
  236. package/dist/node/core/files.mjs.map +0 -1
  237. package/dist/node/core/managers.js +0 -17
  238. package/dist/node/core/managers.js.map +0 -1
  239. package/dist/node/core/managers.mjs +0 -17
  240. package/dist/node/core/managers.mjs.map +0 -1
  241. package/dist/node/core/monorepo.js +0 -23
  242. package/dist/node/core/monorepo.js.map +0 -1
  243. package/dist/node/core/monorepo.mjs +0 -20
  244. package/dist/node/core/monorepo.mjs.map +0 -1
  245. package/dist/node/core/plugins.js +0 -116
  246. package/dist/node/core/plugins.js.map +0 -1
  247. package/dist/node/core/plugins.mjs +0 -111
  248. package/dist/node/core/plugins.mjs.map +0 -1
  249. package/dist/node/core/timer.js +0 -27
  250. package/dist/node/core/timer.js.map +0 -1
  251. package/dist/node/core/timer.mjs +0 -27
  252. package/dist/node/core/timer.mjs.map +0 -1
  253. package/dist/node/create-build-context.js +0 -101
  254. package/dist/node/create-build-context.js.map +0 -1
  255. package/dist/node/create-build-context.mjs +0 -96
  256. package/dist/node/create-build-context.mjs.map +0 -1
  257. package/dist/node/develop.js +0 -275
  258. package/dist/node/develop.js.map +0 -1
  259. package/dist/node/develop.mjs +0 -252
  260. package/dist/node/develop.mjs.map +0 -1
  261. package/dist/node/staticFiles.js +0 -102
  262. package/dist/node/staticFiles.js.map +0 -1
  263. package/dist/node/staticFiles.mjs +0 -76
  264. package/dist/node/staticFiles.mjs.map +0 -1
  265. package/dist/node/vite/build.js +0 -34
  266. package/dist/node/vite/build.js.map +0 -1
  267. package/dist/node/vite/build.mjs +0 -12
  268. package/dist/node/vite/build.mjs.map +0 -1
  269. package/dist/node/vite/config.js +0 -106
  270. package/dist/node/vite/config.js.map +0 -1
  271. package/dist/node/vite/config.mjs +0 -103
  272. package/dist/node/vite/config.mjs.map +0 -1
  273. package/dist/node/vite/plugins.js +0 -43
  274. package/dist/node/vite/plugins.js.map +0 -1
  275. package/dist/node/vite/plugins.mjs +0 -43
  276. package/dist/node/vite/plugins.mjs.map +0 -1
  277. package/dist/node/vite/watch.js +0 -111
  278. package/dist/node/vite/watch.js.map +0 -1
  279. package/dist/node/vite/watch.mjs +0 -85
  280. package/dist/node/vite/watch.mjs.map +0 -1
  281. package/dist/node/webpack/build.js +0 -41
  282. package/dist/node/webpack/build.js.map +0 -1
  283. package/dist/node/webpack/build.mjs +0 -39
  284. package/dist/node/webpack/build.mjs.map +0 -1
  285. package/dist/node/webpack/config.js +0 -259
  286. package/dist/node/webpack/config.js.map +0 -1
  287. package/dist/node/webpack/config.mjs +0 -228
  288. package/dist/node/webpack/config.mjs.map +0 -1
  289. package/dist/node/webpack/watch.js +0 -95
  290. package/dist/node/webpack/watch.js.map +0 -1
  291. package/dist/node/webpack/watch.mjs +0 -90
  292. package/dist/node/webpack/watch.mjs.map +0 -1
@@ -1,252 +0,0 @@
1
- import * as tsUtils from "@strapi/typescript-utils";
2
- import { strings } from "@strapi/utils";
3
- import chokidar from "chokidar";
4
- import fs from "node:fs/promises";
5
- import path from "node:path";
6
- import cluster from "node:cluster";
7
- import { createStrapi } from "@strapi/core";
8
- import { checkRequiredDependencies } from "./core/dependencies.mjs";
9
- import { prettyTime, getTimer } from "./core/timer.mjs";
10
- import { createBuildContext } from "./create-build-context.mjs";
11
- import { writeStaticClientFiles } from "./staticFiles.mjs";
12
- const cleanupDistDirectory = async ({
13
- tsconfig,
14
- logger,
15
- timer
16
- }) => {
17
- const distDir = tsconfig?.config?.options?.outDir;
18
- if (!distDir || // we don't have a dist dir
19
- await fs.access(distDir).then(() => false).catch(() => true)) {
20
- return;
21
- }
22
- const timerName = `cleaningDist${Date.now()}`;
23
- timer.start(timerName);
24
- const cleaningSpinner = logger.spinner(`Cleaning dist dir ${distDir}`).start();
25
- try {
26
- const dirContent = await fs.readdir(distDir);
27
- const validFilenames = dirContent.filter((filename) => filename !== "build");
28
- for (const filename of validFilenames) {
29
- await fs.rm(path.resolve(distDir, filename), { recursive: true });
30
- }
31
- } catch (err) {
32
- const generatingDuration2 = timer.end(timerName);
33
- cleaningSpinner.text = `Error cleaning dist dir: ${err} (${prettyTime(generatingDuration2)})`;
34
- cleaningSpinner?.fail();
35
- return;
36
- }
37
- const generatingDuration = timer.end(timerName);
38
- cleaningSpinner.text = `Cleaning dist dir (${prettyTime(generatingDuration)})`;
39
- cleaningSpinner?.succeed();
40
- };
41
- const develop = async ({
42
- cwd,
43
- polling,
44
- logger,
45
- tsconfig,
46
- watchAdmin,
47
- ...options
48
- }) => {
49
- const timer = getTimer();
50
- if (cluster.isPrimary) {
51
- const { didInstall } = await checkRequiredDependencies({ cwd, logger }).catch((err) => {
52
- logger.error(err.message);
53
- process.exit(1);
54
- });
55
- if (didInstall) {
56
- return;
57
- }
58
- if (tsconfig?.config) {
59
- await cleanupDistDirectory({ tsconfig, logger, timer });
60
- await tsUtils.compile(cwd, { configOptions: { ignoreDiagnostics: true } });
61
- }
62
- if (!watchAdmin) {
63
- timer.start("createBuildContext");
64
- const contextSpinner = logger.spinner(`Building build context`).start();
65
- console.log("");
66
- const ctx = await createBuildContext({
67
- cwd,
68
- logger,
69
- tsconfig,
70
- options
71
- });
72
- const contextDuration = timer.end("createBuildContext");
73
- contextSpinner.text = `Building build context (${prettyTime(contextDuration)})`;
74
- contextSpinner.succeed();
75
- timer.start("creatingAdmin");
76
- const adminSpinner = logger.spinner(`Creating admin`).start();
77
- await writeStaticClientFiles(ctx);
78
- if (ctx.bundler === "webpack") {
79
- const { build: buildWebpack } = await import("./webpack/build.mjs");
80
- await buildWebpack(ctx);
81
- } else if (ctx.bundler === "vite") {
82
- const { build: buildVite } = await import("./vite/build.mjs");
83
- await buildVite(ctx);
84
- }
85
- const adminDuration = timer.end("creatingAdmin");
86
- adminSpinner.text = `Creating admin (${prettyTime(adminDuration)})`;
87
- adminSpinner.succeed();
88
- }
89
- cluster.on("message", async (worker, message) => {
90
- switch (message) {
91
- case "reload": {
92
- if (tsconfig?.config) {
93
- await cleanupDistDirectory({ tsconfig, logger, timer });
94
- await tsUtils.compile(cwd, { configOptions: { ignoreDiagnostics: true } });
95
- }
96
- logger.debug("cluster has the reload message, sending the worker kill message");
97
- worker.send("kill");
98
- break;
99
- }
100
- case "killed": {
101
- logger.debug("cluster has the killed message, forking the cluster");
102
- cluster.fork();
103
- break;
104
- }
105
- case "stop": {
106
- process.exit(1);
107
- break;
108
- }
109
- }
110
- });
111
- cluster.fork();
112
- }
113
- if (cluster.isWorker) {
114
- timer.start("loadStrapi");
115
- const loadStrapiSpinner = logger.spinner(`Loading Strapi`).start();
116
- const strapi = createStrapi({
117
- appDir: cwd,
118
- distDir: tsconfig?.config.options.outDir ?? "",
119
- autoReload: true,
120
- serveAdminPanel: !watchAdmin
121
- });
122
- let bundleWatcher;
123
- const strapiInstance = await strapi.load();
124
- if (watchAdmin) {
125
- timer.start("createBuildContext");
126
- const contextSpinner = logger.spinner(`Building build context`).start();
127
- console.log("");
128
- const ctx = await createBuildContext({
129
- cwd,
130
- logger,
131
- strapi,
132
- tsconfig,
133
- options
134
- });
135
- const contextDuration = timer.end("createBuildContext");
136
- contextSpinner.text = `Building build context (${prettyTime(contextDuration)})`;
137
- contextSpinner.succeed();
138
- timer.start("creatingAdmin");
139
- const adminSpinner = logger.spinner(`Creating admin`).start();
140
- await writeStaticClientFiles(ctx);
141
- if (ctx.bundler === "webpack") {
142
- const { watch: watchWebpack } = await import("./webpack/watch.mjs");
143
- bundleWatcher = await watchWebpack(ctx);
144
- } else if (ctx.bundler === "vite") {
145
- const { watch: watchVite } = await import("./vite/watch.mjs");
146
- bundleWatcher = await watchVite(ctx);
147
- }
148
- const adminDuration = timer.end("creatingAdmin");
149
- adminSpinner.text = `Creating admin (${prettyTime(adminDuration)})`;
150
- adminSpinner.succeed();
151
- }
152
- const loadStrapiDuration = timer.end("loadStrapi");
153
- loadStrapiSpinner.text = `Loading Strapi (${prettyTime(loadStrapiDuration)})`;
154
- loadStrapiSpinner.succeed();
155
- if (tsconfig?.config || strapi.config.get("typescript.autogenerate") !== false) {
156
- timer.start("generatingTS");
157
- const generatingTsSpinner = logger.spinner(`Generating types`).start();
158
- await tsUtils.generators.generate({
159
- strapi: strapiInstance,
160
- pwd: cwd,
161
- rootDir: void 0,
162
- logger: { silent: true, debug: false },
163
- artifacts: { contentTypes: true, components: true }
164
- });
165
- const generatingDuration = timer.end("generatingTS");
166
- generatingTsSpinner.text = `Generating types (${prettyTime(generatingDuration)})`;
167
- generatingTsSpinner.succeed();
168
- }
169
- if (tsconfig?.config) {
170
- timer.start("compilingTS");
171
- const compilingTsSpinner = logger.spinner(`Compiling TS`).start();
172
- await cleanupDistDirectory({ tsconfig, logger, timer });
173
- await tsUtils.compile(cwd, { configOptions: { ignoreDiagnostics: false } });
174
- const compilingDuration = timer.end("compilingTS");
175
- compilingTsSpinner.text = `Compiling TS (${prettyTime(compilingDuration)})`;
176
- compilingTsSpinner.succeed();
177
- }
178
- const restart = async () => {
179
- if (strapiInstance.reload.isWatching && !strapiInstance.reload.isReloading) {
180
- strapiInstance.reload.isReloading = true;
181
- strapiInstance.reload();
182
- }
183
- };
184
- const watcher = chokidar.watch(cwd, {
185
- ignoreInitial: true,
186
- usePolling: polling,
187
- ignored: [
188
- /(^|[/\\])\../,
189
- // dot files
190
- /tmp/,
191
- "**/src/admin/**",
192
- "**/src/plugins/**/admin/**",
193
- "**/dist/src/plugins/test/admin/**",
194
- "**/documentation",
195
- "**/documentation/**",
196
- "**/node_modules",
197
- "**/node_modules/**",
198
- "**/plugins.json",
199
- "**/build",
200
- "**/build/**",
201
- "**/log",
202
- "**/log/**",
203
- "**/logs",
204
- "**/logs/**",
205
- "**/*.log",
206
- "**/index.html",
207
- "**/public",
208
- "**/public/**",
209
- strapiInstance.dirs.static.public,
210
- strings.joinBy("/", strapiInstance.dirs.static.public, "**"),
211
- "**/*.db*",
212
- "**/exports/**",
213
- "**/dist/**",
214
- "**/*.d.ts",
215
- "**/.yalc/**",
216
- "**/yalc.lock",
217
- // TODO v6: watch only src folder by default, and flip this to watchIncludeFiles
218
- ...strapiInstance.config.get("admin.watchIgnoreFiles", [])
219
- ]
220
- }).on("add", (path2) => {
221
- strapiInstance.log.info(`File created: ${path2}`);
222
- restart();
223
- }).on("change", (path2) => {
224
- strapiInstance.log.info(`File changed: ${path2}`);
225
- restart();
226
- }).on("unlink", (path2) => {
227
- strapiInstance.log.info(`File deleted: ${path2}`);
228
- restart();
229
- });
230
- process.on("message", async (message) => {
231
- switch (message) {
232
- case "kill": {
233
- logger.debug(
234
- "child process has the kill message, destroying the strapi instance and sending the killed process message"
235
- );
236
- await watcher.close();
237
- await strapiInstance.destroy();
238
- if (bundleWatcher) {
239
- bundleWatcher.close();
240
- }
241
- process.send?.("killed");
242
- break;
243
- }
244
- }
245
- });
246
- strapiInstance.start();
247
- }
248
- };
249
- export {
250
- develop
251
- };
252
- //# sourceMappingURL=develop.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"develop.mjs","sources":["../../src/node/develop.ts"],"sourcesContent":["import * as tsUtils from '@strapi/typescript-utils';\nimport { strings } from '@strapi/utils';\nimport chokidar from 'chokidar';\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport cluster from 'node:cluster';\nimport { createStrapi } from '@strapi/core';\n\nimport type { CLIContext } from '../cli/types';\nimport { checkRequiredDependencies } from './core/dependencies';\nimport { getTimer, prettyTime, type TimeMeasurer } from './core/timer';\nimport { createBuildContext } from './create-build-context';\nimport type { WebpackWatcher } from './webpack/watch';\nimport type { ViteWatcher } from './vite/watch';\n\nimport { writeStaticClientFiles } from './staticFiles';\n\ninterface DevelopOptions extends CLIContext {\n /**\n * Which bundler to use for building.\n *\n * @default webpack\n */\n bundler?: 'webpack' | 'vite';\n polling?: boolean;\n open?: boolean;\n watchAdmin?: boolean;\n}\n\n// This method removes all non-admin build files from the dist directory\nconst cleanupDistDirectory = async ({\n tsconfig,\n logger,\n timer,\n}: Pick<DevelopOptions, 'tsconfig' | 'logger'> & { timer: TimeMeasurer }) => {\n const distDir = tsconfig?.config?.options?.outDir;\n\n if (\n !distDir || // we don't have a dist dir\n (await fs\n .access(distDir)\n .then(() => false)\n .catch(() => true)) // it doesn't exist -- if it does but no access, that will be caught later\n ) {\n return;\n }\n\n const timerName = `cleaningDist${Date.now()}`;\n timer.start(timerName);\n const cleaningSpinner = logger.spinner(`Cleaning dist dir ${distDir}`).start();\n\n try {\n const dirContent = await fs.readdir(distDir);\n const validFilenames = dirContent\n // Ignore the admin build folder\n .filter((filename) => filename !== 'build');\n for (const filename of validFilenames) {\n await fs.rm(path.resolve(distDir, filename), { recursive: true });\n }\n } catch (err: unknown) {\n const generatingDuration = timer.end(timerName);\n cleaningSpinner.text = `Error cleaning dist dir: ${err} (${prettyTime(generatingDuration)})`;\n cleaningSpinner?.fail();\n return;\n }\n\n const generatingDuration = timer.end(timerName);\n cleaningSpinner.text = `Cleaning dist dir (${prettyTime(generatingDuration)})`;\n cleaningSpinner?.succeed();\n};\n\nconst develop = async ({\n cwd,\n polling,\n logger,\n tsconfig,\n watchAdmin,\n ...options\n}: DevelopOptions) => {\n const timer = getTimer();\n\n if (cluster.isPrimary) {\n const { didInstall } = await checkRequiredDependencies({ cwd, logger }).catch((err) => {\n logger.error(err.message);\n process.exit(1);\n });\n\n if (didInstall) {\n return;\n }\n\n if (tsconfig?.config) {\n // Build without diagnostics in case schemas have changed\n await cleanupDistDirectory({ tsconfig, logger, timer });\n await tsUtils.compile(cwd, { configOptions: { ignoreDiagnostics: true } });\n }\n\n /**\n * IF we're not watching the admin we're going to build it, this makes\n * sure that at least the admin is built for users & they can interact\n * with the application.\n */\n if (!watchAdmin) {\n timer.start('createBuildContext');\n const contextSpinner = logger.spinner(`Building build context`).start();\n console.log('');\n\n const ctx = await createBuildContext({\n cwd,\n logger,\n tsconfig,\n options,\n });\n const contextDuration = timer.end('createBuildContext');\n contextSpinner.text = `Building build context (${prettyTime(contextDuration)})`;\n contextSpinner.succeed();\n\n timer.start('creatingAdmin');\n const adminSpinner = logger.spinner(`Creating admin`).start();\n\n await writeStaticClientFiles(ctx);\n\n if (ctx.bundler === 'webpack') {\n const { build: buildWebpack } = await import('./webpack/build');\n await buildWebpack(ctx);\n } else if (ctx.bundler === 'vite') {\n const { build: buildVite } = await import('./vite/build');\n await buildVite(ctx);\n }\n\n const adminDuration = timer.end('creatingAdmin');\n adminSpinner.text = `Creating admin (${prettyTime(adminDuration)})`;\n adminSpinner.succeed();\n }\n\n cluster.on('message', async (worker, message) => {\n switch (message) {\n case 'reload': {\n if (tsconfig?.config) {\n // Build without diagnostics in case schemas have changed\n await cleanupDistDirectory({ tsconfig, logger, timer });\n await tsUtils.compile(cwd, { configOptions: { ignoreDiagnostics: true } });\n }\n logger.debug('cluster has the reload message, sending the worker kill message');\n worker.send('kill');\n break;\n }\n case 'killed': {\n logger.debug('cluster has the killed message, forking the cluster');\n cluster.fork();\n break;\n }\n case 'stop': {\n process.exit(1);\n break;\n }\n default:\n break;\n }\n });\n\n cluster.fork();\n }\n\n if (cluster.isWorker) {\n timer.start('loadStrapi');\n const loadStrapiSpinner = logger.spinner(`Loading Strapi`).start();\n\n const strapi = createStrapi({\n appDir: cwd,\n distDir: tsconfig?.config.options.outDir ?? '',\n autoReload: true,\n serveAdminPanel: !watchAdmin,\n });\n\n /**\n * If we're watching the admin panel then we're going to attach the watcher\n * as a strapi middleware.\n */\n let bundleWatcher: WebpackWatcher | ViteWatcher | undefined;\n\n const strapiInstance = await strapi.load();\n\n if (watchAdmin) {\n timer.start('createBuildContext');\n const contextSpinner = logger.spinner(`Building build context`).start();\n console.log('');\n\n const ctx = await createBuildContext({\n cwd,\n logger,\n strapi,\n tsconfig,\n options,\n });\n const contextDuration = timer.end('createBuildContext');\n contextSpinner.text = `Building build context (${prettyTime(contextDuration)})`;\n contextSpinner.succeed();\n\n timer.start('creatingAdmin');\n const adminSpinner = logger.spinner(`Creating admin`).start();\n\n await writeStaticClientFiles(ctx);\n\n if (ctx.bundler === 'webpack') {\n const { watch: watchWebpack } = await import('./webpack/watch');\n bundleWatcher = await watchWebpack(ctx);\n } else if (ctx.bundler === 'vite') {\n const { watch: watchVite } = await import('./vite/watch');\n bundleWatcher = await watchVite(ctx);\n }\n\n const adminDuration = timer.end('creatingAdmin');\n adminSpinner.text = `Creating admin (${prettyTime(adminDuration)})`;\n adminSpinner.succeed();\n }\n\n const loadStrapiDuration = timer.end('loadStrapi');\n loadStrapiSpinner.text = `Loading Strapi (${prettyTime(loadStrapiDuration)})`;\n loadStrapiSpinner.succeed();\n\n // For TS projects, type generation is a requirement for the develop command so that the server can restart\n // For JS projects, we respect the experimental autogenerate setting\n if (tsconfig?.config || strapi.config.get('typescript.autogenerate') !== false) {\n timer.start('generatingTS');\n const generatingTsSpinner = logger.spinner(`Generating types`).start();\n\n await tsUtils.generators.generate({\n strapi: strapiInstance,\n pwd: cwd,\n rootDir: undefined,\n logger: { silent: true, debug: false },\n artifacts: { contentTypes: true, components: true },\n });\n\n const generatingDuration = timer.end('generatingTS');\n generatingTsSpinner.text = `Generating types (${prettyTime(generatingDuration)})`;\n generatingTsSpinner.succeed();\n }\n\n if (tsconfig?.config) {\n timer.start('compilingTS');\n const compilingTsSpinner = logger.spinner(`Compiling TS`).start();\n\n await cleanupDistDirectory({ tsconfig, logger, timer });\n await tsUtils.compile(cwd, { configOptions: { ignoreDiagnostics: false } });\n\n const compilingDuration = timer.end('compilingTS');\n compilingTsSpinner.text = `Compiling TS (${prettyTime(compilingDuration)})`;\n compilingTsSpinner.succeed();\n }\n\n const restart = async () => {\n if (strapiInstance.reload.isWatching && !strapiInstance.reload.isReloading) {\n strapiInstance.reload.isReloading = true;\n strapiInstance.reload();\n }\n };\n\n const watcher = chokidar\n .watch(cwd, {\n ignoreInitial: true,\n usePolling: polling,\n ignored: [\n /(^|[/\\\\])\\../, // dot files\n /tmp/,\n '**/src/admin/**',\n '**/src/plugins/**/admin/**',\n '**/dist/src/plugins/test/admin/**',\n '**/documentation',\n '**/documentation/**',\n '**/node_modules',\n '**/node_modules/**',\n '**/plugins.json',\n '**/build',\n '**/build/**',\n '**/log',\n '**/log/**',\n '**/logs',\n '**/logs/**',\n '**/*.log',\n '**/index.html',\n '**/public',\n '**/public/**',\n strapiInstance.dirs.static.public,\n strings.joinBy('/', strapiInstance.dirs.static.public, '**'),\n '**/*.db*',\n '**/exports/**',\n '**/dist/**',\n '**/*.d.ts',\n '**/.yalc/**',\n '**/yalc.lock',\n // TODO v6: watch only src folder by default, and flip this to watchIncludeFiles\n ...strapiInstance.config.get('admin.watchIgnoreFiles', []),\n ],\n })\n .on('add', (path) => {\n strapiInstance.log.info(`File created: ${path}`);\n restart();\n })\n .on('change', (path) => {\n strapiInstance.log.info(`File changed: ${path}`);\n restart();\n })\n .on('unlink', (path) => {\n strapiInstance.log.info(`File deleted: ${path}`);\n restart();\n });\n\n process.on('message', async (message) => {\n switch (message) {\n case 'kill': {\n logger.debug(\n 'child process has the kill message, destroying the strapi instance and sending the killed process message'\n );\n await watcher.close();\n\n await strapiInstance.destroy();\n\n if (bundleWatcher) {\n bundleWatcher.close();\n }\n process.send?.('killed');\n break;\n }\n default:\n break;\n }\n });\n\n strapiInstance.start();\n }\n};\n\nexport { develop };\nexport type { DevelopOptions };\n"],"names":["generatingDuration","path"],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
- mod
23
- ));
24
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
25
- const fs = require("node:fs/promises");
26
- const path = require("node:path");
27
- const outdent = require("outdent");
28
- const react = require("react");
29
- const server = require("react-dom/server");
30
- const _internal = require("@strapi/admin/_internal");
31
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
32
- const fs__default = /* @__PURE__ */ _interopDefault(fs);
33
- const path__default = /* @__PURE__ */ _interopDefault(path);
34
- const outdent__default = /* @__PURE__ */ _interopDefault(outdent);
35
- const getEntryModule = (ctx) => {
36
- const pluginsObject = ctx.plugins.map(({ name, importName }) => `'${name}': ${importName}`).join(",\n");
37
- const pluginsImport = ctx.plugins.map(({ importName, modulePath }) => `import ${importName} from '${modulePath}';`).join("\n");
38
- return outdent__default.default`
39
- /**
40
- * This file was automatically generated by Strapi.
41
- * Any modifications made will be discarded.
42
- */
43
- ${pluginsImport}
44
- import { renderAdmin } from "@strapi/strapi/admin"
45
-
46
- ${ctx.customisations?.modulePath ? `import customisations from '${ctx.customisations.modulePath}'` : ""}
47
-
48
- renderAdmin(
49
- document.getElementById("strapi"),
50
- {
51
- ${ctx.customisations?.modulePath ? "customisations," : ""}
52
- ${ctx.features ? `features: ${JSON.stringify(ctx.features)},` : ""}
53
- plugins: {
54
- ${pluginsObject}
55
- }
56
- })
57
- `;
58
- };
59
- const getDocumentHTML = ({ logger, props = {} }) => {
60
- const result = server.renderToStaticMarkup(react.createElement(_internal.DefaultDocument, props));
61
- logger.debug("Rendered the HTML");
62
- return outdent__default.default`<!DOCTYPE html>${result}`;
63
- };
64
- const AUTO_GENERATED_WARNING = `
65
- This file was automatically generated by Strapi.
66
- Any modifications made will be discarded.
67
- `.trim();
68
- const decorateHTMLWithAutoGeneratedWarning = (htmlTemplate) => htmlTemplate.replace(/<head/, `
69
- <!--
70
- ${AUTO_GENERATED_WARNING}
71
- -->
72
- <head`);
73
- const writeStaticClientFiles = async (ctx) => {
74
- const prettier = await import("prettier");
75
- await fs__default.default.mkdir(ctx.runtimeDir, { recursive: true });
76
- ctx.logger.debug("Created the runtime directory");
77
- const indexHtml = decorateHTMLWithAutoGeneratedWarning(
78
- await getDocumentHTML({
79
- logger: ctx.logger,
80
- props: ctx.bundler === "vite" ? {
81
- entryPath: `/${ctx.entry}`
82
- } : void 0
83
- })
84
- );
85
- await fs__default.default.writeFile(
86
- path__default.default.join(ctx.runtimeDir, "index.html"),
87
- await prettier.format(indexHtml, {
88
- parser: "html"
89
- })
90
- );
91
- ctx.logger.debug("Wrote the index.html file");
92
- await fs__default.default.writeFile(
93
- path__default.default.join(ctx.runtimeDir, "app.js"),
94
- await prettier.format(getEntryModule(ctx), {
95
- parser: "babel"
96
- })
97
- );
98
- ctx.logger.debug("Wrote the app.js file");
99
- };
100
- exports.getDocumentHTML = getDocumentHTML;
101
- exports.writeStaticClientFiles = writeStaticClientFiles;
102
- //# sourceMappingURL=staticFiles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"staticFiles.js","sources":["../../src/node/staticFiles.ts"],"sourcesContent":["import fs from 'node:fs/promises';\nimport path from 'node:path';\nimport outdent from 'outdent';\nimport { createElement } from 'react';\nimport { renderToStaticMarkup } from 'react-dom/server';\nimport { DefaultDocument } from '@strapi/admin/_internal';\n\nimport type { BuildContext } from './create-build-context';\n\nconst getEntryModule = (ctx: BuildContext): string => {\n const pluginsObject = ctx.plugins\n .map(({ name, importName }) => `'${name}': ${importName}`)\n .join(',\\n');\n\n const pluginsImport = ctx.plugins\n .map(({ importName, modulePath }) => `import ${importName} from '${modulePath}';`)\n .join('\\n');\n\n return outdent`\n /**\n * This file was automatically generated by Strapi.\n * Any modifications made will be discarded.\n */\n ${pluginsImport}\n import { renderAdmin } from \"@strapi/strapi/admin\"\n\n ${\n ctx.customisations?.modulePath\n ? `import customisations from '${ctx.customisations.modulePath}'`\n : ''\n }\n\n renderAdmin(\n document.getElementById(\"strapi\"),\n {\n ${ctx.customisations?.modulePath ? 'customisations,' : ''}\n ${ctx.features ? `features: ${JSON.stringify(ctx.features)},` : ''}\n plugins: {\n ${pluginsObject}\n }\n })\n `;\n};\n\ninterface GetDocumentHTMLArgs extends Pick<BuildContext, 'logger'> {\n props?: {\n entryPath?: string;\n };\n}\n\n/**\n * TODO: Here in the future we could add the ability\n * to load a user's Document component?\n */\nconst getDocumentHTML = ({ logger, props = {} }: GetDocumentHTMLArgs) => {\n const result = renderToStaticMarkup(createElement(DefaultDocument, props));\n logger.debug('Rendered the HTML');\n\n return outdent`<!DOCTYPE html>${result}`;\n};\n\nconst AUTO_GENERATED_WARNING = `\nThis file was automatically generated by Strapi.\nAny modifications made will be discarded.\n`.trim();\n\n/**\n * Because we now auto-generate the index.html file,\n * we should be clear that people _should not_ modify it.\n *\n * @internal\n */\nconst decorateHTMLWithAutoGeneratedWarning = (htmlTemplate: string): string =>\n htmlTemplate.replace(/<head/, `\\n<!--\\n${AUTO_GENERATED_WARNING}\\n-->\\n<head`);\n\nconst writeStaticClientFiles = async (ctx: BuildContext) => {\n const prettier = await import('prettier'); // ESM-only\n\n /**\n * For everything to work effectively we create a client folder in `.strapi` at the cwd level.\n * We then use the function we need to \"createAdmin\" as well as generate the Document index.html as well.\n *\n * All this links together an imaginary \"src/index\" that then allows vite to correctly build the admin panel.\n */\n\n await fs.mkdir(ctx.runtimeDir, { recursive: true });\n ctx.logger.debug('Created the runtime directory');\n\n const indexHtml = decorateHTMLWithAutoGeneratedWarning(\n await getDocumentHTML({\n logger: ctx.logger,\n props:\n ctx.bundler === 'vite'\n ? {\n entryPath: `/${ctx.entry}`,\n }\n : undefined,\n })\n );\n\n await fs.writeFile(\n path.join(ctx.runtimeDir, 'index.html'),\n await prettier.format(indexHtml, {\n parser: 'html',\n })\n );\n ctx.logger.debug('Wrote the index.html file');\n await fs.writeFile(\n path.join(ctx.runtimeDir, 'app.js'),\n await prettier.format(getEntryModule(ctx), {\n parser: 'babel',\n })\n );\n ctx.logger.debug('Wrote the app.js file');\n};\n\nexport { writeStaticClientFiles, getDocumentHTML };\n"],"names":["outdent","renderToStaticMarkup","createElement","DefaultDocument","fs","path"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,iBAAiB,CAAC,QAA8B;AACpD,QAAM,gBAAgB,IAAI,QACvB,IAAI,CAAC,EAAE,MAAM,WAAA,MAAiB,IAAI,IAAI,MAAM,UAAU,EAAE,EACxD,KAAK,KAAK;AAEb,QAAM,gBAAgB,IAAI,QACvB,IAAI,CAAC,EAAE,YAAY,WAAiB,MAAA,UAAU,UAAU,UAAU,UAAU,IAAI,EAChF,KAAK,IAAI;AAEL,SAAAA,iBAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAKC,aAAa;AAAA;AAAA;AAAA,UAIb,IAAI,gBAAgB,aAChB,+BAA+B,IAAI,eAAe,UAAU,MAC5D,EACN;AAAA;AAAA;AAAA;AAAA;AAAA,cAKM,IAAI,gBAAgB,aAAa,oBAAoB,EAAE;AAAA,cACvD,IAAI,WAAW,aAAa,KAAK,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE;AAAA;AAAA,UAEpE,aAAa;AAAA;AAAA;AAAA;AAIvB;AAYA,MAAM,kBAAkB,CAAC,EAAE,QAAQ,QAAQ,SAA8B;AACvE,QAAM,SAASC,OAAA,qBAAqBC,MAAc,cAAAC,UAAA,iBAAiB,KAAK,CAAC;AACzE,SAAO,MAAM,mBAAmB;AAEhC,SAAOH,0CAAyB,MAAM;AACxC;AAEA,MAAM,yBAAyB;AAAA;AAAA;AAAA,EAG7B,KAAK;AAQP,MAAM,uCAAuC,CAAC,iBAC5C,aAAa,QAAQ,SAAS;AAAA;AAAA,EAAW,sBAAsB;AAAA;AAAA,MAAc;AAEzE,MAAA,yBAAyB,OAAO,QAAsB;AACpD,QAAA,WAAW,MAAM,OAAO,UAAU;AASxC,QAAMI,YAAAA,QAAG,MAAM,IAAI,YAAY,EAAE,WAAW,MAAM;AAC9C,MAAA,OAAO,MAAM,+BAA+B;AAEhD,QAAM,YAAY;AAAA,IAChB,MAAM,gBAAgB;AAAA,MACpB,QAAQ,IAAI;AAAA,MACZ,OACE,IAAI,YAAY,SACZ;AAAA,QACE,WAAW,IAAI,IAAI,KAAK;AAAA,MAAA,IAE1B;AAAA,IACP,CAAA;AAAA,EACH;AAEA,QAAMA,YAAG,QAAA;AAAA,IACPC,cAAAA,QAAK,KAAK,IAAI,YAAY,YAAY;AAAA,IACtC,MAAM,SAAS,OAAO,WAAW;AAAA,MAC/B,QAAQ;AAAA,IACT,CAAA;AAAA,EACH;AACI,MAAA,OAAO,MAAM,2BAA2B;AAC5C,QAAMD,YAAG,QAAA;AAAA,IACPC,cAAAA,QAAK,KAAK,IAAI,YAAY,QAAQ;AAAA,IAClC,MAAM,SAAS,OAAO,eAAe,GAAG,GAAG;AAAA,MACzC,QAAQ;AAAA,IACT,CAAA;AAAA,EACH;AACI,MAAA,OAAO,MAAM,uBAAuB;AAC1C;;;"}
@@ -1,76 +0,0 @@
1
- import fs from "node:fs/promises";
2
- import path from "node:path";
3
- import outdent from "outdent";
4
- import { createElement } from "react";
5
- import { renderToStaticMarkup } from "react-dom/server";
6
- import { DefaultDocument } from "@strapi/admin/_internal";
7
- const getEntryModule = (ctx) => {
8
- const pluginsObject = ctx.plugins.map(({ name, importName }) => `'${name}': ${importName}`).join(",\n");
9
- const pluginsImport = ctx.plugins.map(({ importName, modulePath }) => `import ${importName} from '${modulePath}';`).join("\n");
10
- return outdent`
11
- /**
12
- * This file was automatically generated by Strapi.
13
- * Any modifications made will be discarded.
14
- */
15
- ${pluginsImport}
16
- import { renderAdmin } from "@strapi/strapi/admin"
17
-
18
- ${ctx.customisations?.modulePath ? `import customisations from '${ctx.customisations.modulePath}'` : ""}
19
-
20
- renderAdmin(
21
- document.getElementById("strapi"),
22
- {
23
- ${ctx.customisations?.modulePath ? "customisations," : ""}
24
- ${ctx.features ? `features: ${JSON.stringify(ctx.features)},` : ""}
25
- plugins: {
26
- ${pluginsObject}
27
- }
28
- })
29
- `;
30
- };
31
- const getDocumentHTML = ({ logger, props = {} }) => {
32
- const result = renderToStaticMarkup(createElement(DefaultDocument, props));
33
- logger.debug("Rendered the HTML");
34
- return outdent`<!DOCTYPE html>${result}`;
35
- };
36
- const AUTO_GENERATED_WARNING = `
37
- This file was automatically generated by Strapi.
38
- Any modifications made will be discarded.
39
- `.trim();
40
- const decorateHTMLWithAutoGeneratedWarning = (htmlTemplate) => htmlTemplate.replace(/<head/, `
41
- <!--
42
- ${AUTO_GENERATED_WARNING}
43
- -->
44
- <head`);
45
- const writeStaticClientFiles = async (ctx) => {
46
- const prettier = await import("prettier");
47
- await fs.mkdir(ctx.runtimeDir, { recursive: true });
48
- ctx.logger.debug("Created the runtime directory");
49
- const indexHtml = decorateHTMLWithAutoGeneratedWarning(
50
- await getDocumentHTML({
51
- logger: ctx.logger,
52
- props: ctx.bundler === "vite" ? {
53
- entryPath: `/${ctx.entry}`
54
- } : void 0
55
- })
56
- );
57
- await fs.writeFile(
58
- path.join(ctx.runtimeDir, "index.html"),
59
- await prettier.format(indexHtml, {
60
- parser: "html"
61
- })
62
- );
63
- ctx.logger.debug("Wrote the index.html file");
64
- await fs.writeFile(
65
- path.join(ctx.runtimeDir, "app.js"),
66
- await prettier.format(getEntryModule(ctx), {
67
- parser: "babel"
68
- })
69
- );
70
- ctx.logger.debug("Wrote the app.js file");
71
- };
72
- export {
73
- getDocumentHTML,
74
- writeStaticClientFiles
75
- };
76
- //# sourceMappingURL=staticFiles.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"staticFiles.mjs","sources":["../../src/node/staticFiles.ts"],"sourcesContent":["import fs from 'node:fs/promises';\nimport path from 'node:path';\nimport outdent from 'outdent';\nimport { createElement } from 'react';\nimport { renderToStaticMarkup } from 'react-dom/server';\nimport { DefaultDocument } from '@strapi/admin/_internal';\n\nimport type { BuildContext } from './create-build-context';\n\nconst getEntryModule = (ctx: BuildContext): string => {\n const pluginsObject = ctx.plugins\n .map(({ name, importName }) => `'${name}': ${importName}`)\n .join(',\\n');\n\n const pluginsImport = ctx.plugins\n .map(({ importName, modulePath }) => `import ${importName} from '${modulePath}';`)\n .join('\\n');\n\n return outdent`\n /**\n * This file was automatically generated by Strapi.\n * Any modifications made will be discarded.\n */\n ${pluginsImport}\n import { renderAdmin } from \"@strapi/strapi/admin\"\n\n ${\n ctx.customisations?.modulePath\n ? `import customisations from '${ctx.customisations.modulePath}'`\n : ''\n }\n\n renderAdmin(\n document.getElementById(\"strapi\"),\n {\n ${ctx.customisations?.modulePath ? 'customisations,' : ''}\n ${ctx.features ? `features: ${JSON.stringify(ctx.features)},` : ''}\n plugins: {\n ${pluginsObject}\n }\n })\n `;\n};\n\ninterface GetDocumentHTMLArgs extends Pick<BuildContext, 'logger'> {\n props?: {\n entryPath?: string;\n };\n}\n\n/**\n * TODO: Here in the future we could add the ability\n * to load a user's Document component?\n */\nconst getDocumentHTML = ({ logger, props = {} }: GetDocumentHTMLArgs) => {\n const result = renderToStaticMarkup(createElement(DefaultDocument, props));\n logger.debug('Rendered the HTML');\n\n return outdent`<!DOCTYPE html>${result}`;\n};\n\nconst AUTO_GENERATED_WARNING = `\nThis file was automatically generated by Strapi.\nAny modifications made will be discarded.\n`.trim();\n\n/**\n * Because we now auto-generate the index.html file,\n * we should be clear that people _should not_ modify it.\n *\n * @internal\n */\nconst decorateHTMLWithAutoGeneratedWarning = (htmlTemplate: string): string =>\n htmlTemplate.replace(/<head/, `\\n<!--\\n${AUTO_GENERATED_WARNING}\\n-->\\n<head`);\n\nconst writeStaticClientFiles = async (ctx: BuildContext) => {\n const prettier = await import('prettier'); // ESM-only\n\n /**\n * For everything to work effectively we create a client folder in `.strapi` at the cwd level.\n * We then use the function we need to \"createAdmin\" as well as generate the Document index.html as well.\n *\n * All this links together an imaginary \"src/index\" that then allows vite to correctly build the admin panel.\n */\n\n await fs.mkdir(ctx.runtimeDir, { recursive: true });\n ctx.logger.debug('Created the runtime directory');\n\n const indexHtml = decorateHTMLWithAutoGeneratedWarning(\n await getDocumentHTML({\n logger: ctx.logger,\n props:\n ctx.bundler === 'vite'\n ? {\n entryPath: `/${ctx.entry}`,\n }\n : undefined,\n })\n );\n\n await fs.writeFile(\n path.join(ctx.runtimeDir, 'index.html'),\n await prettier.format(indexHtml, {\n parser: 'html',\n })\n );\n ctx.logger.debug('Wrote the index.html file');\n await fs.writeFile(\n path.join(ctx.runtimeDir, 'app.js'),\n await prettier.format(getEntryModule(ctx), {\n parser: 'babel',\n })\n );\n ctx.logger.debug('Wrote the app.js file');\n};\n\nexport { writeStaticClientFiles, getDocumentHTML };\n"],"names":[],"mappings":";;;;;;AASA,MAAM,iBAAiB,CAAC,QAA8B;AACpD,QAAM,gBAAgB,IAAI,QACvB,IAAI,CAAC,EAAE,MAAM,WAAA,MAAiB,IAAI,IAAI,MAAM,UAAU,EAAE,EACxD,KAAK,KAAK;AAEb,QAAM,gBAAgB,IAAI,QACvB,IAAI,CAAC,EAAE,YAAY,WAAiB,MAAA,UAAU,UAAU,UAAU,UAAU,IAAI,EAChF,KAAK,IAAI;AAEL,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAKC,aAAa;AAAA;AAAA;AAAA,UAIb,IAAI,gBAAgB,aAChB,+BAA+B,IAAI,eAAe,UAAU,MAC5D,EACN;AAAA;AAAA;AAAA;AAAA;AAAA,cAKM,IAAI,gBAAgB,aAAa,oBAAoB,EAAE;AAAA,cACvD,IAAI,WAAW,aAAa,KAAK,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE;AAAA;AAAA,UAEpE,aAAa;AAAA;AAAA;AAAA;AAIvB;AAYA,MAAM,kBAAkB,CAAC,EAAE,QAAQ,QAAQ,SAA8B;AACvE,QAAM,SAAS,qBAAqB,cAAc,iBAAiB,KAAK,CAAC;AACzE,SAAO,MAAM,mBAAmB;AAEhC,SAAO,yBAAyB,MAAM;AACxC;AAEA,MAAM,yBAAyB;AAAA;AAAA;AAAA,EAG7B,KAAK;AAQP,MAAM,uCAAuC,CAAC,iBAC5C,aAAa,QAAQ,SAAS;AAAA;AAAA,EAAW,sBAAsB;AAAA;AAAA,MAAc;AAEzE,MAAA,yBAAyB,OAAO,QAAsB;AACpD,QAAA,WAAW,MAAM,OAAO,UAAU;AASxC,QAAM,GAAG,MAAM,IAAI,YAAY,EAAE,WAAW,MAAM;AAC9C,MAAA,OAAO,MAAM,+BAA+B;AAEhD,QAAM,YAAY;AAAA,IAChB,MAAM,gBAAgB;AAAA,MACpB,QAAQ,IAAI;AAAA,MACZ,OACE,IAAI,YAAY,SACZ;AAAA,QACE,WAAW,IAAI,IAAI,KAAK;AAAA,MAAA,IAE1B;AAAA,IACP,CAAA;AAAA,EACH;AAEA,QAAM,GAAG;AAAA,IACP,KAAK,KAAK,IAAI,YAAY,YAAY;AAAA,IACtC,MAAM,SAAS,OAAO,WAAW;AAAA,MAC/B,QAAQ;AAAA,IACT,CAAA;AAAA,EACH;AACI,MAAA,OAAO,MAAM,2BAA2B;AAC5C,QAAM,GAAG;AAAA,IACP,KAAK,KAAK,IAAI,YAAY,QAAQ;AAAA,IAClC,MAAM,SAAS,OAAO,eAAe,GAAG,GAAG;AAAA,MACzC,QAAQ;AAAA,IACT,CAAA;AAAA,EACH;AACI,MAAA,OAAO,MAAM,uBAAuB;AAC1C;"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
- mod
23
- ));
24
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
25
- const config = require("./config.js");
26
- const build = async (ctx) => {
27
- const config$1 = await config.resolveProductionConfig(ctx);
28
- const finalConfig = await config.mergeConfigWithUserConfig(config$1, ctx);
29
- const { build: viteBuild } = await import("vite");
30
- ctx.logger.debug("Vite config", finalConfig);
31
- await viteBuild(finalConfig);
32
- };
33
- exports.build = build;
34
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sources":["../../../src/node/vite/build.ts"],"sourcesContent":["import { mergeConfigWithUserConfig, resolveProductionConfig } from './config';\n\nimport type { BuildContext } from '../create-build-context';\n\nconst build = async (ctx: BuildContext) => {\n const config = await resolveProductionConfig(ctx);\n const finalConfig = await mergeConfigWithUserConfig(config, ctx);\n\n const { build: viteBuild } = await import('vite');\n\n ctx.logger.debug('Vite config', finalConfig);\n\n await viteBuild(finalConfig);\n};\n\nexport { build };\n"],"names":["config","resolveProductionConfig","mergeConfigWithUserConfig"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAA,QAAQ,OAAO,QAAsB;AACnC,QAAAA,WAAS,MAAMC,OAAA,wBAAwB,GAAG;AAChD,QAAM,cAAc,MAAMC,iCAA0BF,UAAQ,GAAG;AAE/D,QAAM,EAAE,OAAO,cAAc,MAAM,OAAO,MAAM;AAE5C,MAAA,OAAO,MAAM,eAAe,WAAW;AAE3C,QAAM,UAAU,WAAW;AAC7B;;"}
@@ -1,12 +0,0 @@
1
- import { resolveProductionConfig, mergeConfigWithUserConfig } from "./config.mjs";
2
- const build = async (ctx) => {
3
- const config = await resolveProductionConfig(ctx);
4
- const finalConfig = await mergeConfigWithUserConfig(config, ctx);
5
- const { build: viteBuild } = await import("vite");
6
- ctx.logger.debug("Vite config", finalConfig);
7
- await viteBuild(finalConfig);
8
- };
9
- export {
10
- build
11
- };
12
- //# sourceMappingURL=build.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.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":[],"mappings":";AAIM,MAAA,QAAQ,OAAO,QAAsB;AACnC,QAAA,SAAS,MAAM,wBAAwB,GAAG;AAChD,QAAM,cAAc,MAAM,0BAA0B,QAAQ,GAAG;AAE/D,QAAM,EAAE,OAAO,cAAc,MAAM,OAAO,MAAM;AAE5C,MAAA,OAAO,MAAM,eAAe,WAAW;AAE3C,QAAM,UAAU,WAAW;AAC7B;"}
@@ -1,106 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const browserslistToEsbuild = require("browserslist-to-esbuild");
4
- const react = require("@vitejs/plugin-react-swc");
5
- const config = require("../core/config.js");
6
- const monorepo = require("../core/monorepo.js");
7
- const aliases = require("../core/aliases.js");
8
- const plugins = require("./plugins.js");
9
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
10
- const browserslistToEsbuild__default = /* @__PURE__ */ _interopDefault(browserslistToEsbuild);
11
- const react__default = /* @__PURE__ */ _interopDefault(react);
12
- const resolveBaseConfig = async (ctx) => {
13
- const target = browserslistToEsbuild__default.default(ctx.target);
14
- return {
15
- root: ctx.cwd,
16
- base: ctx.basePath,
17
- build: {
18
- emptyOutDir: false,
19
- // Rely on CLI to do this
20
- outDir: ctx.distDir,
21
- target
22
- },
23
- cacheDir: "node_modules/.strapi/vite",
24
- configFile: false,
25
- define: {
26
- "process.env": ctx.env
27
- },
28
- envPrefix: "STRAPI_ADMIN_",
29
- optimizeDeps: {
30
- include: [
31
- // pre-bundle React dependencies to avoid React duplicates,
32
- // even if React dependencies are not direct dependencies
33
- // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react
34
- "react",
35
- `react/jsx-runtime`,
36
- "react-dom/client",
37
- "styled-components",
38
- "react-router-dom"
39
- ]
40
- },
41
- resolve: {
42
- // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react
43
- dedupe: ["react", "react-dom", "react-router-dom", "styled-components"]
44
- },
45
- plugins: [react__default.default(), plugins.buildFilesPlugin(ctx)]
46
- };
47
- };
48
- const resolveProductionConfig = async (ctx) => {
49
- const {
50
- options: { minify, sourcemaps }
51
- } = ctx;
52
- const baseConfig = await resolveBaseConfig(ctx);
53
- return {
54
- ...baseConfig,
55
- logLevel: "silent",
56
- mode: "production",
57
- build: {
58
- ...baseConfig.build,
59
- assetsDir: "",
60
- minify,
61
- sourcemap: sourcemaps,
62
- rollupOptions: {
63
- input: {
64
- strapi: ctx.entry
65
- }
66
- }
67
- }
68
- };
69
- };
70
- const resolveDevelopmentConfig = async (ctx) => {
71
- const monorepo$1 = await monorepo.loadStrapiMonorepo(ctx.cwd);
72
- const baseConfig = await resolveBaseConfig(ctx);
73
- return {
74
- ...baseConfig,
75
- mode: "development",
76
- resolve: {
77
- ...baseConfig.resolve,
78
- alias: {
79
- ...baseConfig.resolve?.alias,
80
- ...aliases.getMonorepoAliases({ monorepo: monorepo$1 })
81
- }
82
- },
83
- server: {
84
- cors: false,
85
- middlewareMode: true,
86
- open: ctx.options.open,
87
- hmr: {
88
- server: ctx.options.hmrServer,
89
- clientPort: ctx.options.hmrClientPort
90
- }
91
- },
92
- appType: "custom"
93
- };
94
- };
95
- const USER_CONFIGS = ["vite.config.js", "vite.config.mjs", "vite.config.ts"];
96
- const mergeConfigWithUserConfig = async (config$1, ctx) => {
97
- const userConfig = await config.getUserConfig(USER_CONFIGS, ctx);
98
- if (userConfig) {
99
- return userConfig(config$1);
100
- }
101
- return config$1;
102
- };
103
- exports.mergeConfigWithUserConfig = mergeConfigWithUserConfig;
104
- exports.resolveDevelopmentConfig = resolveDevelopmentConfig;
105
- exports.resolveProductionConfig = resolveProductionConfig;
106
- //# sourceMappingURL=config.js.map