@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,350 @@
1
+ function _arrayLikeToArray(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _arrayWithHoles(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _arrayWithoutHoles(arr) {
10
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
11
+ }
12
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
13
+ try {
14
+ var info = gen[key](arg);
15
+ var value = info.value;
16
+ } catch (error) {
17
+ reject(error);
18
+ return;
19
+ }
20
+ if (info.done) {
21
+ resolve(value);
22
+ } else {
23
+ Promise.resolve(value).then(_next, _throw);
24
+ }
25
+ }
26
+ function _asyncToGenerator(fn) {
27
+ return function() {
28
+ var self = this, args = arguments;
29
+ return new Promise(function(resolve, reject) {
30
+ var gen = fn.apply(self, args);
31
+ function _next(value) {
32
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
33
+ }
34
+ function _throw(err) {
35
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
36
+ }
37
+ _next(undefined);
38
+ });
39
+ };
40
+ }
41
+ function _classCallCheck(instance, Constructor) {
42
+ if (!(instance instanceof Constructor)) {
43
+ throw new TypeError("Cannot call a class as a function");
44
+ }
45
+ }
46
+ function _defineProperties(target, props) {
47
+ for(var i = 0; i < props.length; i++){
48
+ var descriptor = props[i];
49
+ descriptor.enumerable = descriptor.enumerable || false;
50
+ descriptor.configurable = true;
51
+ if ("value" in descriptor) descriptor.writable = true;
52
+ Object.defineProperty(target, descriptor.key, descriptor);
53
+ }
54
+ }
55
+ function _createClass(Constructor, protoProps, staticProps) {
56
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
57
+ if (staticProps) _defineProperties(Constructor, staticProps);
58
+ return Constructor;
59
+ }
60
+ function _iterableToArray(iter) {
61
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
62
+ }
63
+ function _iterableToArrayLimit(arr, i) {
64
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
65
+ if (_i == null) return;
66
+ var _arr = [];
67
+ var _n = true;
68
+ var _d = false;
69
+ var _s, _e;
70
+ try {
71
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
72
+ _arr.push(_s.value);
73
+ if (i && _arr.length === i) break;
74
+ }
75
+ } catch (err) {
76
+ _d = true;
77
+ _e = err;
78
+ } finally{
79
+ try {
80
+ if (!_n && _i["return"] != null) _i["return"]();
81
+ } finally{
82
+ if (_d) throw _e;
83
+ }
84
+ }
85
+ return _arr;
86
+ }
87
+ function _nonIterableRest() {
88
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
89
+ }
90
+ function _nonIterableSpread() {
91
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
92
+ }
93
+ function _slicedToArray(arr, i) {
94
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
95
+ }
96
+ function _toConsumableArray(arr) {
97
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
98
+ }
99
+ function _unsupportedIterableToArray(o, minLen) {
100
+ if (!o) return;
101
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
102
+ var n = Object.prototype.toString.call(o).slice(8, -1);
103
+ if (n === "Object" && o.constructor) n = o.constructor.name;
104
+ if (n === "Map" || n === "Set") return Array.from(n);
105
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
106
+ }
107
+ var __generator = this && this.__generator || function(thisArg, body) {
108
+ var f, y, t, g, _ = {
109
+ label: 0,
110
+ sent: function() {
111
+ if (t[0] & 1) throw t[1];
112
+ return t[1];
113
+ },
114
+ trys: [],
115
+ ops: []
116
+ };
117
+ return g = {
118
+ next: verb(0),
119
+ "throw": verb(1),
120
+ "return": verb(2)
121
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
122
+ return this;
123
+ }), g;
124
+ function verb(n) {
125
+ return function(v) {
126
+ return step([
127
+ n,
128
+ v
129
+ ]);
130
+ };
131
+ }
132
+ function step(op) {
133
+ if (f) throw new TypeError("Generator is already executing.");
134
+ while(_)try {
135
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
136
+ if (y = 0, t) op = [
137
+ op[0] & 2,
138
+ t.value
139
+ ];
140
+ switch(op[0]){
141
+ case 0:
142
+ case 1:
143
+ t = op;
144
+ break;
145
+ case 4:
146
+ _.label++;
147
+ return {
148
+ value: op[1],
149
+ done: false
150
+ };
151
+ case 5:
152
+ _.label++;
153
+ y = op[1];
154
+ op = [
155
+ 0
156
+ ];
157
+ continue;
158
+ case 7:
159
+ op = _.ops.pop();
160
+ _.trys.pop();
161
+ continue;
162
+ default:
163
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
164
+ _ = 0;
165
+ continue;
166
+ }
167
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
168
+ _.label = op[1];
169
+ break;
170
+ }
171
+ if (op[0] === 6 && _.label < t[1]) {
172
+ _.label = t[1];
173
+ t = op;
174
+ break;
175
+ }
176
+ if (t && _.label < t[2]) {
177
+ _.label = t[2];
178
+ _.ops.push(op);
179
+ break;
180
+ }
181
+ if (t[2]) _.ops.pop();
182
+ _.trys.pop();
183
+ continue;
184
+ }
185
+ op = body.call(thisArg, _);
186
+ } catch (e) {
187
+ op = [
188
+ 6,
189
+ e
190
+ ];
191
+ y = 0;
192
+ } finally{
193
+ f = t = 0;
194
+ }
195
+ if (op[0] & 5) throw op[1];
196
+ return {
197
+ value: op[0] ? op[1] : void 0,
198
+ done: true
199
+ };
200
+ }
201
+ };
202
+ import path from "path";
203
+ import { fs, ROUTE_MANIFEST, logger, ROUTE_MINIFEST_FILE } from "@modern-js/utils";
204
+ var PLUGIN_NAME = "ModernjsRoutePlugin";
205
+ var RouterPlugin = /*#__PURE__*/ function() {
206
+ "use strict";
207
+ function RouterPlugin() {
208
+ _classCallCheck(this, RouterPlugin);
209
+ }
210
+ _createClass(RouterPlugin, [
211
+ {
212
+ key: "apply",
213
+ value: function apply(compiler) {
214
+ var target = compiler.options.target;
215
+ if (target === "node" || Array.isArray(target) && target.includes("node")) {
216
+ return;
217
+ }
218
+ if (target === "webworker" || Array.isArray(target) && target.includes("webworker")) {
219
+ return;
220
+ }
221
+ var webpack = compiler.webpack;
222
+ var Compilation = webpack.Compilation, sources = webpack.sources;
223
+ var RawSource = sources.RawSource;
224
+ var PROCESS_ASSETS_STAGE_REPORT = Compilation.PROCESS_ASSETS_STAGE_REPORT;
225
+ var outputPath = compiler.options.output.path;
226
+ var newAssetsMap = /* @__PURE__ */ new Map();
227
+ var normalizePath = function(path2) {
228
+ if (!path2.endsWith("/")) {
229
+ return "".concat(path2, "/");
230
+ }
231
+ return path2;
232
+ };
233
+ compiler.hooks.thisCompilation.tap(PLUGIN_NAME, function(compilation) {
234
+ compilation.hooks.processAssets.tapPromise({
235
+ name: PLUGIN_NAME,
236
+ stage: PROCESS_ASSETS_STAGE_REPORT
237
+ }, /*#__PURE__*/ _asyncToGenerator(function() {
238
+ var stats, publicPath, _stats_chunks, chunks, routeAssets, namedChunkGroups, assetsByChunkName, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step_value, name, chunkGroup, manifest, injectedContent, entrypointsArray, entryChunkIds, entryChunks, entryChunkFiles, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, file, asset, newContent, filename;
239
+ return __generator(this, function(_state) {
240
+ switch(_state.label){
241
+ case 0:
242
+ stats = compilation.getStats().toJson({
243
+ chunkGroups: true,
244
+ chunks: true
245
+ });
246
+ publicPath = stats.publicPath, _stats_chunks = stats.chunks, chunks = _stats_chunks === void 0 ? [] : _stats_chunks;
247
+ routeAssets = {};
248
+ namedChunkGroups = stats.namedChunkGroups, assetsByChunkName = stats.assetsByChunkName;
249
+ if (!namedChunkGroups || !assetsByChunkName) {
250
+ logger.warn("Route manifest does not exist, performance will be affected");
251
+ return [
252
+ 2
253
+ ];
254
+ }
255
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
256
+ try {
257
+ for(_iterator = Object.entries(namedChunkGroups)[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
258
+ _step_value = _slicedToArray(_step.value, 2), name = _step_value[0], chunkGroup = _step_value[1];
259
+ if (assetsByChunkName[name]) {
260
+ routeAssets[name] = {
261
+ chunkIds: chunkGroup.chunks,
262
+ assets: assetsByChunkName[name].map(function(item) {
263
+ return publicPath ? normalizePath(publicPath) + item : item;
264
+ })
265
+ };
266
+ }
267
+ }
268
+ } catch (err) {
269
+ _didIteratorError = true;
270
+ _iteratorError = err;
271
+ } finally{
272
+ try {
273
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
274
+ _iterator.return();
275
+ }
276
+ } finally{
277
+ if (_didIteratorError) {
278
+ throw _iteratorError;
279
+ }
280
+ }
281
+ }
282
+ manifest = {
283
+ routeAssets: routeAssets
284
+ };
285
+ injectedContent = "\n ;(function(){\n window.".concat(ROUTE_MANIFEST, " = ").concat(JSON.stringify(manifest), ";\n })();\n ");
286
+ entrypointsArray = Array.from(compilation.entrypoints.entries());
287
+ entryChunkIds = entrypointsArray.map(function(entrypoint) {
288
+ return entrypoint[0];
289
+ });
290
+ entryChunks = _toConsumableArray(chunks).filter(function(chunk) {
291
+ var _chunk_names;
292
+ return (_chunk_names = chunk.names) === null || _chunk_names === void 0 ? void 0 : _chunk_names.some(function(name) {
293
+ return entryChunkIds.includes(name);
294
+ });
295
+ });
296
+ entryChunkFiles = entryChunks.map(function(chunk) {
297
+ return _toConsumableArray(chunk.files || []).find(function(fname) {
298
+ return fname.includes(".js");
299
+ });
300
+ });
301
+ _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
302
+ try {
303
+ for(_iterator1 = entryChunkFiles[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
304
+ file = _step1.value;
305
+ asset = compilation.assets[file];
306
+ newContent = "".concat(injectedContent).concat(asset.source().toString());
307
+ newAssetsMap.set(path.join(outputPath, file), newContent);
308
+ compilation.updateAsset(file, new RawSource(newContent), // FIXME: The arguments third of updatgeAsset is a optional function in webpack.
309
+ void 0);
310
+ }
311
+ } catch (err) {
312
+ _didIteratorError1 = true;
313
+ _iteratorError1 = err;
314
+ } finally{
315
+ try {
316
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
317
+ _iterator1.return();
318
+ }
319
+ } finally{
320
+ if (_didIteratorError1) {
321
+ throw _iteratorError1;
322
+ }
323
+ }
324
+ }
325
+ filename = path.join(outputPath, ROUTE_MINIFEST_FILE);
326
+ return [
327
+ 4,
328
+ fs.ensureFile(filename)
329
+ ];
330
+ case 1:
331
+ _state.sent();
332
+ return [
333
+ 4,
334
+ fs.writeFile(filename, JSON.stringify(manifest, null, 2))
335
+ ];
336
+ case 2:
337
+ _state.sent();
338
+ return [
339
+ 2
340
+ ];
341
+ }
342
+ });
343
+ }));
344
+ });
345
+ }
346
+ }
347
+ ]);
348
+ return RouterPlugin;
349
+ }();
350
+ export { RouterPlugin };
@@ -0,0 +1,3 @@
1
+ export * from "./HtmlAsyncChunkPlugin";
2
+ export * from "./HtmlBottomTemplate";
3
+ export * from "./RouterPlugin";
@@ -1,3 +1,3 @@
1
1
  export * from "./createCopyPattern";
