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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/js/modern/analyze/constants.js +38 -18
  2. package/dist/js/modern/analyze/generateCode.js +261 -221
  3. package/dist/js/modern/analyze/getBundleEntry.js +31 -32
  4. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +93 -49
  5. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +89 -47
  6. package/dist/js/modern/analyze/getClientRoutes/index.js +6 -2
  7. package/dist/js/modern/analyze/getClientRoutes/utils.js +23 -10
  8. package/dist/js/modern/analyze/getFileSystemEntry.js +43 -22
  9. package/dist/js/modern/analyze/getHtmlTemplate.js +89 -49
  10. package/dist/js/modern/analyze/getServerRoutes.js +122 -126
  11. package/dist/js/modern/analyze/index.js +193 -159
  12. package/dist/js/modern/analyze/isDefaultExportFunction.js +30 -16
  13. package/dist/js/modern/analyze/makeLegalIdentifier.js +10 -11
  14. package/dist/js/modern/analyze/nestedRoutes.js +106 -60
  15. package/dist/js/modern/analyze/templates.js +161 -80
  16. package/dist/js/modern/analyze/utils.js +87 -66
  17. package/dist/js/modern/builder/builderPlugins/compatModern.js +121 -109
  18. package/dist/js/modern/builder/index.js +122 -83
  19. package/dist/js/modern/builder/loaders/routerLoader.js +9 -12
  20. package/dist/js/modern/builder/loaders/serverModuleLoader.js +4 -1
  21. package/dist/js/modern/builder/share.js +22 -20
  22. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +23 -22
  23. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +31 -27
  24. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +98 -84
  25. package/dist/js/modern/commands/build.js +67 -42
  26. package/dist/js/modern/commands/deploy.js +27 -4
  27. package/dist/js/modern/commands/dev.js +77 -27
  28. package/dist/js/modern/commands/index.js +1 -1
  29. package/dist/js/modern/commands/inspect.js +30 -5
  30. package/dist/js/modern/commands/start.js +37 -15
  31. package/dist/js/modern/config/default.js +103 -113
  32. package/dist/js/modern/config/index.js +8 -2
  33. package/dist/js/modern/config/initial/createHtmlConfig.js +5 -2
  34. package/dist/js/modern/config/initial/createOutputConfig.js +9 -10
  35. package/dist/js/modern/config/initial/createSourceConfig.js +5 -2
  36. package/dist/js/modern/config/initial/createToolsConfig.js +7 -6
  37. package/dist/js/modern/config/initial/index.js +9 -4
  38. package/dist/js/modern/config/initial/inits.js +109 -73
  39. package/dist/js/modern/config/initial/transformNormalizedConfig.js +6 -3
  40. package/dist/js/modern/defineConfig.js +26 -11
  41. package/dist/js/modern/exports/server.js +4 -1
  42. package/dist/js/modern/hooks.js +10 -3
  43. package/dist/js/modern/index.js +140 -89
  44. package/dist/js/modern/initialize/index.js +98 -51
  45. package/dist/js/modern/locale/en.js +20 -21
  46. package/dist/js/modern/locale/index.js +6 -6
  47. package/dist/js/modern/locale/zh.js +21 -22
  48. package/dist/js/modern/schema/Schema.js +6 -5
  49. package/dist/js/modern/schema/index.js +51 -100
  50. package/dist/js/modern/schema/legacy.js +96 -231
  51. package/dist/js/modern/types/config/index.js +0 -1
  52. package/dist/js/modern/types/index.js +0 -1
  53. package/dist/js/modern/types/legacyConfig/output.js +0 -1
  54. package/dist/js/modern/utils/commands.js +5 -2
  55. package/dist/js/modern/utils/config.js +102 -41
  56. package/dist/js/modern/utils/createFileWatcher.js +84 -51
  57. package/dist/js/modern/utils/createServer.js +63 -17
  58. package/dist/js/modern/utils/getSpecifiedEntries.js +46 -19
  59. package/dist/js/modern/utils/language.js +6 -3
  60. package/dist/js/modern/utils/printInstructions.js +27 -8
  61. package/dist/js/modern/utils/restart.js +43 -16
  62. package/dist/js/modern/utils/routes.js +29 -12
  63. package/dist/js/node/analyze/constants.js +54 -39
  64. package/dist/js/node/analyze/generateCode.js +281 -239
  65. package/dist/js/node/analyze/getBundleEntry.js +55 -44
  66. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +132 -76
  67. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +128 -74
  68. package/dist/js/node/analyze/getClientRoutes/index.js +23 -17
  69. package/dist/js/node/analyze/getClientRoutes/utils.js +44 -21
  70. package/dist/js/node/analyze/getFileSystemEntry.js +70 -39
  71. package/dist/js/node/analyze/getHtmlTemplate.js +116 -61
  72. package/dist/js/node/analyze/getServerRoutes.js +143 -137
  73. package/dist/js/node/analyze/index.js +240 -174
  74. package/dist/js/node/analyze/isDefaultExportFunction.js +55 -26
  75. package/dist/js/node/analyze/makeLegalIdentifier.js +27 -15
  76. package/dist/js/node/analyze/nestedRoutes.js +137 -75
  77. package/dist/js/node/analyze/templates.js +183 -89
  78. package/dist/js/node/analyze/utils.js +114 -81
  79. package/dist/js/node/builder/builderPlugins/compatModern.js +149 -122
  80. package/dist/js/node/builder/index.js +150 -92
  81. package/dist/js/node/builder/loaders/routerLoader.js +27 -18
  82. package/dist/js/node/builder/loaders/serverModuleLoader.js +22 -7
  83. package/dist/js/node/builder/share.js +45 -25
  84. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +39 -26
  85. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +47 -31
  86. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +116 -90
  87. package/dist/js/node/commands/build.js +89 -52
  88. package/dist/js/node/commands/deploy.js +45 -10
  89. package/dist/js/node/commands/dev.js +99 -41
  90. package/dist/js/node/commands/index.js +19 -38
  91. package/dist/js/node/commands/inspect.js +48 -11
  92. package/dist/js/node/commands/start.js +65 -26
  93. package/dist/js/node/config/default.js +119 -117
  94. package/dist/js/node/config/index.js +25 -29
  95. package/dist/js/node/config/initial/createHtmlConfig.js +22 -6
  96. package/dist/js/node/config/initial/createOutputConfig.js +26 -14
  97. package/dist/js/node/config/initial/createSourceConfig.js +22 -6
  98. package/dist/js/node/config/initial/createToolsConfig.js +24 -10
  99. package/dist/js/node/config/initial/index.js +28 -17
  100. package/dist/js/node/config/initial/inits.js +126 -81
  101. package/dist/js/node/config/initial/transformNormalizedConfig.js +31 -15
  102. package/dist/js/node/defineConfig.js +43 -17
  103. package/dist/js/node/exports/server.js +21 -10
  104. package/dist/js/node/hooks.js +44 -29
  105. package/dist/js/node/index.js +190 -130
  106. package/dist/js/node/initialize/index.js +116 -61
  107. package/dist/js/node/locale/en.js +36 -25
  108. package/dist/js/node/locale/index.js +27 -15
  109. package/dist/js/node/locale/zh.js +37 -26
  110. package/dist/js/node/schema/Schema.js +23 -10
  111. package/dist/js/node/schema/index.js +77 -114
  112. package/dist/js/node/schema/legacy.js +117 -240
  113. package/dist/js/node/types/config/index.js +17 -16
  114. package/dist/js/node/types/index.js +19 -38
  115. package/dist/js/node/types/legacyConfig/output.js +0 -5
  116. package/dist/js/node/utils/commands.js +21 -6
  117. package/dist/js/node/utils/config.js +120 -51
  118. package/dist/js/node/utils/createFileWatcher.js +104 -61
  119. package/dist/js/node/utils/createServer.js +86 -25
  120. package/dist/js/node/utils/getSpecifiedEntries.js +64 -25
  121. package/dist/js/node/utils/language.js +24 -8
  122. package/dist/js/node/utils/printInstructions.js +47 -16
  123. package/dist/js/node/utils/restart.js +61 -21
  124. package/dist/js/node/utils/routes.js +53 -18
  125. package/dist/js/treeshaking/analyze/constants.js +28 -18
  126. package/dist/js/treeshaking/analyze/generateCode.js +599 -406
  127. package/dist/js/treeshaking/analyze/getBundleEntry.js +52 -63
  128. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +214 -168
  129. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +215 -169
  130. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -2
  131. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +19 -20
  132. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +89 -86
  133. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +298 -125
  134. package/dist/js/treeshaking/analyze/getServerRoutes.js +210 -147
  135. package/dist/js/treeshaking/analyze/index.js +558 -303
  136. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +45 -26
  137. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -16
  138. package/dist/js/treeshaking/analyze/nestedRoutes.js +411 -200
  139. package/dist/js/treeshaking/analyze/templates.js +433 -236
  140. package/dist/js/treeshaking/analyze/utils.js +358 -153
  141. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +281 -200
  142. package/dist/js/treeshaking/builder/index.js +371 -163
  143. package/dist/js/treeshaking/builder/loaders/routerLoader.js +11 -12
  144. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +3 -2
  145. package/dist/js/treeshaking/builder/share.js +41 -44
  146. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +108 -44
  147. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +70 -39
  148. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +332 -112
  149. package/dist/js/treeshaking/commands/build.js +286 -88
  150. package/dist/js/treeshaking/commands/deploy.js +153 -25
  151. package/dist/js/treeshaking/commands/dev.js +318 -131
  152. package/dist/js/treeshaking/commands/index.js +1 -1
  153. package/dist/js/treeshaking/commands/inspect.js +147 -32
  154. package/dist/js/treeshaking/commands/start.js +190 -67
  155. package/dist/js/treeshaking/config/default.js +210 -198
  156. package/dist/js/treeshaking/config/index.js +3 -2
  157. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -31
  158. package/dist/js/treeshaking/config/initial/createOutputConfig.js +43 -70
  159. package/dist/js/treeshaking/config/initial/createSourceConfig.js +37 -40
  160. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -38
  161. package/dist/js/treeshaking/config/initial/index.js +10 -9
  162. package/dist/js/treeshaking/config/initial/inits.js +205 -106
  163. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +27 -34
  164. package/dist/js/treeshaking/defineConfig.js +60 -13
  165. package/dist/js/treeshaking/exports/server.js +2 -1
  166. package/dist/js/treeshaking/hooks.js +26 -25
  167. package/dist/js/treeshaking/index.js +465 -257
  168. package/dist/js/treeshaking/initialize/index.js +290 -112
  169. package/dist/js/treeshaking/locale/en.js +34 -33
  170. package/dist/js/treeshaking/locale/index.js +5 -5
  171. package/dist/js/treeshaking/locale/zh.js +34 -33
  172. package/dist/js/treeshaking/schema/Schema.js +267 -69
  173. package/dist/js/treeshaking/schema/index.js +165 -121
  174. package/dist/js/treeshaking/schema/legacy.js +323 -256
  175. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  176. package/dist/js/treeshaking/types/config/dev.js +1 -0
  177. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  178. package/dist/js/treeshaking/types/config/html.js +1 -0
  179. package/dist/js/treeshaking/types/config/index.js +0 -1
  180. package/dist/js/treeshaking/types/config/output.js +1 -0
  181. package/dist/js/treeshaking/types/config/performance.js +1 -0
  182. package/dist/js/treeshaking/types/config/security.js +1 -0
  183. package/dist/js/treeshaking/types/config/source.js +1 -0
  184. package/dist/js/treeshaking/types/config/tools.js +1 -0
  185. package/dist/js/treeshaking/types/hooks.js +1 -0
  186. package/dist/js/treeshaking/types/index.js +0 -1
  187. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  188. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  189. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  190. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -1
  191. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  192. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  193. package/dist/js/treeshaking/utils/commands.js +6 -5
  194. package/dist/js/treeshaking/utils/config.js +295 -117
  195. package/dist/js/treeshaking/utils/createFileWatcher.js +278 -118
  196. package/dist/js/treeshaking/utils/createServer.js +252 -67
  197. package/dist/js/treeshaking/utils/getSpecifiedEntries.js +182 -55
  198. package/dist/js/treeshaking/utils/language.js +6 -5
  199. package/dist/js/treeshaking/utils/printInstructions.js +151 -29
  200. package/dist/js/treeshaking/utils/restart.js +184 -42
  201. package/dist/js/treeshaking/utils/routes.js +151 -27
  202. package/dist/js/treeshaking/utils/types.js +1 -0
  203. package/dist/types/analyze/index.d.ts +2 -0
  204. package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -1
  205. package/dist/types/builder/index.d.ts +2 -2
  206. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +1 -7
  207. package/dist/types/defineConfig.d.ts +1 -0
  208. package/dist/types/index.d.ts +2 -0
  209. package/dist/types/initialize/index.d.ts +2 -0
  210. package/dist/types/types/config/index.d.ts +1 -0
  211. package/dist/types/types/config/output.d.ts +0 -1
  212. package/dist/types/types/config/source.d.ts +1 -0
  213. package/dist/types/types/config/tools.d.ts +2 -0
  214. package/dist/types/types/legacyConfig/dev.d.ts +1 -0
  215. package/dist/types/types/legacyConfig/output.d.ts +1 -1
  216. package/dist/types/types/legacyConfig/source.d.ts +1 -0
  217. package/dist/types/types/legacyConfig/tools.d.ts +1 -0
  218. package/dist/types/utils/config.d.ts +1 -0
  219. package/dist/types/utils/createServer.d.ts +1 -0
  220. package/dist/types/utils/restart.d.ts +1 -1
  221. package/package.json +9 -8
