@modern-js/app-tools 2.0.0-beta.3 → 2.0.0-beta.4

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 (230) hide show
  1. package/CHANGELOG.md +305 -0
  2. package/bin/modern.js +1 -0
  3. package/dist/js/modern/analyze/Builder.js +39 -0
  4. package/dist/js/modern/analyze/constants.js +38 -18
  5. package/dist/js/modern/analyze/generateCode.js +262 -221
  6. package/dist/js/modern/analyze/getBundleEntry.js +34 -32
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +93 -49
  8. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +89 -47
  9. package/dist/js/modern/analyze/getClientRoutes/index.js +6 -2
  10. package/dist/js/modern/analyze/getClientRoutes/utils.js +23 -10
  11. package/dist/js/modern/analyze/getFileSystemEntry.js +43 -22
  12. package/dist/js/modern/analyze/getHtmlTemplate.js +89 -49
  13. package/dist/js/modern/analyze/getServerRoutes.js +122 -126
  14. package/dist/js/modern/analyze/index.js +201 -160
  15. package/dist/js/modern/analyze/isDefaultExportFunction.js +30 -16
  16. package/dist/js/modern/analyze/makeLegalIdentifier.js +10 -11
  17. package/dist/js/modern/analyze/nestedRoutes.js +106 -60
  18. package/dist/js/modern/analyze/templates.js +163 -81
  19. package/dist/js/modern/analyze/utils.js +87 -66
  20. package/dist/js/modern/builder/builderPlugins/compatModern.js +122 -109
  21. package/dist/js/modern/builder/index.js +123 -86
  22. package/dist/js/modern/builder/loaders/routerLoader.js +9 -12
  23. package/dist/js/modern/builder/loaders/serverModuleLoader.js +4 -1
  24. package/dist/js/modern/builder/share.js +23 -21
  25. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +23 -22
  26. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +31 -27
  27. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +100 -84
  28. package/dist/js/modern/commands/build.js +67 -42
  29. package/dist/js/modern/commands/deploy.js +27 -4
  30. package/dist/js/modern/commands/dev.js +77 -27
  31. package/dist/js/modern/commands/index.js +1 -1
  32. package/dist/js/modern/commands/inspect.js +30 -5
  33. package/dist/js/modern/commands/start.js +37 -15
  34. package/dist/js/modern/config/default.js +103 -113
  35. package/dist/js/modern/config/index.js +8 -2
  36. package/dist/js/modern/config/initial/createHtmlConfig.js +5 -2
  37. package/dist/js/modern/config/initial/createOutputConfig.js +9 -10
  38. package/dist/js/modern/config/initial/createSourceConfig.js +5 -2
  39. package/dist/js/modern/config/initial/createToolsConfig.js +7 -6
  40. package/dist/js/modern/config/initial/index.js +9 -4
  41. package/dist/js/modern/config/initial/inits.js +109 -73
  42. package/dist/js/modern/config/initial/transformNormalizedConfig.js +6 -3
  43. package/dist/js/modern/defineConfig.js +26 -11
  44. package/dist/js/modern/exports/server.js +4 -1
  45. package/dist/js/modern/hooks.js +15 -4
  46. package/dist/js/modern/index.js +178 -90
  47. package/dist/js/modern/initialize/index.js +98 -51
  48. package/dist/js/modern/locale/en.js +20 -21
  49. package/dist/js/modern/locale/index.js +6 -6
  50. package/dist/js/modern/locale/zh.js +21 -22
  51. package/dist/js/modern/schema/Schema.js +6 -5
  52. package/dist/js/modern/schema/index.js +51 -100
  53. package/dist/js/modern/schema/legacy.js +96 -231
  54. package/dist/js/modern/types/config/index.js +0 -1
  55. package/dist/js/modern/types/index.js +0 -1
  56. package/dist/js/modern/types/legacyConfig/output.js +0 -1
  57. package/dist/js/modern/utils/commands.js +5 -2
  58. package/dist/js/modern/utils/config.js +102 -41
  59. package/dist/js/modern/utils/createFileWatcher.js +84 -51
  60. package/dist/js/modern/utils/createServer.js +63 -17
  61. package/dist/js/modern/utils/getSpecifiedEntries.js +46 -19
  62. package/dist/js/modern/utils/language.js +6 -3
  63. package/dist/js/modern/utils/printInstructions.js +27 -8
  64. package/dist/js/modern/utils/restart.js +43 -16
  65. package/dist/js/modern/utils/routes.js +29 -12
  66. package/dist/js/node/analyze/Builder.js +58 -0
  67. package/dist/js/node/analyze/constants.js +54 -39
  68. package/dist/js/node/analyze/generateCode.js +282 -239
  69. package/dist/js/node/analyze/getBundleEntry.js +58 -44
  70. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +132 -76
  71. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +128 -74
  72. package/dist/js/node/analyze/getClientRoutes/index.js +23 -17
  73. package/dist/js/node/analyze/getClientRoutes/utils.js +44 -21
  74. package/dist/js/node/analyze/getFileSystemEntry.js +70 -39
  75. package/dist/js/node/analyze/getHtmlTemplate.js +116 -61
  76. package/dist/js/node/analyze/getServerRoutes.js +143 -137
  77. package/dist/js/node/analyze/index.js +247 -174
  78. package/dist/js/node/analyze/isDefaultExportFunction.js +55 -26
  79. package/dist/js/node/analyze/makeLegalIdentifier.js +27 -15
  80. package/dist/js/node/analyze/nestedRoutes.js +137 -75
  81. package/dist/js/node/analyze/templates.js +185 -90
  82. package/dist/js/node/analyze/utils.js +114 -81
  83. package/dist/js/node/builder/builderPlugins/compatModern.js +150 -122
  84. package/dist/js/node/builder/index.js +151 -95
  85. package/dist/js/node/builder/loaders/routerLoader.js +27 -18
  86. package/dist/js/node/builder/loaders/serverModuleLoader.js +22 -7
  87. package/dist/js/node/builder/share.js +46 -26
  88. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +39 -26
  89. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +47 -31
  90. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +118 -90
  91. package/dist/js/node/commands/build.js +89 -52
  92. package/dist/js/node/commands/deploy.js +45 -10
  93. package/dist/js/node/commands/dev.js +99 -41
  94. package/dist/js/node/commands/index.js +19 -38
  95. package/dist/js/node/commands/inspect.js +48 -11
  96. package/dist/js/node/commands/start.js +65 -26
  97. package/dist/js/node/config/default.js +119 -117
  98. package/dist/js/node/config/index.js +25 -29
  99. package/dist/js/node/config/initial/createHtmlConfig.js +22 -6
  100. package/dist/js/node/config/initial/createOutputConfig.js +26 -14
  101. package/dist/js/node/config/initial/createSourceConfig.js +22 -6
  102. package/dist/js/node/config/initial/createToolsConfig.js +24 -10
  103. package/dist/js/node/config/initial/index.js +28 -17
  104. package/dist/js/node/config/initial/inits.js +126 -81
  105. package/dist/js/node/config/initial/transformNormalizedConfig.js +31 -15
  106. package/dist/js/node/defineConfig.js +43 -17
  107. package/dist/js/node/exports/server.js +21 -10
  108. package/dist/js/node/hooks.js +48 -29
  109. package/dist/js/node/index.js +225 -128
  110. package/dist/js/node/initialize/index.js +116 -61
  111. package/dist/js/node/locale/en.js +36 -25
  112. package/dist/js/node/locale/index.js +27 -15
  113. package/dist/js/node/locale/zh.js +37 -26
  114. package/dist/js/node/schema/Schema.js +23 -10
  115. package/dist/js/node/schema/index.js +77 -114
  116. package/dist/js/node/schema/legacy.js +117 -240
  117. package/dist/js/node/types/config/index.js +17 -16
  118. package/dist/js/node/types/index.js +19 -38
  119. package/dist/js/node/types/legacyConfig/output.js +0 -5
  120. package/dist/js/node/utils/commands.js +21 -6
  121. package/dist/js/node/utils/config.js +120 -51
  122. package/dist/js/node/utils/createFileWatcher.js +104 -61
  123. package/dist/js/node/utils/createServer.js +86 -25
  124. package/dist/js/node/utils/getSpecifiedEntries.js +64 -25
  125. package/dist/js/node/utils/language.js +24 -8
  126. package/dist/js/node/utils/printInstructions.js +47 -16
  127. package/dist/js/node/utils/restart.js +61 -21
  128. package/dist/js/node/utils/routes.js +53 -18
  129. package/dist/js/treeshaking/analyze/Builder.js +199 -0
  130. package/dist/js/treeshaking/analyze/constants.js +28 -18
  131. package/dist/js/treeshaking/analyze/generateCode.js +600 -406
  132. package/dist/js/treeshaking/analyze/getBundleEntry.js +55 -63
  133. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +214 -168
  134. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +215 -169
  135. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -2
  136. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +19 -20
  137. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +89 -86
  138. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +298 -125
  139. package/dist/js/treeshaking/analyze/getServerRoutes.js +210 -147
  140. package/dist/js/treeshaking/analyze/index.js +571 -304
  141. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +45 -26
  142. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -16
  143. package/dist/js/treeshaking/analyze/nestedRoutes.js +411 -200
  144. package/dist/js/treeshaking/analyze/templates.js +433 -236
  145. package/dist/js/treeshaking/analyze/utils.js +358 -153
  146. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +282 -200
  147. package/dist/js/treeshaking/builder/index.js +371 -165
  148. package/dist/js/treeshaking/builder/loaders/routerLoader.js +11 -12
  149. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +3 -2
  150. package/dist/js/treeshaking/builder/share.js +38 -44
  151. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +108 -44
  152. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +70 -39
  153. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +334 -112
  154. package/dist/js/treeshaking/commands/build.js +286 -88
  155. package/dist/js/treeshaking/commands/deploy.js +153 -25
  156. package/dist/js/treeshaking/commands/dev.js +318 -131
  157. package/dist/js/treeshaking/commands/index.js +1 -1
  158. package/dist/js/treeshaking/commands/inspect.js +147 -32
  159. package/dist/js/treeshaking/commands/start.js +190 -67
  160. package/dist/js/treeshaking/config/default.js +210 -198
  161. package/dist/js/treeshaking/config/index.js +3 -2
  162. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -31
  163. package/dist/js/treeshaking/config/initial/createOutputConfig.js +43 -70
  164. package/dist/js/treeshaking/config/initial/createSourceConfig.js +37 -40
  165. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -38
  166. package/dist/js/treeshaking/config/initial/index.js +10 -9
  167. package/dist/js/treeshaking/config/initial/inits.js +205 -106
  168. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +27 -34
  169. package/dist/js/treeshaking/defineConfig.js +60 -13
  170. package/dist/js/treeshaking/exports/server.js +2 -1
  171. package/dist/js/treeshaking/hooks.js +30 -25
  172. package/dist/js/treeshaking/index.js +681 -256
  173. package/dist/js/treeshaking/initialize/index.js +290 -112
  174. package/dist/js/treeshaking/locale/en.js +34 -33
  175. package/dist/js/treeshaking/locale/index.js +5 -5
  176. package/dist/js/treeshaking/locale/zh.js +34 -33
  177. package/dist/js/treeshaking/schema/Schema.js +267 -69
  178. package/dist/js/treeshaking/schema/index.js +165 -121
  179. package/dist/js/treeshaking/schema/legacy.js +323 -256
  180. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  181. package/dist/js/treeshaking/types/config/dev.js +1 -0
  182. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  183. package/dist/js/treeshaking/types/config/html.js +1 -0
  184. package/dist/js/treeshaking/types/config/index.js +0 -1
  185. package/dist/js/treeshaking/types/config/output.js +1 -0
  186. package/dist/js/treeshaking/types/config/performance.js +1 -0
  187. package/dist/js/treeshaking/types/config/security.js +1 -0
  188. package/dist/js/treeshaking/types/config/source.js +1 -0
  189. package/dist/js/treeshaking/types/config/tools.js +1 -0
  190. package/dist/js/treeshaking/types/hooks.js +1 -0
  191. package/dist/js/treeshaking/types/index.js +0 -1
  192. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  193. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  194. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  195. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -1
  196. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  197. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  198. package/dist/js/treeshaking/utils/commands.js +6 -5
  199. package/dist/js/treeshaking/utils/config.js +295 -117
  200. package/dist/js/treeshaking/utils/createFileWatcher.js +278 -118
  201. package/dist/js/treeshaking/utils/createServer.js +252 -67
  202. package/dist/js/treeshaking/utils/getSpecifiedEntries.js +182 -55
  203. package/dist/js/treeshaking/utils/language.js +6 -5
  204. package/dist/js/treeshaking/utils/printInstructions.js +151 -29
  205. package/dist/js/treeshaking/utils/restart.js +184 -42
  206. package/dist/js/treeshaking/utils/routes.js +151 -27
  207. package/dist/js/treeshaking/utils/types.js +1 -0
  208. package/dist/types/analyze/Builder.d.ts +8 -0
  209. package/dist/types/analyze/index.d.ts +2 -0
  210. package/dist/types/analyze/templates.d.ts +3 -1
  211. package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -1
  212. package/dist/types/builder/index.d.ts +3 -3
  213. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +1 -7
  214. package/dist/types/defineConfig.d.ts +1 -0
  215. package/dist/types/index.d.ts +6 -1
  216. package/dist/types/initialize/index.d.ts +2 -0
  217. package/dist/types/types/config/dev.d.ts +2 -2
  218. package/dist/types/types/config/index.d.ts +1 -0
  219. package/dist/types/types/config/output.d.ts +0 -1
  220. package/dist/types/types/config/source.d.ts +1 -0
  221. package/dist/types/types/config/tools.d.ts +2 -0
  222. package/dist/types/types/hooks.d.ts +5 -0
  223. package/dist/types/types/legacyConfig/dev.d.ts +1 -0
  224. package/dist/types/types/legacyConfig/output.d.ts +1 -1
  225. package/dist/types/types/legacyConfig/source.d.ts +1 -0
  226. package/dist/types/types/legacyConfig/tools.d.ts +1 -0
  227. package/dist/types/utils/config.d.ts +1 -0
  228. package/dist/types/utils/createServer.d.ts +1 -0
  229. package/dist/types/utils/restart.d.ts +1 -1
  230. package/package.json +23 -22
