@modern-js/app-tools 2.7.0 → 2.7.1-alpha.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 (302) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/analyze/generateCode.js +6 -3
  3. package/dist/cjs/analyze/index.js +14 -1
  4. package/dist/cjs/analyze/templates.js +6 -4
  5. package/dist/cjs/builder/builder-webpack/builderPlugins/compatModern.js +2 -13
  6. package/dist/cjs/builder/generator/index.js +10 -2
  7. package/dist/cjs/builder/shared/builderPlugins/adapterBasic.js +101 -0
  8. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +91 -0
  9. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +140 -0
  10. package/dist/cjs/builder/shared/builderPlugins/index.js +19 -0
  11. package/dist/cjs/builder/{builder-webpack/webpackPlugins → shared/bundlerPlugins}/RouterPlugin.js +11 -5
  12. package/dist/cjs/builder/shared/bundlerPlugins/index.js +19 -0
  13. package/dist/cjs/builder/shared/index.js +1 -1
  14. package/dist/cjs/index.js +1 -1
  15. package/dist/cjs/locale/en.js +1 -0
  16. package/dist/cjs/locale/zh.js +1 -0
  17. package/dist/esm/analyze/generateCode.js +7 -5
  18. package/dist/esm/analyze/index.js +11 -2
  19. package/dist/esm/analyze/templates.js +6 -5
  20. package/dist/esm/builder/builder-webpack/builderPlugins/compatModern.js +0 -11
  21. package/dist/esm/builder/generator/index.js +6 -4
  22. package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +101 -0
  23. package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +120 -0
  24. package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +131 -0
  25. package/dist/esm/builder/shared/builderPlugins/index.js +3 -0
  26. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +350 -0
  27. package/dist/esm/builder/shared/bundlerPlugins/index.js +3 -0
  28. package/dist/esm/builder/shared/index.js +1 -1
  29. package/dist/esm/index.js +1 -1
  30. package/dist/esm/locale/en.js +1 -0
  31. package/dist/esm/locale/zh.js +1 -0
  32. package/dist/esm-node/analyze/generateCode.js +14 -4
  33. package/dist/esm-node/analyze/index.js +16 -2
  34. package/dist/esm-node/analyze/templates.js +6 -4
  35. package/dist/esm-node/builder/builder-webpack/builderPlugins/compatModern.js +2 -13
  36. package/dist/esm-node/builder/generator/index.js +10 -2
  37. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +67 -0
  38. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +67 -0
  39. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +119 -0
  40. package/dist/esm-node/builder/shared/builderPlugins/index.js +3 -0
  41. package/dist/esm-node/builder/{builder-webpack/webpackPlugins → shared/bundlerPlugins}/RouterPlugin.js +11 -5
  42. package/dist/esm-node/builder/shared/bundlerPlugins/index.js +3 -0
  43. package/dist/esm-node/builder/shared/index.js +1 -1
  44. package/dist/esm-node/index.js +1 -1
  45. package/dist/esm-node/locale/en.js +1 -0
  46. package/dist/esm-node/locale/zh.js +1 -0
  47. package/dist/js/modern/analyze/constants.js +54 -0
  48. package/dist/js/modern/analyze/generateCode.js +247 -0
  49. package/dist/js/modern/analyze/getBundleEntry.js +71 -0
  50. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +220 -0
  51. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +216 -0
  52. package/dist/js/modern/analyze/getClientRoutes/index.js +6 -0
  53. package/dist/js/modern/analyze/getClientRoutes/utils.js +31 -0
  54. package/dist/js/modern/analyze/getFileSystemEntry.js +109 -0
  55. package/dist/js/modern/analyze/getHtmlTemplate.js +115 -0
  56. package/dist/js/modern/analyze/getServerRoutes.js +175 -0
  57. package/dist/js/modern/analyze/index.js +332 -0
  58. package/dist/js/modern/analyze/isDefaultExportFunction.js +42 -0
  59. package/dist/js/modern/analyze/makeLegalIdentifier.js +13 -0
  60. package/dist/js/modern/analyze/nestedRoutes.js +157 -0
  61. package/dist/js/modern/analyze/templates.js +334 -0
  62. package/dist/js/modern/analyze/utils.js +141 -0
  63. package/dist/{esm-node/builder/shared/builderPlugins/adapterModern.js → js/modern/builder/builderPlugins/compatModern.js} +135 -104
  64. package/dist/js/modern/builder/index.js +159 -0
  65. package/dist/js/modern/builder/loaders/routerLoader.js +17 -0
  66. package/dist/js/modern/builder/loaders/serverModuleLoader.js +7 -0
  67. package/dist/js/modern/builder/share.js +46 -0
  68. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +30 -0
  69. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +37 -0
  70. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +113 -0
  71. package/dist/js/modern/commands/build.js +91 -0
  72. package/dist/js/modern/commands/deploy.js +28 -0
  73. package/dist/js/modern/commands/dev.js +109 -0
  74. package/dist/js/modern/commands/index.js +3 -0
  75. package/dist/js/modern/commands/inspect.js +38 -0
  76. package/dist/js/modern/commands/serve.js +54 -0
  77. package/dist/js/modern/config/default.js +175 -0
  78. package/dist/js/modern/config/index.js +8 -0
  79. package/dist/js/modern/config/initial/createHtmlConfig.js +35 -0
  80. package/dist/js/modern/config/initial/createOutputConfig.js +68 -0
  81. package/dist/js/modern/config/initial/createSourceConfig.js +39 -0
  82. package/dist/js/modern/config/initial/createToolsConfig.js +42 -0
  83. package/dist/js/modern/config/initial/index.js +16 -0
  84. package/dist/js/modern/config/initial/inits.js +152 -0
  85. package/dist/js/modern/config/initial/transformNormalizedConfig.js +47 -0
  86. package/dist/js/modern/defineConfig.js +27 -0
  87. package/dist/js/modern/exports/server.js +4 -0
  88. package/dist/js/modern/hooks.js +35 -0
  89. package/dist/js/modern/index.js +211 -0
  90. package/dist/js/modern/initialize/index.js +124 -0
  91. package/dist/js/modern/locale/en.js +36 -0
  92. package/dist/js/modern/locale/index.js +9 -0
  93. package/dist/js/modern/locale/zh.js +36 -0
  94. package/dist/js/modern/schema/Schema.js +40 -0
  95. package/dist/js/modern/schema/index.js +88 -0
  96. package/dist/js/modern/schema/legacy.js +148 -0
  97. package/dist/js/modern/types/config/deploy.js +0 -0
  98. package/dist/js/modern/types/config/dev.js +0 -0
  99. package/dist/js/modern/types/config/experiments.js +0 -0
  100. package/dist/js/modern/types/config/html.js +0 -0
  101. package/dist/js/modern/types/config/index.js +1 -0
  102. package/dist/js/modern/types/config/output.js +0 -0
  103. package/dist/js/modern/types/config/performance.js +0 -0
  104. package/dist/js/modern/types/config/security.js +0 -0
  105. package/dist/js/modern/types/config/source.js +0 -0
  106. package/dist/js/modern/types/config/tools.js +0 -0
  107. package/dist/js/modern/types/hooks.js +0 -0
  108. package/dist/js/modern/types/index.js +3 -0
  109. package/dist/js/modern/types/legacyConfig/deploy.js +0 -0
  110. package/dist/js/modern/types/legacyConfig/dev.js +0 -0
  111. package/dist/js/modern/types/legacyConfig/index.js +0 -0
  112. package/dist/js/modern/types/legacyConfig/output.js +0 -0
  113. package/dist/js/modern/types/legacyConfig/source.js +0 -0
  114. package/dist/js/modern/types/legacyConfig/tools.js +0 -0
  115. package/dist/js/modern/utils/config.js +128 -0
  116. package/dist/js/modern/utils/createServer.js +75 -0
  117. package/dist/js/modern/utils/env.js +15 -0
  118. package/dist/js/modern/utils/generateWatchFiles.js +55 -0
  119. package/dist/js/modern/utils/getSelectedEntries.js +58 -0
  120. package/dist/js/modern/utils/getServerInternalPlugins.js +58 -0
  121. package/dist/js/modern/utils/language.js +8 -0
  122. package/dist/js/modern/utils/printInstructions.js +31 -0
  123. package/dist/js/modern/utils/restart.js +44 -0
  124. package/dist/js/modern/utils/routes.js +30 -0
  125. package/dist/js/modern/utils/types.js +0 -0
  126. package/dist/js/node/analyze/constants.js +98 -0
  127. package/dist/js/node/analyze/generateCode.js +271 -0
  128. package/dist/js/node/analyze/getBundleEntry.js +95 -0
  129. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +242 -0
  130. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +238 -0
  131. package/dist/js/node/analyze/getClientRoutes/index.js +30 -0
  132. package/dist/js/node/analyze/getClientRoutes/utils.js +58 -0
  133. package/dist/js/node/analyze/getFileSystemEntry.js +131 -0
  134. package/dist/js/node/analyze/getHtmlTemplate.js +144 -0
  135. package/dist/js/node/analyze/getServerRoutes.js +194 -0
  136. package/dist/js/node/analyze/index.js +339 -0
  137. package/dist/js/node/analyze/isDefaultExportFunction.js +71 -0
  138. package/dist/js/node/analyze/makeLegalIdentifier.js +36 -0
  139. package/dist/js/node/analyze/nestedRoutes.js +184 -0
  140. package/dist/js/node/analyze/templates.js +365 -0
  141. package/dist/js/node/analyze/utils.js +172 -0
  142. package/dist/{cjs/builder/shared/builderPlugins/adapterModern.js → js/node/builder/builderPlugins/compatModern.js} +137 -113
  143. package/dist/js/node/builder/index.js +177 -0
  144. package/dist/js/node/builder/loaders/routerLoader.js +38 -0
  145. package/dist/js/node/builder/loaders/serverModuleLoader.js +28 -0
  146. package/dist/js/node/builder/share.js +75 -0
  147. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +53 -0
  148. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +60 -0
  149. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +135 -0
  150. package/dist/js/node/commands/build.js +112 -0
  151. package/dist/js/node/commands/deploy.js +51 -0
  152. package/dist/js/node/commands/dev.js +126 -0
  153. package/dist/js/node/commands/index.js +19 -0
  154. package/dist/js/node/commands/inspect.js +61 -0
  155. package/dist/js/node/commands/serve.js +83 -0
  156. package/dist/js/node/config/default.js +197 -0
  157. package/dist/js/node/config/index.js +34 -0
  158. package/dist/js/node/config/initial/createHtmlConfig.js +58 -0
  159. package/dist/js/node/config/initial/createOutputConfig.js +91 -0
  160. package/dist/js/node/config/initial/createSourceConfig.js +62 -0
  161. package/dist/js/node/config/initial/createToolsConfig.js +65 -0
  162. package/dist/js/node/config/initial/index.js +41 -0
  163. package/dist/js/node/config/initial/inits.js +175 -0
  164. package/dist/js/node/config/initial/transformNormalizedConfig.js +70 -0
  165. package/dist/js/node/defineConfig.js +49 -0
  166. package/dist/js/node/exports/server.js +27 -0
  167. package/dist/js/node/hooks.js +54 -0
  168. package/dist/js/node/index.js +235 -0
  169. package/dist/js/node/initialize/index.js +134 -0
  170. package/dist/js/node/locale/en.js +59 -0
  171. package/dist/js/node/locale/index.js +33 -0
  172. package/dist/js/node/locale/zh.js +59 -0
  173. package/dist/js/node/schema/Schema.js +63 -0
  174. package/dist/js/node/schema/index.js +118 -0
  175. package/dist/js/node/schema/legacy.js +169 -0
  176. package/dist/js/node/types/config/deploy.js +15 -0
  177. package/dist/js/node/types/config/dev.js +15 -0
  178. package/dist/js/node/types/config/experiments.js +15 -0
  179. package/dist/js/node/types/config/html.js +15 -0
  180. package/dist/{cjs/builder/builder-webpack/webpackPlugins → js/node/types/config}/index.js +3 -3
  181. package/dist/js/node/types/config/output.js +15 -0
  182. package/dist/js/node/types/config/performance.js +15 -0
  183. package/dist/js/node/types/config/security.js +15 -0
  184. package/dist/js/node/types/config/source.js +15 -0
  185. package/dist/js/node/types/config/tools.js +15 -0
  186. package/dist/js/node/types/hooks.js +15 -0
  187. package/dist/js/node/types/index.js +19 -0
  188. package/dist/js/node/types/legacyConfig/deploy.js +15 -0
  189. package/dist/js/node/types/legacyConfig/dev.js +15 -0
  190. package/dist/js/node/types/legacyConfig/index.js +15 -0
  191. package/dist/js/node/types/legacyConfig/output.js +15 -0
  192. package/dist/js/node/types/legacyConfig/source.js +15 -0
  193. package/dist/js/node/types/legacyConfig/tools.js +15 -0
  194. package/dist/js/node/utils/config.js +153 -0
  195. package/dist/js/node/utils/createServer.js +106 -0
  196. package/dist/js/node/utils/env.js +38 -0
  197. package/dist/js/node/utils/generateWatchFiles.js +85 -0
  198. package/dist/js/node/utils/getSelectedEntries.js +81 -0
  199. package/dist/js/node/utils/getServerInternalPlugins.js +79 -0
  200. package/dist/js/node/utils/language.js +31 -0
  201. package/dist/js/node/utils/printInstructions.js +54 -0
  202. package/dist/js/node/utils/restart.js +67 -0
  203. package/dist/js/node/utils/routes.js +59 -0
  204. package/dist/js/node/utils/types.js +15 -0
  205. package/dist/js/treeshaking/analyze/constants.js +40 -0
  206. package/dist/js/treeshaking/analyze/generateCode.js +485 -0
  207. package/dist/js/treeshaking/analyze/getBundleEntry.js +62 -0
  208. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +233 -0
  209. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +231 -0
  210. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -0
  211. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +23 -0
  212. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +107 -0
  213. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +302 -0
  214. package/dist/js/treeshaking/analyze/getServerRoutes.js +222 -0
  215. package/dist/js/treeshaking/analyze/index.js +697 -0
  216. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +47 -0
  217. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -0
  218. package/dist/js/treeshaking/analyze/nestedRoutes.js +384 -0
  219. package/dist/js/treeshaking/analyze/templates.js +468 -0
  220. package/dist/js/treeshaking/analyze/utils.js +374 -0
  221. package/dist/{esm/builder/shared/builderPlugins/adapterModern.js → js/treeshaking/builder/builderPlugins/compatModern.js} +142 -138
  222. package/dist/js/treeshaking/builder/index.js +374 -0
  223. package/dist/js/treeshaking/builder/loaders/routerLoader.js +13 -0
  224. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +5 -0
  225. package/dist/js/treeshaking/builder/share.js +40 -0
  226. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +110 -0
  227. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +72 -0
  228. package/dist/{esm/builder/builder-webpack/webpackPlugins/RouterPlugin.js → js/treeshaking/builder/webpackPlugins/routerPlugin.js} +3 -6
  229. package/dist/js/treeshaking/commands/build.js +291 -0
  230. package/dist/js/treeshaking/commands/deploy.js +154 -0
  231. package/dist/js/treeshaking/commands/dev.js +301 -0
  232. package/dist/js/treeshaking/commands/index.js +3 -0
  233. package/dist/js/treeshaking/commands/inspect.js +149 -0
  234. package/dist/js/treeshaking/commands/serve.js +199 -0
  235. package/dist/js/treeshaking/config/default.js +210 -0
  236. package/dist/js/treeshaking/config/index.js +3 -0
  237. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -0
  238. package/dist/js/treeshaking/config/initial/createOutputConfig.js +41 -0
  239. package/dist/js/treeshaking/config/initial/createSourceConfig.js +42 -0
  240. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -0
  241. package/dist/js/treeshaking/config/initial/index.js +12 -0
  242. package/dist/js/treeshaking/config/initial/inits.js +209 -0
  243. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +35 -0
  244. package/dist/js/treeshaking/defineConfig.js +61 -0
  245. package/dist/js/treeshaking/exports/server.js +2 -0
  246. package/dist/js/treeshaking/hooks.js +29 -0
  247. package/dist/js/treeshaking/index.js +706 -0
  248. package/dist/js/treeshaking/initialize/index.js +276 -0
  249. package/dist/js/treeshaking/locale/en.js +38 -0
  250. package/dist/js/treeshaking/locale/index.js +9 -0
  251. package/dist/js/treeshaking/locale/zh.js +38 -0
  252. package/dist/js/treeshaking/schema/Schema.js +273 -0
  253. package/dist/js/treeshaking/schema/index.js +181 -0
  254. package/dist/js/treeshaking/schema/legacy.js +337 -0
  255. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  256. package/dist/js/treeshaking/types/config/dev.js +1 -0
  257. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  258. package/dist/js/treeshaking/types/config/html.js +1 -0
  259. package/dist/js/treeshaking/types/config/index.js +1 -0
  260. package/dist/js/treeshaking/types/config/output.js +1 -0
  261. package/dist/js/treeshaking/types/config/performance.js +1 -0
  262. package/dist/js/treeshaking/types/config/security.js +1 -0
  263. package/dist/js/treeshaking/types/config/source.js +1 -0
  264. package/dist/js/treeshaking/types/config/tools.js +1 -0
  265. package/dist/js/treeshaking/types/hooks.js +1 -0
  266. package/dist/js/treeshaking/types/index.js +3 -0
  267. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  268. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  269. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  270. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -0
  271. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  272. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  273. package/dist/js/treeshaking/utils/config.js +302 -0
  274. package/dist/js/treeshaking/utils/createServer.js +258 -0
  275. package/dist/js/treeshaking/utils/env.js +13 -0
  276. package/dist/js/treeshaking/utils/generateWatchFiles.js +214 -0
  277. package/dist/js/treeshaking/utils/getSelectedEntries.js +186 -0
  278. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +210 -0
  279. package/dist/js/treeshaking/utils/language.js +6 -0
  280. package/dist/js/treeshaking/utils/printInstructions.js +152 -0
  281. package/dist/js/treeshaking/utils/restart.js +187 -0
  282. package/dist/js/treeshaking/utils/routes.js +153 -0
  283. package/dist/js/treeshaking/utils/types.js +1 -0
  284. package/dist/types/analyze/templates.d.ts +3 -1
  285. package/dist/types/builder/shared/builderPlugins/adapterBasic.d.ts +7 -0
  286. package/dist/types/builder/shared/builderPlugins/adapterHtml.d.ts +5 -0
  287. package/dist/types/builder/shared/builderPlugins/adapterSSR.d.ts +4 -0
  288. package/dist/types/builder/shared/builderPlugins/index.d.ts +3 -0
  289. package/dist/types/builder/shared/bundlerPlugins/RouterPlugin.d.ts +5 -0
  290. package/dist/types/builder/shared/bundlerPlugins/index.d.ts +3 -0
  291. package/dist/types/builder/shared/index.d.ts +1 -1
  292. package/dist/types/builder/shared/types.d.ts +7 -4
  293. package/dist/types/locale/en.d.ts +1 -0
  294. package/dist/types/locale/index.d.ts +2 -0
  295. package/dist/types/locale/zh.d.ts +1 -0
  296. package/dist/types/types/config/output.d.ts +3 -15
  297. package/package.json +12 -12
  298. package/dist/esm/builder/builder-webpack/webpackPlugins/index.js +0 -1
  299. package/dist/esm-node/builder/builder-webpack/webpackPlugins/index.js +0 -1
  300. package/dist/types/builder/builder-webpack/webpackPlugins/RouterPlugin.d.ts +0 -4
  301. package/dist/types/builder/builder-webpack/webpackPlugins/index.d.ts +0 -1
  302. package/dist/types/builder/shared/builderPlugins/adapterModern.d.ts +0 -13