@@ -1,159 +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 = config.output,
92
- _config$output$distPa = _config$output.distPath;
93
- _config$output$distPa = _config$output$distPa === void 0 ? {} : _config$output$distPa;
94
- var htmlPath = _config$output$distPa.html,
95
- enableModernMode = _config$output.enableModernMode,
96
- _config$server = config.server,
97
- baseUrl = _config$server.baseUrl,
98
- routes = _config$server.routes,
99
- ssr = _config$server.ssr,
100
- ssrByEntries = _config$server.ssrByEntries;
101
- var packageName = appContext.packageName;
102
- var htmlRoutes = entrypoints.reduce(function (previous, _ref3) {
103
- var entryName = _ref3.entryName;
104
- var entryOptions = getEntryOptions(entryName, ssr, ssrByEntries, packageName);
105
- var isSSR = Boolean(entryOptions);
106
- var _ref4 = (routes === null || routes === void 0 ? void 0 : routes[entryName]) || {},
107
- resHeaders = _ref4.resHeaders;
108
- var route = {
109
- urlPath: "/".concat(entryName === MAIN_ENTRY_NAME ? '' : entryName),
110
- entryName: entryName,
111
- entryPath: removeLeadingSlash(path.posix.normalize("".concat(htmlPath, "/").concat(entryName).concat(disableHtmlFolder ? '.html' : '/index.html'))),
112
- isSPA: true,
113
- isSSR: isSSR,
114
- responseHeaders: resHeaders,
115
- enableModernMode: Boolean(enableModernMode),
116
- bundle: isSSR ? "".concat(SERVER_BUNDLE_DIRECTORY, "/").concat(entryName, ".js") : undefined
117
- };
118
- if (routes !== null && routes !== void 0 && routes.hasOwnProperty(entryName)) {
119
- var routeOptions = isPlainObject(routes[entryName]) ? routes[entryName] : {
120
- route: routes[entryName]
121
- };
122
- route = applyRouteOptions(route, routeOptions);
123
- }
124
- return Array.isArray(route) ? [].concat(_toConsumableArray(previous), _toConsumableArray(route)) : [].concat(_toConsumableArray(previous), [route]);
125
- }, []);
126
- htmlRoutes = applyBaseUrl(baseUrl, htmlRoutes);
127
- 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
+ }) : [];
128
214
  };