@@ -1,20 +1,81 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var stdin_exports = {};
25
+ __export(stdin_exports, {
26
+ fileSystemRoutes: () => fileSystemRoutes,
27
+ html: () => html,
28
+ index: () => index,
29
+ renderFunction: () => renderFunction,
30
+ routesForServer: () => routesForServer
5
31
  });
6
- exports.routesForServer = exports.renderFunction = exports.index = exports.html = exports.fileSystemRoutes = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _utils = require("@modern-js/utils");
9
- var _constants = require("./constants");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
32
+ module.exports = __toCommonJS(stdin_exports);
33
+ var import_path = __toESM(require("path"));
34
+ var import_utils = require("@modern-js/utils");
35
+ var import_constants = require("./constants");
36
+ var __defProp2 = Object.defineProperty;
37
+ var __defProps = Object.defineProperties;
38
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
39
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
40
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
41
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
42
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
43
+ var __spreadValues = (a, b) => {
44
+ for (var prop in b || (b = {}))
45
+ if (__hasOwnProp2.call(b, prop))
46
+ __defNormalProp(a, prop, b[prop]);
47
+ if (__getOwnPropSymbols)
48
+ for (var prop of __getOwnPropSymbols(b)) {
49
+ if (__propIsEnum.call(b, prop))
50
+ __defNormalProp(a, prop, b[prop]);
51
+ }
52
+ return a;
53
+ };
54
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
55
+ var __async = (__this, __arguments, generator) => {
56
+ return new Promise((resolve, reject) => {
57
+ var fulfilled = (value) => {
58
+ try {
59
+ step(generator.next(value));
60
+ } catch (e) {
61
+ reject(e);
62
+ }
63
+ };
64
+ var rejected = (value) => {
65
+ try {
66
+ step(generator.throw(value));
67
+ } catch (e) {
68
+ reject(e);
69
+ }
70
+ };
71
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
72
+ step((generator = generator.apply(__this, __arguments)).next());
73
+ });
74
+ };
14
75
  const index = ({
15
76
  mountId,
16
77
  imports,
17
- renderFunction,
78
+ renderFunction: renderFunction2,
18
79
  exportStatement
19
80
  }) => `
20
81
  const IS_BROWSER = typeof window !== 'undefined' && window.name !== 'nodejs';
@@ -28,28 +89,25 @@ let AppWrapper = null;
28
89
  let root = null;
29
90
 
30
91
  function render() {
31
- ${renderFunction}
92
+ ${renderFunction2}
32
93
  }
33
94
 
34
95
  AppWrapper = render();
35
96
 
36
97
  ${exportStatement};
37
98
  `;
