@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,50 +1,87 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var stdin_exports = {};
25
+ __export(stdin_exports, {
26
+ getClientRoutes: () => getClientRoutes
5
27
  });
6
- exports.getClientRoutes = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _utils = require("@modern-js/utils");
9
- var _makeLegalIdentifier = require("../makeLegalIdentifier");
10
- var _constants = require("../constants");
11
- var _utils2 = require("../utils");
12
- var _utils3 = require("./utils");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- 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; }
15
- 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; }
16
- 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; }
28
+ module.exports = __toCommonJS(stdin_exports);
29
+ var import_path = __toESM(require("path"));
30
+ var import_utils = require("@modern-js/utils");
31
+ var import_makeLegalIdentifier = require("../makeLegalIdentifier");
32
+ var import_constants = require("../constants");
33
+ var import_utils2 = require("../utils");
34
+ var import_utils3 = require("./utils");
35
+ var __defProp2 = Object.defineProperty;
36
+ var __defProps = Object.defineProperties;
37
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
38
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
39
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
40
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
41
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
42
+ var __spreadValues = (a, b) => {
43
+ for (var prop in b || (b = {}))
44
+ if (__hasOwnProp2.call(b, prop))
45
+ __defNormalProp(a, prop, b[prop]);
46
+ if (__getOwnPropSymbols)
47
+ for (var prop of __getOwnPropSymbols(b)) {
48
+ if (__propIsEnum.call(b, prop))
49
+ __defNormalProp(a, prop, b[prop]);
50
+ }
51
+ return a;
52
+ };
53
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
17
54
  const compName = (srcDirectory, filePath) => {
18
- const legalCompName = (0, _makeLegalIdentifier.makeLegalIdentifier)(_path.default.relative(srcDirectory, filePath));
55
+ const legalCompName = (0, import_makeLegalIdentifier.makeLegalIdentifier)(
56
+ import_path.default.relative(srcDirectory, filePath)
57
+ );
19
58
  return `Comp_${legalCompName}`;
20
59
  };