129
-
130
- /**
131
- * Collect static public file routes from config/public folder.
132
- * @param appContext - App context info.
133
- * @param config - normalized user config.
134
- * @returns Static public file routes.
135
- */
136
- var collectStaticRoutes = function collectStaticRoutes(appContext, config) {
137
- var appDirectory = appContext.appDirectory;
138
- var configDir = config.source.configDir,
139
- _config$server$public = config.server.publicRoutes,
140
- publicRoutes = _config$server$public === void 0 ? {} : _config$server$public;
141
- var publicFolder = path.resolve(appDirectory, configDir || '', 'public');
142
- return fs.existsSync(publicFolder) ? walkDirectory(publicFolder).map(function (filePath) {
143
- var urlPath = "".concat(urlJoin(toPosix(filePath).slice(toPosix(publicFolder).length)));
144
- return {
145
- urlPath: publicRoutes[removeLeadingSlash(urlPath)] || urlPath,
146
- isSPA: true,
147
- isSSR: false,
148
- entryPath: toPosix(path.relative(path.resolve(appDirectory, configDir || ''), filePath))
149
- };
150
- }) : [];
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)));
151
218
  };
152
- export var getServerRoutes = function getServerRoutes(entrypoints, _ref5) {
153
- var appContext = _ref5.appContext,
154
- config = _ref5.config;
155
- 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);
156
221
  };
157
- var toPosix = function toPosix(pathStr) {
158
- return pathStr.split(path.sep).join(path.posix.sep);
159
- };
222
+ export { getServerRoutes };