38
- exports.index = index;
39
99
  const renderFunction = ({
40
100
  plugins,
41
101
  customBootstrap,
42
- fileSystemRoutes
102
+ fileSystemRoutes: fileSystemRoutes2
43
103
  }) => `
44
104
  AppWrapper = createApp({
45
105
  plugins: [
46
- ${plugins.map(({
47
- name,
48
- options,
49
- args
50
- }) => `${name}({...${options}, ...App?.config?.${args || name}}),`).join('\n')}
106
+ ${plugins.map(
107
+ ({ name, options, args }) => `${name}({...${options}, ...App?.config?.${args || name}}),`
108
+ ).join("\n")}
51
109
  ]
52
- })(${fileSystemRoutes ? '' : `App`})
110
+ })(${fileSystemRoutes2 ? "" : `App`})
53
111
 
54
112
  if (IS_BROWSER) {
55
113
  ${customBootstrap ? `customBootstrap(AppWrapper);` : `bootstrap(AppWrapper, MOUNT_ID, root, ReactDOM);`}
@@ -57,20 +115,19 @@ const renderFunction = ({
57
115
 
58
116
  return AppWrapper
59
117
  `;
60
- exports.renderFunction = renderFunction;
61
- const html = partials => `
118
+ const html = (partials) => `
62
119
  <!DOCTYPE html>
