@modern-js/app-tools 2.13.3-alpha.0 → 2.13.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 (269) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/package.json +24 -24
  3. package/dist/js/modern/analyze/constants.js +0 -56
  4. package/dist/js/modern/analyze/generateCode.js +0 -247
  5. package/dist/js/modern/analyze/getBundleEntry.js +0 -71
  6. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +0 -220
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +0 -216
  8. package/dist/js/modern/analyze/getClientRoutes/index.js +0 -6
  9. package/dist/js/modern/analyze/getClientRoutes/utils.js +0 -31
  10. package/dist/js/modern/analyze/getFileSystemEntry.js +0 -109
  11. package/dist/js/modern/analyze/getHtmlTemplate.js +0 -115
  12. package/dist/js/modern/analyze/getServerRoutes.js +0 -178
  13. package/dist/js/modern/analyze/index.js +0 -333
  14. package/dist/js/modern/analyze/isDefaultExportFunction.js +0 -42
  15. package/dist/js/modern/analyze/makeLegalIdentifier.js +0 -13
  16. package/dist/js/modern/analyze/nestedRoutes.js +0 -186
  17. package/dist/js/modern/analyze/templates.js +0 -328
  18. package/dist/js/modern/analyze/utils.js +0 -141
  19. package/dist/js/modern/builder/builder-rspack/index.js +0 -8
  20. package/dist/js/modern/builder/builder-webpack/builderPlugins/compatModern.js +0 -41
  21. package/dist/js/modern/builder/builder-webpack/index.js +0 -93
  22. package/dist/js/modern/builder/builder-webpack/webpackPlugins/RouterPlugin.js +0 -116
  23. package/dist/js/modern/builder/builder-webpack/webpackPlugins/index.js +0 -1
  24. package/dist/js/modern/builder/generator/createBuilderOptions.js +0 -24
  25. package/dist/js/modern/builder/generator/createBuilderProviderConfig.js +0 -39
  26. package/dist/js/modern/builder/generator/getBuilderTargets.js +0 -21
  27. package/dist/js/modern/builder/generator/index.js +0 -53
  28. package/dist/js/modern/builder/index.js +0 -39
  29. package/dist/js/modern/builder/shared/builderPlugins/adapterModern.js +0 -219
  30. package/dist/js/modern/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -27
  31. package/dist/js/modern/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -34
  32. package/dist/js/modern/builder/shared/createCopyPattern.js +0 -46
  33. package/dist/js/modern/builder/shared/index.js +0 -3
  34. package/dist/js/modern/builder/shared/loaders/serverModuleLoader.js +0 -7
  35. package/dist/js/modern/builder/shared/types.js +0 -0
  36. package/dist/js/modern/commands/build.js +0 -91
  37. package/dist/js/modern/commands/deploy.js +0 -28
  38. package/dist/js/modern/commands/dev.js +0 -109
  39. package/dist/js/modern/commands/index.js +0 -3
  40. package/dist/js/modern/commands/inspect.js +0 -38
  41. package/dist/js/modern/commands/serve.js +0 -54
  42. package/dist/js/modern/config/default.js +0 -175
  43. package/dist/js/modern/config/index.js +0 -3
  44. package/dist/js/modern/config/initialize/index.js +0 -12
  45. package/dist/js/modern/config/initialize/inits.js +0 -154
  46. package/dist/js/modern/config/legacy/createHtmlConfig.js +0 -35
  47. package/dist/js/modern/config/legacy/createOutputConfig.js +0 -68
  48. package/dist/js/modern/config/legacy/createSourceConfig.js +0 -39
  49. package/dist/js/modern/config/legacy/createToolsConfig.js +0 -42
  50. package/dist/js/modern/config/legacy/index.js +0 -51
  51. package/dist/js/modern/defineConfig.js +0 -27
  52. package/dist/js/modern/exports/server.js +0 -4
  53. package/dist/js/modern/hooks.js +0 -35
  54. package/dist/js/modern/index.js +0 -221
  55. package/dist/js/modern/initialize/index.js +0 -132
  56. package/dist/js/modern/locale/en.js +0 -36
  57. package/dist/js/modern/locale/index.js +0 -9
  58. package/dist/js/modern/locale/zh.js +0 -36
  59. package/dist/js/modern/schema/Schema.js +0 -40
  60. package/dist/js/modern/schema/index.js +0 -88
  61. package/dist/js/modern/schema/legacy.js +0 -148
  62. package/dist/js/modern/types/config/deploy.js +0 -0
  63. package/dist/js/modern/types/config/dev.js +0 -0
  64. package/dist/js/modern/types/config/experiments.js +0 -0
  65. package/dist/js/modern/types/config/html.js +0 -0
  66. package/dist/js/modern/types/config/index.js +0 -1
  67. package/dist/js/modern/types/config/output.js +0 -0
  68. package/dist/js/modern/types/config/performance.js +0 -0
  69. package/dist/js/modern/types/config/security.js +0 -0
  70. package/dist/js/modern/types/config/source.js +0 -0
  71. package/dist/js/modern/types/config/tools.js +0 -0
  72. package/dist/js/modern/types/hooks.js +0 -0
  73. package/dist/js/modern/types/index.js +0 -3
  74. package/dist/js/modern/types/legacyConfig/deploy.js +0 -0
  75. package/dist/js/modern/types/legacyConfig/dev.js +0 -0
  76. package/dist/js/modern/types/legacyConfig/index.js +0 -0
  77. package/dist/js/modern/types/legacyConfig/output.js +0 -0
  78. package/dist/js/modern/types/legacyConfig/source.js +0 -0
  79. package/dist/js/modern/types/legacyConfig/tools.js +0 -0
  80. package/dist/js/modern/types/utils.js +0 -0
  81. package/dist/js/modern/utils/config.js +0 -128
  82. package/dist/js/modern/utils/createServer.js +0 -75
  83. package/dist/js/modern/utils/env.js +0 -15
  84. package/dist/js/modern/utils/generateWatchFiles.js +0 -55
  85. package/dist/js/modern/utils/getSelectedEntries.js +0 -58
  86. package/dist/js/modern/utils/getServerInternalPlugins.js +0 -58
  87. package/dist/js/modern/utils/language.js +0 -8
  88. package/dist/js/modern/utils/printInstructions.js +0 -31
  89. package/dist/js/modern/utils/restart.js +0 -44
  90. package/dist/js/modern/utils/routes.js +0 -30
  91. package/dist/js/modern/utils/types.js +0 -0
  92. package/dist/js/node/analyze/constants.js +0 -100
  93. package/dist/js/node/analyze/generateCode.js +0 -271
  94. package/dist/js/node/analyze/getBundleEntry.js +0 -95
  95. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +0 -242
  96. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +0 -238
  97. package/dist/js/node/analyze/getClientRoutes/index.js +0 -30
  98. package/dist/js/node/analyze/getClientRoutes/utils.js +0 -58
  99. package/dist/js/node/analyze/getFileSystemEntry.js +0 -131
  100. package/dist/js/node/analyze/getHtmlTemplate.js +0 -144
  101. package/dist/js/node/analyze/getServerRoutes.js +0 -196
  102. package/dist/js/node/analyze/index.js +0 -340
  103. package/dist/js/node/analyze/isDefaultExportFunction.js +0 -71
  104. package/dist/js/node/analyze/makeLegalIdentifier.js +0 -36
  105. package/dist/js/node/analyze/nestedRoutes.js +0 -213
  106. package/dist/js/node/analyze/templates.js +0 -359
  107. package/dist/js/node/analyze/utils.js +0 -172
  108. package/dist/js/node/builder/builder-rspack/index.js +0 -31
  109. package/dist/js/node/builder/builder-webpack/builderPlugins/compatModern.js +0 -64
  110. package/dist/js/node/builder/builder-webpack/index.js +0 -118
  111. package/dist/js/node/builder/builder-webpack/webpackPlugins/RouterPlugin.js +0 -140
  112. package/dist/js/node/builder/builder-webpack/webpackPlugins/index.js +0 -17
  113. package/dist/js/node/builder/generator/createBuilderOptions.js +0 -47
  114. package/dist/js/node/builder/generator/createBuilderProviderConfig.js +0 -60
  115. package/dist/js/node/builder/generator/getBuilderTargets.js +0 -39
  116. package/dist/js/node/builder/generator/index.js +0 -82
  117. package/dist/js/node/builder/index.js +0 -68
  118. package/dist/js/node/builder/shared/builderPlugins/adapterModern.js +0 -245
  119. package/dist/js/node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -50
  120. package/dist/js/node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -57
  121. package/dist/js/node/builder/shared/createCopyPattern.js +0 -75
  122. package/dist/js/node/builder/shared/index.js +0 -19
  123. package/dist/js/node/builder/shared/loaders/serverModuleLoader.js +0 -28
  124. package/dist/js/node/builder/shared/types.js +0 -15
  125. package/dist/js/node/commands/build.js +0 -112
  126. package/dist/js/node/commands/deploy.js +0 -51
  127. package/dist/js/node/commands/dev.js +0 -126
  128. package/dist/js/node/commands/index.js +0 -19
  129. package/dist/js/node/commands/inspect.js +0 -61
  130. package/dist/js/node/commands/serve.js +0 -83
  131. package/dist/js/node/config/default.js +0 -197
  132. package/dist/js/node/config/index.js +0 -19
  133. package/dist/js/node/config/initialize/index.js +0 -35
  134. package/dist/js/node/config/initialize/inits.js +0 -177
  135. package/dist/js/node/config/legacy/createHtmlConfig.js +0 -58
  136. package/dist/js/node/config/legacy/createOutputConfig.js +0 -91
  137. package/dist/js/node/config/legacy/createSourceConfig.js +0 -62
  138. package/dist/js/node/config/legacy/createToolsConfig.js +0 -65
  139. package/dist/js/node/config/legacy/index.js +0 -75
  140. package/dist/js/node/defineConfig.js +0 -49
  141. package/dist/js/node/exports/server.js +0 -27
  142. package/dist/js/node/hooks.js +0 -54
  143. package/dist/js/node/index.js +0 -245
  144. package/dist/js/node/initialize/index.js +0 -141
  145. package/dist/js/node/locale/en.js +0 -59
  146. package/dist/js/node/locale/index.js +0 -33
  147. package/dist/js/node/locale/zh.js +0 -59
  148. package/dist/js/node/schema/Schema.js +0 -63
  149. package/dist/js/node/schema/index.js +0 -118
  150. package/dist/js/node/schema/legacy.js +0 -169
  151. package/dist/js/node/types/config/deploy.js +0 -15
  152. package/dist/js/node/types/config/dev.js +0 -15
  153. package/dist/js/node/types/config/experiments.js +0 -15
  154. package/dist/js/node/types/config/html.js +0 -15
  155. package/dist/js/node/types/config/index.js +0 -17
  156. package/dist/js/node/types/config/output.js +0 -15
  157. package/dist/js/node/types/config/performance.js +0 -15
  158. package/dist/js/node/types/config/security.js +0 -15
  159. package/dist/js/node/types/config/source.js +0 -15
  160. package/dist/js/node/types/config/tools.js +0 -15
  161. package/dist/js/node/types/hooks.js +0 -15
  162. package/dist/js/node/types/index.js +0 -19
  163. package/dist/js/node/types/legacyConfig/deploy.js +0 -15
  164. package/dist/js/node/types/legacyConfig/dev.js +0 -15
  165. package/dist/js/node/types/legacyConfig/index.js +0 -15
  166. package/dist/js/node/types/legacyConfig/output.js +0 -15
  167. package/dist/js/node/types/legacyConfig/source.js +0 -15
  168. package/dist/js/node/types/legacyConfig/tools.js +0 -15
  169. package/dist/js/node/types/utils.js +0 -15
  170. package/dist/js/node/utils/config.js +0 -153
  171. package/dist/js/node/utils/createServer.js +0 -106
  172. package/dist/js/node/utils/env.js +0 -38
  173. package/dist/js/node/utils/generateWatchFiles.js +0 -85
  174. package/dist/js/node/utils/getSelectedEntries.js +0 -81
  175. package/dist/js/node/utils/getServerInternalPlugins.js +0 -79
  176. package/dist/js/node/utils/language.js +0 -31
  177. package/dist/js/node/utils/printInstructions.js +0 -54
  178. package/dist/js/node/utils/restart.js +0 -67
  179. package/dist/js/node/utils/routes.js +0 -59
  180. package/dist/js/node/utils/types.js +0 -15
  181. package/dist/js/treeshaking/analyze/constants.js +0 -42
  182. package/dist/js/treeshaking/analyze/generateCode.js +0 -485
  183. package/dist/js/treeshaking/analyze/getBundleEntry.js +0 -62
  184. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +0 -233
  185. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +0 -231
  186. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +0 -3
  187. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +0 -23
  188. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +0 -107
  189. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +0 -302
  190. package/dist/js/treeshaking/analyze/getServerRoutes.js +0 -224
  191. package/dist/js/treeshaking/analyze/index.js +0 -702
  192. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +0 -47
  193. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +0 -13
  194. package/dist/js/treeshaking/analyze/nestedRoutes.js +0 -409
  195. package/dist/js/treeshaking/analyze/templates.js +0 -465
  196. package/dist/js/treeshaking/analyze/utils.js +0 -374
  197. package/dist/js/treeshaking/builder/builder-rspack/index.js +0 -6
  198. package/dist/js/treeshaking/builder/builder-webpack/builderPlugins/compatModern.js +0 -64
  199. package/dist/js/treeshaking/builder/builder-webpack/index.js +0 -301
  200. package/dist/js/treeshaking/builder/builder-webpack/webpackPlugins/RouterPlugin.js +0 -346
  201. package/dist/js/treeshaking/builder/builder-webpack/webpackPlugins/index.js +0 -1
  202. package/dist/js/treeshaking/builder/generator/createBuilderOptions.js +0 -41
  203. package/dist/js/treeshaking/builder/generator/createBuilderProviderConfig.js +0 -70
  204. package/dist/js/treeshaking/builder/generator/getBuilderTargets.js +0 -16
  205. package/dist/js/treeshaking/builder/generator/index.js +0 -199
  206. package/dist/js/treeshaking/builder/index.js +0 -175
  207. package/dist/js/treeshaking/builder/shared/builderPlugins/adapterModern.js +0 -300
  208. package/dist/js/treeshaking/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -110
  209. package/dist/js/treeshaking/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -72
  210. package/dist/js/treeshaking/builder/shared/createCopyPattern.js +0 -40
  211. package/dist/js/treeshaking/builder/shared/index.js +0 -3
  212. package/dist/js/treeshaking/builder/shared/loaders/serverModuleLoader.js +0 -5
  213. package/dist/js/treeshaking/builder/shared/types.js +0 -1
  214. package/dist/js/treeshaking/commands/build.js +0 -291
  215. package/dist/js/treeshaking/commands/deploy.js +0 -154
  216. package/dist/js/treeshaking/commands/dev.js +0 -301
  217. package/dist/js/treeshaking/commands/index.js +0 -3
  218. package/dist/js/treeshaking/commands/inspect.js +0 -149
  219. package/dist/js/treeshaking/commands/serve.js +0 -199
  220. package/dist/js/treeshaking/config/default.js +0 -210
  221. package/dist/js/treeshaking/config/index.js +0 -3
  222. package/dist/js/treeshaking/config/initialize/index.js +0 -10
  223. package/dist/js/treeshaking/config/initialize/inits.js +0 -211
  224. package/dist/js/treeshaking/config/legacy/createHtmlConfig.js +0 -19
  225. package/dist/js/treeshaking/config/legacy/createOutputConfig.js +0 -41
  226. package/dist/js/treeshaking/config/legacy/createSourceConfig.js +0 -42
  227. package/dist/js/treeshaking/config/legacy/createToolsConfig.js +0 -23
  228. package/dist/js/treeshaking/config/legacy/index.js +0 -38
  229. package/dist/js/treeshaking/defineConfig.js +0 -61
  230. package/dist/js/treeshaking/exports/server.js +0 -2
  231. package/dist/js/treeshaking/hooks.js +0 -29
  232. package/dist/js/treeshaking/index.js +0 -713
  233. package/dist/js/treeshaking/initialize/index.js +0 -284
  234. package/dist/js/treeshaking/locale/en.js +0 -38
  235. package/dist/js/treeshaking/locale/index.js +0 -9
  236. package/dist/js/treeshaking/locale/zh.js +0 -38
  237. package/dist/js/treeshaking/schema/Schema.js +0 -273
  238. package/dist/js/treeshaking/schema/index.js +0 -181
  239. package/dist/js/treeshaking/schema/legacy.js +0 -337
  240. package/dist/js/treeshaking/types/config/deploy.js +0 -1
  241. package/dist/js/treeshaking/types/config/dev.js +0 -1
  242. package/dist/js/treeshaking/types/config/experiments.js +0 -1
  243. package/dist/js/treeshaking/types/config/html.js +0 -1
  244. package/dist/js/treeshaking/types/config/index.js +0 -1
  245. package/dist/js/treeshaking/types/config/output.js +0 -1
  246. package/dist/js/treeshaking/types/config/performance.js +0 -1
  247. package/dist/js/treeshaking/types/config/security.js +0 -1
  248. package/dist/js/treeshaking/types/config/source.js +0 -1
  249. package/dist/js/treeshaking/types/config/tools.js +0 -1
  250. package/dist/js/treeshaking/types/hooks.js +0 -1
  251. package/dist/js/treeshaking/types/index.js +0 -3
  252. package/dist/js/treeshaking/types/legacyConfig/deploy.js +0 -1
  253. package/dist/js/treeshaking/types/legacyConfig/dev.js +0 -1
  254. package/dist/js/treeshaking/types/legacyConfig/index.js +0 -1
  255. package/dist/js/treeshaking/types/legacyConfig/output.js +0 -1
  256. package/dist/js/treeshaking/types/legacyConfig/source.js +0 -1
  257. package/dist/js/treeshaking/types/legacyConfig/tools.js +0 -1
  258. package/dist/js/treeshaking/types/utils.js +0 -1
  259. package/dist/js/treeshaking/utils/config.js +0 -302
  260. package/dist/js/treeshaking/utils/createServer.js +0 -258
  261. package/dist/js/treeshaking/utils/env.js +0 -13
  262. package/dist/js/treeshaking/utils/generateWatchFiles.js +0 -214
  263. package/dist/js/treeshaking/utils/getSelectedEntries.js +0 -186
  264. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +0 -210
  265. package/dist/js/treeshaking/utils/language.js +0 -6
  266. package/dist/js/treeshaking/utils/printInstructions.js +0 -152
  267. package/dist/js/treeshaking/utils/restart.js +0 -187
  268. package/dist/js/treeshaking/utils/routes.js +0 -153
  269. package/dist/js/treeshaking/utils/types.js +0 -1
