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

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 (261) hide show
  1. package/CHANGELOG.md +619 -0
  2. package/bin/modern.js +3 -0
  3. package/dist/js/modern/analyze/Builder.js +39 -0
  4. package/dist/js/modern/analyze/constants.js +48 -18
  5. package/dist/js/modern/analyze/generateCode.js +264 -225
  6. package/dist/js/modern/analyze/getBundleEntry.js +34 -32
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +99 -52
  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 +52 -23
  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 +204 -161
  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 +118 -65
  18. package/dist/js/modern/analyze/templates.js +170 -81
  19. package/dist/js/modern/analyze/utils.js +104 -67
  20. package/dist/js/modern/builder/builderPlugins/compatModern.js +128 -109
  21. package/dist/js/modern/builder/index.js +120 -89
  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 +81 -34
  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/serve.js +54 -0
  34. package/dist/js/modern/config/default.js +112 -145
  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 +10 -13
  38. package/dist/js/modern/config/initial/createSourceConfig.js +10 -3
  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 +11 -4
  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 +16 -4
  46. package/dist/js/modern/index.js +178 -90
  47. package/dist/js/modern/initialize/index.js +100 -52
  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 +53 -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 +10 -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/getServerInternalPlugins.js +58 -0
  62. package/dist/js/modern/utils/getSpecifiedEntries.js +46 -19
  63. package/dist/js/modern/utils/language.js +6 -3
  64. package/dist/js/modern/utils/printInstructions.js +27 -8
  65. package/dist/js/modern/utils/restart.js +43 -16
  66. package/dist/js/modern/utils/routes.js +29 -12
  67. package/dist/js/node/analyze/Builder.js +64 -0
  68. package/dist/js/node/analyze/constants.js +86 -39
  69. package/dist/js/node/analyze/generateCode.js +285 -239
  70. package/dist/js/node/analyze/getBundleEntry.js +62 -44
  71. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +138 -77
  72. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +130 -74
  73. package/dist/js/node/analyze/getClientRoutes/index.js +27 -16
  74. package/dist/js/node/analyze/getClientRoutes/utils.js +51 -21
  75. package/dist/js/node/analyze/getFileSystemEntry.js +82 -39
  76. package/dist/js/node/analyze/getHtmlTemplate.js +120 -61
  77. package/dist/js/node/analyze/getServerRoutes.js +145 -137
  78. package/dist/js/node/analyze/index.js +233 -174
  79. package/dist/js/node/analyze/isDefaultExportFunction.js +59 -26
  80. package/dist/js/node/analyze/makeLegalIdentifier.js +31 -15
  81. package/dist/js/node/analyze/nestedRoutes.js +150 -79
  82. package/dist/js/node/analyze/templates.js +198 -90
  83. package/dist/js/node/analyze/utils.js +136 -81
  84. package/dist/js/node/builder/builderPlugins/compatModern.js +158 -122
  85. package/dist/js/node/builder/index.js +142 -98
  86. package/dist/js/node/builder/loaders/routerLoader.js +29 -18
  87. package/dist/js/node/builder/loaders/serverModuleLoader.js +24 -7
  88. package/dist/js/node/builder/share.js +50 -26
  89. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +43 -26
  90. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +51 -31
  91. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +120 -90
  92. package/dist/js/node/commands/build.js +91 -52
  93. package/dist/js/node/commands/deploy.js +49 -10
  94. package/dist/js/node/commands/dev.js +105 -48
  95. package/dist/js/node/commands/index.js +19 -38
  96. package/dist/js/node/commands/inspect.js +52 -11
  97. package/dist/js/node/commands/serve.js +83 -0
  98. package/dist/js/node/config/default.js +131 -149
  99. package/dist/js/node/config/index.js +31 -28
  100. package/dist/js/node/config/initial/createHtmlConfig.js +26 -6
  101. package/dist/js/node/config/initial/createOutputConfig.js +31 -17
  102. package/dist/js/node/config/initial/createSourceConfig.js +31 -7
  103. package/dist/js/node/config/initial/createToolsConfig.js +28 -10
  104. package/dist/js/node/config/initial/index.js +34 -17
  105. package/dist/js/node/config/initial/inits.js +130 -81
  106. package/dist/js/node/config/initial/transformNormalizedConfig.js +40 -16
  107. package/dist/js/node/defineConfig.js +46 -17
  108. package/dist/js/node/exports/server.js +25 -10
  109. package/dist/js/node/hooks.js +53 -29
  110. package/dist/js/node/index.js +213 -129
  111. package/dist/js/node/initialize/index.js +117 -61
  112. package/dist/js/node/locale/en.js +40 -25
  113. package/dist/js/node/locale/index.js +31 -14
  114. package/dist/js/node/locale/zh.js +41 -26
  115. package/dist/js/node/schema/Schema.js +27 -10
  116. package/dist/js/node/schema/index.js +84 -114
  117. package/dist/js/node/schema/legacy.js +119 -240
  118. package/dist/js/node/types/config/deploy.js +15 -0
  119. package/dist/js/node/types/config/dev.js +15 -0
  120. package/dist/js/node/types/config/experiments.js +15 -0
  121. package/dist/js/node/types/config/html.js +15 -0
  122. package/dist/js/node/types/config/index.js +17 -16
  123. package/dist/js/node/types/config/output.js +15 -0
  124. package/dist/js/node/types/config/performance.js +15 -0
  125. package/dist/js/node/types/config/security.js +15 -0
  126. package/dist/js/node/types/config/source.js +15 -0
  127. package/dist/js/node/types/config/tools.js +15 -0
  128. package/dist/js/node/types/hooks.js +15 -0
  129. package/dist/js/node/types/index.js +19 -38
  130. package/dist/js/node/types/legacyConfig/deploy.js +15 -0
  131. package/dist/js/node/types/legacyConfig/dev.js +15 -0
  132. package/dist/js/node/types/legacyConfig/index.js +15 -0
  133. package/dist/js/node/types/legacyConfig/output.js +15 -5
  134. package/dist/js/node/types/legacyConfig/source.js +15 -0
  135. package/dist/js/node/types/legacyConfig/tools.js +15 -0
  136. package/dist/js/node/utils/commands.js +31 -6
  137. package/dist/js/node/utils/config.js +125 -51
  138. package/dist/js/node/utils/createFileWatcher.js +109 -61
  139. package/dist/js/node/utils/createServer.js +92 -25
  140. package/dist/js/node/utils/getServerInternalPlugins.js +79 -0
  141. package/dist/js/node/utils/getSpecifiedEntries.js +68 -25
  142. package/dist/js/node/utils/language.js +28 -8
  143. package/dist/js/node/utils/printInstructions.js +51 -16
  144. package/dist/js/node/utils/restart.js +65 -21
  145. package/dist/js/node/utils/routes.js +58 -19
  146. package/dist/js/node/utils/types.js +15 -0
  147. package/dist/js/treeshaking/analyze/Builder.js +199 -0
  148. package/dist/js/treeshaking/analyze/constants.js +37 -18
  149. package/dist/js/treeshaking/analyze/generateCode.js +597 -407
  150. package/dist/js/treeshaking/analyze/getBundleEntry.js +55 -63
  151. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +217 -168
  152. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +215 -169
  153. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -2
  154. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +19 -20
  155. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +97 -86
  156. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +298 -125
  157. package/dist/js/treeshaking/analyze/getServerRoutes.js +210 -147
  158. package/dist/js/treeshaking/analyze/index.js +575 -305
  159. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +45 -26
  160. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -16
  161. package/dist/js/treeshaking/analyze/nestedRoutes.js +419 -201
  162. package/dist/js/treeshaking/analyze/templates.js +438 -236
  163. package/dist/js/treeshaking/analyze/utils.js +367 -153
  164. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +285 -199
  165. package/dist/js/treeshaking/builder/index.js +365 -165
  166. package/dist/js/treeshaking/builder/loaders/routerLoader.js +11 -12
  167. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +3 -2
  168. package/dist/js/treeshaking/builder/share.js +38 -44
  169. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +108 -44
  170. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +70 -39
  171. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +334 -112
  172. package/dist/js/treeshaking/commands/build.js +286 -88
  173. package/dist/js/treeshaking/commands/deploy.js +153 -25
  174. package/dist/js/treeshaking/commands/dev.js +313 -131
  175. package/dist/js/treeshaking/commands/index.js +1 -1
  176. package/dist/js/treeshaking/commands/inspect.js +147 -32
  177. package/dist/js/treeshaking/commands/serve.js +199 -0
  178. package/dist/js/treeshaking/config/default.js +207 -198
  179. package/dist/js/treeshaking/config/index.js +3 -2
  180. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -31
  181. package/dist/js/treeshaking/config/initial/createOutputConfig.js +41 -70
  182. package/dist/js/treeshaking/config/initial/createSourceConfig.js +41 -40
  183. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -38
  184. package/dist/js/treeshaking/config/initial/index.js +10 -9
  185. package/dist/js/treeshaking/config/initial/inits.js +205 -106
  186. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +31 -34
  187. package/dist/js/treeshaking/defineConfig.js +60 -13
  188. package/dist/js/treeshaking/exports/server.js +2 -1
  189. package/dist/js/treeshaking/hooks.js +31 -25
  190. package/dist/js/treeshaking/index.js +681 -256
  191. package/dist/js/treeshaking/initialize/index.js +292 -113
  192. package/dist/js/treeshaking/locale/en.js +34 -33
  193. package/dist/js/treeshaking/locale/index.js +5 -5
  194. package/dist/js/treeshaking/locale/zh.js +34 -33
  195. package/dist/js/treeshaking/schema/Schema.js +267 -69
  196. package/dist/js/treeshaking/schema/index.js +171 -121
  197. package/dist/js/treeshaking/schema/legacy.js +323 -256
  198. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  199. package/dist/js/treeshaking/types/config/dev.js +1 -0
  200. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  201. package/dist/js/treeshaking/types/config/html.js +1 -0
  202. package/dist/js/treeshaking/types/config/index.js +0 -1
  203. package/dist/js/treeshaking/types/config/output.js +1 -0
  204. package/dist/js/treeshaking/types/config/performance.js +1 -0
  205. package/dist/js/treeshaking/types/config/security.js +1 -0
  206. package/dist/js/treeshaking/types/config/source.js +1 -0
  207. package/dist/js/treeshaking/types/config/tools.js +1 -0
  208. package/dist/js/treeshaking/types/hooks.js +1 -0
  209. package/dist/js/treeshaking/types/index.js +0 -1
  210. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  211. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  212. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  213. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -1
  214. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  215. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  216. package/dist/js/treeshaking/utils/commands.js +10 -5
  217. package/dist/js/treeshaking/utils/config.js +295 -117
  218. package/dist/js/treeshaking/utils/createFileWatcher.js +278 -118
  219. package/dist/js/treeshaking/utils/createServer.js +252 -67
  220. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +210 -0
  221. package/dist/js/treeshaking/utils/getSpecifiedEntries.js +182 -55
  222. package/dist/js/treeshaking/utils/language.js +6 -5
  223. package/dist/js/treeshaking/utils/printInstructions.js +151 -29
  224. package/dist/js/treeshaking/utils/restart.js +184 -42
  225. package/dist/js/treeshaking/utils/routes.js +151 -27
  226. package/dist/js/treeshaking/utils/types.js +1 -0
  227. package/dist/types/analyze/Builder.d.ts +8 -0
  228. package/dist/types/analyze/constants.d.ts +10 -1
  229. package/dist/types/analyze/index.d.ts +2 -0
  230. package/dist/types/analyze/templates.d.ts +3 -1
  231. package/dist/types/analyze/utils.d.ts +2 -1
  232. package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -1
  233. package/dist/types/builder/index.d.ts +3 -3
  234. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +1 -7
  235. package/dist/types/commands/index.d.ts +1 -1
  236. package/dist/types/commands/{start.d.ts → serve.d.ts} +0 -0
  237. package/dist/types/defineConfig.d.ts +1 -0
  238. package/dist/types/index.d.ts +7 -1
  239. package/dist/types/initialize/index.d.ts +2 -0
  240. package/dist/types/locale/en.d.ts +1 -1
  241. package/dist/types/locale/index.d.ts +2 -2
  242. package/dist/types/locale/zh.d.ts +1 -1
  243. package/dist/types/types/config/dev.d.ts +2 -2
  244. package/dist/types/types/config/index.d.ts +4 -0
  245. package/dist/types/types/config/output.d.ts +0 -1
  246. package/dist/types/types/config/source.d.ts +2 -0
  247. package/dist/types/types/config/tools.d.ts +2 -0
  248. package/dist/types/types/hooks.d.ts +8 -0
  249. package/dist/types/types/legacyConfig/dev.d.ts +1 -0
  250. package/dist/types/types/legacyConfig/output.d.ts +1 -1
  251. package/dist/types/types/legacyConfig/source.d.ts +1 -0
  252. package/dist/types/types/legacyConfig/tools.d.ts +1 -0
  253. package/dist/types/utils/commands.d.ts +2 -1
  254. package/dist/types/utils/config.d.ts +1 -0
  255. package/dist/types/utils/createServer.d.ts +1 -0
  256. package/dist/types/utils/getServerInternalPlugins.d.ts +2 -0
  257. package/dist/types/utils/restart.d.ts +1 -1
  258. package/package.json +26 -22
  259. package/dist/js/modern/commands/start.js +0 -30
  260. package/dist/js/node/commands/start.js +0 -38
  261. package/dist/js/treeshaking/commands/start.js +0 -69