63
120
  <html>
64
121
  <head>
65
122
  <%= meta %>
66
123
  <title><%= title %></title>
67
124
 
68
- ${partials.top.join('\n')}
125
+ ${partials.top.join("\n")}
69
126
 
70
127
  <script>
71
128
  window.__assetPrefix__ = '<%= assetPrefix %>';
72
- </script>
73
- ${partials.head.join('\n')}
129
+ <\/script>
130
+ ${partials.head.join("\n")}
74
131
 
75
132
  <!--<?- chunksMap.css ?>-->
76
133
  </head>
@@ -80,7 +137,7 @@ const html = partials => `
80
137
  We're sorry but react app doesn't work properly without JavaScript enabled. Please enable it to continue.
81
138
  </noscript>
82
139
  <div id="<%= mountId %>"><!--<?- html ?>--></div>
83
- ${partials.body.join('\n')}
140
+ ${partials.body.join("\n")}
84
141
  <!--<?- chunksMap.js ?>-->
85
142
  <!--<?- SSRDataScript ?>-->
86
143
  <!--<?- bottomTemplate ?>-->
@@ -88,28 +145,32 @@ const html = partials => `
88
145
 
89
146
  </html>
90
147
  `;
91
- exports.html = html;
92
148
  const routesForServer = ({
93
149
  routes,
94
150
  internalDirectory,
95
151
  entryName
96
152
  }) => {
97
153
  const loaders = [];
98
- const loaderIndexFile = _path.default.join(internalDirectory, entryName, _constants.TEMP_LOADERS_DIR, 'index.js');
99
- const traverseRouteTree = route => {
154
+ const loaderIndexFile = import_path.default.join(
155
+ internalDirectory,
156
+ entryName,
157
+ import_constants.TEMP_LOADERS_DIR,
158
+ "index.js"
159
+ );
160
+ const traverseRouteTree = (route) => {
161
+ var _a;
100
162
  let children;
101
- if ('children' in route && route.children) {
102
- var _route$children;
103
- children = route === null || route === void 0 ? void 0 : (_route$children = route.children) === null || _route$children === void 0 ? void 0 : _route$children.map(traverseRouteTree);
163
+ if ("children" in route && route.children) {
164
+ children = (_a = route == null ? void 0 : route.children) == null ? void 0 : _a.map(traverseRouteTree);
104
165
  }
105
166
  let loader;
106
- if (route.type === 'nested') {
167
+ if (route.type === "nested") {
107
168
  if (route.loader) {
108
169
  loaders.push(route.loader);
109
170
  loader = `loader_${loaders.length - 1}`;
110
171
  }
111
172
  }
112
- const finalRoute = _objectSpread(_objectSpread({}, route), {}, {
173
+ const finalRoute = __spreadProps(__spreadValues({}, route), {
113
174
  loader,
114
175
  children
115
176
  });
@@ -119,63 +180,82 @@ const routesForServer = ({
119
180
  export const routes = [
120
181
  `;