21
- const layoutNameAbbr = filePath => {
22
- const prefix = 'L_';
23
- const dirName = _path.default.dirname(filePath).split('/').pop() || '';
24
- return `${prefix}${(0, _makeLegalIdentifier.makeLegalIdentifier)(dirName)}`;
60
+ const layoutNameAbbr = (filePath) => {
61
+ const prefix = "L_";
62
+ const dirName = import_path.default.dirname(filePath).split("/").pop() || "";
63
+ return `${prefix}${(0, import_makeLegalIdentifier.makeLegalIdentifier)(dirName)}`;
25
64
  };
26
65
  const parents = [];
27
-
28
- /* eslint-disable no-param-reassign */
29
66
  const recursiveReadDirLegacy = ({
30
67
  dir,
31
68
  routes,
32
- basePath: _basePath = '/',
69
+ basePath = "/",
33
70
  srcDirectory,
34
71
  srcAlias
35
72
  }) => {
36
73
  let hasDynamicRoute = false;
37
74
  let resetParent = false;
38
75
  let parent = parents[parents.length - 1];
39
- const layout = (0, _utils3.findLayout)(dir);
76
+ const layout = (0, import_utils3.findLayout)(dir);
40
77
  if (layout) {
41
- if (_basePath === '/') {
78
+ if (basePath === "/") {
42
79
  throw new Error(`should use _app instead of _layout in ${dir}`);
43
80
  } else {
44
- const alias = (0, _utils2.replaceWithAlias)(srcDirectory, layout, srcAlias);
81
+ const alias = (0, import_utils2.replaceWithAlias)(srcDirectory, layout, srcAlias);
45
82
  const componentName = compName(srcDirectory, layout);
46
83
  const route = {
47
- path: `${_basePath.substring(0, _basePath.length - 1)}`,
84
+ path: `${basePath.substring(0, basePath.length - 1)}`,
48
85
  exact: false,
49
86
  routes: [],
50
87
  _component: alias,
@@ -58,28 +95,30 @@ const recursiveReadDirLegacy = ({
58
95
  routes = route.routes;
59
96
  }
60
97
  }
61
- for (const relative of _utils.fs.readdirSync(dir)) {
62
- const filePath = _path.default.join(dir, relative);
63
- if (!(0, _utils3.shouldSkip)(filePath)) {
64
- const filename = _path.default.basename(filePath, _path.default.extname(filePath));
65
- const alias = (0, _utils2.replaceWithAlias)(srcDirectory, filePath, srcAlias);
98
+ for (const relative of import_utils.fs.readdirSync(dir)) {
99
+ const filePath = import_path.default.join(dir, relative);
100
+ if (!(0, import_utils3.shouldSkip)(filePath)) {
101
+ const filename = import_path.default.basename(filePath, import_path.default.extname(filePath));
102
+ const alias = (0, import_utils2.replaceWithAlias)(srcDirectory, filePath, srcAlias);
66
103
  const componentName = compName(srcDirectory, filePath);
67
- const dynamicRouteMatched = _constants.FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP.exec(filename);
104
+ const dynamicRouteMatched = import_constants.FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP.exec(filename);
68
105
  if (dynamicRouteMatched) {
69
106
  if (hasDynamicRoute) {
70
- throw new Error(`Can't set two dynamic route in one directory: ${dir}`);
107
+ throw new Error(
108
+ `Can't set two dynamic route in one directory: ${dir}`
109
+ );
71
110
  } else {
72
111
  hasDynamicRoute = true;
73
112
  }
74
113
  }
75
114
  const route = {
76
- path: `${_basePath}${dynamicRouteMatched ? `:${dynamicRouteMatched[1]}${dynamicRouteMatched[2]}` : filename}`,
115
+ path: `${basePath}${dynamicRouteMatched ? `:${dynamicRouteMatched[1]}${dynamicRouteMatched[2]}` : filename}`,
77
116
  _component: alias,
78
117
  component: componentName,
79
118
  exact: true,
80
119
  parent
81
120
  };
82
- if (_utils.fs.statSync(filePath).isDirectory()) {
121
+ if (import_utils.fs.statSync(filePath).isDirectory()) {
83
122
  recursiveReadDirLegacy({
84
123
  dir: filePath,
85
124
  routes,
@@ -89,14 +128,14 @@ const recursiveReadDirLegacy = ({
89
128
  });
90
129
  continue;
91
130
  }
92
- if (filename === _constants.FILE_SYSTEM_ROUTES_LAYOUT) {
131
+ if (filename === import_constants.FILE_SYSTEM_ROUTES_LAYOUT) {
93
132
  continue;
94
133
  }
95
- if (filename === _constants.FILE_SYSTEM_ROUTES_INDEX) {
96
- route.path = _basePath === '/' ? _basePath : `${_basePath.substring(0, _basePath.length - 1)}`;
134
+ if (filename === import_constants.FILE_SYSTEM_ROUTES_INDEX) {
135
+ route.path = basePath === "/" ? basePath : `${basePath.substring(0, basePath.length - 1)}`;
97
136
  }
98
- if (filename === '404' && _basePath === '/') {
99
- route.path = '*';
137
+ if (filename === "404" && basePath === "/") {
138
+ route.path = "*";
100
139
  route.exact = false;
101
140
  }
102
141
  routes.push(route);
@@ -106,36 +145,45 @@ const recursiveReadDirLegacy = ({
106
145
  parents.pop();
107
146
  }
108
147
  };
109
- /* eslint-enable no-param-reassign */
110
-
111
148
  const normalizeNestedRoutes = (nested, internalComponentsDir, internalDirectory, internalDirAlias) => {
112
- const flat = routes => routes.reduce((memo, route) => memo.concat(Array.isArray(route.routes) ? flat(route.routes) : [route]), []);
113
- const generate = route => {
149
+ const flat = (routes) => routes.reduce(
150
+ (memo, route) => memo.concat(Array.isArray(route.routes) ? flat(route.routes) : [route]),
151
+ []
152
+ );
153
+ const generate = (route) => {
114
154
  const codes = [];
115
155
  let lastComponent = route.component;
116
- const imports = [`import React from 'react';`, `import ${lastComponent} from '${route._component}'`];
117
-
118
- // eslint-disable-next-line no-param-reassign, no-cond-assign
156
+ const imports = [
157
+ `import React from 'react';`,
158
+ `import ${lastComponent} from '${route._component}'`
159
+ ];
119
160
  while (route = route.parent) {
120
161
  const layoutComponent = route.component;
121
162
  const layoutComponentAbbr = layoutNameAbbr(route._component);
122
163
  imports.push(`import ${layoutComponent} from '${route._component}';`);
123
164
  const currentComponent = `${layoutComponentAbbr}_${lastComponent}`;
124
- codes.push(`const ${currentComponent} = props => <${layoutComponent} Component={${lastComponent}} {...props} />;`);
165
+ codes.push(
166
+ `const ${currentComponent} = props => <${layoutComponent} Component={${lastComponent}} {...props} />;`
167
+ );
125
168
  lastComponent = currentComponent;
126
169
  }
127
- const file = _path.default.resolve(internalComponentsDir, `${lastComponent}.jsx`);
128
- _utils.fs.outputFileSync(file, `${imports.join('\n')}\n${codes.join('\n')}\nexport default ${lastComponent}`);
170
+ const file = import_path.default.resolve(internalComponentsDir, `${lastComponent}.jsx`);
171
+ import_utils.fs.outputFileSync(
172
+ file,
173
+ `${imports.join("\n")}
174
+ ${codes.join(
175
+ "\n"
176
+ )}
177
+ export default ${lastComponent}`
178
+ );
129
179
  return {
130
180
  component: lastComponent,
131
- _component: (0, _utils2.replaceWithAlias)(internalDirectory, file, internalDirAlias)
181
+ _component: (0, import_utils2.replaceWithAlias)(internalDirectory, file, internalDirAlias)
132
182
  };
133
183
  };
134
- const normalized = flat(nested).map(route => route.parent ? _objectSpread(_objectSpread(_objectSpread({}, route), generate(route)), {}, {
135
- parent: undefined
136
- }) : _objectSpread(_objectSpread({}, route), {}, {
137
- parent: undefined
138
- }));
184
+ const normalized = flat(nested).map(
185
+ (route) => route.parent ? __spreadProps(__spreadValues(__spreadValues({}, route), generate(route)), { parent: void 0 }) : __spreadProps(__spreadValues({}, route), { parent: void 0 })
186
+ );
139
187
  return normalized;
140
188
  };
141
189
  const getClientRoutes = ({
@@ -145,38 +193,44 @@ const getClientRoutes = ({
145
193
  internalDirectory,
146
194
  internalDirAlias
147
195
  }) => {
148
- const {
149
- entry,
150
- entryName
151
- } = entrypoint;
152
- if (!_utils.fs.existsSync(entry)) {
153
- throw new Error(`generate file system routes error, ${entry} directory not found.`);
196
+ const { entry, entryName } = entrypoint;
197
+ if (!import_utils.fs.existsSync(entry)) {
198
+ throw new Error(
199
+ `generate file system routes error, ${entry} directory not found.`
200
+ );
154
201
  }
155
- if (!(_utils.fs.existsSync(entry) && _utils.fs.statSync(entry).isDirectory())) {
156
- throw new Error(`generate file system routes error, ${entry} should be directory.`);
202
+ if (!(import_utils.fs.existsSync(entry) && import_utils.fs.statSync(entry).isDirectory())) {
203
+ throw new Error(
204
+ `generate file system routes error, ${entry} should be directory.`
205
+ );
157
206
  }
158
207
  let routes = [];
159
208
  recursiveReadDirLegacy({
160
209
  dir: entry,
161
210
  routes,
162
- basePath: '/',
211
+ basePath: "/",
163
212
  srcDirectory,
164
213
  srcAlias
165
214
  });
166
- const internalComponentsDir = _path.default.resolve(internalDirectory, `${entryName}/${_constants.FILE_SYSTEM_ROUTES_COMPONENTS_DIR}`);
167
- _utils.fs.emptyDirSync(internalComponentsDir);
168
- routes = normalizeNestedRoutes(routes, internalComponentsDir, internalDirectory, internalDirAlias);
215
+ const internalComponentsDir = import_path.default.resolve(
216
+ internalDirectory,
217
+ `${entryName}/${import_constants.FILE_SYSTEM_ROUTES_COMPONENTS_DIR}`
218
+ );
219
+ import_utils.fs.emptyDirSync(internalComponentsDir);
220
+ routes = normalizeNestedRoutes(
221
+ routes,
222
+ internalComponentsDir,
223
+ internalDirectory,
224
+ internalDirAlias
225
+ );
169
226
  parents.length = 0;
170
-
171
- // FIXME: support more situations
172
227
  routes.sort((a, b) => {
173
- const delta = (0, _utils3.getRouteWeight)(a.path) - (0, _utils3.getRouteWeight)(b.path);
228
+ const delta = (0, import_utils3.getRouteWeight)(a.path) - (0, import_utils3.getRouteWeight)(b.path);
174
229
  if (delta === 0) {
175
230
  return a.path.length - b.path.length;
176
231
  }
177
232
  return delta;
178
233
  });
179
- (0, _utils3.debug)(`fileSystem routes: %o`, routes);
234
+ (0, import_utils3.debug)(`fileSystem routes: %o`, routes);
180
235
  return routes;
181
236
  };
182
- exports.getClientRoutes = getClientRoutes;
@@ -1,19 +1,25 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "getClientRoutes", {
7
- enumerable: true,
8
- get: function () {
9
- return _getRoutes.getClientRoutes;
10
- }
11
- });
12
- Object.defineProperty(exports, "getClientRoutesLegacy", {
13
- enumerable: true,
14
- get: function () {
15
- return _getRoutesLegacy.getClientRoutes;
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
14
  }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ getClientRoutes: () => import_getRoutes.getClientRoutes,
21
+ getClientRoutesLegacy: () => import_getRoutesLegacy.getClientRoutes
17
22
  });
18
- var _getRoutes = require("./getRoutes");
19
- var _getRoutesLegacy = require("./getRoutesLegacy");
23
+ module.exports = __toCommonJS(stdin_exports);
24
+ var import_getRoutes = require("./getRoutes");
25
+ var import_getRoutesLegacy = require("./getRoutesLegacy");
@@ -1,28 +1,51 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var stdin_exports = {};
25
+ __export(stdin_exports, {
26
+ debug: () => debug,
27
+ findLayout: () => findLayout,
28
+ getRouteWeight: () => getRouteWeight,
29
+ shouldSkip: () => shouldSkip
5
30
  });
6
- exports.shouldSkip = exports.getRouteWeight = exports.findLayout = exports.debug = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _utils = require("@modern-js/utils");
9
- var _constants = require("../constants");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- const debug = (0, _utils.createDebugger)('get-client-routes');
12
- exports.debug = debug;
13
- const findLayout = dir => (0, _utils.findExists)(_constants.JS_EXTENSIONS.map(ext => _path.default.resolve(dir, `${_constants.FILE_SYSTEM_ROUTES_LAYOUT}${ext}`)));
14
- exports.findLayout = findLayout;
15
- const getRouteWeight = route => route === '*' ? 999 : route.split(':').length - 1;
16
- exports.getRouteWeight = getRouteWeight;
17
- const shouldSkip = file => {
18
- // should not skip directory.
19
- if (_utils.fs.statSync(file).isDirectory()) {
31
+ module.exports = __toCommonJS(stdin_exports);
32
+ var import_path = __toESM(require("path"));
33
+ var import_utils = require("@modern-js/utils");
34
+ var import_constants = require("../constants");
35
+ const debug = (0, import_utils.createDebugger)("get-client-routes");
36
+ const findLayout = (dir) => (0, import_utils.findExists)(
37
+ import_constants.JS_EXTENSIONS.map(
38
+ (ext) => import_path.default.resolve(dir, `${import_constants.FILE_SYSTEM_ROUTES_LAYOUT}${ext}`)
39
+ )
40
+ );
41
+ const getRouteWeight = (route) => route === "*" ? 999 : route.split(":").length - 1;
42
+ const shouldSkip = (file) => {
43
+ if (import_utils.fs.statSync(file).isDirectory()) {
20
44
  return false;
21
45
  }
22
- const ext = _path.default.extname(file);
23
- if (_constants.FILE_SYSTEM_ROUTES_IGNORED_REGEX.test(file) || !_constants.JS_EXTENSIONS.includes(ext) || _constants.FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT === _path.default.basename(file, ext)) {
46
+ const ext = import_path.default.extname(file);
47
+ if (import_constants.FILE_SYSTEM_ROUTES_IGNORED_REGEX.test(file) || !import_constants.JS_EXTENSIONS.includes(ext) || import_constants.FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT === import_path.default.basename(file, ext)) {
24
48
  return true;
25
49
  }
26
50
  return false;
27
51
  };
28
- exports.shouldSkip = shouldSkip;
@@ -1,29 +1,54 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var stdin_exports = {};
25
+ __export(stdin_exports, {
26
+ getFileSystemEntry: () => getFileSystemEntry
5
27
  });
6
- exports.getFileSystemEntry = void 0;
7
- var _fs = _interopRequireDefault(require("fs"));
8
- var _path = _interopRequireDefault(require("path"));
9
- var _utils = require("@modern-js/utils");
10
- var _isDefaultExportFunction = require("./isDefaultExportFunction");
11
- var _constants = require("./constants");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- const hasIndex = dir => (0, _utils.findExists)(_constants.JS_EXTENSIONS.map(ext => _path.default.resolve(dir, `${_constants.INDEX_FILE_NAME}${ext}`)));
14
- const hasApp = dir => (0, _utils.findExists)(_constants.JS_EXTENSIONS.map(ext => _path.default.resolve(dir, `${_constants.APP_FILE_NAME}${ext}`)));
15
- const hasPages = dir => _fs.default.existsSync(_path.default.join(dir, _constants.PAGES_DIR_NAME));
16
- const hasNestedRoutes = dir => _fs.default.existsSync(_path.default.join(dir, _constants.NESTED_ROUTES_DIR));
17
- const isBundleEntry = dir => hasApp(dir) || hasPages(dir) || hasIndex(dir) || hasNestedRoutes(dir);
18
- const scanDir = dirs => dirs.map(dir => {
28
+ module.exports = __toCommonJS(stdin_exports);
29
+ var import_fs = __toESM(require("fs"));
30
+ var import_path = __toESM(require("path"));
31
+ var import_utils = require("@modern-js/utils");
32
+ var import_isDefaultExportFunction = require("./isDefaultExportFunction");
33
+ var import_constants = require("./constants");
34
+ const hasIndex = (dir) => (0, import_utils.findExists)(
35
+ import_constants.JS_EXTENSIONS.map((ext) => import_path.default.resolve(dir, `${import_constants.INDEX_FILE_NAME}${ext}`))
36
+ );
37
+ const hasApp = (dir) => (0, import_utils.findExists)(
38
+ import_constants.JS_EXTENSIONS.map((ext) => import_path.default.resolve(dir, `${import_constants.APP_FILE_NAME}${ext}`))
39
+ );
40
+ const hasPages = (dir) => import_fs.default.existsSync(import_path.default.join(dir, import_constants.PAGES_DIR_NAME));
41
+ const hasNestedRoutes = (dir) => import_fs.default.existsSync(import_path.default.join(dir, import_constants.NESTED_ROUTES_DIR));
42
+ const isBundleEntry = (dir) => hasApp(dir) || hasPages(dir) || hasIndex(dir) || hasNestedRoutes(dir);
43
+ const scanDir = (dirs) => dirs.map((dir) => {
19
44
  const indexFile = hasIndex(dir);
20
- const customBootstrap = (0, _isDefaultExportFunction.isDefaultExportFunction)(indexFile) ? indexFile : false;
21
- const entryName = _path.default.basename(dir);
45
+ const customBootstrap = (0, import_isDefaultExportFunction.isDefaultExportFunction)(indexFile) ? indexFile : false;
46
+ const entryName = import_path.default.basename(dir);
22
47
  if (indexFile && !customBootstrap) {
23
48
  return {
24
49
  entryName,
25
50
  entry: indexFile,
26
- absoluteEntryDir: _path.default.resolve(dir),
51
+ absoluteEntryDir: import_path.default.resolve(dir),
27
52
  isAutoMount: false
28
53
  };
29
54
  }
@@ -31,9 +56,9 @@ const scanDir = dirs => dirs.map(dir => {
31
56
  if (isHasApp) {
32
57
  return {
33
58
  entryName,
34
- entry: _path.default.join(dir, _constants.APP_FILE_NAME),
59
+ entry: import_path.default.join(dir, import_constants.APP_FILE_NAME),
35
60
  isAutoMount: true,
36
- absoluteEntryDir: _path.default.resolve(dir),
61
+ absoluteEntryDir: import_path.default.resolve(dir),
37
62
  customBootstrap
38
63
  };
39
64
  }
@@ -42,42 +67,49 @@ const scanDir = dirs => dirs.map(dir => {
42
67
  if (isHasNestedRoutes || isHasPages) {
43
68
  const entrypoint = {
44
69
  entryName,
45
- entry: '',
70
+ entry: "",
46
71
  fileSystemRoutes: {
47
- globalApp: (0, _utils.findExists)(_constants.JS_EXTENSIONS.map(ext => _path.default.resolve(dir, `./${_constants.PAGES_DIR_NAME}/${_constants.FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT}${ext}`)))
72
+ globalApp: (0, import_utils.findExists)(
73
+ import_constants.JS_EXTENSIONS.map(
74
+ (ext) => import_path.default.resolve(
75
+ dir,
76
+ `./${import_constants.PAGES_DIR_NAME}/${import_constants.FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT}${ext}`
77
+ )
78
+ )
79
+ )
48
80
  },
49
81
  isAutoMount: true,
50
- absoluteEntryDir: _path.default.resolve(dir),
82
+ absoluteEntryDir: import_path.default.resolve(dir),
51
83
  customBootstrap
52
84
  };
53
85
  if (isHasPages) {
54
- entrypoint.entry = _path.default.join(dir, _constants.PAGES_DIR_NAME);
86
+ entrypoint.entry = import_path.default.join(dir, import_constants.PAGES_DIR_NAME);
55
87
  }
56
88
  if (isHasNestedRoutes) {
57
- entrypoint.nestedRoutesEntry = _path.default.join(dir, _constants.NESTED_ROUTES_DIR);
89
+ entrypoint.nestedRoutesEntry = import_path.default.join(dir, import_constants.NESTED_ROUTES_DIR);
58
90
  }
59
91
  return entrypoint;
60
92
  }
61
93
  return {
62
94
  entryName,
63
95
  entry: indexFile,
64
- absoluteEntryDir: _path.default.resolve(dir),
96
+ absoluteEntryDir: import_path.default.resolve(dir),
65
97
  isAutoMount: false
66
98
  };
67
99
  });
68
100
  const getFileSystemEntry = (appContext, config) => {
101
+ const { appDirectory } = appContext;
69
102
  const {
70
- appDirectory
71
- } = appContext;
72
- const {
73
- source: {
74
- entriesDir
75
- }
103
+ source: { entriesDir }
76
104
  } = config;
77
- const src = (0, _utils.ensureAbsolutePath)(appDirectory, entriesDir || '');
78
- if (_fs.default.existsSync(src)) {
79
- if (_fs.default.statSync(src).isDirectory()) {
80
- return scanDir(isBundleEntry(src) ? [src] : _fs.default.readdirSync(src).map(file => _path.default.join(src, file)).filter(file => _fs.default.statSync(file).isDirectory() && isBundleEntry(file)));
105
+ const src = (0, import_utils.ensureAbsolutePath)(appDirectory, entriesDir || "");
106
+ if (import_fs.default.existsSync(src)) {
107
+ if (import_fs.default.statSync(src).isDirectory()) {
108
+ return scanDir(
109
+ isBundleEntry(src) ? [src] : import_fs.default.readdirSync(src).map((file) => import_path.default.join(src, file)).filter(
110
+ (file) => import_fs.default.statSync(file).isDirectory() && isBundleEntry(file)
111
+ )
112
+ );
81
113
  } else {
82
114
  throw Error(`source.entriesDir accept a directory.`);
83
115
  }
@@ -85,4 +117,3 @@ const getFileSystemEntry = (appContext, config) => {
85
117
  throw Error(`src dir ${entriesDir} not found.`);
86
118
  }
87
119
  };
88
- exports.getFileSystemEntry = getFileSystemEntry;