@modern-js/app-tools 2.15.0 → 2.17.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 (268) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/cjs/analyze/constants.js +37 -61
  3. package/dist/cjs/analyze/generateCode.js +102 -127
  4. package/dist/cjs/analyze/getBundleEntry.js +33 -66
  5. package/dist/cjs/analyze/getClientRoutes/getRoutes.js +61 -117
  6. package/dist/cjs/analyze/getClientRoutes/getRoutesLegacy.js +61 -115
  7. package/dist/cjs/analyze/getClientRoutes/index.js +15 -28
  8. package/dist/cjs/analyze/getClientRoutes/utils.js +24 -48
  9. package/dist/cjs/analyze/getFileSystemEntry.js +39 -79
  10. package/dist/cjs/analyze/getHtmlTemplate.js +88 -98
  11. package/dist/cjs/analyze/getServerRoutes.js +67 -110
  12. package/dist/cjs/analyze/index.js +265 -257
  13. package/dist/cjs/analyze/isDefaultExportFunction.js +66 -44
  14. package/dist/cjs/analyze/makeLegalIdentifier.js +7 -25
  15. package/dist/cjs/analyze/nestedRoutes.js +99 -104
  16. package/dist/cjs/analyze/templates.js +49 -110
  17. package/dist/cjs/analyze/utils.js +98 -102
  18. package/dist/cjs/builder/builder-rspack/adapterCopy.js +58 -100
  19. package/dist/cjs/builder/builder-rspack/index.js +14 -30
  20. package/dist/cjs/builder/builder-webpack/adapterModern.js +33 -50
  21. package/dist/cjs/builder/builder-webpack/createCopyPattern.js +16 -32
  22. package/dist/cjs/builder/builder-webpack/index.js +65 -46
  23. package/dist/cjs/builder/generator/createBuilderOptions.js +10 -26
  24. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +11 -27
  25. package/dist/cjs/builder/generator/getBuilderTargets.js +13 -29
  26. package/dist/cjs/builder/generator/index.js +61 -55
  27. package/dist/cjs/builder/index.js +53 -43
  28. package/dist/cjs/builder/shared/builderPlugins/adapterBasic.js +13 -36
  29. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +90 -90
  30. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +108 -111
  31. package/dist/cjs/builder/shared/builderPlugins/index.js +20 -19
  32. package/dist/cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +30 -30
  33. package/dist/cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +32 -38
  34. package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +86 -116
  35. package/dist/cjs/builder/shared/bundlerPlugins/index.js +20 -19
  36. package/dist/cjs/builder/shared/createCopyInfo.js +16 -42
  37. package/dist/cjs/builder/shared/index.js +20 -19
  38. package/dist/cjs/builder/shared/loaders/serverModuleLoader.js +8 -24
  39. package/dist/cjs/builder/shared/types.js +4 -15
  40. package/dist/cjs/commands/build.js +23 -40
  41. package/dist/cjs/commands/deploy.js +7 -25
  42. package/dist/cjs/commands/dev.js +38 -57
  43. package/dist/cjs/commands/index.js +20 -19
  44. package/dist/cjs/commands/inspect.js +10 -30
  45. package/dist/cjs/commands/serve.js +28 -66
  46. package/dist/cjs/config/default.js +34 -34
  47. package/dist/cjs/config/index.js +20 -19
  48. package/dist/cjs/config/initialize/index.js +11 -29
  49. package/dist/cjs/config/initialize/inits.js +103 -82
  50. package/dist/cjs/config/legacy/createHtmlConfig.js +8 -40
  51. package/dist/cjs/config/legacy/createOutputConfig.js +8 -51
  52. package/dist/cjs/config/legacy/createSourceConfig.js +8 -38
  53. package/dist/cjs/config/legacy/createToolsConfig.js +8 -43
  54. package/dist/cjs/config/legacy/index.js +22 -46
  55. package/dist/cjs/defineConfig.js +16 -31
  56. package/dist/cjs/exports/server.js +7 -25
  57. package/dist/cjs/hooks.js +33 -51
  58. package/dist/cjs/index.js +185 -166
  59. package/dist/cjs/initialize/index.js +84 -100
  60. package/dist/cjs/locale/en.js +13 -27
  61. package/dist/cjs/locale/index.js +18 -28
  62. package/dist/cjs/locale/zh.js +13 -27
  63. package/dist/cjs/schema/Schema.js +27 -31
  64. package/dist/cjs/schema/index.js +141 -71
  65. package/dist/cjs/schema/legacy.js +273 -96
  66. package/dist/cjs/types/config/deploy.js +4 -15
  67. package/dist/cjs/types/config/dev.js +4 -15
  68. package/dist/cjs/types/config/experiments.js +4 -15
  69. package/dist/cjs/types/config/html.js +4 -15
  70. package/dist/cjs/types/config/index.js +18 -17
  71. package/dist/cjs/types/config/output.js +4 -15
  72. package/dist/cjs/types/config/performance.js +4 -15
  73. package/dist/cjs/types/config/security.js +4 -15
  74. package/dist/cjs/types/config/source.js +4 -15
  75. package/dist/cjs/types/config/tools.js +4 -15
  76. package/dist/cjs/types/hooks.js +4 -15
  77. package/dist/cjs/types/index.js +20 -19
  78. package/dist/cjs/types/legacyConfig/deploy.js +4 -15
  79. package/dist/cjs/types/legacyConfig/dev.js +4 -15
  80. package/dist/cjs/types/legacyConfig/index.js +4 -15
  81. package/dist/cjs/types/legacyConfig/output.js +4 -15
  82. package/dist/cjs/types/legacyConfig/source.js +4 -15
  83. package/dist/cjs/types/legacyConfig/tools.js +4 -15
  84. package/dist/cjs/types/utils.js +4 -15
  85. package/dist/cjs/utils/config.js +74 -79
  86. package/dist/cjs/utils/createServer.js +16 -42
  87. package/dist/cjs/utils/env.js +7 -25
  88. package/dist/cjs/utils/generateWatchFiles.js +31 -52
  89. package/dist/cjs/utils/getSelectedEntries.js +13 -35
  90. package/dist/cjs/utils/getServerInternalPlugins.js +8 -29
  91. package/dist/cjs/utils/printInstructions.js +10 -28
  92. package/dist/cjs/utils/restart.js +13 -31
  93. package/dist/cjs/utils/routes.js +18 -39
  94. package/dist/cjs/utils/types.js +4 -15
  95. package/dist/esm/analyze/constants.js +40 -41
  96. package/dist/esm/analyze/generateCode.js +477 -455
  97. package/dist/esm/analyze/getBundleEntry.js +53 -54
  98. package/dist/esm/analyze/getClientRoutes/getRoutes.js +201 -202
  99. package/dist/esm/analyze/getClientRoutes/getRoutesLegacy.js +199 -200
  100. package/dist/esm/analyze/getClientRoutes/index.js +2 -3
  101. package/dist/esm/analyze/getClientRoutes/utils.js +15 -15
  102. package/dist/esm/analyze/getFileSystemEntry.js +86 -87
  103. package/dist/esm/analyze/getHtmlTemplate.js +289 -278
  104. package/dist/esm/analyze/getServerRoutes.js +203 -190
  105. package/dist/esm/analyze/index.js +679 -651
  106. package/dist/esm/analyze/isDefaultExportFunction.js +38 -39
  107. package/dist/esm/analyze/makeLegalIdentifier.js +8 -9
  108. package/dist/esm/analyze/nestedRoutes.js +400 -392
  109. package/dist/esm/analyze/templates.js +536 -509
  110. package/dist/esm/analyze/utils.js +357 -336
  111. package/dist/esm/builder/builder-rspack/adapterCopy.js +347 -330
  112. package/dist/esm/builder/builder-rspack/index.js +8 -9
  113. package/dist/esm/builder/builder-webpack/adapterModern.js +51 -43
  114. package/dist/esm/builder/builder-webpack/createCopyPattern.js +31 -32
  115. package/dist/esm/builder/builder-webpack/index.js +266 -249
  116. package/dist/esm/builder/generator/createBuilderOptions.js +37 -38
  117. package/dist/esm/builder/generator/createBuilderProviderConfig.js +62 -63
  118. package/dist/esm/builder/generator/getBuilderTargets.js +13 -14
  119. package/dist/esm/builder/generator/index.js +203 -196
  120. package/dist/esm/builder/index.js +183 -176
  121. package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +90 -91
  122. package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +300 -291
  123. package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +337 -329
  124. package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +108 -97
  125. package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +66 -64
  126. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +364 -337
  127. package/dist/esm/builder/shared/createCopyInfo.js +9 -10
  128. package/dist/esm/builder/shared/loaders/serverModuleLoader.js +2 -3
  129. package/dist/esm/builder/shared/types.js +1 -1
  130. package/dist/esm/commands/build.js +279 -272
  131. package/dist/esm/commands/deploy.js +150 -144
  132. package/dist/esm/commands/dev.js +296 -289
  133. package/dist/esm/commands/inspect.js +144 -138
  134. package/dist/esm/commands/serve.js +241 -235
  135. package/dist/esm/config/default.js +202 -203
  136. package/dist/esm/config/initialize/index.js +7 -8
  137. package/dist/esm/config/initialize/inits.js +189 -181
  138. package/dist/esm/config/legacy/createHtmlConfig.js +17 -18
  139. package/dist/esm/config/legacy/createOutputConfig.js +41 -42
  140. package/dist/esm/config/legacy/createSourceConfig.js +38 -39
  141. package/dist/esm/config/legacy/createToolsConfig.js +24 -25
  142. package/dist/esm/config/legacy/index.js +31 -32
  143. package/dist/esm/defineConfig.js +52 -53
  144. package/dist/esm/exports/server.js +1 -2
  145. package/dist/esm/hooks.js +26 -27
  146. package/dist/esm/index.js +685 -671
  147. package/dist/esm/initialize/index.js +276 -269
  148. package/dist/esm/locale/en.js +36 -37
  149. package/dist/esm/locale/index.js +2 -2
  150. package/dist/esm/locale/zh.js +36 -37
  151. package/dist/esm/schema/Schema.js +255 -244
  152. package/dist/esm/schema/index.js +165 -165
  153. package/dist/esm/schema/legacy.js +316 -317
  154. package/dist/esm/types/config/deploy.js +1 -1
  155. package/dist/esm/types/config/dev.js +1 -1
  156. package/dist/esm/types/config/experiments.js +1 -1
  157. package/dist/esm/types/config/html.js +1 -1
  158. package/dist/esm/types/config/output.js +1 -1
  159. package/dist/esm/types/config/performance.js +1 -1
  160. package/dist/esm/types/config/security.js +1 -1
  161. package/dist/esm/types/config/source.js +1 -1
  162. package/dist/esm/types/config/tools.js +1 -1
  163. package/dist/esm/types/hooks.js +1 -1
  164. package/dist/esm/types/legacyConfig/deploy.js +1 -1
  165. package/dist/esm/types/legacyConfig/dev.js +1 -1
  166. package/dist/esm/types/legacyConfig/index.js +1 -1
  167. package/dist/esm/types/legacyConfig/output.js +1 -1
  168. package/dist/esm/types/legacyConfig/source.js +1 -1
  169. package/dist/esm/types/legacyConfig/tools.js +1 -1
  170. package/dist/esm/types/utils.js +1 -1
  171. package/dist/esm/utils/config.js +285 -278
  172. package/dist/esm/utils/createServer.js +242 -234
  173. package/dist/esm/utils/env.js +11 -12
  174. package/dist/esm/utils/generateWatchFiles.js +205 -190
  175. package/dist/esm/utils/getSelectedEntries.js +180 -173
  176. package/dist/esm/utils/getServerInternalPlugins.js +197 -191
  177. package/dist/esm/utils/printInstructions.js +147 -141
  178. package/dist/esm/utils/restart.js +179 -173
  179. package/dist/esm/utils/routes.js +146 -139
  180. package/dist/esm/utils/types.js +1 -1
  181. package/dist/esm-node/analyze/constants.js +31 -46
  182. package/dist/esm-node/analyze/generateCode.js +28 -94
  183. package/dist/esm-node/analyze/getBundleEntry.js +8 -27
  184. package/dist/esm-node/analyze/getClientRoutes/getRoutes.js +24 -65
  185. package/dist/esm-node/analyze/getClientRoutes/getRoutesLegacy.js +24 -63
  186. package/dist/esm-node/analyze/getClientRoutes/index.js +2 -6
  187. package/dist/esm-node/analyze/getClientRoutes/utils.js +5 -19
  188. package/dist/esm-node/analyze/getFileSystemEntry.js +10 -37
  189. package/dist/esm-node/analyze/getHtmlTemplate.js +29 -59
  190. package/dist/esm-node/analyze/getServerRoutes.js +43 -75
  191. package/dist/esm-node/analyze/index.js +208 -230
  192. package/dist/esm-node/analyze/isDefaultExportFunction.js +7 -5
  193. package/dist/esm-node/analyze/makeLegalIdentifier.js +1 -4
  194. package/dist/esm-node/analyze/nestedRoutes.js +23 -43
  195. package/dist/esm-node/analyze/templates.js +22 -69
  196. package/dist/esm-node/analyze/utils.js +66 -60
  197. package/dist/esm-node/builder/builder-rspack/adapterCopy.js +40 -62
  198. package/dist/esm-node/builder/builder-rspack/index.js +4 -5
  199. package/dist/esm-node/builder/builder-webpack/adapterModern.js +24 -26
  200. package/dist/esm-node/builder/builder-webpack/createCopyPattern.js +3 -10
  201. package/dist/esm-node/builder/builder-webpack/index.js +13 -11
  202. package/dist/esm-node/builder/generator/createBuilderOptions.js +4 -5
  203. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +5 -6
  204. package/dist/esm-node/builder/generator/getBuilderTargets.js +5 -11
  205. package/dist/esm-node/builder/generator/index.js +7 -16
  206. package/dist/esm-node/builder/index.js +2 -7
  207. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +2 -6
  208. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +34 -60
  209. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +54 -74
  210. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +23 -8
  211. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +25 -16
  212. package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.js +66 -76
  213. package/dist/esm-node/builder/shared/createCopyInfo.js +2 -8
  214. package/dist/esm-node/builder/shared/loaders/serverModuleLoader.js +1 -4
  215. package/dist/esm-node/builder/shared/types.js +1 -0
  216. package/dist/esm-node/commands/build.js +7 -9
  217. package/dist/esm-node/commands/deploy.js +1 -4
  218. package/dist/esm-node/commands/dev.js +19 -27
  219. package/dist/esm-node/commands/inspect.js +3 -8
  220. package/dist/esm-node/commands/serve.js +7 -25
  221. package/dist/esm-node/config/default.js +20 -11
  222. package/dist/esm-node/config/initialize/index.js +1 -4
  223. package/dist/esm-node/config/initialize/inits.js +48 -54
  224. package/dist/esm-node/config/legacy/createHtmlConfig.js +2 -19
  225. package/dist/esm-node/config/legacy/createOutputConfig.js +2 -30
  226. package/dist/esm-node/config/legacy/createSourceConfig.js +2 -17
  227. package/dist/esm-node/config/legacy/createToolsConfig.js +2 -22
  228. package/dist/esm-node/config/legacy/index.js +3 -18
  229. package/dist/esm-node/defineConfig.js +7 -13
  230. package/dist/esm-node/exports/server.js +1 -4
  231. package/dist/esm-node/hooks.js +2 -9
  232. package/dist/esm-node/index.js +95 -120
  233. package/dist/esm-node/initialize/index.js +74 -87
  234. package/dist/esm-node/locale/en.js +7 -6
  235. package/dist/esm-node/locale/index.js +5 -5
  236. package/dist/esm-node/locale/zh.js +7 -6
  237. package/dist/esm-node/schema/Schema.js +19 -8
  238. package/dist/esm-node/schema/index.js +121 -36
  239. package/dist/esm-node/schema/legacy.js +262 -72
  240. package/dist/esm-node/types/config/deploy.js +1 -0
  241. package/dist/esm-node/types/config/dev.js +1 -0
  242. package/dist/esm-node/types/config/experiments.js +1 -0
  243. package/dist/esm-node/types/config/html.js +1 -0
  244. package/dist/esm-node/types/config/output.js +1 -0
  245. package/dist/esm-node/types/config/performance.js +1 -0
  246. package/dist/esm-node/types/config/security.js +1 -0
  247. package/dist/esm-node/types/config/source.js +1 -0
  248. package/dist/esm-node/types/config/tools.js +1 -0
  249. package/dist/esm-node/types/hooks.js +1 -0
  250. package/dist/esm-node/types/legacyConfig/deploy.js +1 -0
  251. package/dist/esm-node/types/legacyConfig/dev.js +1 -0
  252. package/dist/esm-node/types/legacyConfig/index.js +1 -0
  253. package/dist/esm-node/types/legacyConfig/output.js +1 -0
  254. package/dist/esm-node/types/legacyConfig/source.js +1 -0
  255. package/dist/esm-node/types/legacyConfig/tools.js +1 -0
  256. package/dist/esm-node/types/utils.js +1 -0
  257. package/dist/esm-node/utils/config.js +16 -47
  258. package/dist/esm-node/utils/createServer.js +5 -12
  259. package/dist/esm-node/utils/env.js +1 -4
  260. package/dist/esm-node/utils/generateWatchFiles.js +13 -20
  261. package/dist/esm-node/utils/getSelectedEntries.js +2 -9
  262. package/dist/esm-node/utils/getServerInternalPlugins.js +2 -8
  263. package/dist/esm-node/utils/printInstructions.js +1 -4
  264. package/dist/esm-node/utils/restart.js +2 -11
  265. package/dist/esm-node/utils/routes.js +4 -4
  266. package/dist/esm-node/utils/types.js +1 -0
  267. package/dist/types/index.d.ts +2 -2
  268. package/package.json +29 -25