121
182
  for (const route of routes) {
122
- if ('type' in route) {
183
+ if ("type" in route) {
123
184
  const newRoute = traverseRouteTree(route);
124
- routesCode += `${JSON.stringify(newRoute, null, 2).replace(/"(loader_[^"])"/g, '$1')},`;
185
+ routesCode += `${JSON.stringify(newRoute, null, 2).replace(
186
+ /"(loader_[^"])"/g,
187
+ "$1"
188
+ )},`;
125
189
  } else {
126
190
  routesCode += `${JSON.stringify(route, null, 2)}`;
127
191
  }
128
192
  }
129
- routesCode += `\n];`;
130
- let importLoadersCode = '';
193
+ routesCode += `
194
+ ];`;
195
+ let importLoadersCode = "";
131
196
  if (loaders.length > 0) {
132
197
  importLoadersCode = `
133
- import { ${loaders.map((loader, index) => `loader_${index}`)} } from "${loaderIndexFile}"`;
198
+ import { ${loaders.map(
199
+ (loader, index2) => `loader_${index2}`
200
+ )} } from "${(0, import_utils.slash)(loaderIndexFile)}"`;
134
201
  }
135
202
  return `
136
203
  ${importLoadersCode}
137
204
  ${routesCode}
138
205
  `;
139
206
  };
140
- exports.routesForServer = routesForServer;
141
- const fileSystemRoutes = async ({
207
+ const fileSystemRoutes = (_0) => __async(void 0, [_0], function* ({
142
208
  routes,
143
209
  ssrMode,
144
210
  nestedRoutesEntry,
145
211
  entryName,
146
- internalDirectory
147
- }) => {
212
+ internalDirectory,
213
+ internalDirAlias
214
+ }) {
148
215
  const loadings = [];
149
216
  const errors = [];
150
217
  const loaders = [];
151
218
  const loadersMap = {};
152
- const loadersIndexFile = _path.default.join('@_modern_js_internal', entryName, _constants.TEMP_LOADERS_DIR, 'index.js');
153
- const loadersMapFile = _path.default.join(internalDirectory, entryName, _constants.TEMP_LOADERS_DIR, 'map.json');
219
+ const loadersIndexFile = import_path.default.join(
220
+ internalDirAlias,
221
+ entryName,
222
+ import_constants.TEMP_LOADERS_DIR,
223
+ "index.js"
224
+ );
225
+ const loadersMapFile = import_path.default.join(
226
+ internalDirectory,
227
+ entryName,
228
+ import_constants.TEMP_LOADERS_DIR,
229
+ "map.json"
230
+ );
154
231
  const importLazyCode = `
155
232
  import { lazy } from "react";
156
233
  import loadable, { lazy as loadableLazy } from "@modern-js/runtime/loadable"
157
234
  `;
158
235
  let rootLayoutCode = ``;
159
- let dataLoaderPath = '';
160
- let componentLoaderPath = '';
236
+ let dataLoaderPath = "";
237
+ let componentLoaderPath = "";
161
238
  if (ssrMode) {
162
- dataLoaderPath = require.resolve(`@modern-js/plugin-data-loader/loader`);
239
+ dataLoaderPath = require.resolve("@modern-js/plugin-data-loader/loader");
163
240
  if (nestedRoutesEntry) {
164
241
  dataLoaderPath = `${dataLoaderPath}?routesDir=${nestedRoutesEntry}&mapFile=${loadersMapFile}!`;
165
242
  }
166
- componentLoaderPath = `${_path.default.join(__dirname, '../builder/loaders/routerLoader')}!`;
243
+ componentLoaderPath = `${import_path.default.join(
244
+ __dirname,
245
+ "../builder/loaders/routerLoader"
246
+ )}!`;
167
247
  }
168
- const traverseRouteTree = route => {
248
+ const traverseRouteTree = (route) => {
249
+ var _a;
169
250
  let children;
170
- if ('children' in route && route.children) {
171
- var _route$children2;
172
- children = route === null || route === void 0 ? void 0 : (_route$children2 = route.children) === null || _route$children2 === void 0 ? void 0 : _route$children2.map(traverseRouteTree);
251
+ if ("children" in route && route.children) {
252
+ children = (_a = route == null ? void 0 : route.children) == null ? void 0 : _a.map(traverseRouteTree);
173
253
  }
174
254
  let loading;
175
255
  let error;
176
256
  let loader;
177
- let component = '';
178
- if (route.type === 'nested') {
257
+ let component = "";
258
+ if (route.type === "nested") {
179
259
  if (route.loading) {
180
260
  loadings.push(route.loading);
181
261
  loading = `loading_${loadings.length - 1}`;
@@ -194,17 +274,16 @@ const fileSystemRoutes = async ({
194
274
  if (route.isRoot) {
195
275
  rootLayoutCode = `import RootLayout from '${route._component}'`;
196
276
  component = `RootLayout`;
197
- } else if (ssrMode === 'string') {
277
+ } else if (ssrMode === "string") {
198
278
  component = `loadable(() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}'))`;
199
279
  } else {
200
- // csr and streaming
201
280
  component = `lazy(() => import(/* webpackChunkName: "${route.id}" */ '${componentLoaderPath}${route._component}'))`;
202
281
  }
203
282
  }
