@modern-js/app-tools 2.0.0-beta.2 → 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 (236) hide show
  1. package/CHANGELOG.md +556 -0
  2. package/bin/modern.js +11 -1
  3. package/dist/js/modern/analyze/Builder.js +39 -0
  4. package/dist/js/modern/analyze/constants.js +38 -16
  5. package/dist/js/modern/analyze/generateCode.js +272 -211
  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 +110 -53
  18. package/dist/js/modern/analyze/templates.js +191 -77
  19. package/dist/js/modern/analyze/utils.js +98 -51
  20. package/dist/js/modern/builder/builderPlugins/compatModern.js +125 -107
  21. package/dist/js/modern/builder/index.js +124 -89
  22. package/dist/js/modern/builder/loaders/routerLoader.js +17 -0
  23. package/dist/js/modern/builder/loaders/serverModuleLoader.js +7 -0
  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 +93 -47
  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 -16
  34. package/dist/js/modern/config/default.js +103 -114
  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 +11 -9
  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 -35
  68. package/dist/js/node/analyze/generateCode.js +291 -228
  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 +140 -67
  81. package/dist/js/node/analyze/templates.js +212 -84
  82. package/dist/js/node/analyze/utils.js +123 -62
  83. package/dist/js/node/builder/builderPlugins/compatModern.js +153 -120
  84. package/dist/js/node/builder/index.js +152 -98
  85. package/dist/js/node/builder/loaders/routerLoader.js +36 -0
  86. package/dist/js/node/builder/loaders/serverModuleLoader.js +26 -0
  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 +115 -61
  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 -27
  97. package/dist/js/node/config/default.js +119 -118
  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 +28 -13
  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 -60
  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 -16
  131. package/dist/js/treeshaking/analyze/generateCode.js +605 -355
  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 -146
  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 +414 -160
  144. package/dist/js/treeshaking/analyze/templates.js +432 -161
  145. package/dist/js/treeshaking/analyze/utils.js +361 -80
  146. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +282 -195
  147. package/dist/js/treeshaking/builder/index.js +371 -167
  148. package/dist/js/treeshaking/builder/loaders/routerLoader.js +13 -0
  149. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +5 -0
  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 -132
  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 -68
  160. package/dist/js/treeshaking/config/default.js +210 -199
  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 -67
  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/constants.d.ts +2 -0
  210. package/dist/types/analyze/index.d.ts +2 -0
  211. package/dist/types/analyze/templates.d.ts +10 -7
  212. package/dist/types/analyze/utils.d.ts +9 -1
  213. package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -1
  214. package/dist/types/builder/index.d.ts +3 -3
  215. package/dist/types/builder/loaders/routerLoader.d.ts +3 -0
  216. package/dist/types/builder/loaders/serverModuleLoader.d.ts +3 -0
  217. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +1 -7
  218. package/dist/types/defineConfig.d.ts +1 -0
  219. package/dist/types/index.d.ts +6 -1
  220. package/dist/types/initialize/index.d.ts +2 -0
  221. package/dist/types/types/config/dev.d.ts +2 -2
  222. package/dist/types/types/config/index.d.ts +1 -0
  223. package/dist/types/types/config/output.d.ts +0 -1
  224. package/dist/types/types/config/source.d.ts +1 -0
  225. package/dist/types/types/config/tools.d.ts +10 -1
  226. package/dist/types/types/hooks.d.ts +7 -1
  227. package/dist/types/types/legacyConfig/dev.d.ts +1 -0
  228. package/dist/types/types/legacyConfig/output.d.ts +1 -1
  229. package/dist/types/types/legacyConfig/source.d.ts +1 -0
  230. package/dist/types/types/legacyConfig/tools.d.ts +1 -0
  231. package/dist/types/utils/config.d.ts +1 -0
  232. package/dist/types/utils/createFileWatcher.d.ts +2 -1
  233. package/dist/types/utils/createServer.d.ts +1 -0
  234. package/dist/types/utils/restart.d.ts +1 -1
  235. package/lib/types.d.ts +1 -1
  236. package/package.json +26 -22