@@ -1,548 +1,575 @@
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;
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length)
3
+ len = arr.length;
4
+ for (var i = 0, arr2 = new Array(len); i < len; i++)
5
+ arr2[i] = arr[i];
6
+ return arr2;
5
7
  }
6
- function _arrayWithHoles(arr) {
7
- if (Array.isArray(arr)) return arr;
8
+ function _array_with_holes(arr) {
9
+ if (Array.isArray(arr))
10
+ return arr;
8
11
  }
9
12
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10
- try {
11
- var info = gen[key](arg);
12
- var value = info.value;
13
- } catch (error) {
14
- reject(error);
15
- return;
16
- }
17
- if (info.done) {
18
- resolve(value);
19
- } else {
20
- Promise.resolve(value).then(_next, _throw);
21
- }
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
+ }
22
25
  }
23
- function _asyncToGenerator(fn) {
24
- return function() {
25
- var self = this, args = arguments;
26
- return new Promise(function(resolve, reject) {
27
- var gen = fn.apply(self, args);
28
- function _next(value) {
29
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
30
- }
31
- function _throw(err) {
32
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
33
- }
34
- _next(undefined);
35
- });
36
- };
26
+ function _async_to_generator(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(void 0);
38
+ });
39
+ };
37
40
  }
38
- function _defineProperty(obj, key, value) {
39
- if (key in obj) {
40
- Object.defineProperty(obj, key, {
41
- value: value,
42
- enumerable: true,
43
- configurable: true,
44
- writable: true
45
- });
46
- } else {
47
- obj[key] = value;
48
- }
49
- return obj;
41
+ function _define_property(obj, key, value) {
42
+ if (key in obj) {
43
+ Object.defineProperty(obj, key, {
44
+ value,
45
+ enumerable: true,
46
+ configurable: true,
47
+ writable: true
48
+ });
49
+ } else {
50
+ obj[key] = value;
51
+ }
52
+ return obj;
50
53
  }
51
- function _iterableToArrayLimit(arr, i) {
52
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
53
- if (_i == null) return;
54
- var _arr = [];
55
- var _n = true;
56
- var _d = false;
57
- var _s, _e;
54
+ function _iterable_to_array_limit(arr, i) {
55
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
56
+ if (_i == null)
57
+ return;
58
+ var _arr = [];
59
+ var _n = true;
60
+ var _d = false;
61
+ var _s, _e;
62
+ try {
63
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
64
+ _arr.push(_s.value);
65
+ if (i && _arr.length === i)
66
+ break;
67
+ }
68
+ } catch (err) {
69
+ _d = true;
70
+ _e = err;
71
+ } finally {
58
72
  try {
59
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
60
- _arr.push(_s.value);
61
- if (i && _arr.length === i) break;
62
- }
63
- } catch (err) {
64
- _d = true;
65
- _e = err;
66
- } finally{
67
- try {
68
- if (!_n && _i["return"] != null) _i["return"]();
69
- } finally{
70
- if (_d) throw _e;
71
- }
73
+ if (!_n && _i["return"] != null)
74
+ _i["return"]();
75
+ } finally {
76
+ if (_d)
77
+ throw _e;
72
78
  }
73
- return _arr;
79
+ }
80
+ return _arr;
74
81
  }