@@ -1,47 +0,0 @@
1
- import fs from "fs";
2
- import { parse } from "@babel/parser";
3
- import traverse from "@babel/traverse";
4
- import * as t from "@babel/types";
5
- var isFunction = function(node) {
6
- return t.isFunctionDeclaration(node) || t.isFunctionExpression(node) || t.isArrowFunctionExpression(node);
7
- };
8
- var isDefaultExportFunction = function(file) {
9
- if (!file || !fs.existsSync(file)) {
10
- return false;
11
- }
12
- var ast = parse(fs.readFileSync(file, "utf8"), {
13
- sourceType: "unambiguous",
14
- plugins: [
15
- "jsx",
16
- "typescript",
17
- "classProperties",
18
- "dynamicImport",
19
- "exportDefaultFrom",
20
- "exportNamespaceFrom",
21
- "decorators-legacy",
22
- "functionBind",
23
- "classPrivateMethods",
24
- [
25
- "pipelineOperator",
26
- {
27
- proposal: "minimal"
28
- }
29
- ],
30
- "optionalChaining",
31
- "optionalCatchBinding",
32
- "objectRestSpread",
33
- "numericSeparator"
34
- ]
35
- });
36
- var isExportFunction = false;
37
- traverse(ast, {
38
- ExportDefaultDeclaration: function(path) {
39
- var declaration = path.node.declaration;
40
- if (isFunction(declaration)) {
41
- isExportFunction = true;
42
- }
43
- }
44
- });
45
- return isExportFunction;
46
- };
47
- export { isDefaultExportFunction };
@@ -1,13 +0,0 @@
1
- var reservedWords = "break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public";
2
- var builtins = "arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl";
3
- var forbidList = new Set("".concat(reservedWords, " ").concat(builtins).split(" "));
4
- function makeLegalIdentifier(str) {
5
- var identifier = str.replace(/-(\w)/g, function(_, letter) {
6
- return letter.toUpperCase();
7
- }).replace(/[^$_a-zA-Z0-9]/g, "_");
8
- if (/\d/.test(identifier[0]) || forbidList.has(identifier)) {
9
- return "_".concat(identifier);
10
- }
11
- return identifier || "_";
12
- }
13
- export { makeLegalIdentifier };
@@ -1,409 +0,0 @@
1
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
- try {
3
- var info = gen[key](arg);
4
- var value = info.value;
5
- } catch (error) {
6
- reject(error);
7
- return;
8
- }
9
- if (info.done) {
10
- resolve(value);
11
- } else {
12
- Promise.resolve(value).then(_next, _throw);
13
- }
14
- }
15
- function _asyncToGenerator(fn) {
16
- return function() {
17
- var self = this, args = arguments;
18
- return new Promise(function(resolve, reject) {
19
- var gen = fn.apply(self, args);
20
- function _next(value) {
21
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
- }
23
- function _throw(err) {
24
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
- }
26
- _next(undefined);
27
- });
28
- };
29
- }
30
- function _defineProperty(obj, key, value) {
31
- if (key in obj) {
32
- Object.defineProperty(obj, key, {
33
- value: value,
34
- enumerable: true,
35
- configurable: true,
36
- writable: true
37
- });
38
- } else {
39
- obj[key] = value;
40
- }
41
- return obj;
42
- }
43
- function _objectSpread(target) {
44
- for(var i = 1; i < arguments.length; i++){
45
- var source = arguments[i] != null ? arguments[i] : {};
46
- var ownKeys = Object.keys(source);
47
- if (typeof Object.getOwnPropertySymbols === "function") {
48
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
49
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
50
- }));
51
- }
52
- ownKeys.forEach(function(key) {
53
- _defineProperty(target, key, source[key]);
54
- });
55
- }
56
- return target;
57
- }
58
- function ownKeys(object, enumerableOnly) {
59
- var keys = Object.keys(object);
60
- if (Object.getOwnPropertySymbols) {
61
- var symbols = Object.getOwnPropertySymbols(object);
62
- if (enumerableOnly) {
63
- symbols = symbols.filter(function(sym) {
64
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
65
- });
66
- }
67
- keys.push.apply(keys, symbols);
68
- }
69
- return keys;
70
- }
71
- function _objectSpreadProps(target, source) {
72
- source = source != null ? source : {};
73
- if (Object.getOwnPropertyDescriptors) {
74
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
75
- } else {
76
- ownKeys(Object(source)).forEach(function(key) {
77
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
78
- });
79
- }
80
- return target;
81
- }
82
- var __generator = this && this.__generator || function(thisArg, body) {
83
- var f, y, t, g, _ = {
84
- label: 0,
85
- sent: function() {
86
- if (t[0] & 1) throw t[1];
87
- return t[1];
88
- },
89
- trys: [],
90
- ops: []
91
- };
92
- return(g = {
93
- next: verb(0),
94
- "throw": verb(1),
95
- "return": verb(2)
96
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
97
- return this;
98
- }), g);
99
- function verb(n) {
100
- return function(v) {
101
- return step([
102
- n,
103
- v
104
- ]);
105
- };
106
- }
107
- function step(op) {
108
- if (f) throw new TypeError("Generator is already executing.");
109
- while(_)try {
110
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
111
- if (y = 0, t) op = [
112
- op[0] & 2,
113
- t.value
114
- ];
115
- switch(op[0]){
116
- case 0:
117
- case 1:
118
- t = op;
119
- break;
120
- case 4:
121
- _.label++;
122
- return {
123
- value: op[1],
124
- done: false
125
- };
126
- case 5:
127
- _.label++;
128
- y = op[1];
129
- op = [
130
- 0
131
- ];
132
- continue;
133
- case 7:
134
- op = _.ops.pop();
135
- _.trys.pop();
136
- continue;
137
- default:
138
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
139
- _ = 0;
140
- continue;
141
- }
142
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
143
- _.label = op[1];
144
- break;
145
- }
146
- if (op[0] === 6 && _.label < t[1]) {
147
- _.label = t[1];
148
- t = op;
149
- break;
150
- }
151
- if (t && _.label < t[2]) {
152
- _.label = t[2];
153
- _.ops.push(op);
154
- break;
155
- }
156
- if (t[2]) _.ops.pop();
157
- _.trys.pop();
158
- continue;
159
- }
160
- op = body.call(thisArg, _);
161
- } catch (e) {
162
- op = [
163
- 6,
164
- e
165
- ];
166
- y = 0;
167
- } finally{
168
- f = t = 0;
169
- }
170
- if (op[0] & 5) throw op[1];
171
- return {
172
- value: op[0] ? op[1] : void 0,
173
- done: true
174
- };
175
- }
176
- };
177
- import * as path from "path";
178
- import { fs, getRouteId } from "@modern-js/utils";
179
- import { JS_EXTENSIONS, NESTED_ROUTE } from "./constants";
180
- import { replaceWithAlias } from "./utils";
181
- var conventionNames = Object.values(NESTED_ROUTE);
182
- var replaceDynamicPath = function(routePath) {
183
- return routePath.replace(/\[(.*?)\]/g, ":$1");
184
- };
185
- var createIndexRoute = function(routeInfo, rootDir, filename, entryName) {
186
- return createRoute(_objectSpreadProps(_objectSpread({}, routeInfo), {
187
- index: true,
188
- children: void 0
189
- }), rootDir, filename, entryName);
190
- };
191
- var createRoute = function(routeInfo, rootDir, filename, entryName) {
192
- var id = getRouteId(filename, rootDir, entryName);
193
- return _objectSpreadProps(_objectSpread({}, routeInfo), {
194
- id: id,
195
- type: "nested"
196
- });
197
- };
198
- var walk = function() {
199
- var _ref = _asyncToGenerator(function(dirname, rootDir, alias, entryName) {
200
- var _route_children, isDirectory, relativeDir, pathSegments, lastSegment, isRoot, isPathlessLayout, isWithoutLayoutPath, routePath, route, pageLoaderFile, pageRoute, splatLoaderFile, splatRoute, items, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, item, itemPath, extname, itemWithoutExt, isDirectory2, childRoute, _route_children1, _route_children2, _route_children3, err, finalRoute, childRoute1, path2;
201
- return __generator(this, function(_state) {
202
- switch(_state.label){
203
- case 0:
204
- return [
205
- 4,
206
- fs.pathExists(dirname)
207
- ];
208
- case 1:
209
- if (!_state.sent()) {
210
- return [
211
- 2,
212
- null
213
- ];
214
- }
215
- return [
216
- 4,
217
- fs.stat(dirname)
218
- ];
219
- case 2:
220
- isDirectory = _state.sent().isDirectory();
221
- if (!isDirectory) {
222
- return [
223
- 2,
224
- null
225
- ];
226
- }
227
- relativeDir = path.relative(rootDir, dirname);
228
- pathSegments = relativeDir.split(path.sep);
229
- lastSegment = pathSegments[pathSegments.length - 1];
230
- isRoot = lastSegment === "";
231
- isPathlessLayout = lastSegment.startsWith("__");
232
- isWithoutLayoutPath = lastSegment.includes(".");
233
- routePath = isRoot || isPathlessLayout ? "/" : "".concat(lastSegment);
234
- if (isWithoutLayoutPath) {
235
- routePath = lastSegment.split(".").join("/");
236
- }
237
- routePath = replaceDynamicPath(routePath);
238
- route = {
239
- path: routePath,
240
- children: [],
241
- isRoot: isRoot
242
- };
243
- pageLoaderFile = "";
244
- pageRoute = null;
245
- splatLoaderFile = "";
246
- splatRoute = null;
247
- return [
248
- 4,
249
- fs.readdir(dirname)
250
- ];
251
- case 3:
252
- items = _state.sent();
253
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
254
- _state.label = 4;
255
- case 4:
256
- _state.trys.push([
257
- 4,
258
- 11,
259
- 12,
260
- 13
261
- ]);
262
- _iterator = items[Symbol.iterator]();
263
- _state.label = 5;
264
- case 5:
265
- if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
266
- 3,
267
- 10
268
- ];
269
- item = _step.value;
270
- itemPath = path.join(dirname, item);
271
- extname = path.extname(item);
272
- itemWithoutExt = item.slice(0, -extname.length);
273
- return [
274
- 4,
275
- fs.stat(itemPath)
276
- ];
277
- case 6:
278
- isDirectory2 = _state.sent().isDirectory();
279
- if (!isDirectory2) return [
280
- 3,
281
- 8
282
- ];
283
- return [
284
- 4,
285
- walk(itemPath, rootDir, alias, entryName)
286
- ];
287
- case 7:
288
- childRoute = _state.sent();
289
- if (childRoute) {
290
- ;
291
- (_route_children1 = route.children) === null || _route_children1 === void 0 ? void 0 : _route_children1.push(childRoute);
292
- }
293
- _state.label = 8;
294
- case 8:
295
- if (extname && (!JS_EXTENSIONS.includes(extname) || !conventionNames.includes(itemWithoutExt))) {
296
- return [
297
- 3,
298
- 9
299
- ];
300
- }
301
- if (itemWithoutExt === NESTED_ROUTE.LAYOUT_LOADER_FILE) {
302
- if (!route.loader) {
303
- route.loader = itemPath;
304
- }
305
- }
306
- if (itemWithoutExt === NESTED_ROUTE.LAYOUT_FILE) {
307
- route._component = replaceWithAlias(alias.basename, itemPath, alias.name);
308
- }
309
- if (itemWithoutExt === NESTED_ROUTE.PAGE_LOADER_FILE) {
310
- pageLoaderFile = itemPath;
311
- }
312
- if (itemWithoutExt === NESTED_ROUTE.PAGE_FILE) {
313
- ;
314
- pageRoute = createIndexRoute({
315
- _component: replaceWithAlias(alias.basename, itemPath, alias.name)
316
- }, rootDir, itemPath, entryName);
317
- if (pageLoaderFile) {
318
- pageRoute.loader = pageLoaderFile;
319
- }
320
- (_route_children2 = route.children) === null || _route_children2 === void 0 ? void 0 : _route_children2.push(pageRoute);
321
- }
322
- if (itemWithoutExt === NESTED_ROUTE.SPLATE_LOADER_FILE) {
323
- splatLoaderFile = itemPath;
324
- }
325
- if (itemWithoutExt === NESTED_ROUTE.SPLATE_FILE) {
326
- ;
327
- splatRoute = createRoute({
328
- _component: replaceWithAlias(alias.basename, itemPath, alias.name),
329
- path: "*"
330
- }, rootDir, itemPath, entryName);
331
- if (splatLoaderFile) {
332
- splatRoute.loader = splatLoaderFile;
333
- }
334
- (_route_children3 = route.children) === null || _route_children3 === void 0 ? void 0 : _route_children3.push(splatRoute);
335
- }
336
- if (itemWithoutExt === NESTED_ROUTE.LOADING_FILE) {
337
- route.loading = replaceWithAlias(alias.basename, itemPath, alias.name);
338
- }
339
- if (itemWithoutExt === NESTED_ROUTE.ERROR_FILE) {
340
- route.error = replaceWithAlias(alias.basename, itemPath, alias.name);
341
- }
342
- _state.label = 9;
343
- case 9:
344
- _iteratorNormalCompletion = true;
345
- return [
346
- 3,
347
- 5
348
- ];
349
- case 10:
350
- return [
351
- 3,
352
- 13
353
- ];
354
- case 11:
355
- err = _state.sent();
356
- _didIteratorError = true;
357
- _iteratorError = err;
358
- return [
359
- 3,
360
- 13
361
- ];
362
- case 12:
363
- try {
364
- if (!_iteratorNormalCompletion && _iterator.return != null) {
365
- _iterator.return();
366
- }
367
- } finally{
368
- if (_didIteratorError) {
369
- throw _iteratorError;
370
- }
371
- }
372
- return [
373
- 7
374
- ];
375
- case 13:
376
- finalRoute = createRoute(route, rootDir, path.join(dirname, "".concat(NESTED_ROUTE.LAYOUT_FILE, ".ts")), entryName);
377
- if (isPathlessLayout) {
378
- delete finalRoute.path;
379
- }
380
- route.children = (_route_children = route.children) === null || _route_children === void 0 ? void 0 : _route_children.filter(function(childRoute) {
381
- return childRoute;
382
- });
383
- if (route.children && route.children.length === 0 && !route.index) {
384
- return [
385
- 2,
386
- null
387
- ];
388
- }
389
- if (finalRoute.children && finalRoute.children.length === 1 && !finalRoute._component) {
390
- childRoute1 = finalRoute.children[0];
391
- if (childRoute1.path === "*") {
392
- path2 = "".concat(finalRoute.path || "", "/").concat(childRoute1.path || "");
393
- finalRoute = _objectSpreadProps(_objectSpread({}, childRoute1), {
394
- path: path2
395
- });
396
- }
397
- }
398
- return [
399
- 2,
400
- finalRoute
401
- ];
402
- }
403
- });
404
- });
405
- return function walk(dirname, rootDir, alias, entryName) {
406
- return _ref.apply(this, arguments);
407
- };
408
- }();
409
- export { walk };