@@ -1,85 +1,144 @@
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 __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var getHtmlTemplate_exports = {};
45
+ __export(getHtmlTemplate_exports, {
46
+ getHtmlTemplate: () => getHtmlTemplate
5
47
  });
6
- exports.getHtmlTemplate = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _utils = require("@modern-js/utils");
9
- var _constants = require("./constants");
10
- var templates = _interopRequireWildcard(require("./templates"));
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- var PartialPosition;
15
- (function (PartialPosition) {
16
- PartialPosition["TOP"] = "top";
17
- PartialPosition["HEAD"] = "head";
18
- PartialPosition["BODY"] = "body";
19
- PartialPosition["BOTTOM"] = "bottom";
20
- PartialPosition["INDEX"] = "index";
21
- })(PartialPosition || (PartialPosition = {}));
48
+ module.exports = __toCommonJS(getHtmlTemplate_exports);
49
+ var import_path = __toESM(require("path"));
50
+ var import_utils = require("@modern-js/utils");
51
+ var import_constants = require("./constants");
52
+ var templates = __toESM(require("./templates"));
53
+ var PartialPosition = /* @__PURE__ */ ((PartialPosition2) => {
54
+ PartialPosition2["TOP"] = "top";
55
+ PartialPosition2["HEAD"] = "head";
56
+ PartialPosition2["BODY"] = "body";
57
+ PartialPosition2["BOTTOM"] = "bottom";
58
+ PartialPosition2["INDEX"] = "index";
59
+ return PartialPosition2;
60
+ })(PartialPosition || {});
22
61
  const findPartials = (dir, entryName, position) => {
23
- if (_utils.fs.existsSync(dir)) {
24
- const base = (0, _utils.findExists)(_constants.HTML_PARTIALS_EXTENSIONS.map(ext => _path.default.resolve(dir, `${position}${ext}`)));
25
- const file = entryName ? (0, _utils.findExists)(_constants.HTML_PARTIALS_EXTENSIONS.map(ext => _path.default.resolve(dir, entryName, `${position}${ext}`))) || base : base;
26
- return file ? {
27
- file,
28
- content: _utils.fs.readFileSync(file, 'utf8')
29
- } : null;
62
+ if (import_utils.fs.existsSync(dir)) {
63
+ const base = (0, import_utils.findExists)(
64
+ import_constants.HTML_PARTIALS_EXTENSIONS.map(
65
+ (ext) => import_path.default.resolve(dir, `${position}${ext}`)
66
+ )
67
+ );
68
+ const file = entryName ? (0, import_utils.findExists)(
69
+ import_constants.HTML_PARTIALS_EXTENSIONS.map(
70
+ (ext) => import_path.default.resolve(dir, entryName, `${position}${ext}`)
71
+ )
72
+ ) || base : base;
73
+ return file ? { file, content: import_utils.fs.readFileSync(file, "utf8") } : null;
30
74
  }
31
75
  return null;
32
76
  };
33
-
34
- // generate html template for
35
- const getHtmlTemplate = async (entrypoints, api, {
77
+ const getHtmlTemplate = (_0, _1, _2) => __async(void 0, [_0, _1, _2], function* (entrypoints, api, {
36
78
  appContext,
37
79
  config
38
- }) => {
80
+ }) {
81
+ const { appDirectory, internalDirectory } = appContext;
39
82
  const {
40
- appDirectory,
41
- internalDirectory
42
- } = appContext;
43
- const {
44
- source: {
45
- configDir
46
- }
83
+ source: { configDir }
47
84
  } = config;
48
- const htmlDir = _path.default.resolve(appDirectory, configDir || '', _constants.HTML_PARTIALS_FOLDER);
85
+ const htmlDir = import_path.default.resolve(
86
+ appDirectory,
87
+ configDir || "",
88
+ import_constants.HTML_PARTIALS_FOLDER
89
+ );
49
90
  const htmlTemplates = {};
50
91
  for (const entrypoint of entrypoints) {
51
- const {
52
- entryName
53
- } = entrypoint;
54
- const name = entrypoints.length === 1 && entryName === _utils.MAIN_ENTRY_NAME ? '' : entryName;
55
- const customIndexTemplate = findPartials(htmlDir, name, PartialPosition.INDEX);
92
+ const { entryName } = entrypoint;
93
+ const name = entrypoints.length === 1 && entryName === import_utils.MAIN_ENTRY_NAME ? "" : entryName;
94
+ const customIndexTemplate = findPartials(
95
+ htmlDir,
96
+ name,
97
+ "index" /* INDEX */
98
+ );
56
99
  if (customIndexTemplate) {
57
100
  htmlTemplates[entryName] = customIndexTemplate.file;
58
101
  } else {
59
102
  const hookRunners = api.useHookRunners();
60
- const {
61
- partials
62
- } = await hookRunners.htmlPartials({
103
+ const { partials } = yield hookRunners.htmlPartials({
63
104
  entrypoint,
64
- partials: [PartialPosition.TOP, PartialPosition.HEAD, PartialPosition.BODY].reduce((previous, position) => {
65
- const found = findPartials(htmlDir, name, position);
66
- previous[position] = found ? [found.content] : [];
67
- return previous;
68
- }, {
69
- top: [],
70
- head: [],
71
- body: []
72
- })
105
+ partials: [
106
+ "top" /* TOP */,
107
+ "head" /* HEAD */,
108
+ "body" /* BODY */
109
+ ].reduce(
110
+ (previous, position) => {
111
+ const found = findPartials(htmlDir, name, position);
112
+ previous[position] = found ? [found.content] : [];
113
+ return previous;
114
+ },
115
+ {
116
+ top: [],
117
+ head: [],
118
+ body: []
119
+ }
120
+ )
73
121
  });
74
- const templatePath = _path.default.resolve(internalDirectory, entryName, 'index.html');
75
- _utils.fs.outputFileSync(templatePath, templates.html(partials), 'utf8');
122
+ const templatePath = import_path.default.resolve(
123
+ internalDirectory,
124
+ entryName,
125
+ "index.html"
126
+ );
127
+ import_utils.fs.outputFileSync(templatePath, templates.html(partials), "utf8");
76
128
  htmlTemplates[entryName] = templatePath;
77
- const bottomTemplate = findPartials(htmlDir, name, PartialPosition.BOTTOM);
129
+ const bottomTemplate = findPartials(
130
+ htmlDir,
131
+ name,
132
+ "bottom" /* BOTTOM */
133
+ );
78
134
  if (bottomTemplate) {
79
135
  htmlTemplates[`__${entryName}-bottom__`] = bottomTemplate.content;
80
136
  }
81
137
  }
82
138
  }
83
139
  return htmlTemplates;
84
- };
85
- exports.getHtmlTemplate = getHtmlTemplate;
140
+ });
141
+ // Annotate the CommonJS export names for ESM import in node:
142
+ 0 && (module.exports = {
143
+ getHtmlTemplate
144
+ });
@@ -1,186 +1,194 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __objRest = (source, exclude) => {
25
+ var target = {};
26
+ for (var prop in source)
27
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
28
+ target[prop] = source[prop];
29
+ if (source != null && __getOwnPropSymbols)
30
+ for (var prop of __getOwnPropSymbols(source)) {
31
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
32
+ target[prop] = source[prop];
33
+ }
34
+ return target;
35
+ };
36
+ var __export = (target, all) => {
37
+ for (var name in all)
38
+ __defProp(target, name, { get: all[name], enumerable: true });
39
+ };
40
+ var __copyProps = (to, from, except, desc) => {
41
+ if (from && typeof from === "object" || typeof from === "function") {
42
+ for (let key of __getOwnPropNames(from))
43
+ if (!__hasOwnProp.call(to, key) && key !== except)
44
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
45
+ }
46
+ return to;
47
+ };
48
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
49
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
50
+ mod
51
+ ));
52
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
53
+ var getServerRoutes_exports = {};
54
+ __export(getServerRoutes_exports, {
55
+ getServerRoutes: () => getServerRoutes
5
56
  });
6
- exports.getServerRoutes = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _fs = _interopRequireDefault(require("fs"));
9
- var _utils = require("@modern-js/utils");
10
- var _utils2 = require("./utils");
11
- const _excluded = ["path"],
12
- _excluded2 = ["path"];
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
16
- 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; }
17
- 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; }
18
- 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; }
19
- /**
20
- * Add base url for each server route.
21
- * @param baseUrl - Base url from server.baseUrl
22
- * @param routes - Server routes.
23
- * @returns Server routes with baseUrl prefixed.
24
- */
57
+ module.exports = __toCommonJS(getServerRoutes_exports);
58
+ var import_path = __toESM(require("path"));
59
+ var import_fs = __toESM(require("fs"));
60
+ var import_utils = require("@modern-js/utils");
61
+ var import_utils2 = require("./utils");
25
62
  const applyBaseUrl = (baseUrl, routes) => {
26
63
  if (baseUrl) {
27
64
  if (Array.isArray(baseUrl)) {
28
- return baseUrl.reduce((previous, current) => [...previous, ...applyBaseUrl(current, routes)], []);
65
+ return baseUrl.reduce(
66
+ (previous, current) => [...previous, ...applyBaseUrl(current, routes)],
67
+ []
68
+ );
29
69
  } else {
30
- return routes.map(route => {
31
- const urlPath = (0, _utils.urlJoin)(baseUrl, route.urlPath);
32
- return _objectSpread(_objectSpread({}, route), {}, {
33
- urlPath: urlPath === '/' ? urlPath : (0, _utils.removeTailSlash)(urlPath)
70
+ return routes.map((route) => {
71
+ const urlPath = (0, import_utils.urlJoin)(baseUrl, route.urlPath);
72
+ return __spreadProps(__spreadValues({}, route), {
73
+ urlPath: urlPath === "/" ? urlPath : (0, import_utils.removeTailSlash)(urlPath)
34
74
  });
35
75
  });
36
76
  }
37
77
  }
38
78
  return routes;
39
79
  };
40
-
41
- /**
42
- *
43
- * @param original - Original entrypoint route info.
44
- * @param routeOptions - Custom entrypoint route config from server.routes.
45
- * @returns
46
- */
47
80
  const applyRouteOptions = (original, routeOptions) => {
48
- const {
49
- route,
50
- disableSpa
51
- } = routeOptions;
81
+ const { route, disableSpa } = routeOptions;
52
82
  original.isSPA = !disableSpa;
53
-
54
- // set entryPath as dir
55
- !original.isSPA && (original.entryPath = _path.default.dirname(original.entryPath));
83
+ !original.isSPA && (original.entryPath = import_path.default.dirname(original.entryPath));
56
84
  let routes;
57
85
  if (route) {
58
86
  if (Array.isArray(route)) {
59
- routes = route.map(url => {
60
- if ((0, _utils.isPlainObject)(url)) {
61
- const _ref = url,
62
- {
63
- path: urlPath
64
- } = _ref,
65
- other = _objectWithoutProperties(_ref, _excluded);
66
- return _objectSpread(_objectSpread(_objectSpread({}, original), other), {}, {
87
+ routes = route.map((url) => {
88
+ if ((0, import_utils.isPlainObject)(url)) {
89
+ const _a2 = url, { path: urlPath } = _a2, other = __objRest(_a2, ["path"]);
90
+ return __spreadProps(__spreadValues(__spreadValues({}, original), other), {
67
91
  urlPath
68
92
  });
69
93
  } else {
70
- return _objectSpread(_objectSpread({}, original), {}, {
94
+ return __spreadProps(__spreadValues({}, original), {
71
95
  urlPath: url
72
96
  });
73
97
  }
74
98
  });
75
- } else if ((0, _utils.isPlainObject)(route)) {
76
- const _ref2 = route,
77
- {
78
- path: urlPath
79
- } = _ref2,
80
- other = _objectWithoutProperties(_ref2, _excluded2);
81
- routes = [_objectSpread(_objectSpread(_objectSpread({}, original), other), {}, {
82
- urlPath
83
- })];
99
+ } else if ((0, import_utils.isPlainObject)(route)) {
100
+ const _a = route, { path: urlPath } = _a, other = __objRest(_a, ["path"]);
101
+ routes = [
102
+ __spreadProps(__spreadValues(__spreadValues({}, original), other), {
103
+ urlPath
104
+ })
105
+ ];
84
106
  } else {
85
- routes = [_objectSpread(_objectSpread({}, original), {}, {
86
- urlPath: route
87
- })];
107
+ routes = [
108
+ __spreadProps(__spreadValues({}, original), {
109
+ urlPath: route
110
+ })
111
+ ];
88
112
  }
89
113
  } else {
90
114
  routes = [original];
91
115
  }
92
116
  return routes;
93
117
  };
94
-
95
- /**
96
- * Collect routes from entrypoints.
97
- * @param entrypoints - Bundle entrypoints.
98
- * @param config - Normalized user config.
99
- * @returns entrypoint Routes
100
- */
101
118
  const collectHtmlRoutes = (entrypoints, appContext, config) => {
102
119
  const {
103
- html: {
104
- disableHtmlFolder
105
- },
106
- output: {
107
- distPath: {
108
- html: htmlPath
109
- } = {},
110
- enableModernMode
111
- },
112
- server: {
113
- baseUrl,
114
- routes,
115
- ssr,
116
- ssrByEntries
117
- }
120
+ html: { disableHtmlFolder },
121
+ output: { distPath: { html: htmlPath } = {} },
122
+ server: { baseUrl, routes, ssr, ssrByEntries }
118
123
  } = config;
119
- const {
120
- packageName
121
- } = appContext;
122
- let htmlRoutes = entrypoints.reduce((previous, {
123
- entryName
124
- }) => {
125
- const entryOptions = (0, _utils.getEntryOptions)(entryName, ssr, ssrByEntries, packageName);
126
- const isSSR = Boolean(entryOptions);
127
- const {
128
- resHeaders
129
- } = (routes === null || routes === void 0 ? void 0 : routes[entryName]) || {};
130
- let route = {
131
- urlPath: `/${entryName === _utils.MAIN_ENTRY_NAME ? '' : entryName}`,
132
- entryName,
133
- entryPath: (0, _utils.removeLeadingSlash)(_path.default.posix.normalize(`${htmlPath}/${entryName}${disableHtmlFolder ? '.html' : '/index.html'}`)),
134
- isSPA: true,
135
- isSSR,
136
- responseHeaders: resHeaders,
137
- enableModernMode: Boolean(enableModernMode),
138
- bundle: isSSR ? `${_utils.SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : undefined
139
- };
140
- if (routes !== null && routes !== void 0 && routes.hasOwnProperty(entryName)) {
141
- const routeOptions = (0, _utils.isPlainObject)(routes[entryName]) ? routes[entryName] : {
142
- route: routes[entryName]
124
+ const { packageName } = appContext;
125
+ let htmlRoutes = entrypoints.reduce(
126
+ (previous, { entryName }) => {
127
+ const entryOptions = (0, import_utils.getEntryOptions)(
128
+ entryName,
129
+ ssr,
130
+ ssrByEntries,
131
+ packageName
132
+ );
133
+ const isSSR = Boolean(entryOptions);
134
+ const { resHeaders } = (routes == null ? void 0 : routes[entryName]) || {};
135
+ let route = {
136
+ urlPath: `/${entryName === import_utils.MAIN_ENTRY_NAME ? "" : entryName}`,
137
+ entryName,
138
+ entryPath: (0, import_utils.removeLeadingSlash)(
139
+ import_path.default.posix.normalize(
140
+ `${htmlPath}/${entryName}${disableHtmlFolder ? ".html" : "/index.html"}`
141
+ )
142
+ ),
143
+ isSPA: true,
144
+ isSSR,
145
+ responseHeaders: resHeaders,
146
+ bundle: isSSR ? `${import_utils.SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0
143
147
  };
144
- route = applyRouteOptions(route, routeOptions);
145
- }
146
- return Array.isArray(route) ? [...previous, ...route] : [...previous, route];
147
- }, []);
148
+ if (routes == null ? void 0 : routes.hasOwnProperty(entryName)) {
149
+ const routeOptions = (0, import_utils.isPlainObject)(routes[entryName]) ? routes[entryName] : { route: routes[entryName] };
150
+ route = applyRouteOptions(route, routeOptions);
151
+ }
152
+ return Array.isArray(route) ? [...previous, ...route] : [...previous, route];
153
+ },
154
+ []
155
+ );
148
156
  htmlRoutes = applyBaseUrl(baseUrl, htmlRoutes);
149
157
  return htmlRoutes;
150
158
  };
151
-
152
- /**
153
- * Collect static public file routes from config/public folder.
154
- * @param appContext - App context info.
155
- * @param config - normalized user config.
156
- * @returns Static public file routes.
157
- */
158
159
  const collectStaticRoutes = (appContext, config) => {
160
+ const { appDirectory } = appContext;
159
161
  const {
160
- appDirectory
161
- } = appContext;
162
- const {
163
- source: {
164
- configDir
165
- },
166
- server: {
167
- publicRoutes = {}
168
- }
162
+ source: { configDir },
163
+ server: { publicRoutes = {} }
169
164
  } = config;
170
- const publicFolder = _path.default.resolve(appDirectory, configDir || '', 'public');
171
- return _fs.default.existsSync(publicFolder) ? (0, _utils2.walkDirectory)(publicFolder).map(filePath => {
172
- const urlPath = `${(0, _utils.urlJoin)(toPosix(filePath).slice(toPosix(publicFolder).length))}`;
165
+ const publicFolder = import_path.default.resolve(appDirectory, configDir || "", "public");
166
+ return import_fs.default.existsSync(publicFolder) ? (0, import_utils2.walkDirectory)(publicFolder).map((filePath) => {
167
+ const urlPath = `${(0, import_utils.urlJoin)(
168
+ toPosix(filePath).slice(toPosix(publicFolder).length)
169
+ )}`;
173
170
  return {
174
- urlPath: publicRoutes[(0, _utils.removeLeadingSlash)(urlPath)] || urlPath,
171
+ urlPath: publicRoutes[(0, import_utils.removeLeadingSlash)(urlPath)] || urlPath,
175
172
  isSPA: true,
176
173
  isSSR: false,
177
- entryPath: toPosix(_path.default.relative(_path.default.resolve(appDirectory, configDir || ''), filePath))
174
+ entryPath: toPosix(
175
+ import_path.default.relative(
176
+ import_path.default.resolve(appDirectory, configDir || ""),
177
+ filePath
178
+ )
179
+ )
178
180
  };
179
181
  }) : [];
180
182
  };
181
183
  const getServerRoutes = (entrypoints, {
182
184
  appContext,
183
185
  config
184
- }) => [...collectHtmlRoutes(entrypoints, appContext, config), ...collectStaticRoutes(appContext, config)];
185
- exports.getServerRoutes = getServerRoutes;
186
- const toPosix = pathStr => pathStr.split(_path.default.sep).join(_path.default.posix.sep);
186
+ }) => [
187
+ ...collectHtmlRoutes(entrypoints, appContext, config),
188
+ ...collectStaticRoutes(appContext, config)
189
+ ];
190
+ const toPosix = (pathStr) => pathStr.split(import_path.default.sep).join(import_path.default.posix.sep);
191
+ // Annotate the CommonJS export names for ESM import in node:
192
+ 0 && (module.exports = {
193
+ getServerRoutes
194
+ });