75
- function _nonIterableRest() {
76
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
82
+ function _non_iterable_rest() {
83
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
77
84
  }
78
- function _objectSpread(target) {
79
- for(var i = 1; i < arguments.length; i++){
80
- var source = arguments[i] != null ? arguments[i] : {};
81
- var ownKeys = Object.keys(source);
82
- if (typeof Object.getOwnPropertySymbols === "function") {
83
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
84
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
85
- }));
86
- }
87
- ownKeys.forEach(function(key) {
88
- _defineProperty(target, key, source[key]);
89
- });
85
+ function _object_spread(target) {
86
+ for (var i = 1; i < arguments.length; i++) {
87
+ var source = arguments[i] != null ? arguments[i] : {};
88
+ var ownKeys2 = Object.keys(source);
89
+ if (typeof Object.getOwnPropertySymbols === "function") {
90
+ ownKeys2 = ownKeys2.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
91
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
92
+ }));
90
93
  }
91
- return target;
94
+ ownKeys2.forEach(function(key) {
95
+ _define_property(target, key, source[key]);
96
+ });
97
+ }
98
+ return target;
92
99
  }
93
100
  function ownKeys(object, enumerableOnly) {
94
- var keys = Object.keys(object);
95
- if (Object.getOwnPropertySymbols) {
96
- var symbols = Object.getOwnPropertySymbols(object);
97
- if (enumerableOnly) {
98
- symbols = symbols.filter(function(sym) {
99
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
100
- });
101
- }
102
- keys.push.apply(keys, symbols);
101
+ var keys = Object.keys(object);
102
+ if (Object.getOwnPropertySymbols) {
103
+ var symbols = Object.getOwnPropertySymbols(object);
104
+ if (enumerableOnly) {
105
+ symbols = symbols.filter(function(sym) {
106
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
107
+ });
103
108
  }
104
- return keys;
109
+ keys.push.apply(keys, symbols);
110
+ }
111
+ return keys;
105
112
  }
106
- function _objectSpreadProps(target, source) {
107
- source = source != null ? source : {};
108
- if (Object.getOwnPropertyDescriptors) {
109
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
110
- } else {
111
- ownKeys(Object(source)).forEach(function(key) {
112
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
113
- });
114
- }
115
- return target;
113
+ function _object_spread_props(target, source) {
114
+ source = source != null ? source : {};
115
+ if (Object.getOwnPropertyDescriptors) {
116
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
117
+ } else {
118
+ ownKeys(Object(source)).forEach(function(key) {
119
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
120
+ });
121
+ }
122
+ return target;
116
123
  }
117
- function _slicedToArray(arr, i) {
118
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
124
+ function _sliced_to_array(arr, i) {
125
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
119
126
  }
120
- function _unsupportedIterableToArray(o, minLen) {
121
- if (!o) return;
122
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
123
- var n = Object.prototype.toString.call(o).slice(8, -1);
124
- if (n === "Object" && o.constructor) n = o.constructor.name;
125
- if (n === "Map" || n === "Set") return Array.from(n);
126
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
127
+ function _unsupported_iterable_to_array(o, minLen) {
128
+ if (!o)
129
+ return;
130
+ if (typeof o === "string")
131
+ return _array_like_to_array(o, minLen);
132
+ var n = Object.prototype.toString.call(o).slice(8, -1);
133
+ if (n === "Object" && o.constructor)
134
+ n = o.constructor.name;
135
+ if (n === "Map" || n === "Set")
136
+ return Array.from(n);
137
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
138
+ return _array_like_to_array(o, minLen);
127
139
  }
128
- var __generator = this && this.__generator || function(thisArg, body) {
129
- var f, y, t, g, _ = {
130
- label: 0,
131
- sent: function() {
132
- if (t[0] & 1) throw t[1];
133
- return t[1];
134
- },
135
- trys: [],
136
- ops: []
140
+ var __generator = function(thisArg, body) {
141
+ var f, y, t, g, _ = {
142
+ label: 0,
143
+ sent: function() {
144
+ if (t[0] & 1)
145
+ throw t[1];
146
+ return t[1];
147
+ },
148
+ trys: [],
149
+ ops: []
150
+ };
151
+ return g = {
152
+ next: verb(0),
153
+ "throw": verb(1),
154
+ "return": verb(2)
155
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
156
+ return this;
157
+ }), g;
158
+ function verb(n) {
159
+ return function(v) {
160
+ return step([
161
+ n,
162
+ v
163
+ ]);
137
164
  };
138
- return(g = {
139
- next: verb(0),
140
- "throw": verb(1),
141
- "return": verb(2)
142
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
143
- return this;
144
- }), g);
145
- function verb(n) {
146
- return function(v) {
147
- return step([
148
- n,
149
- v
150
- ]);
151
- };
152
- }
153
- function step(op) {
154
- if (f) throw new TypeError("Generator is already executing.");
155
- while(_)try {
156
- 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;
157
- if (y = 0, t) op = [
158
- op[0] & 2,
159
- t.value
160
- ];
161
- switch(op[0]){
162
- case 0:
163
- case 1:
164
- t = op;
165
- break;
166
- case 4:
167
- _.label++;
168
- return {
169
- value: op[1],
170
- done: false
171
- };
172
- case 5:
173
- _.label++;
174
- y = op[1];
175
- op = [
176
- 0
177
- ];
178
- continue;
179
- case 7:
180
- op = _.ops.pop();
181
- _.trys.pop();
182
- continue;
183
- default:
184
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
185
- _ = 0;
186
- continue;
187
- }
188
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
189
- _.label = op[1];
190
- break;
191
- }
192
- if (op[0] === 6 && _.label < t[1]) {
193
- _.label = t[1];
194
- t = op;
195
- break;
196
- }
197
- if (t && _.label < t[2]) {
198
- _.label = t[2];
199
- _.ops.push(op);
200
- break;
201
- }
202
- if (t[2]) _.ops.pop();
203
- _.trys.pop();
204
- continue;
205
- }
206
- op = body.call(thisArg, _);
207
- } catch (e) {
165
+ }
166
+ function step(op) {
167
+ if (f)
168
+ throw new TypeError("Generator is already executing.");
169
+ while (_)
170
+ try {
171
+ 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)
172
+ return t;
173
+ if (y = 0, t)
174
+ op = [
175
+ op[0] & 2,
176
+ t.value
177
+ ];
178
+ switch (op[0]) {
179
+ case 0:
180
+ case 1:
181
+ t = op;
182
+ break;
183
+ case 4:
184
+ _.label++;
185
+ return {
186
+ value: op[1],
187
+ done: false
188
+ };
189
+ case 5:
190
+ _.label++;
191
+ y = op[1];
208
192
  op = [
209
- 6,
210
- e
193
+ 0
211
194
  ];
212
- y = 0;
213
- } finally{
214
- f = t = 0;
195
+ continue;
196
+ case 7:
197
+ op = _.ops.pop();
198
+ _.trys.pop();
199
+ continue;
200
+ default:
201
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
202
+ _ = 0;
203
+ continue;
204
+ }
205
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
206
+ _.label = op[1];
207
+ break;
208
+ }
209
+ if (op[0] === 6 && _.label < t[1]) {
210
+ _.label = t[1];
211
+ t = op;
212
+ break;
213
+ }
214
+ if (t && _.label < t[2]) {
215
+ _.label = t[2];
216
+ _.ops.push(op);
217
+ break;
218
+ }
219
+ if (t[2])
220
+ _.ops.pop();
221
+ _.trys.pop();
222
+ continue;
215
223
  }
216
- if (op[0] & 5) throw op[1];
217
- return {
218
- value: op[0] ? op[1] : void 0,
219
- done: true
220
- };
221
- }
224
+ op = body.call(thisArg, _);
225
+ } catch (e) {
226
+ op = [
227
+ 6,
228
+ e
229
+ ];
230
+ y = 0;
231
+ } finally {
232
+ f = t = 0;
233
+ }
234
+ if (op[0] & 5)
235
+ throw op[1];
236
+ return {
237
+ value: op[0] ? op[1] : void 0,
238
+ done: true
239
+ };
240
+ }
222
241
  };