@@ -0,0 +1,172 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var utils_exports = {};
45
+ __export(utils_exports, {
46
+ getDefaultImports: () => getDefaultImports,
47
+ getServerLoadersFile: () => getServerLoadersFile,
48
+ hasLoader: () => hasLoader,
49
+ isPageComponentFile: () => isPageComponentFile,
50
+ parseModule: () => parseModule,
51
+ replaceWithAlias: () => replaceWithAlias,
52
+ walkDirectory: () => walkDirectory
53
+ });
54
+ module.exports = __toCommonJS(utils_exports);
55
+ var import_fs = __toESM(require("fs"));
56
+ var import_path = __toESM(require("path"));
57
+ var import_utils = require("@modern-js/utils");
58
+ var import_esbuild = require("esbuild");
59
+ var import_es_module_lexer = require("es-module-lexer");
60
+ var import_constants = require("./constants");
61
+ const walkDirectory = (dir) => import_fs.default.readdirSync(dir).reduce((previous, filename) => {
62
+ const filePath = import_path.default.join(dir, filename);
63
+ if (import_fs.default.statSync(filePath).isDirectory()) {
64
+ return [...previous, ...walkDirectory(filePath)];
65
+ } else {
66
+ return [...previous, filePath];
67
+ }
68
+ }, []);
69
+ const getDefaultImports = ({
70
+ entrypoint,
71
+ srcDirectory,
72
+ internalSrcAlias,
73
+ internalDirAlias,
74
+ internalDirectory
75
+ }) => {
76
+ const { entryName, fileSystemRoutes, customBootstrap, entry } = entrypoint;
77
+ const imports = [
78
+ {
79
+ specifiers: [{ local: "React" }],
80
+ value: "react"
81
+ },
82
+ {
83
+ specifiers: [{ local: "ReactDOM" }],
84
+ value: (0, import_utils.isReact18)(import_path.default.join(internalDirectory, "../../")) ? "react-dom/client" : "react-dom"
85
+ },
86
+ {
87
+ specifiers: [{ imported: "createApp" }, { imported: "bootstrap" }],
88
+ value: "@modern-js/runtime"
89
+ },
90
+ customBootstrap && {
91
+ specifiers: [{ local: "customBootstrap" }],
92
+ value: (0, import_utils.normalizeToPosixPath)(
93
+ customBootstrap.replace(srcDirectory, internalSrcAlias)
94
+ )
95
+ }
96
+ ].filter(Boolean);
97
+ if (fileSystemRoutes) {
98
+ const route = {
99
+ specifiers: [{ imported: "routes" }],
100
+ value: (0, import_utils.normalizeToPosixPath)(
101
+ `${internalDirAlias}/${entryName}/${import_constants.FILE_SYSTEM_ROUTES_FILE_NAME.replace(
102
+ ".js",
103
+ ""
104
+ )}`
105
+ )
106
+ };
107
+ if (fileSystemRoutes.globalApp) {
108
+ imports.push({
109
+ specifiers: [{ local: "App" }],
110
+ value: (0, import_utils.normalizeToPosixPath)(
111
+ fileSystemRoutes.globalApp.replace(srcDirectory, internalSrcAlias)
112
+ )
113
+ });
114
+ } else {
115
+ route.initialize = "const App = false;";
116
+ }
117
+ imports.push(route);
118
+ } else {
119
+ imports.push({
120
+ specifiers: [{ local: "App" }],
121
+ value: (0, import_utils.normalizeToPosixPath)(
122
+ entry.replace(srcDirectory, internalSrcAlias)
123
+ )
124
+ });
125
+ }
126
+ return imports;
127
+ };
128
+ const isPageComponentFile = (filePath) => {
129
+ if (/\.(d|test|spec|e2e)\.(js|jsx|ts|tsx)$/.test(filePath)) {
130
+ return false;
131
+ }
132
+ if ([".js", ".jsx", ".ts", ".tsx"].includes(import_path.default.extname(filePath))) {
133
+ return true;
134
+ }
135
+ return false;
136
+ };
137
+ const replaceWithAlias = (base, filePath, alias) => (0, import_utils.normalizeToPosixPath)(import_path.default.join(alias, import_path.default.relative(base, filePath)));
138
+ const parseModule = (_0) => __async(void 0, [_0], function* ({
139
+ source,
140
+ filename
141
+ }) {
142
+ let content = source;
143
+ if (import_constants.JS_EXTENSIONS.some((ext) => filename.endsWith(ext))) {
144
+ const result = yield (0, import_esbuild.transform)(content, {
145
+ loader: import_path.default.extname(filename).slice(1),
146
+ format: "esm"
147
+ });
148
+ content = result.code;
149
+ }
150
+ return yield (0, import_es_module_lexer.parse)(content);
151
+ });
152
+ const hasLoader = (filename) => __async(void 0, null, function* () {
153
+ const source = yield import_utils.fs.readFile(filename);
154
+ const [, moduleExports] = yield parseModule({
155
+ source: source.toString(),
156
+ filename
157
+ });
158
+ return moduleExports.some((e) => e.n === import_constants.LOADER_EXPORT_NAME);
159
+ });
160
+ const getServerLoadersFile = (internalDirectory, entryName) => {
161
+ return import_path.default.join(internalDirectory, entryName, "route-server-loaders.js");
162
+ };
163
+ // Annotate the CommonJS export names for ESM import in node:
164
+ 0 && (module.exports = {
165
+ getDefaultImports,
166
+ getServerLoadersFile,
167
+ hasLoader,
168
+ isPageComponentFile,
169
+ parseModule,
170
+ replaceWithAlias,
171
+ walkDirectory
172
+ });
@@ -1,9 +1,26 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
8
  var __getProtoOf = Object.getPrototypeOf;