204
283
  } else if (route._component) {
205
284
  component = `loadable(() => import('${route._component}'))`;
206
285
  }
207
- const finalRoute = _objectSpread(_objectSpread({}, route), {}, {
286
+ const finalRoute = __spreadProps(__spreadValues({}, route), {
208
287
  loading,
209
288
  loader,
210
289
  error,
@@ -219,45 +298,62 @@ const fileSystemRoutes = async ({
219
298
  export const routes = [
220
299
  `;
221
300
  for (const route of routes) {
222
- if ('type' in route) {
301
+ if ("type" in route) {
223
302
  const newRoute = traverseRouteTree(route);
224
- routeComponentsCode += `${JSON.stringify(newRoute, null, 2).replace(/"(loadable.*\))"/g, '$1').replace(/"(loadableLazy.*\))"/g, '$1').replace(/"(lazy.*\))"/g, '$1').replace(/"(loading_[^"])"/g, '$1').replace(/"(loader_[^"])"/g, '$1').replace(/"(RootLayout)"/g, '$1').replace(/"(error_[^"])"/g, '$1').replace(/\\"/g, '"')},`;
303
+ routeComponentsCode += `${JSON.stringify(newRoute, null, 2).replace(/"(loadable.*\))"/g, "$1").replace(/"(loadableLazy.*\))"/g, "$1").replace(/"(lazy.*\))"/g, "$1").replace(/"(loading_[^"])"/g, "$1").replace(/"(loader_[^"])"/g, "$1").replace(/"(RootLayout)"/g, "$1").replace(/"(error_[^"])"/g, "$1").replace(/\\"/g, '"')},`;
225
304
  } else {
226
305
  const component = `loadable(() => import('${route._component}'))`;
227
- const finalRoute = _objectSpread(_objectSpread({}, route), {}, {
306
+ const finalRoute = __spreadProps(__spreadValues({}, route), {
228
307
  component
229
308
  });
230
- routeComponentsCode += `${JSON.stringify(finalRoute, null, 2).replace(/"(loadable[^"]*)"/g, '$1').replace(/"(lazy[^"]*)"/g, '$1')},`;
309
+ routeComponentsCode += `${JSON.stringify(finalRoute, null, 2).replace(/"(loadable[^"]*)"/g, "$1").replace(/"(lazy[^"]*)"/g, "$1")},`;
231
310
  }
232
311
  }
233
- routeComponentsCode += `\n];`;
234
- const importLoadingCode = loadings.map((loading, index) => {
235
- return `import loading_${index} from '${loading}';\n`;
236
- }).join('');
237
- const importErrorComponentsCode = errors.map((error, index) => {
238
- return `import error_${index} from '${error}';\n`;
239
- }).join('');
240
- let importLoadersCode = '';
312
+ routeComponentsCode += `
313
+ ];`;
314
+ const importLoadingCode = loadings.map((loading, index2) => {
315
+ return `import loading_${index2} from '${loading}';
316
+ `;
317
+ }).join("");
318
+ const importErrorComponentsCode = errors.map((error, index2) => {
319
+ return `import error_${index2} from '${error}';
320
+ `;
321
+ }).join("");
322
+ let importLoadersCode = "";
241
323
  if (loaders.length > 0) {
242
324
  importLoadersCode = `
243
- import { ${loaders.map((loader, index) => `loader_${index}`)} } from "${dataLoaderPath}${loadersIndexFile}"
325
+ import { ${loaders.map(
326
+ (loader, index2) => `loader_${index2}`
327
+ )} } from "${(0, import_utils.slash)(dataLoaderPath)}${(0, import_utils.slash)(loadersIndexFile)}"
244
328
  `;
245
- const loaderEntryCode = loaders.map((loader, index) => {
246
- return `export * from './loader_${index}.js';`;
247
- }).join('\n');
248
- const loaderEntryFile = _path.default.join(internalDirectory, entryName, _constants.TEMP_LOADERS_DIR, 'entry.js');
249
- await _utils.fs.ensureFile(loaderEntryFile);
250
- await _utils.fs.writeFile(loaderEntryFile, loaderEntryCode);
251
- await _utils.fs.writeJSON(loadersMapFile, loadersMap);
252
- await Promise.all(loaders.map(async (loader, index) => {
253
- const name = `loader_${index}`;
254
- const filename = _path.default.join(internalDirectory, entryName, _constants.TEMP_LOADERS_DIR, `${name}.js`);
255
- const code = `
256
- export { loader as ${name} } from '${loader}'
329
+ const loaderEntryCode = loaders.map((loader, index2) => {
330
+ return `export * from './loader_${index2}.js';`;
331
+ }).join("\n");
332
+ const loaderEntryFile = import_path.default.join(
333
+ internalDirectory,
334
+ entryName,
335
+ import_constants.TEMP_LOADERS_DIR,
336
+ "entry.js"
337
+ );
338
+ yield import_utils.fs.ensureFile(loaderEntryFile);
339
+ yield import_utils.fs.writeFile(loaderEntryFile, loaderEntryCode);
340
+ yield import_utils.fs.writeJSON(loadersMapFile, loadersMap);
341
+ yield Promise.all(
342
+ loaders.map((loader, index2) => __async(void 0, null, function* () {
343
+ const name = `loader_${index2}`;
344
+ const filename = import_path.default.join(
345
+ internalDirectory,
346
+ entryName,
347
+ import_constants.TEMP_LOADERS_DIR,
348
+ `${name}.js`
349
+ );
350
+ const code = `
351
+ export { loader as ${name} } from '${(0, import_utils.slash)(loader)}'
257
352
  `;
258
- await _utils.fs.ensureFile(filename);
259
- await _utils.fs.writeFile(filename, code);
260
- }));
353
+ yield import_utils.fs.ensureFile(filename);
354
+ yield import_utils.fs.writeFile(filename, code);
355
+ }))
356
+ );
261
357
  }