223
242
  import path from "path";
224
243
  import { fs, getEntryOptions, isSSGEntry, slash } from "@modern-js/utils";
225
244
  import { APP_CONFIG_NAME, TEMP_LOADERS_DIR } from "./constants";
226
245
  import { getServerLoadersFile } from "./utils";
227
- var index = function(param) {
228
- var mountId = param.mountId, imports = param.imports, renderFunction2 = param.renderFunction, exportStatement = param.exportStatement;
229
- return "\nconst IS_BROWSER = typeof window !== 'undefined' && window.name !== 'nodejs';\nconst IS_REACT18 = process.env.IS_REACT18 === 'true';\nconst MOUNT_ID = '".concat(mountId, "';\n\n").concat(imports, "\n\nlet AppWrapper = null;\n\nlet root = null;\n\nfunction render() {\n ").concat(renderFunction2, "\n}\n\nAppWrapper = render();\n\n").concat(exportStatement, ";\n");
246
+ export var index = function(param) {
247
+ var mountId = param.mountId, imports = param.imports, renderFunction2 = param.renderFunction, exportStatement = param.exportStatement;
248
+ return "\nconst IS_BROWSER = typeof window !== 'undefined' && window.name !== 'nodejs';\nconst IS_REACT18 = process.env.IS_REACT18 === 'true';\nconst MOUNT_ID = '".concat(mountId, "';\n\n").concat(imports, "\n\nlet AppWrapper = null;\n\nlet root = null;\n\nfunction render() {\n ").concat(renderFunction2, "\n}\n\nAppWrapper = render();\n\n").concat(exportStatement, ";\n");
230
249
  };
231
- var renderFunction = function(param) {
232
- var plugins = param.plugins, customBootstrap = param.customBootstrap, fileSystemRoutes2 = param.fileSystemRoutes;
233
- var bootstrap = "bootstrap(AppWrapper, MOUNT_ID, root, ReactDOM)";
234
- return "\n const finalAppConfig = {\n ...App.config,\n ...typeof ".concat(APP_CONFIG_NAME, " === 'function' ? ").concat(APP_CONFIG_NAME, "() : {},\n }\n\n AppWrapper = createApp({\n plugins: [\n ").concat(plugins.map(function(param) {
235
- var name = param.name, options = param.options, args = param.args;
236
- return "".concat(name, "({...").concat(options, ", ...finalAppConfig?.").concat(args || name, "}),");
237
- }).join("\n"), "\n ]\n })(").concat(fileSystemRoutes2 ? "" : "App", ")\n\n\n if(!AppWrapper.init && typeof appInit !== 'undefined') {\n AppWrapper.init = appInit;\n }\n\n\n if (IS_BROWSER) {\n ").concat(customBootstrap ? "customBootstrap(AppWrapper, () => ".concat(bootstrap, ");") : "".concat(bootstrap, ";"), "\n }\n\n return AppWrapper\n");
250
+ export var renderFunction = function(param) {
251
+ var plugins = param.plugins, customBootstrap = param.customBootstrap, fileSystemRoutes2 = param.fileSystemRoutes;
252
+ var bootstrap = "bootstrap(AppWrapper, MOUNT_ID, root, ReactDOM)";
253
+ return "\n const finalAppConfig = {\n ...App.config,\n ...typeof ".concat(APP_CONFIG_NAME, " === 'function' ? ").concat(APP_CONFIG_NAME, "() : {},\n }\n\n AppWrapper = createApp({\n plugins: [\n ").concat(plugins.map(function(param2) {
254
+ var name = param2.name, options = param2.options, args = param2.args;
255
+ return "".concat(name, "({...").concat(options, ", ...finalAppConfig?.").concat(args || name, "}),");
256
+ }).join("\n"), "\n ]\n })(").concat(fileSystemRoutes2 ? "" : "App", ")\n\n\n if(!AppWrapper.init && typeof appInit !== 'undefined') {\n AppWrapper.init = appInit;\n }\n\n\n if (IS_BROWSER) {\n ").concat(customBootstrap ? "customBootstrap(AppWrapper, () => ".concat(bootstrap, ");") : "".concat(bootstrap, ";"), "\n }\n\n return AppWrapper\n");
238
257
  };
239
- var html = function(partials) {
240
- return "\n<!DOCTYPE html>\n<html>\n<head>\n <%= meta %>\n <title><%= title %></title>\n\n ".concat(partials.top.join("\n"), "\n\n ").concat(partials.head.join("\n"), "\n\n</head>\n\n<body>\n <noscript>\n We're sorry but react app doesn't work properly without JavaScript enabled. Please enable it to continue.\n </noscript>\n <div id=\"<%= mountId %>\"><!--<?- html ?>--></div>\n ").concat(partials.body.join("\n"), "\n <!--<?- chunksMap.js ?>-->\n <!--<?- SSRDataScript ?>-->\n <!--<?- bottomTemplate ?>-->\n</body>\n\n</html>\n");
258
+ export var html = function(partials) {
259
+ return "\n<!DOCTYPE html>\n<html>\n<head>\n <%= meta %>\n <title><%= title %></title>\n\n ".concat(partials.top.join("\n"), "\n\n ").concat(partials.head.join("\n"), `
260
+
261
+ </head>
262
+
263
+ <body>
264
+ <noscript>
265
+ We're sorry but react app doesn't work properly without JavaScript enabled. Please enable it to continue.
266
+ </noscript>
267
+ <div id="<%= mountId %>"><!--<?- html ?>--></div>
268
+ `).concat(partials.body.join("\n"), "\n <!--<?- chunksMap.js ?>-->\n <!--<?- SSRDataScript ?>-->\n <!--<?- bottomTemplate ?>-->\n</body>\n\n</html>\n");
241
269
  };
242
- var routesForServer = function(param) {
243
- var routes = param.routes;
244
- var loaders = [];
245
- var traverseRouteTree = function(route) {
246
- var children;
247
- if ("children" in route && route.children) {
248
- var _route_children;
249
- children = route === null || route === void 0 ? void 0 : (_route_children = route.children) === null || _route_children === void 0 ? void 0 : _route_children.map(traverseRouteTree);
250
- }
251
- var loader;
252
- if (route.type === "nested") {
253
- if (route.loader) {
254
- loaders.push(route.loader);
255
- loader = "loader_".concat(loaders.length - 1);
256
- }
257
- }
258
- var finalRoute = _objectSpreadProps(_objectSpread({}, route), {
259
- loader: loader,
260
- children: children
261
- });
262
- return finalRoute;
263
- };
264
- var routesCode = "\n export const routes = [\n ";
265
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
266
- try {
267
- for(var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
268
- var route = _step.value;
269
- if ("type" in route) {
270
- var newRoute = traverseRouteTree(route);
271
- routesCode += "".concat(JSON.stringify(newRoute, null, 2).replace(/"(loader_[^"]+)"/g, "$1"), ",");
272
- } else {
273
- routesCode += "".concat(JSON.stringify(route, null, 2));
274
- }
275
- }
276
- } catch (err) {
277
- _didIteratorError = true;
278
- _iteratorError = err;
279
- } finally{
280
- try {
281
- if (!_iteratorNormalCompletion && _iterator.return != null) {
282
- _iterator.return();
283
- }
284
- } finally{
285
- if (_didIteratorError) {
286
- throw _iteratorError;
287
- }
288
- }
270
+ export var routesForServer = function(param) {
271
+ var routes = param.routes;
272
+ var loaders = [];
273
+ var traverseRouteTree = function(route2) {
274
+ var children;
275
+ if ("children" in route2 && route2.children) {
276
+ var _route_children;
277
+ children = route2 === null || route2 === void 0 ? void 0 : (_route_children = route2.children) === null || _route_children === void 0 ? void 0 : _route_children.map(traverseRouteTree);
289
278
  }
290
- routesCode += "\n];";
291
- var importLoadersCode = "";
292
- if (loaders.length > 0) {
293
- importLoadersCode = loaders.map(function(loader, index2) {
294
- return "import loader_".concat(index2, ' from "').concat(slash(loader), '"');
295
- }).join("\n");
279
+ var loader;
280
+ if (route2.type === "nested") {
281
+ if (route2.loader) {
282
+ loaders.push(route2.loader);
283
+ loader = "loader_".concat(loaders.length - 1);
284
+ }
285
+ }
286
+ var finalRoute = _object_spread_props(_object_spread({}, route2), {
287
+ loader,
288
+ children
289
+ });
290
+ return finalRoute;
291
+ };
292
+ var routesCode = "\n export const routes = [\n ";
293
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
294
+ try {
295
+ for (var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
296
+ var route = _step.value;
297
+ if ("type" in route) {
298
+ var newRoute = traverseRouteTree(route);
299
+ routesCode += "".concat(JSON.stringify(newRoute, null, 2).replace(/"(loader_[^"]+)"/g, "$1"), ",");
300
+ } else {
301
+ routesCode += "".concat(JSON.stringify(route, null, 2));
302
+ }
296
303
  }
297
- return "\n ".concat(importLoadersCode, "\n ").concat(routesCode, "\n ");
304
+ } catch (err) {
305
+ _didIteratorError = true;
306
+ _iteratorError = err;
307
+ } finally {
308
+ try {
309
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
310
+ _iterator.return();
311
+ }
312
+ } finally {
313
+ if (_didIteratorError) {
314
+ throw _iteratorError;
315
+ }
316
+ }
317
+ }
318
+ routesCode += "\n];";
319
+ var importLoadersCode = "";
320
+ if (loaders.length > 0) {
321
+ importLoadersCode = loaders.map(function(loader, index2) {
322
+ return "import loader_".concat(index2, ' from "').concat(slash(loader), '"');
323
+ }).join("\n");
324
+ }
325
+ return "\n ".concat(importLoadersCode, "\n ").concat(routesCode, "\n ");
298
326
  };
299
327
  var createMatchReg = function(keyword) {
300
- return new RegExp('("'.concat(keyword, '":\\s)"([^,]+)"'), "g");
328
+ return new RegExp('("'.concat(keyword, '":\\s)"([^,]+)"'), "g");
301
329
  };
302
- var fileSystemRoutes = function() {
303
- var _ref = _asyncToGenerator(function(param) {
304
- var routes, ssrMode, nestedRoutesEntry, entryName, internalDirectory, _param_splitRouteChunks, splitRouteChunks, components, loadings, errors, loaders, loadersMap, configs, configsMap, loadersMapFile, importLazyCode, rootLayoutCode, getDataLoaderPath, traverseRouteTree, routeComponentsCode, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, route, newRoute, routeStr, keywords, regs, newRouteStr, component, finalRoute, keywords1, routeStr1, regs1, newRouteStr1, importLoadingCode, importComponentsCode, importErrorComponentsCode, importLoadersCode, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, _step_value, key, loaderInfo, importConfigsCode, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _step_value1, key1, configPath;
305
- return __generator(this, function(_state) {
306
- switch(_state.label){
307
- case 0:
308
- routes = param.routes, ssrMode = param.ssrMode, nestedRoutesEntry = param.nestedRoutesEntry, entryName = param.entryName, internalDirectory = param.internalDirectory, _param_splitRouteChunks = param.splitRouteChunks, splitRouteChunks = _param_splitRouteChunks === void 0 ? true : _param_splitRouteChunks;
309
- components = [];
310
- loadings = [];
311
- errors = [];
312
- loaders = [];
313
- loadersMap = {};
314
- configs = [];
315
- configsMap = {};
316
- loadersMapFile = path.join(internalDirectory, entryName, TEMP_LOADERS_DIR, "map.json");
317
- importLazyCode = '\n import { lazy } from "react";\n import loadable, { lazy as loadableLazy } from "@modern-js/runtime/loadable"\n ';
318
- rootLayoutCode = "";
319
- getDataLoaderPath = function(loaderId) {
320
- if (!ssrMode) {
321
- return "";
322
- }
323
- if (nestedRoutesEntry) {
324
- return "?mapFile=".concat(slash(loadersMapFile), "&loaderId=").concat(loaderId);
325
- }
326
- return "";
327
- };
328
- traverseRouteTree = function(route) {
329
- var children;
330
- if ("children" in route && route.children) {
331
- var _route_children;
332
- children = route === null || route === void 0 ? void 0 : (_route_children = route.children) === null || _route_children === void 0 ? void 0 : _route_children.map(traverseRouteTree);
333
- }
334
- var loading;
335
- var error;
336
- var loader;
337
- var config;
338
- var component = "";
339
- var lazyImport = null;
340
- if (route.type === "nested") {
341
- if (route.loading) {
342
- loadings.push(route.loading);
343
- loading = "loading_".concat(loadings.length - 1);
344
- }
345
- if (route.error) {
346
- errors.push(route.error);
347
- error = "error_".concat(errors.length - 1);
348
- }
349
- if (route.loader) {
350
- loaders.push(route.loader);
351
- var loaderId = loaders.length - 1;
352
- loader = "loader_".concat(loaderId);
353
- loadersMap[loader] = {
354
- routeId: route.id,
355
- filePath: route.loader,
356
- inline: false
357
- };
358
- }
359
- if (typeof route.config === "string") {
360
- configs.push(route.config);
361
- var configId = configs.length - 1;
362
- config = "config_".concat(configId);
363
- configsMap[config] = route.config;
364
- }
365
- if (route._component) {
366
- if (splitRouteChunks) {
367
- if (route.isRoot) {
368
- rootLayoutCode = "import RootLayout from '".concat(route._component, "'");
369
- component = "RootLayout";
370
- } else if (ssrMode === "string") {
371
- lazyImport = '() => import(/* webpackChunkName: "'.concat(route.id, "\" */ '").concat(route._component, "')");
372
- component = "loadable(".concat(lazyImport, ")");
373
- } else {
374
- lazyImport = '() => import(/* webpackChunkName: "'.concat(route.id, "\" */ '").concat(route._component, "')");
375
- component = "lazy(".concat(lazyImport, ")");
376
- }
377
- } else {
378
- components.push(route._component);
379
- component = "component_".concat(components.length - 1);
380
- }
381
- }
382
- } else if (route._component) {
383
- if (splitRouteChunks) {
384
- lazyImport = "() => import('".concat(route._component, "')");
385
- component = "loadable(".concat(lazyImport, ")");
386
- } else {
387
- components.push(route._component);
388
- component = "component_".concat(components.length - 1);
389
- }
390
- }
391
- var finalRoute = _objectSpreadProps(_objectSpread({}, route), {
392
- lazyImport: lazyImport,
393
- loading: loading,
394
- loader: loader,
395
- config: config,
396
- error: error,
397
- children: children
398
- });
399
- if (route._component) {
400
- finalRoute.component = component;
401
- }
402
- return finalRoute;
403
- };
404
- routeComponentsCode = "\n export const routes = [\n ";
405
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
406
- try {
407
- for(_iterator = routes[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
408
- route = _step.value;
409
- if ("type" in route) {
410
- newRoute = traverseRouteTree(route);
411
- routeStr = JSON.stringify(newRoute, null, 2);
412
- keywords = [
413
- "component",
414
- "lazyImport",
415
- "loader",
416
- "loading",
417
- "error",
418
- "config"
419
- ];
420
- regs = keywords.map(createMatchReg);
421
- newRouteStr = regs.reduce(function(acc, reg) {
422
- return acc.replace(reg, "$1$2");
423
- }, routeStr).replace(/"(RootLayout)"/g, "$1").replace(/\\"/g, '"');
424
- routeComponentsCode += "".concat(newRouteStr, ",");
425
- } else {
426
- component = "loadable(() => import('".concat(route._component, "'))");
427
- finalRoute = _objectSpreadProps(_objectSpread({}, route), {
428
- component: component
429
- });
430
- keywords1 = [
431
- "component",
432
- "lazyImport"
433
- ];
434
- routeStr1 = JSON.stringify(finalRoute, null, 2);
435
- regs1 = keywords1.map(createMatchReg);
436
- newRouteStr1 = regs1.reduce(function(acc, reg) {
437
- return acc.replace(reg, "$1$2");
438
- }, routeStr1).replace(/\\"/g, '"');
439
- routeComponentsCode += "".concat(newRouteStr1, ",");
440
- }
441
- }
442
- } catch (err) {
443
- _didIteratorError = true;
444
- _iteratorError = err;
445
- } finally{
446
- try {
447
- if (!_iteratorNormalCompletion && _iterator.return != null) {
448
- _iterator.return();
449
- }
450
- } finally{
451
- if (_didIteratorError) {
452
- throw _iteratorError;
453
- }
454
- }
455
- }
456
- routeComponentsCode += "\n];";
457
- importLoadingCode = loadings.map(function(loading, index2) {
458
- return "import loading_".concat(index2, " from '").concat(loading, "';\n");
459
- }).join("");
460
- importComponentsCode = components.map(function(component, index2) {
461
- return "import component_".concat(index2, " from '").concat(component, "';\n");
462
- }).join("");
463
- importErrorComponentsCode = errors.map(function(error, index2) {
464
- return "import error_".concat(index2, " from '").concat(error, "';\n");
465
- }).join("");
466
- importLoadersCode = "";
467
- _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
468
- try {
469
- for(_iterator1 = Object.entries(loadersMap)[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
470
- _step_value = _slicedToArray(_step1.value, 2), key = _step_value[0], loaderInfo = _step_value[1];
471
- if (loaderInfo.inline) {
472
- importLoadersCode += "import { loader as ".concat(key, ' } from "').concat(slash(loaderInfo.filePath)).concat(getDataLoaderPath(key), '";\n');
473
- } else {
474
- importLoadersCode += "import ".concat(key, ' from "').concat(slash(loaderInfo.filePath)).concat(getDataLoaderPath(key), '";\n');
475
- }
476
- }
477
- } catch (err) {
478
- _didIteratorError1 = true;
479
- _iteratorError1 = err;
480
- } finally{
481
- try {
482
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
483
- _iterator1.return();
484
- }
485
- } finally{
486
- if (_didIteratorError1) {
487
- throw _iteratorError1;
488
- }
489
- }
490
- }
491
- importConfigsCode = "";
492
- _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = undefined;
493
- try {
494
- for(_iterator2 = Object.entries(configsMap)[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
495
- _step_value1 = _slicedToArray(_step2.value, 2), key1 = _step_value1[0], configPath = _step_value1[1];
496
- importConfigsCode += "import * as ".concat(key1, ' from "').concat(slash(configPath), '";\n');
497
- }
498
- } catch (err) {
499
- _didIteratorError2 = true;
500
- _iteratorError2 = err;
501
- } finally{
502
- try {
503
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
504
- _iterator2.return();
505
- }
506
- } finally{
507
- if (_didIteratorError2) {
508
- throw _iteratorError2;
509
- }
510
- }
511
- }
512
- return [
513
- 4,
514
- fs.ensureFile(loadersMapFile)
515
- ];
516
- case 1:
517
- _state.sent();
518
- return [
519
- 4,
520
- fs.writeJSON(loadersMapFile, loadersMap)
521
- ];
522
- case 2:
523
- _state.sent();
524
- return [
525
- 2,
526
- "\n ".concat(importLazyCode, "\n ").concat(importComponentsCode, "\n ").concat(rootLayoutCode, "\n ").concat(importLoadingCode, "\n ").concat(importErrorComponentsCode, "\n ").concat(importLoadersCode, "\n ").concat(importConfigsCode, "\n ").concat(routeComponentsCode, "\n ")
527
- ];
330
+ export var fileSystemRoutes = function() {
331
+ var _ref = _async_to_generator(function(param) {
332
+ var routes, ssrMode, nestedRoutesEntry, entryName, internalDirectory, _param_splitRouteChunks, splitRouteChunks, components, loadings, errors, loaders, loadersMap, configs, configsMap, loadersMapFile, importLazyCode, rootLayoutCode, getDataLoaderPath, traverseRouteTree, routeComponentsCode, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, route, newRoute, routeStr, keywords, regs, newRouteStr, component, finalRoute, keywords1, routeStr1, regs1, newRouteStr1, importLoadingCode, importComponentsCode, importErrorComponentsCode, importLoadersCode, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, _step_value, key, loaderInfo, importConfigsCode, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _step_value1, key1, configPath;
333
+ return __generator(this, function(_state) {
334
+ switch (_state.label) {
335
+ case 0:
336
+ routes = param.routes, ssrMode = param.ssrMode, nestedRoutesEntry = param.nestedRoutesEntry, entryName = param.entryName, internalDirectory = param.internalDirectory, _param_splitRouteChunks = param.splitRouteChunks, splitRouteChunks = _param_splitRouteChunks === void 0 ? true : _param_splitRouteChunks;
337
+ components = [];
338
+ loadings = [];
339
+ errors = [];
340
+ loaders = [];
341
+ loadersMap = {};
342
+ configs = [];
343
+ configsMap = {};
344
+ loadersMapFile = path.join(internalDirectory, entryName, TEMP_LOADERS_DIR, "map.json");
345
+ importLazyCode = '\n import { lazy } from "react";\n import loadable, { lazy as loadableLazy } from "@modern-js/runtime/loadable"\n ';
346
+ rootLayoutCode = "";
347
+ getDataLoaderPath = function(loaderId) {
348
+ if (!ssrMode) {
349
+ return "";
350
+ }
351
+ if (nestedRoutesEntry) {
352
+ return "?mapFile=".concat(slash(loadersMapFile), "&loaderId=").concat(loaderId);
528
353
  }
529
- });
354
+ return "";
355
+ };
356
+ traverseRouteTree = function(route2) {
357
+ var children;
358
+ if ("children" in route2 && route2.children) {
359
+ var _route_children;
360
+ children = route2 === null || route2 === void 0 ? void 0 : (_route_children = route2.children) === null || _route_children === void 0 ? void 0 : _route_children.map(traverseRouteTree);
361
+ }
362
+ var loading;
363
+ var error;
364
+ var loader;
365
+ var config;
366
+ var component2 = "";
367
+ var lazyImport = null;
368
+ if (route2.type === "nested") {
369
+ if (route2.loading) {
370
+ loadings.push(route2.loading);
371
+ loading = "loading_".concat(loadings.length - 1);
372
+ }
373
+ if (route2.error) {
374
+ errors.push(route2.error);
375
+ error = "error_".concat(errors.length - 1);
376
+ }
377
+ if (route2.loader) {
378
+ loaders.push(route2.loader);
379
+ var loaderId = loaders.length - 1;
380
+ loader = "loader_".concat(loaderId);
381
+ loadersMap[loader] = {
382
+ routeId: route2.id,
383
+ filePath: route2.loader,
384
+ inline: false
385
+ };
386
+ }
387
+ if (typeof route2.config === "string") {
388
+ configs.push(route2.config);
389
+ var configId = configs.length - 1;
390
+ config = "config_".concat(configId);
391
+ configsMap[config] = route2.config;
392
+ }
393
+ if (route2._component) {
394
+ if (splitRouteChunks) {
395
+ if (route2.isRoot) {
396
+ rootLayoutCode = "import RootLayout from '".concat(route2._component, "'");
397
+ component2 = "RootLayout";
398
+ } else if (ssrMode === "string") {
399
+ lazyImport = '() => import(/* webpackChunkName: "'.concat(route2.id, `" */ '`).concat(route2._component, "')");
400
+ component2 = "loadable(".concat(lazyImport, ")");
401
+ } else {
402
+ lazyImport = '() => import(/* webpackChunkName: "'.concat(route2.id, `" */ '`).concat(route2._component, "')");
403
+ component2 = "lazy(".concat(lazyImport, ")");
404
+ }
405
+ } else {
406
+ components.push(route2._component);
407
+ component2 = "component_".concat(components.length - 1);
408
+ }
409
+ }
410
+ } else if (route2._component) {
411
+ if (splitRouteChunks) {
412
+ lazyImport = "() => import('".concat(route2._component, "')");
413
+ component2 = "loadable(".concat(lazyImport, ")");
414
+ } else {
415
+ components.push(route2._component);
416
+ component2 = "component_".concat(components.length - 1);
417
+ }
418
+ }
419
+ var finalRoute2 = _object_spread_props(_object_spread({}, route2), {
420
+ lazyImport,
421
+ loading,
422
+ loader,
423
+ config,
424
+ error,
425
+ children
426
+ });
427
+ if (route2._component) {
428
+ finalRoute2.component = component2;
429
+ }
430
+ return finalRoute2;
431
+ };
432
+ routeComponentsCode = "\n export const routes = [\n ";
433
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
434
+ try {
435
+ for (_iterator = routes[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
436
+ route = _step.value;
437
+ if ("type" in route) {
438
+ newRoute = traverseRouteTree(route);
439
+ routeStr = JSON.stringify(newRoute, null, 2);
440
+ keywords = [
441
+ "component",
442
+ "lazyImport",
443
+ "loader",
444
+ "loading",
445
+ "error",
446
+ "config"
447
+ ];
448
+ regs = keywords.map(createMatchReg);
449
+ newRouteStr = regs.reduce(function(acc, reg) {
450
+ return acc.replace(reg, "$1$2");
451
+ }, routeStr).replace(/"(RootLayout)"/g, "$1").replace(/\\"/g, '"');
452
+ routeComponentsCode += "".concat(newRouteStr, ",");
453
+ } else {
454
+ component = "loadable(() => import('".concat(route._component, "'))");
455
+ finalRoute = _object_spread_props(_object_spread({}, route), {
456
+ component
457
+ });
458
+ keywords1 = [
459
+ "component",
460
+ "lazyImport"
461
+ ];
462
+ routeStr1 = JSON.stringify(finalRoute, null, 2);
463
+ regs1 = keywords1.map(createMatchReg);
464
+ newRouteStr1 = regs1.reduce(function(acc, reg) {
465
+ return acc.replace(reg, "$1$2");
466
+ }, routeStr1).replace(/\\"/g, '"');
467
+ routeComponentsCode += "".concat(newRouteStr1, ",");
468
+ }
469
+ }
470
+ } catch (err) {
471
+ _didIteratorError = true;
472
+ _iteratorError = err;
473
+ } finally {
474
+ try {
475
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
476
+ _iterator.return();
477
+ }
478
+ } finally {
479
+ if (_didIteratorError) {
480
+ throw _iteratorError;
481
+ }
482
+ }
483
+ }
484
+ routeComponentsCode += "\n];";
485
+ importLoadingCode = loadings.map(function(loading, index2) {
486
+ return "import loading_".concat(index2, " from '").concat(loading, "';\n");
487
+ }).join("");
488
+ importComponentsCode = components.map(function(component2, index2) {
489
+ return "import component_".concat(index2, " from '").concat(component2, "';\n");
490
+ }).join("");
491
+ importErrorComponentsCode = errors.map(function(error, index2) {
492
+ return "import error_".concat(index2, " from '").concat(error, "';\n");
493
+ }).join("");
494
+ importLoadersCode = "";
495
+ _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
496
+ try {
497
+ for (_iterator1 = Object.entries(loadersMap)[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
498
+ _step_value = _sliced_to_array(_step1.value, 2), key = _step_value[0], loaderInfo = _step_value[1];
499
+ if (loaderInfo.inline) {
500
+ importLoadersCode += "import { loader as ".concat(key, ' } from "').concat(slash(loaderInfo.filePath)).concat(getDataLoaderPath(key), '";\n');
501
+ } else {
502
+ importLoadersCode += "import ".concat(key, ' from "').concat(slash(loaderInfo.filePath)).concat(getDataLoaderPath(key), '";\n');
503
+ }
504
+ }
505
+ } catch (err) {
506
+ _didIteratorError1 = true;
507
+ _iteratorError1 = err;
508
+ } finally {
509
+ try {
510
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
511
+ _iterator1.return();
512
+ }
513
+ } finally {
514
+ if (_didIteratorError1) {
515
+ throw _iteratorError1;
516
+ }
517
+ }
518
+ }
519
+ importConfigsCode = "";
520
+ _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
521
+ try {
522
+ for (_iterator2 = Object.entries(configsMap)[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
523
+ _step_value1 = _sliced_to_array(_step2.value, 2), key1 = _step_value1[0], configPath = _step_value1[1];
524
+ importConfigsCode += "import * as ".concat(key1, ' from "').concat(slash(configPath), '";\n');
525
+ }
526
+ } catch (err) {
527
+ _didIteratorError2 = true;
528
+ _iteratorError2 = err;
529
+ } finally {
530
+ try {
531
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
532
+ _iterator2.return();
533
+ }
534
+ } finally {
535
+ if (_didIteratorError2) {
536
+ throw _iteratorError2;
537
+ }
538
+ }
539
+ }
540
+ return [
541
+ 4,
542
+ fs.ensureFile(loadersMapFile)
543
+ ];
544
+ case 1:
545
+ _state.sent();
546
+ return [
547
+ 4,
548
+ fs.writeJSON(loadersMapFile, loadersMap)
549
+ ];
550
+ case 2:
551
+ _state.sent();
552
+ return [
553
+ 2,
554
+ "\n ".concat(importLazyCode, "\n ").concat(importComponentsCode, "\n ").concat(rootLayoutCode, "\n ").concat(importLoadingCode, "\n ").concat(importErrorComponentsCode, "\n ").concat(importLoadersCode, "\n ").concat(importConfigsCode, "\n ").concat(routeComponentsCode, "\n ")
555
+ ];
556
+ }
530
557
  });
531
- return function fileSystemRoutes(_) {
532
- return _ref.apply(this, arguments);
533
- };
558
+ });
559
+ return function fileSystemRoutes2(_) {
560
+ return _ref.apply(this, arguments);
561
+ };
534
562
  }();
535
- function ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext) {
536
- var entryName = entrypoint.entryName;
537
- var packageName = appContext.packageName, internalDirectory = appContext.internalDirectory;
538
- var ssr = getEntryOptions(entryName, config.server.ssr, config.server.ssrByEntries, packageName);
539
- var ssg = isSSGEntry(config, entryName, entrypoints);
540
- if (entrypoint.nestedRoutesEntry && (ssr || ssg)) {
541
- var serverLoaderRuntime = require.resolve("@modern-js/plugin-data-loader/runtime");
542
- var serverLoadersFile = getServerLoadersFile(internalDirectory, entryName);
543
- var combinedModule = 'export * from "'.concat(slash(serverLoaderRuntime), '"; export * from "').concat(slash(serverLoadersFile), '"');
544
- return combinedModule;
545
- }
546
- return null;
563
+ export function ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext) {
564
+ var entryName = entrypoint.entryName;
565
+ var packageName = appContext.packageName, internalDirectory = appContext.internalDirectory;
566
+ var ssr = getEntryOptions(entryName, config.server.ssr, config.server.ssrByEntries, packageName);
567
+ var ssg = isSSGEntry(config, entryName, entrypoints);
568
+ if (entrypoint.nestedRoutesEntry && (ssr || ssg)) {
569
+ var serverLoaderRuntime = require.resolve("@modern-js/plugin-data-loader/runtime");
570
+ var serverLoadersFile = getServerLoadersFile(internalDirectory, entryName);
571
+ var combinedModule = 'export * from "'.concat(slash(serverLoaderRuntime), '"; export * from "').concat(slash(serverLoadersFile), '"');
572
+ return combinedModule;
573
+ }
574
+ return null;
547
575
  }
548
- export { fileSystemRoutes, html, index, renderFunction, routesForServer, ssrLoaderCombinedModule };