2
2
  export * from "./types";
3
- export * from "./builderPlugins/adapterModern";
3
+ export * from "./builderPlugins";
package/dist/esm/index.js CHANGED
@@ -201,7 +201,7 @@ var devCommand = function() {
201
201
  ];
202
202
  case 1:
203
203
  devToolMetas = _state.sent();
204
- devProgram = program.command("dev").alias("start").usage("[options]").description(i18n.t(localeKeys.command.dev.describe)).option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).option("-e --entry [entry...]", i18n.t(localeKeys.command.dev.entry)).option("--analyze", i18n.t(localeKeys.command.shared.analyze)).option("--api-only", i18n.t(localeKeys.command.dev.apiOnly)).action(function() {
204
+ devProgram = program.command("dev").alias("start").usage("[options]").description(i18n.t(localeKeys.command.dev.describe)).option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).option("-e --entry [entry...]", i18n.t(localeKeys.command.dev.entry)).option("--analyze", i18n.t(localeKeys.command.shared.analyze)).option("--api-only", i18n.t(localeKeys.command.dev.apiOnly)).option("--web-only", i18n.t(localeKeys.command.dev.webOnly)).action(function() {
205
205
  var _ref = _asyncToGenerator(function(options) {
206
206
  var dev;
207
207
  return __generator(this, function(_state) {
@@ -8,6 +8,7 @@ var EN_LOCALE = {
8
8
  describe: "start dev server",
9
9
  entry: "compiler by entry",
10
10
  apiOnly: "start api server only",
11
+ webOnly: "start web server only",
11
12
  selectEntry: "Please select the entry that needs to be built",
12
13
  requireEntry: "You must choose at least one entry"
13
14
  },
@@ -8,6 +8,7 @@ var ZH_LOCALE = {
8
8
  describe: "本地开发命令",
9
9
  entry: "指定入口,编译特定的页面",
10
10
  apiOnly: "仅启动 API 接口服务",
11
+ webOnly: "仅启动 Web 服务",
11
12
  selectEntry: "请选择需要构建的入口",
12
13
  requireEntry: "请至少选择一个入口"
13
14
  },
@@ -1,5 +1,12 @@
1
1
  import path from "path";
2
- import { fs, getEntryOptions, isRouterV5, logger } from "@modern-js/utils";
2
+ import {
3
+ fs,
4
+ getEntryOptions,
5
+ isRouterV5,
6
+ isSSGEntry,
7
+ isUseSSRBundle,
8
+ logger
9
+ } from "@modern-js/utils";
3
10
  import * as templates from "./templates";
4
11
  import { getClientRoutes, getClientRoutesLegacy } from "./getClientRoutes";
5
12
  import {
@@ -70,6 +77,7 @@ const generateCode = async (appContext, config, entrypoints, api) => {
70
77
  const getRoutes = isV5 ? getClientRoutesLegacy : getClientRoutes;
71
78
  await Promise.all(entrypoints.map(generateEntryCode));
72
79
  async function generateEntryCode(entrypoint) {
80
+ var _a;
73
81
  const { entryName, isAutoMount, customBootstrap, fileSystemRoutes } = entrypoint;
74
82
  if (isAutoMount) {
75
83
  if (fileSystemRoutes) {
@@ -109,6 +117,7 @@ const generateCode = async (appContext, config, entrypoints, api) => {
109
117
  config2.server.ssrByEntries,
110
118
  packageName
111
119
  );
120
+ const useSSG = isSSGEntry(config2, entryName, entrypoints);
112
121
  let mode;
113
122
  if (ssr) {
114
123
  mode = typeof ssr === "object" ? ssr.mode || "string" : "string";
@@ -128,13 +137,14 @@ const generateCode = async (appContext, config, entrypoints, api) => {
128
137
  entrypoint,
129
138
  code: await templates.fileSystemRoutes({
130
139
  routes,
131
- ssrMode: mode,
140
+ ssrMode: useSSG ? "string" : mode,
132
141
  nestedRoutesEntry: entrypoint.nestedRoutesEntry,
133
142
  entryName: entrypoint.entryName,
134
- internalDirectory
143
+ internalDirectory,
144
+ splitRoutesChunks: (_a = config2 == null ? void 0 : config2.output) == null ? void 0 : _a.splitRoutesChunks
135
145
  })
136
146
  });
137
- if (entrypoint.nestedRoutesEntry && mode) {
147
+ if (entrypoint.nestedRoutesEntry && isUseSSRBundle(config2)) {
138
148
  const routesServerFile = getServerLoadersFile(
139
149
  internalDirectory,
140
150
  entryName
@@ -7,7 +7,8 @@ import {
7
7
  isApiOnly,
8
8
  minimist,
9
9
  getCommand,
10
- isDevCommand
10
+ isDevCommand,
11
+ isSSGEntry
11
12
  } from "@modern-js/utils";
12
13
  import { cloneDeep } from "@modern-js/utils/lodash";
13
14
  import { createVirtualModule } from "@modern-js/builder-shared";
@@ -191,7 +192,12 @@ var analyze_default = ({
191
192
  resolvedConfig.server.ssrByEntries,
192
193
  packageName
193
194
  );
194
- if (entrypoint.nestedRoutesEntry && ssr && name === "server") {
195
+ const useSSG = isSSGEntry(
196
+ resolvedConfig,
197
+ entryName,
198
+ entrypoints
199
+ );
200
+ if (entrypoint.nestedRoutesEntry && (ssr || useSSG) && name === "server") {
195
201
  const serverLoaderRuntime = require.resolve("@modern-js/plugin-data-loader/runtime");
196
202
  const serverLoadersFile = getServerLoadersFile(
197
203
  internalDirectory,
@@ -265,6 +271,14 @@ var analyze_default = ({
265
271
  imports
266
272
  };
267
273
  },
274
+ validateSchema() {
275
+ return {
276
+ target: "output.splitRoutesChunks",
277
+ schema: {
278
+ type: "boolean"
279
+ }
280
+ };
281
+ },
268
282
  async fileChange(e) {
269
283
  const appContext = api.useAppContext();
270
284
  const { appDirectory } = appContext;
@@ -144,12 +144,14 @@ const fileSystemRoutes = async ({
144
144
  ssrMode,
145
145
  nestedRoutesEntry,
146
146
  entryName,
147
- internalDirectory
147
+ internalDirectory,
148
+ splitRoutesChunks = true
148
149
  }) => {
149
150
  const loadings = [];
150
151
  const errors = [];
151
152
  const loaders = [];
152
153
  const loadersMap = {};
154
+ const webpackMode = splitRoutesChunks ? "lazy" : "eager";
153
155
  const loadersMapFile = path.join(
154
156
  internalDirectory,
155
157
  entryName,
@@ -208,15 +210,15 @@ const fileSystemRoutes = async ({
208
210
  rootLayoutCode = `import RootLayout from '${route._component}'`;
209
211
  component = `RootLayout`;
210
212
  } else if (ssrMode === "string") {
211
- lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${route._component}')`;
213
+ lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ /* webpackMode: "${webpackMode}" */ '${route._component}')`;
212
214
  component = `loadable(${lazyImport})`;
213
215
  } else {
214
- lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ '${route._component}')`;
216
+ lazyImport = `() => import(/* webpackChunkName: "${route.id}" */ /* webpackMode: "${webpackMode}" */ '${route._component}')`;
215
217
  component = `lazy(${lazyImport})`;
216
218
  }
217
219
  }
218
220
  } else if (route._component) {
219
- lazyImport = `() => import('${route._component}')`;
221
+ lazyImport = `() => import( /* webpackMode: "${webpackMode}" */ '${route._component}')`;
220
222
  component = `loadable(${lazyImport})`;
221
223
  }
222
224
  const finalRoute = {
@@ -1,12 +1,10 @@
1
1
  import { join } from "path";
2
2
  import { createCopyPattern } from "../../shared";
3
- import { RouterPlugin } from "../webpackPlugins";
4
3
  const builderPluginCompatModern = (options) => ({
5
4
  name: "builder-plugin-compat-modern",
6
5
  setup(api) {
7
6
  const { normalizedConfig: modernConfig, appContext } = options;
8
7
  api.modifyWebpackChain((chain, { CHAIN_ID }) => {
9
- var _a;
10
8
  chain.resolve.modules.add("node_modules").add(join(api.context.rootPath, "node_modules"));
11
9
  if (chain.plugins.has(CHAIN_ID.PLUGIN.COPY)) {
12
10
  const defaultCopyPattern = createCopyPattern(
@@ -16,23 +14,14 @@ const builderPluginCompatModern = (options) => ({
16
14
  chain
17
15
  );
18
16
  chain.plugin(CHAIN_ID.PLUGIN.COPY).tap((args) => {
19
- var _a2;
17
+ var _a;
20
18
  return [
21
19
  {
22
- patterns: [...((_a2 = args[0]) == null ? void 0 : _a2.patterns) || [], defaultCopyPattern]
20
+ patterns: [...((_a = args[0]) == null ? void 0 : _a.patterns) || [], defaultCopyPattern]
23
21
  }
24
22
  ];
25
23
  });
26
24
  }
27
- const { entrypoints } = appContext;
28
- const existNestedRoutes = entrypoints.some(
29
- (entrypoint) => entrypoint.nestedRoutesEntry
30
- );
31
- const routerConfig = (_a = modernConfig == null ? void 0 : modernConfig.runtime) == null ? void 0 : _a.router;
32
- const routerManifest = Boolean(routerConfig == null ? void 0 : routerConfig.manifest);
33
- if (existNestedRoutes || routerManifest) {
34
- chain.plugin("route-plugin").use(RouterPlugin);
35
- }
36
25
  });
37
26
  }
38
27
  });
@@ -21,8 +21,16 @@ async function generateBuilder(options, generateProvider, utils) {
21
21
  return builder;
22
22
  }
23
23
  async function applyBuilderPlugins(builder, options) {
24
- const { builderPluginAdapterModern } = await import("../shared/builderPlugins/adapterModern");
25
- builder.addPlugins([builderPluginAdapterModern(options)]);
24
+ const {
25
+ builderPluginAdapterBasic,
26
+ builderPluginAdapterHtml,
27
+ builderPluginAdapterSSR
28
+ } = await import("../shared/builderPlugins");
29
+ builder.addPlugins([
30
+ builderPluginAdapterBasic(options),
31
+ builderPluginAdapterSSR(options),
32
+ builderPluginAdapterHtml(options)
33
+ ]);
26
34
  }
27
35
  export {
28
36
  generateBuilder
@@ -0,0 +1,67 @@
1
+ const builderPluginAdapterBasic = (options) => ({
2
+ name: "builder-plugin-adapter-modern-basic",
3
+ setup(api) {
4
+ api.modifyBundlerChain((chain, { target, CHAIN_ID }) => {
5
+ if (target === "node") {
6
+ chain.name("server");
7
+ } else if (target === "service-worker") {
8
+ chain.name("service-worker");
9
+ } else if (target === "web-worker") {
10
+ chain.name("worker");
11
+ } else if (target === "modern-web") {
12
+ chain.name("modern");
13
+ } else {
14
+ chain.name("client");
15
+ }
16
+ if (target === "node" || target === "service-worker") {
17
+ applyNodeCompat(target, chain);
18
+ }
19
+ if (target === "web" || target === "modern-web") {
20
+ const bareServerModuleReg = /\.(server|node)\.[tj]sx?$/;
21
+ chain.module.rule(CHAIN_ID.RULE.JS).exclude.add(bareServerModuleReg);
22
+ chain.module.rule("bare-server-module").test(bareServerModuleReg).use("server-module-loader").loader(require.resolve("../loaders/serverModuleLoader"));
23
+ }
24
+ });
25
+ applyCallbacks(api, options);
26
+ }
27
+ });
28
+ function applyCallbacks(api, options) {
29
+ options.onAfterBuild && api.onAfterBuild(options.onAfterBuild);
30
+ options.onAfterCreateCompiler && api.onAfterCreateCompiler(options.onAfterCreateCompiler);
31
+ options.onAfterStartDevServer && api.onAfterStartDevServer(options.onAfterStartDevServer);
32
+ options.onBeforeBuild && api.onBeforeBuild(options.onBeforeBuild);
33
+ options.onBeforeCreateCompiler && api.onBeforeCreateCompiler(options.onBeforeCreateCompiler);
34
+ options.onBeforeStartDevServer && api.onBeforeStartDevServer(options.onBeforeStartDevServer);
35
+ options.onDevCompileDone && api.onDevCompileDone(options.onDevCompileDone);
36
+ options.onExit && api.onExit(options.onExit);
37
+ }
38
+ function applyNodeCompat(target, chain) {
39
+ const nodeExts = [
40
+ ".node.js",
41
+ ".node.jsx",
42
+ ".node.ts",
43
+ ".node.tsx",
44
+ ".server.js",
45
+ ".server.ts",
46
+ ".server.ts",
47
+ ".server.tsx"
48
+ ];
49
+ const webWorkerExts = [
50
+ ".worker.js",
51
+ ".worker.jsx",
52
+ ".worker.ts",
53
+ ".worker.tsx"
54
+ ];
55
+ for (const ext of nodeExts) {
56
+ chain.resolve.extensions.prepend(ext);
57
+ }
58
+ if (target === "service-worker") {
59
+ for (const ext of webWorkerExts) {
60
+ chain.resolve.extensions.prepend(ext);
61
+ }
62
+ }
63
+ }
64
+ export {
65
+ applyCallbacks,
66
+ builderPluginAdapterBasic
67
+ };