262
358
  return `
263
359
  ${importLazyCode}
@@ -267,5 +363,4 @@ const fileSystemRoutes = async ({
267
363
  ${importLoadersCode}
268
364
  ${routeComponentsCode}
269
365
  `;
270
- };
271
- exports.fileSystemRoutes = fileSystemRoutes;
366
+ });
@@ -1,25 +1,70 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var stdin_exports = {};
25
+ __export(stdin_exports, {
26
+ getDefaultImports: () => getDefaultImports,
27
+ hasLoader: () => hasLoader,
28
+ isRouteComponentFile: () => isRouteComponentFile,
29
+ parseModule: () => parseModule,
30
+ replaceWithAlias: () => replaceWithAlias,
31
+ walkDirectory: () => walkDirectory
5
32
  });
6
- exports.walkDirectory = exports.replaceWithAlias = exports.parseModule = exports.isRouteComponentFile = exports.hasLoader = exports.getDefaultImports = void 0;
7
- var _fs = _interopRequireDefault(require("fs"));
8
- var _path = _interopRequireDefault(require("path"));
9
- var _utils = require("@modern-js/utils");
10
- var _esbuild = require("esbuild");
11
- var _esModuleLexer = require("es-module-lexer");
12
- var _constants = require("./constants");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- const walkDirectory = dir => _fs.default.readdirSync(dir).reduce((previous, filename) => {
15
- const filePath = _path.default.join(dir, filename);
16
- if (_fs.default.statSync(filePath).isDirectory()) {
33
+ module.exports = __toCommonJS(stdin_exports);
34
+ var import_fs = __toESM(require("fs"));
35
+ var import_path = __toESM(require("path"));
36
+ var import_utils = require("@modern-js/utils");
37
+ var import_esbuild = require("esbuild");
38
+ var import_es_module_lexer = require("es-module-lexer");
39
+ var import_constants = require("./constants");
40
+ var __async = (__this, __arguments, generator) => {
41
+ return new Promise((resolve, reject) => {
42
+ var fulfilled = (value) => {
43
+ try {
44
+ step(generator.next(value));
45
+ } catch (e) {
46
+ reject(e);
47
+ }
48
+ };
49
+ var rejected = (value) => {
50
+ try {
51
+ step(generator.throw(value));
52
+ } catch (e) {
53
+ reject(e);
54
+ }
55
+ };
56
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
57
+ step((generator = generator.apply(__this, __arguments)).next());
58
+ });
59
+ };
60
+ const walkDirectory = (dir) => import_fs.default.readdirSync(dir).reduce((previous, filename) => {
61
+ const filePath = import_path.default.join(dir, filename);
62
+ if (import_fs.default.statSync(filePath).isDirectory()) {
17
63
  return [...previous, ...walkDirectory(filePath)];
18
64
  } else {
19
65
  return [...previous, filePath];
20
66
  }
21
67
  }, []);
22
- exports.walkDirectory = walkDirectory;
23
68
  const getDefaultImports = ({
24
69
  entrypoint,
25
70
  srcDirectory,
@@ -27,99 +72,87 @@ const getDefaultImports = ({
27
72
  internalDirAlias,
28
73
  internalDirectory
29
74
  }) => {
30
- const {
31
- entryName,
32
- fileSystemRoutes,
33
- customBootstrap,
34
- entry
35
- } = entrypoint;
36
- const imports = [{
37
- specifiers: [{
38
- local: 'React'
39
- }],
40
- value: 'react'
41
- }, {
42
- specifiers: [{
43
- local: 'ReactDOM'
44
- }],
45
- value: (0, _utils.isReact18)(_path.default.join(internalDirectory, '../../')) ? 'react-dom/client' : 'react-dom'
46
- }, {
47
- specifiers: [{
48
- imported: 'createApp'
49
- }, {
50
- imported: 'bootstrap'
51
- }],
52
- value: '@modern-js/runtime'
53
- }, customBootstrap && {
54
- specifiers: [{
55
- local: 'customBootstrap'
56
- }],
57
- value: (0, _utils.normalizeToPosixPath)(customBootstrap.replace(srcDirectory, internalSrcAlias))
58
- }].filter(Boolean);
75
+ const { entryName, fileSystemRoutes, customBootstrap, entry } = entrypoint;
76
+ const imports = [
77
+ {
78
+ specifiers: [{ local: "React" }],
79
+ value: "react"
80
+ },
81
+ {
82
+ specifiers: [{ local: "ReactDOM" }],
83
+ value: (0, import_utils.isReact18)(import_path.default.join(internalDirectory, "../../")) ? "react-dom/client" : "react-dom"
84
+ },
85
+ {
86
+ specifiers: [{ imported: "createApp" }, { imported: "bootstrap" }],
87
+ value: "@modern-js/runtime"
88
+ },
89
+ customBootstrap && {
90
+ specifiers: [{ local: "customBootstrap" }],
91
+ value: (0, import_utils.normalizeToPosixPath)(
92
+ customBootstrap.replace(srcDirectory, internalSrcAlias)
93
+ )
94
+ }
95
+ ].filter(Boolean);
59
96
  if (fileSystemRoutes) {
60
97
  const route = {
61
- specifiers: [{
62
- imported: 'routes'
63
- }],
64
- value: (0, _utils.normalizeToPosixPath)(`${internalDirAlias}/${entryName}/${_constants.FILE_SYSTEM_ROUTES_FILE_NAME.replace('.js', '')}`)
98
+ specifiers: [{ imported: "routes" }],
99
+ value: (0, import_utils.normalizeToPosixPath)(
100
+ `${internalDirAlias}/${entryName}/${import_constants.FILE_SYSTEM_ROUTES_FILE_NAME.replace(
101
+ ".js",
102
+ ""
103
+ )}`
104
+ )
65
105
  };
66
106
  if (fileSystemRoutes.globalApp) {
67
107
  imports.push({
68
- specifiers: [{
69
- local: 'App'
70
- }],
71
- value: (0, _utils.normalizeToPosixPath)(fileSystemRoutes.globalApp.replace(srcDirectory, internalSrcAlias))
108
+ specifiers: [{ local: "App" }],
109
+ value: (0, import_utils.normalizeToPosixPath)(
110
+ fileSystemRoutes.globalApp.replace(srcDirectory, internalSrcAlias)
111
+ )
72
112
  });
73
113
  } else {
74
- route.initialize = 'const App = false;';
114
+ route.initialize = "const App = false;";
75
115
  }
76
116
  imports.push(route);
77
117
  } else {
78
118
  imports.push({
79
- specifiers: [{
80
- local: 'App'
81
- }],
82
- value: (0, _utils.normalizeToPosixPath)(entry.replace(srcDirectory, internalSrcAlias))
119
+ specifiers: [{ local: "App" }],
120
+ value: (0, import_utils.normalizeToPosixPath)(
121
+ entry.replace(srcDirectory, internalSrcAlias)
122
+ )
83
123
  });
84
124
  }
85
125
  return imports;
86
126
  };
87
- exports.getDefaultImports = getDefaultImports;
88
- const isRouteComponentFile = filePath => {
127
+ const isRouteComponentFile = (filePath) => {
89
128
  if (/\.(d|test|spec|e2e)\.(js|jsx|ts|tsx)$/.test(filePath)) {
90
129
  return false;
91
130
  }
92
- if (['.js', '.jsx', '.ts', '.tsx'].includes(_path.default.extname(filePath))) {
131
+ if ([".js", ".jsx", ".ts", ".tsx"].includes(import_path.default.extname(filePath))) {
93
132
  return true;
94
133
  }
95
134
  return false;
96
135
  };
97
- exports.isRouteComponentFile = isRouteComponentFile;
98
- const replaceWithAlias = (base, filePath, alias) => (0, _utils.normalizeToPosixPath)(_path.default.join(alias, _path.default.relative(base, filePath)));
99
- exports.replaceWithAlias = replaceWithAlias;
100
- const parseModule = async ({
136
+ const replaceWithAlias = (base, filePath, alias) => (0, import_utils.normalizeToPosixPath)(import_path.default.join(alias, import_path.default.relative(base, filePath)));
137
+ const parseModule = (_0) => __async(void 0, [_0], function* ({
101
138
  source,
102
139
  filename
103
- }) => {
140
+ }) {
104
141
  let content = source;
105
- if (filename.endsWith('.tsx') || filename.endsWith('.jsx')) {
106
- const result = await (0, _esbuild.transform)(content, {
107
- loader: _path.default.extname(filename).slice(1),
108
- format: 'esm'
142
+ if (filename.endsWith(".tsx") || filename.endsWith(".jsx")) {
143
+ const result = yield (0, import_esbuild.transform)(content, {
144
+ loader: import_path.default.extname(filename).slice(1),
145
+ format: "esm"
109
146
  });
110
147
  content = result.code;
111
148
  }
112
-
113
- // eslint-disable-next-line @typescript-eslint/await-thenable
114
- return await (0, _esModuleLexer.parse)(content);
115
- };
116
- exports.parseModule = parseModule;
117
- const hasLoader = async filename => {
118
- const source = await _utils.fs.readFile(filename);
119
- const [, moduleExports] = await parseModule({
149
+ return yield (0, import_es_module_lexer.parse)(content);
150
+ });
151
+ const hasLoader = (filename) => __async(void 0, null, function* () {
152
+ const source = yield import_utils.fs.readFile(filename);
153
+ const [, moduleExports] = yield parseModule({
120
154
  source: source.toString(),
121
155
  filename
122
156
  });
123
- return moduleExports.some(e => e.n === _constants.LOADER_EXPORT_NAME);
124
- };
125
- exports.hasLoader = hasLoader;
157
+ return moduleExports.some((e) => e.n === import_constants.LOADER_EXPORT_NAME);
158
+ });