@@ -1,158 +1,222 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
- var _excluded = ["path"],
5
- _excluded2 = ["path"];
6
- import path from 'path';
7
- import fs from 'fs';
8
- import { urlJoin, isPlainObject, removeLeadingSlash, getEntryOptions, SERVER_BUNDLE_DIRECTORY, MAIN_ENTRY_NAME, removeTailSlash } from '@modern-js/utils';
9
- import { walkDirectory } from "./utils";
10
-
11
- /**
12
- * Add base url for each server route.
13
- * @param baseUrl - Base url from server.baseUrl
14
- * @param routes - Server routes.
15
- * @returns Server routes with baseUrl prefixed.
16
- */
17
- var applyBaseUrl = function applyBaseUrl(baseUrl, routes) {
18
- if (baseUrl) {
19
- if (Array.isArray(baseUrl)) {
20
- return baseUrl.reduce(function (previous, current) {
21
- return [].concat(_toConsumableArray(previous), _toConsumableArray(applyBaseUrl(current, routes)));
22
- }, []);
1
+ function _arrayLikeToArray(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _arrayWithoutHoles(arr) {
7
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
8
+ }
9
+ function _defineProperty(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
19
+ }
20
+ return obj;
21
+ }
22
+ function _iterableToArray(iter) {
23
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
24
+ }
25
+ function _nonIterableSpread() {
26
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
27
+ }
28
+ function _objectSpread(target) {
29
+ for(var i = 1; i < arguments.length; i++){
30
+ var source = arguments[i] != null ? arguments[i] : {};
31
+ var ownKeys = Object.keys(source);
32
+ if (typeof Object.getOwnPropertySymbols === "function") {
33
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
34
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
35
+ }));
36
+ }
37
+ ownKeys.forEach(function(key) {
38
+ _defineProperty(target, key, source[key]);
39
+ });
40
+ }
41
+ return target;
42
+ }
43
+ function ownKeys(object, enumerableOnly) {
44
+ var keys = Object.keys(object);
45
+ if (Object.getOwnPropertySymbols) {
46
+ var symbols = Object.getOwnPropertySymbols(object);
47
+ if (enumerableOnly) {
48
+ symbols = symbols.filter(function(sym) {
49
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
50
+ });
51
+ }
52
+ keys.push.apply(keys, symbols);
53
+ }
54
+ return keys;
55
+ }
56
+ function _objectSpreadProps(target, source) {
57
+ source = source != null ? source : {};
58
+ if (Object.getOwnPropertyDescriptors) {
59
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
23
60
  } else {
24
- return routes.map(function (route) {
25
- var urlPath = urlJoin(baseUrl, route.urlPath);
26
- return _objectSpread(_objectSpread({}, route), {}, {
27
- urlPath: urlPath === '/' ? urlPath : removeTailSlash(urlPath)
61
+ ownKeys(Object(source)).forEach(function(key) {
62
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
28
63
  });
29
- });
30
64
  }
31
- }
32
- return routes;
65
+ return target;
66
+ }
67
+ function _objectWithoutProperties(source, excluded) {
68
+ if (source == null) return {};
69
+ var target = _objectWithoutPropertiesLoose(source, excluded);
70
+ var key, i;
71
+ if (Object.getOwnPropertySymbols) {
72
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
73
+ for(i = 0; i < sourceSymbolKeys.length; i++){
74
+ key = sourceSymbolKeys[i];
75
+ if (excluded.indexOf(key) >= 0) continue;
76
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
77
+ target[key] = source[key];
78
+ }
79
+ }
80
+ return target;
81
+ }
82
+ function _objectWithoutPropertiesLoose(source, excluded) {
83
+ if (source == null) return {};
84
+ var target = {};
85
+ var sourceKeys = Object.keys(source);
86
+ var key, i;
87
+ for(i = 0; i < sourceKeys.length; i++){
88
+ key = sourceKeys[i];
89
+ if (excluded.indexOf(key) >= 0) continue;
90
+ target[key] = source[key];
91
+ }
92
+ return target;
93
+ }
94
+ function _toConsumableArray(arr) {
95
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
96
+ }
97
+ function _unsupportedIterableToArray(o, minLen) {
98
+ if (!o) return;
99
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
100
+ var n = Object.prototype.toString.call(o).slice(8, -1);
101
+ if (n === "Object" && o.constructor) n = o.constructor.name;
102
+ if (n === "Map" || n === "Set") return Array.from(n);
103
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
104
+ }
105
+ import path from "path";
106
+ import fs from "fs";
107
+ import { urlJoin, isPlainObject, removeLeadingSlash, getEntryOptions, SERVER_BUNDLE_DIRECTORY, MAIN_ENTRY_NAME, removeTailSlash } from "@modern-js/utils";
108
+ import { walkDirectory } from "./utils";
109
+ var applyBaseUrl = function(baseUrl, routes) {
110
+ if (baseUrl) {
111
+ if (Array.isArray(baseUrl)) {
112
+ return baseUrl.reduce(function(previous, current) {
113
+ return _toConsumableArray(previous).concat(_toConsumableArray(applyBaseUrl(current, routes)));
114
+ }, []);
115
+ } else {
116
+ return routes.map(function(route) {
117
+ var urlPath = urlJoin(baseUrl, route.urlPath);
118
+ return _objectSpreadProps(_objectSpread({}, route), {
119
+ urlPath: urlPath === "/" ? urlPath : removeTailSlash(urlPath)
120
+ });
121
+ });
122
+ }
123
+ }
124
+ return routes;
33
125
  };
34
-
35
- /**
36
- *
37
- * @param original - Original entrypoint route info.
38
- * @param routeOptions - Custom entrypoint route config from server.routes.
39
- * @returns
40
- */
41
- var applyRouteOptions = function applyRouteOptions(original, routeOptions) {
42
- var route = routeOptions.route,
43
- disableSpa = routeOptions.disableSpa;
44
- original.isSPA = !disableSpa;
45
-
46
- // set entryPath as dir
47
- !original.isSPA && (original.entryPath = path.dirname(original.entryPath));
48
- var routes;
49
- if (route) {
50
- if (Array.isArray(route)) {
51
- routes = route.map(function (url) {
52
- if (isPlainObject(url)) {
53
- var _ref = url,
54
- urlPath = _ref.path,
55
- other = _objectWithoutProperties(_ref, _excluded);
56
- return _objectSpread(_objectSpread(_objectSpread({}, original), other), {}, {
57
- urlPath: urlPath
58
- });
126
+ var applyRouteOptions = function(original, routeOptions) {
127
+ var route = routeOptions.route, disableSpa = routeOptions.disableSpa;
128
+ original.isSPA = !disableSpa;
129
+ !original.isSPA && (original.entryPath = path.dirname(original.entryPath));
130
+ var routes;
131
+ if (route) {
132
+ if (Array.isArray(route)) {
133
+ var _tmp;
134
+ _tmp = route.map(function(url) {
135
+ if (isPlainObject(url)) {
136
+ var urlPath = url.path, other = _objectWithoutProperties(url, [
137
+ "path"
138
+ ]);
139
+ return _objectSpreadProps(_objectSpread({}, original, other), {
140
+ urlPath: urlPath
141
+ });
142
+ } else {
143
+ return _objectSpreadProps(_objectSpread({}, original), {
144
+ urlPath: url
145
+ });
146
+ }
147
+ }), routes = _tmp, _tmp;
148
+ } else if (isPlainObject(route)) {
149
+ var urlPath = route.path, other = _objectWithoutProperties(route, [
150
+ "path"
151
+ ]);
152
+ routes = [
153
+ _objectSpreadProps(_objectSpread({}, original, other), {
154
+ urlPath: urlPath
155
+ })
156
+ ];
59
157
  } else {
60
- return _objectSpread(_objectSpread({}, original), {}, {
61
- urlPath: url
62
- });
158
+ routes = [
159
+ _objectSpreadProps(_objectSpread({}, original), {
160
+ urlPath: route
161
+ })
162
+ ];
63
163
  }
64
- });
65
- } else if (isPlainObject(route)) {
66
- var _ref2 = route,
67
- urlPath = _ref2.path,
68
- other = _objectWithoutProperties(_ref2, _excluded2);
69
- routes = [_objectSpread(_objectSpread(_objectSpread({}, original), other), {}, {
70
- urlPath: urlPath
71
- })];
72
164
  } else {
73
- routes = [_objectSpread(_objectSpread({}, original), {}, {
74
- urlPath: route
75
- })];
165
+ routes = [
166
+ original
167
+ ];
76
168
  }
77
- } else {
78
- routes = [original];
79
- }
80
- return routes;
169
+ return routes;
81
170
  };
82
-
83
- /**
84
- * Collect routes from entrypoints.
85
- * @param entrypoints - Bundle entrypoints.
86
- * @param config - Normalized user config.
87
- * @returns entrypoint Routes
88
- */
89
- var collectHtmlRoutes = function collectHtmlRoutes(entrypoints, appContext, config) {
90
- var disableHtmlFolder = config.html.disableHtmlFolder,
91
- _config$output$distPa = config.output.distPath;
92
- _config$output$distPa = _config$output$distPa === void 0 ? {} : _config$output$distPa;
93
- var htmlPath = _config$output$distPa.html,
94
- _config$server = config.server,
95
- baseUrl = _config$server.baseUrl,
96
- routes = _config$server.routes,
97
- ssr = _config$server.ssr,
98
- ssrByEntries = _config$server.ssrByEntries;
99
- var packageName = appContext.packageName;
100
- var htmlRoutes = entrypoints.reduce(function (previous, _ref3) {
101
- var entryName = _ref3.entryName;
102
- var entryOptions = getEntryOptions(entryName, ssr, ssrByEntries, packageName);
103
- var isSSR = Boolean(entryOptions);
104
- var _ref4 = (routes === null || routes === void 0 ? void 0 : routes[entryName]) || {},
105
- resHeaders = _ref4.resHeaders;
106
- var route = {
107
- urlPath: "/".concat(entryName === MAIN_ENTRY_NAME ? '' : entryName),
108
- entryName: entryName,
109
- entryPath: removeLeadingSlash(path.posix.normalize("".concat(htmlPath, "/").concat(entryName).concat(disableHtmlFolder ? '.html' : '/index.html'))),
110
- isSPA: true,
111
- isSSR: isSSR,
112
- responseHeaders: resHeaders,
113
- // FIXME: remove the config.enableModernMode
114
- // enableModernMode: Boolean(enableModernMode),
115
- bundle: isSSR ? "".concat(SERVER_BUNDLE_DIRECTORY, "/").concat(entryName, ".js") : undefined
116
- };
117
- if (routes !== null && routes !== void 0 && routes.hasOwnProperty(entryName)) {
118
- var routeOptions = isPlainObject(routes[entryName]) ? routes[entryName] : {
119
- route: routes[entryName]
120
- };
121
- route = applyRouteOptions(route, routeOptions);
122
- }
123
- return Array.isArray(route) ? [].concat(_toConsumableArray(previous), _toConsumableArray(route)) : [].concat(_toConsumableArray(previous), [route]);
124
- }, []);
125
- htmlRoutes = applyBaseUrl(baseUrl, htmlRoutes);
126
- return htmlRoutes;
171
+ var collectHtmlRoutes = function(entrypoints, appContext, config) {
172
+ var disableHtmlFolder = config.html.disableHtmlFolder, _output = config.output, tmp = _output.distPath, ref = tmp === void 0 ? {} : tmp, htmlPath = ref.html, _server = config.server, baseUrl = _server.baseUrl, routes = _server.routes, ssr = _server.ssr, ssrByEntries = _server.ssrByEntries;
173
+ var packageName = appContext.packageName;
174
+ var htmlRoutes = entrypoints.reduce(function(previous, param) {
175
+ var entryName = param.entryName;
176
+ var entryOptions = getEntryOptions(entryName, ssr, ssrByEntries, packageName);
177
+ var isSSR = Boolean(entryOptions);
178
+ var resHeaders = ((routes === null || routes === void 0 ? void 0 : routes[entryName]) || {}).resHeaders;
179
+ var route = {
180
+ urlPath: "/".concat(entryName === MAIN_ENTRY_NAME ? "" : entryName),
181
+ entryName: entryName,
182
+ entryPath: removeLeadingSlash(path.posix.normalize("".concat(htmlPath, "/").concat(entryName).concat(disableHtmlFolder ? ".html" : "/index.html"))),
183
+ isSPA: true,
184
+ isSSR: isSSR,
185
+ responseHeaders: resHeaders,
186
+ bundle: isSSR ? "".concat(SERVER_BUNDLE_DIRECTORY, "/").concat(entryName, ".js") : void 0
187
+ };
188
+ if (routes === null || routes === void 0 ? void 0 : routes.hasOwnProperty(entryName)) {
189
+ var routeOptions = isPlainObject(routes[entryName]) ? routes[entryName] : {
190
+ route: routes[entryName]
191
+ };
192
+ route = applyRouteOptions(route, routeOptions);
193
+ }
194
+ return Array.isArray(route) ? _toConsumableArray(previous).concat(_toConsumableArray(route)) : _toConsumableArray(previous).concat([
195
+ route
196
+ ]);
197
+ }, []);
198
+ htmlRoutes = applyBaseUrl(baseUrl, htmlRoutes);
199
+ return htmlRoutes;
200
+ };
201
+ var collectStaticRoutes = function(appContext, config) {
202
+ var appDirectory = appContext.appDirectory;
203
+ var configDir = config.source.configDir, _server = config.server, _publicRoutes = _server.publicRoutes, publicRoutes = _publicRoutes === void 0 ? {} : _publicRoutes;
204
+ var publicFolder = path.resolve(appDirectory, configDir || "", "public");
205
+ return fs.existsSync(publicFolder) ? walkDirectory(publicFolder).map(function(filePath) {
206
+ var urlPath = "".concat(urlJoin(toPosix(filePath).slice(toPosix(publicFolder).length)));
207
+ return {
208
+ urlPath: publicRoutes[removeLeadingSlash(urlPath)] || urlPath,
209
+ isSPA: true,
210
+ isSSR: false,
211
+ entryPath: toPosix(path.relative(path.resolve(appDirectory, configDir || ""), filePath))
212
+ };
213
+ }) : [];
127
214
  };
128
-
129
- /**
130
- * Collect static public file routes from config/public folder.
131
- * @param appContext - App context info.
132
- * @param config - normalized user config.
133
- * @returns Static public file routes.
134
- */
135
- var collectStaticRoutes = function collectStaticRoutes(appContext, config) {
136
- var appDirectory = appContext.appDirectory;
137
- var configDir = config.source.configDir,
138
- _config$server$public = config.server.publicRoutes,
139
- publicRoutes = _config$server$public === void 0 ? {} : _config$server$public;
140
- var publicFolder = path.resolve(appDirectory, configDir || '', 'public');
141
- return fs.existsSync(publicFolder) ? walkDirectory(publicFolder).map(function (filePath) {
142
- var urlPath = "".concat(urlJoin(toPosix(filePath).slice(toPosix(publicFolder).length)));
143
- return {
144
- urlPath: publicRoutes[removeLeadingSlash(urlPath)] || urlPath,
145
- isSPA: true,
146
- isSSR: false,
147
- entryPath: toPosix(path.relative(path.resolve(appDirectory, configDir || ''), filePath))
148
- };
149
- }) : [];
215
+ var getServerRoutes = function(entrypoints, param) {
216
+ var appContext = param.appContext, config = param.config;
217
+ return _toConsumableArray(collectHtmlRoutes(entrypoints, appContext, config)).concat(_toConsumableArray(collectStaticRoutes(appContext, config)));
150
218
  };
151
- export var getServerRoutes = function getServerRoutes(entrypoints, _ref5) {
152
- var appContext = _ref5.appContext,
153
- config = _ref5.config;
154
- return [].concat(_toConsumableArray(collectHtmlRoutes(entrypoints, appContext, config)), _toConsumableArray(collectStaticRoutes(appContext, config)));
219
+ var toPosix = function(pathStr) {
220
+ return pathStr.split(path.sep).join(path.posix.sep);
155
221
  };
156
- var toPosix = function toPosix(pathStr) {
157
- return pathStr.split(path.sep).join(path.posix.sep);
158
- };
222
+ export { getServerRoutes };