6
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7
24
  var __export = (target, all) => {
8
25
  for (var name in all)
9
26
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -17,47 +34,29 @@ var __copyProps = (to, from, except, desc) => {
17
34
  return to;
18
35
  };
19
36
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
37
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
38
  mod
26
39
  ));
27
40
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var adapterModern_exports = {};
29
- __export(adapterModern_exports, {
30
- applyCallbacks: () => applyCallbacks,
31
- builderPluginAdapterModern: () => builderPluginAdapterModern
41
+ var compatModern_exports = {};
42
+ __export(compatModern_exports, {
43
+ PluginCompatModern: () => PluginCompatModern
32
44
  });
33
- module.exports = __toCommonJS(adapterModern_exports);
45
+ module.exports = __toCommonJS(compatModern_exports);
46
+ var import_path = require("path");
34
47
  var import_builder_shared = require("@modern-js/builder-shared");
35
- var import_utils = require("@modern-js/utils");
36
- var import_html_webpack_plugin = __toESM(require("@modern-js/builder-webpack-provider/html-webpack-plugin"));
37
48
  var import_lodash = require("@modern-js/utils/lodash");
38
- var import_HtmlAsyncChunkPlugin = require("../bundlerPlugins/HtmlAsyncChunkPlugin");
39
- var import_HtmlBottomTemplate = require("../bundlerPlugins/HtmlBottomTemplate");
40
- const isStreamingSSR = (userConfig) => {
41
- const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
42
- const { server } = userConfig;
43
- if (isStreaming(server.ssr)) {
44
- return true;
45
- }
46
- if ((server == null ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
47
- for (const name of Object.keys(server.ssrByEntries)) {
48
- if (isStreaming(server.ssrByEntries[name])) {
49
- return true;
50
- }
51
- }
52
- }
53
- return false;
54
- };
55
- const builderPluginAdapterModern = (options) => ({
56
- name: "builder-plugin-adapter-modern",
49
+ var import_html_webpack_plugin = __toESM(require("@modern-js/builder-webpack-provider/html-webpack-plugin"));
50
+ var import_utils = require("@modern-js/utils");
51
+ var import_htmlBottomTemplate = require("../webpackPlugins/htmlBottomTemplate");
52
+ var import_htmlAsyncChunkPlugin = require("../webpackPlugins/htmlAsyncChunkPlugin");
53
+ var import_share = require("../share");
54
+ var import_routerPlugin = __toESM(require("../webpackPlugins/routerPlugin"));
55
+ const PluginCompatModern = (appContext, modernConfig, options) => ({
56
+ name: "builder-plugin-compat-modern",
57
57
  setup(api) {
58
- const { normalizedConfig, appContext } = options;
59
58
  api.modifyBuilderConfig((config) => {
60
- if (isStreamingSSR(normalizedConfig)) {
59
+ if (isStreamingSSR(modernConfig)) {
61
60
  return (0, import_builder_shared.mergeBuilderConfig)(config, {
62
61
  html: {
63
62
  inject: "body"
@@ -66,46 +65,71 @@ const builderPluginAdapterModern = (options) => ({
66
65
  }
67
66
  return config;
68
67
  });
69
- api.modifyBundlerChain((chain, { target, CHAIN_ID, isProd }) => {
70
- const builderConfig = api.getNormalizedConfig();
68
+ api.modifyWebpackChain((chain, { target, CHAIN_ID, isProd }) => {
69
+ var _a;
70
+ const builderNormalizedConfig = api.getNormalizedConfig();
71
71
  if (target === "node") {
72
72
  chain.name("server");
73
- } else if (target === "service-worker") {
74
- chain.name("service-worker");
75
- } else if (target === "web-worker") {
76
- chain.name("worker");
77
73
  } else if (target === "modern-web") {
78
74
  chain.name("modern");
79
75
  } else {
80
76
  chain.name("client");
81
77
  }
82
- if (target === "node" || target === "service-worker") {
83
- applyNodeCompat(target, chain, normalizedConfig, isProd);
78
+ chain.resolve.modules.add("node_modules").add((0, import_path.join)(api.context.rootPath, "node_modules"));
79
+ if (target === "node") {
80
+ applyNodeCompat(chain, modernConfig, isProd);
84
81
  }
85
- if (isHtmlEnabled(builderConfig, target)) {
86
- applyBottomHtmlPlugin({
82
+ if (isHtmlEnabled(builderNormalizedConfig, target)) {
83
+ applyBottomHtmlWebpackPlugin({
87
84
  api,
88
85
  chain,
89
- modernConfig: normalizedConfig,
86
+ CHAIN_ID,
90
87
  appContext,
91
- CHAIN_ID
88
+ modernConfig
92
89
  });
93
90
  applyAsyncChunkHtmlPlugin({
94
91
  chain,
95
- modernConfig: normalizedConfig,
96
- CHAIN_ID
92
+ CHAIN_ID,
93
+ modernConfig
97
94
  });
98
95
  }
99
- if (target !== "node" && target !== "web-worker" && target !== "service-worker") {
96
+ if (chain.plugins.has(CHAIN_ID.PLUGIN.COPY)) {
97
+ const defaultCopyPattern = (0, import_share.createCopyPattern)(
98
+ appContext,
99
+ modernConfig,
100
+ "public",
101
+ chain
102
+ );
103
+ chain.plugin(CHAIN_ID.PLUGIN.COPY).tap((args) => {
104
+ var _a2;
105
+ return [
106
+ {
107
+ patterns: [...((_a2 = args[0]) == null ? void 0 : _a2.patterns) || [], defaultCopyPattern]
108
+ }
109
+ ];
110
+ });
111
+ }
112
+ const { entrypoints } = appContext;
113
+ const existNestedRoutes = entrypoints.some(
114
+ (entrypoint) => entrypoint.nestedRoutesEntry
115
+ );
116
+ const routerConfig = (_a = modernConfig == null ? void 0 : modernConfig.runtime) == null ? void 0 : _a.router;
117
+ const routerManifest = Boolean(routerConfig == null ? void 0 : routerConfig.manifest);
118
+ if (existNestedRoutes || routerManifest) {
119
+ chain.plugin("route-plugin").use(import_routerPlugin.default);
120
+ }
121
+ if (target !== "node") {
100
122
  const bareServerModuleReg = /\.(server|node)\.[tj]sx?$/;
101
123
  chain.module.rule(CHAIN_ID.RULE.JS).exclude.add(bareServerModuleReg);
102
124
  chain.module.rule("bare-server-module").test(bareServerModuleReg).use("server-module-loader").loader(require.resolve("../loaders/serverModuleLoader"));
103
125
  }
126
+ function isHtmlEnabled(config, target2) {
127
+ var _a2;
128
+ return ((_a2 = config.tools) == null ? void 0 : _a2.htmlPlugin) !== false && target2 !== "node" && target2 !== "web-worker";
129
+ }
104
130
  });
105
- applyCallbacks(api, options);
106
- function isHtmlEnabled(config, target) {
107
- var _a;
108
- return ((_a = config.tools) == null ? void 0 : _a.htmlPlugin) !== false && target !== "node" && target !== "service-worker" && target !== "web-worker";
131
+ if (options) {
132
+ applyCallbacks(api, options);
109
133
  }
110
134
  }
111
135
  });
@@ -119,53 +143,8 @@ function applyCallbacks(api, options) {
119
143
  options.onDevCompileDone && api.onDevCompileDone(options.onDevCompileDone);
120
144
  options.onExit && api.onExit(options.onExit);
121
145
  }
122
- function applyBottomHtmlPlugin({
123
- api,
124
- chain,
125
- modernConfig,
126
- appContext,
127
- CHAIN_ID
128
- }) {
129
- for (const entryName of Object.keys(api.context.entry)) {
130
- const baseTemplateParams = {
131
- entryName,
132
- title: (0, import_utils.getEntryOptions)(
133
- entryName,
134
- modernConfig.html.title,
135
- modernConfig.html.titleByEntries,
136
- appContext.packageName
137
- ),
138
- mountId: modernConfig.html.mountId,
139
- ...(0, import_utils.getEntryOptions)(
140
- entryName,
141
- modernConfig.html.templateParameters,
142
- modernConfig.html.templateParametersByEntries,
143
- appContext.packageName
144
- )
145
- };
146
- chain.plugin(`${CHAIN_ID.PLUGIN.HTML}-${entryName}`).tap((args) => [
147
- {
148
- ...args[0] || {},
149
- __internal__: true,
150
- bottomTemplate: appContext.htmlTemplates[`__${entryName}-bottom__`] && (0, import_lodash.template)(appContext.htmlTemplates[`__${entryName}-bottom__`])(
151
- baseTemplateParams
152
- )
153
- }
154
- ]);
155
- }
156
- chain.plugin(CHAIN_ID.PLUGIN.BOTTOM_TEMPLATE).use(import_HtmlBottomTemplate.BottomTemplatePlugin, [import_html_webpack_plugin.default]);
157
- }
158
- function applyAsyncChunkHtmlPlugin({
159
- chain,
160
- modernConfig,
161
- CHAIN_ID
162
- }) {
163
- if (isStreamingSSR(modernConfig)) {
164
- chain.plugin(CHAIN_ID.PLUGIN.HTML_ASYNC_CHUNK).use(import_HtmlAsyncChunkPlugin.HtmlAsyncChunkPlugin, [import_html_webpack_plugin.default]);
165
- }
166
- }
167
- function applyNodeCompat(target, chain, modernConfig, isProd) {
168
- const nodeExts = [
146
+ function applyNodeCompat(chain, modernConfig, isProd) {
147
+ for (const ext of [
169
148
  ".node.js",
170
149
  ".node.jsx",
171
150
  ".node.ts",
@@ -174,21 +153,9 @@ function applyNodeCompat(target, chain, modernConfig, isProd) {
174
153
  ".server.ts",
175
154
  ".server.ts",
176
155
  ".server.tsx"
177
- ];
178
- const webWorkerExts = [
179
- ".worker.js",
180
- ".worker.jsx",
181
- ".worker.ts",
182
- ".worker.tsx"
183
- ];
184
- for (const ext of nodeExts) {
156
+ ]) {
185
157
  chain.resolve.extensions.prepend(ext);
186
158
  }
187
- if (target === "service-worker") {
188
- for (const ext of webWorkerExts) {
189
- chain.resolve.extensions.prepend(ext);
190
- }
191
- }
192
159
  filterEntriesBySSRConfig(
193
160
  isProd,
194
161
  chain,
@@ -227,8 +194,65 @@ function applyNodeCompat(target, chain, modernConfig, isProd) {
227
194
  });
228
195
  }
229
196
  }
197
+ function applyBottomHtmlWebpackPlugin({
198
+ api,
199
+ chain,
200
+ modernConfig,
201
+ appContext,
202
+ CHAIN_ID
203
+ }) {
204
+ for (const entryName of Object.keys(api.context.entry)) {
205
+ const baseTemplateParams = __spreadValues({
206
+ entryName,
207
+ title: (0, import_utils.getEntryOptions)(
208
+ entryName,
209
+ modernConfig.html.title,
210
+ modernConfig.html.titleByEntries,
211
+ appContext.packageName
212
+ ),
213
+ mountId: modernConfig.html.mountId
214
+ }, (0, import_utils.getEntryOptions)(
215
+ entryName,
216
+ modernConfig.html.templateParameters,
217
+ modernConfig.html.templateParametersByEntries,
218
+ appContext.packageName
219
+ ));
220
+ chain.plugin(`${CHAIN_ID.PLUGIN.HTML}-${entryName}`).tap((args) => [
221
+ __spreadProps(__spreadValues({}, args[0] || {}), {
222
+ __internal__: true,
223
+ bottomTemplate: appContext.htmlTemplates[`__${entryName}-bottom__`] && (0, import_lodash.template)(appContext.htmlTemplates[`__${entryName}-bottom__`])(
224
+ baseTemplateParams
225
+ )
226
+ })
227
+ ]);
228
+ }
229
+ chain.plugin(CHAIN_ID.PLUGIN.BOTTOM_TEMPLATE).use(import_htmlBottomTemplate.BottomTemplatePlugin, [import_html_webpack_plugin.default]);
230
+ }
231
+ const isStreamingSSR = (userConfig) => {
232
+ const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
233
+ const { server } = userConfig;
234
+ if (isStreaming(server.ssr)) {
235
+ return true;
236
+ }
237
+ if ((server == null ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
238
+ for (const name of Object.keys(server.ssrByEntries)) {
239
+ if (isStreaming(server.ssrByEntries[name])) {
240
+ return true;
241
+ }
242
+ }
243
+ }
244
+ return false;
245
+ };
246
+ function applyAsyncChunkHtmlPlugin({
247
+ chain,
248
+ modernConfig,
249
+ CHAIN_ID
250
+ }) {
251
+ if (isStreamingSSR(modernConfig)) {
252
+ chain.plugin(CHAIN_ID.PLUGIN.HTML_ASYNC_CHUNK).use(import_htmlAsyncChunkPlugin.HtmlAsyncChunkPlugin, [import_html_webpack_plugin.default]);
253
+ }
254
+ }
230
255
  // Annotate the CommonJS export names for ESM import in node:
231
256
  0 && (module.exports = {
232
- applyCallbacks,
233
- builderPluginAdapterModern
257
+ PluginCompatModern
234
258
  });
@@ -0,0 +1,177 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __export = (target, all) => {
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") {
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
33
+ }
34
+ return to;
35
+ };
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
37
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
38
+ mod
39
+ ));
40
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
41
+ var __async = (__this, __arguments, generator) => {
42
+ return new Promise((resolve, reject) => {
43
+ var fulfilled = (value) => {
44
+ try {
45
+ step(generator.next(value));
46
+ } catch (e) {
47
+ reject(e);
48
+ }
49
+ };
50
+ var rejected = (value) => {
51
+ try {
52
+ step(generator.throw(value));
53
+ } catch (e) {
54
+ reject(e);
55
+ }
56
+ };
57
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
58
+ step((generator = generator.apply(__this, __arguments)).next());
59
+ });
60
+ };
61
+ var builder_exports = {};
62
+ __export(builder_exports, {
63
+ createBuilderForModern: () => createBuilderForModern,
64
+ createBuilderOptions: () => createBuilderOptions,
65
+ createBuilderProviderConfig: () => createBuilderProviderConfig
66
+ });
67
+ module.exports = __toCommonJS(builder_exports);
68
+ var import_builder = require("@modern-js/builder");
69
+ var import_builder_webpack_provider = require("@modern-js/builder-webpack-provider");
70
+ var import_utils = require("@modern-js/utils");
71
+ var import_compatModern = require("./builderPlugins/compatModern");
72
+ var import_share = require("./share");
73
+ function getBuilderTargets(normalizedConfig) {
74
+ const targets = ["web"];
75
+ const useNodeTarget = (0, import_utils.isProd)() ? (0, import_utils.isUseSSRBundle)(normalizedConfig) : (0, import_utils.isSSR)(normalizedConfig);
76
+ if (useNodeTarget) {
77
+ targets.push("node");
78
+ }
79
+ return targets;
80
+ }
81
+ function createBuilderForModern(_0) {
82
+ return __async(this, arguments, function* ({
83
+ normalizedConfig,
84
+ appContext,
85
+ compatPluginConfig
86
+ }) {
87
+ const builderConfig = createBuilderProviderConfig(
88
+ normalizedConfig,
89
+ appContext
90
+ );
91
+ const webpackProvider = (0, import_builder_webpack_provider.builderWebpackProvider)({
92
+ builderConfig
93
+ });
94
+ const target = getBuilderTargets(normalizedConfig);
95
+ const builderOptions = createBuilderOptions(target, appContext);
96
+ const builder = yield (0, import_builder.createBuilder)(webpackProvider, builderOptions);
97
+ yield applyBuilderPlugins(
98
+ builder,
99
+ normalizedConfig,
100
+ appContext,
101
+ compatPluginConfig
102
+ );
103
+ return builder;
104
+ });
105
+ }
106
+ function createBuilderProviderConfig(normalizedConfig, appContext) {
107
+ const output = createOutputConfig(normalizedConfig, appContext);
108
+ const htmlConfig = __spreadValues({}, normalizedConfig.html);
109
+ if (!htmlConfig.template) {
110
+ htmlConfig.templateByEntries = __spreadValues(__spreadValues({}, htmlConfig.templateByEntries), appContext.htmlTemplates);
111
+ }
112
+ return __spreadProps(__spreadValues({}, normalizedConfig), {
113
+ output,
114
+ dev: __spreadProps(__spreadValues({}, normalizedConfig.dev), {
115
+ port: appContext.port
116
+ }),
117
+ html: htmlConfig
118
+ });
119
+ function createOutputConfig(config, appContext2) {
120
+ const defaultCopyPattern = (0, import_share.createCopyPattern)(appContext2, config, "upload");
121
+ const { copy } = config.output;
122
+ const copyOptions = Array.isArray(copy) ? copy : copy == null ? void 0 : copy.patterns;
123
+ const builderCopy = [...copyOptions || [], defaultCopyPattern];
124
+ return __spreadProps(__spreadValues({}, config.output), {
125
+ copy: builderCopy,
126
+ cleanDistPath: false
127
+ });
128
+ }
129
+ }
130
+ function createBuilderOptions(target, appContext) {
131
+ const entries = {};
132
+ const { entrypoints = [], checkedEntries } = appContext;
133
+ for (const { entryName, entry } of entrypoints) {
134
+ if (checkedEntries && !checkedEntries.includes(entryName)) {
135
+ continue;
136
+ }
137
+ if (entryName in entries) {
138
+ entries[entryName].push(entry);
139
+ } else {
140
+ entries[entryName] = [entry];
141
+ }
142
+ }
143
+ return {
144
+ cwd: appContext.appDirectory,
145
+ target,
146
+ configPath: appContext.configFile || void 0,
147
+ entry: entries,
148
+ framework: appContext.metaName
149
+ };
150
+ }
151
+ function applyBuilderPlugins(builder, normalizedConfig, appContext, compatPluginConfig) {
152
+ return __async(this, null, function* () {
153
+ if (!normalizedConfig.output.disableNodePolyfill) {
154
+ const { builderPluginNodePolyfill } = yield Promise.resolve().then(() => __toESM(require("@modern-js/builder-plugin-node-polyfill")));
155
+ builder.addPlugins([builderPluginNodePolyfill()]);
156
+ }
157
+ if (normalizedConfig.tools.esbuild) {
158
+ const { esbuild: esbuildOptions } = normalizedConfig.tools;
159
+ const { builderPluginEsbuild } = yield Promise.resolve().then(() => __toESM(require("@modern-js/builder-plugin-esbuild")));
160
+ builder.addPlugins([
161
+ builderPluginEsbuild({
162
+ loader: false,
163
+ minimize: (0, import_utils.applyOptionsChain)({}, esbuildOptions)
164
+ })
165
+ ]);
166
+ }
167
+ builder.addPlugins([
168
+ (0, import_compatModern.PluginCompatModern)(appContext, normalizedConfig, compatPluginConfig)
169
+ ]);
170
+ });
171
+ }
172
+ // Annotate the CommonJS export names for ESM import in node:
173
+ 0 && (module.exports = {
174
+ createBuilderForModern,
175
+ createBuilderOptions,
176
+ createBuilderProviderConfig
177
+ });