@modern-js/app-tools 2.35.1 → 2.36.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 (275) hide show
  1. package/dist/cjs/analyze/constants.js +68 -75
  2. package/dist/cjs/analyze/generateCode.js +74 -57
  3. package/dist/cjs/analyze/getBundleEntry.js +53 -27
  4. package/dist/cjs/analyze/getClientRoutes/getRoutes.js +63 -37
  5. package/dist/cjs/analyze/getClientRoutes/getRoutesLegacy.js +63 -37
  6. package/dist/cjs/analyze/getClientRoutes/index.js +27 -17
  7. package/dist/cjs/analyze/getClientRoutes/utils.js +47 -30
  8. package/dist/cjs/analyze/getFileSystemEntry.js +58 -32
  9. package/dist/cjs/analyze/getHtmlTemplate.js +45 -20
  10. package/dist/cjs/analyze/getServerRoutes.js +55 -29
  11. package/dist/cjs/analyze/index.js +81 -61
  12. package/dist/cjs/analyze/isDefaultExportFunction.js +42 -17
  13. package/dist/cjs/analyze/makeLegalIdentifier.js +24 -7
  14. package/dist/cjs/analyze/nestedRoutes.js +111 -65
  15. package/dist/cjs/analyze/templates.js +135 -53
  16. package/dist/cjs/analyze/utils.js +101 -67
  17. package/dist/cjs/builder/builder-rspack/adapterCopy.js +60 -30
  18. package/dist/cjs/builder/builder-rspack/index.js +29 -12
  19. package/dist/cjs/builder/builder-webpack/adapterModern.js +26 -11
  20. package/dist/cjs/builder/builder-webpack/createCopyPattern.js +30 -20
  21. package/dist/cjs/builder/builder-webpack/index.js +40 -14
  22. package/dist/cjs/builder/generator/createBuilderOptions.js +24 -7
  23. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +26 -9
  24. package/dist/cjs/builder/generator/getBuilderTargets.js +27 -10
  25. package/dist/cjs/builder/generator/index.js +44 -18
  26. package/dist/cjs/builder/index.js +39 -13
  27. package/dist/cjs/builder/shared/builderPlugins/adapterBasic.js +36 -7
  28. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +36 -19
  29. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +47 -21
  30. package/dist/cjs/builder/shared/builderPlugins/index.js +24 -6
  31. package/dist/cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +27 -10
  32. package/dist/cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +29 -12
  33. package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +42 -25
  34. package/dist/cjs/builder/shared/bundlerPlugins/index.js +24 -6
  35. package/dist/cjs/builder/shared/createCopyInfo.js +38 -12
  36. package/dist/cjs/builder/shared/index.js +24 -6
  37. package/dist/cjs/builder/shared/loaders/serverModuleLoader.js +21 -8
  38. package/dist/cjs/builder/shared/types.js +15 -3
  39. package/dist/cjs/commands/build.js +33 -16
  40. package/dist/cjs/commands/deploy.js +24 -7
  41. package/dist/cjs/commands/dev.js +40 -23
  42. package/dist/cjs/commands/index.js +24 -6
  43. package/dist/cjs/commands/inspect.js +26 -9
  44. package/dist/cjs/commands/serve.js +48 -22
  45. package/dist/cjs/config/default.js +33 -23
  46. package/dist/cjs/config/index.js +24 -6
  47. package/dist/cjs/config/initialize/index.js +27 -10
  48. package/dist/cjs/config/initialize/inits.js +40 -37
  49. package/dist/cjs/config/legacy/createHtmlConfig.js +24 -7
  50. package/dist/cjs/config/legacy/createOutputConfig.js +24 -7
  51. package/dist/cjs/config/legacy/createSourceConfig.js +24 -7
  52. package/dist/cjs/config/legacy/createToolsConfig.js +24 -7
  53. package/dist/cjs/config/legacy/index.js +34 -23
  54. package/dist/cjs/defineConfig.js +25 -15
  55. package/dist/cjs/exports/server.js +25 -8
  56. package/dist/cjs/hooks.js +50 -33
  57. package/dist/cjs/index.js +95 -80
  58. package/dist/cjs/initialize/index.js +30 -17
  59. package/dist/cjs/locale/en.js +24 -7
  60. package/dist/cjs/locale/index.js +31 -21
  61. package/dist/cjs/locale/zh.js +24 -7
  62. package/dist/cjs/schema/Schema.js +28 -11
  63. package/dist/cjs/schema/index.js +40 -21
  64. package/dist/cjs/schema/legacy.js +30 -17
  65. package/dist/cjs/types/config/deploy.js +15 -3
  66. package/dist/cjs/types/config/dev.js +15 -3
  67. package/dist/cjs/types/config/experiments.js +15 -3
  68. package/dist/cjs/types/config/html.js +15 -3
  69. package/dist/cjs/types/config/index.js +20 -4
  70. package/dist/cjs/types/config/output.js +15 -3
  71. package/dist/cjs/types/config/performance.js +15 -3
  72. package/dist/cjs/types/config/security.js +15 -3
  73. package/dist/cjs/types/config/source.js +15 -3
  74. package/dist/cjs/types/config/testing.js +15 -3
  75. package/dist/cjs/types/config/tools.js +15 -3
  76. package/dist/cjs/types/hooks.js +15 -3
  77. package/dist/cjs/types/index.js +24 -6
  78. package/dist/cjs/types/legacyConfig/deploy.js +15 -3
  79. package/dist/cjs/types/legacyConfig/dev.js +15 -3
  80. package/dist/cjs/types/legacyConfig/index.js +15 -3
  81. package/dist/cjs/types/legacyConfig/output.js +15 -3
  82. package/dist/cjs/types/legacyConfig/source.js +15 -3
  83. package/dist/cjs/types/legacyConfig/testing.js +15 -3
  84. package/dist/cjs/types/legacyConfig/tools.js +15 -3
  85. package/dist/cjs/types/utils.js +15 -3
  86. package/dist/cjs/utils/config.js +50 -33
  87. package/dist/cjs/utils/createServer.js +43 -26
  88. package/dist/cjs/utils/env.js +26 -9
  89. package/dist/cjs/utils/generateWatchFiles.js +41 -22
  90. package/dist/cjs/utils/getSelectedEntries.js +30 -13
  91. package/dist/cjs/utils/getServerInternalPlugins.js +24 -7
  92. package/dist/cjs/utils/printInstructions.js +27 -10
  93. package/dist/cjs/utils/restart.js +30 -13
  94. package/dist/cjs/utils/routes.js +37 -11
  95. package/dist/cjs/utils/types.js +15 -3
  96. package/dist/esm/analyze/constants.js +48 -22
  97. package/dist/esm/analyze/generateCode.js +38 -33
  98. package/dist/esm/analyze/getBundleEntry.js +4 -1
  99. package/dist/esm/analyze/getClientRoutes/getRoutes.js +12 -9
  100. package/dist/esm/analyze/getClientRoutes/getRoutesLegacy.js +12 -9
  101. package/dist/esm/analyze/getClientRoutes/index.js +6 -2
  102. package/dist/esm/analyze/getClientRoutes/utils.js +9 -4
  103. package/dist/esm/analyze/getFileSystemEntry.js +10 -7
  104. package/dist/esm/analyze/getHtmlTemplate.js +7 -4
  105. package/dist/esm/analyze/getServerRoutes.js +8 -5
  106. package/dist/esm/analyze/index.js +31 -30
  107. package/dist/esm/analyze/isDefaultExportFunction.js +4 -1
  108. package/dist/esm/analyze/makeLegalIdentifier.js +4 -1
  109. package/dist/esm/analyze/nestedRoutes.js +93 -30
  110. package/dist/esm/analyze/templates.js +121 -30
  111. package/dist/esm/analyze/utils.js +103 -18
  112. package/dist/esm/builder/builder-rspack/adapterCopy.js +16 -9
  113. package/dist/esm/builder/builder-rspack/index.js +4 -1
  114. package/dist/esm/builder/builder-webpack/adapterModern.js +4 -3
  115. package/dist/esm/builder/builder-webpack/createCopyPattern.js +8 -4
  116. package/dist/esm/builder/builder-webpack/index.js +4 -1
  117. package/dist/esm/builder/generator/createBuilderOptions.js +5 -2
  118. package/dist/esm/builder/generator/createBuilderProviderConfig.js +4 -1
  119. package/dist/esm/builder/generator/getBuilderTargets.js +4 -1
  120. package/dist/esm/builder/generator/index.js +5 -2
  121. package/dist/esm/builder/index.js +4 -1
  122. package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +6 -1
  123. package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +11 -8
  124. package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +10 -7
  125. package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +4 -1
  126. package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +4 -1
  127. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +7 -4
  128. package/dist/esm/builder/shared/createCopyInfo.js +7 -4
  129. package/dist/esm/builder/shared/loaders/serverModuleLoader.js +4 -1
  130. package/dist/esm/builder/shared/types.js +0 -1
  131. package/dist/esm/commands/build.js +6 -3
  132. package/dist/esm/commands/deploy.js +4 -1
  133. package/dist/esm/commands/dev.js +12 -9
  134. package/dist/esm/commands/inspect.js +4 -1
  135. package/dist/esm/commands/serve.js +7 -4
  136. package/dist/esm/config/default.js +12 -8
  137. package/dist/esm/config/initialize/index.js +4 -1
  138. package/dist/esm/config/initialize/inits.js +8 -19
  139. package/dist/esm/config/legacy/createHtmlConfig.js +17 -14
  140. package/dist/esm/config/legacy/createOutputConfig.js +19 -16
  141. package/dist/esm/config/legacy/createSourceConfig.js +14 -11
  142. package/dist/esm/config/legacy/createToolsConfig.js +18 -15
  143. package/dist/esm/config/legacy/index.js +21 -16
  144. package/dist/esm/defineConfig.js +6 -2
  145. package/dist/esm/exports/server.js +4 -1
  146. package/dist/esm/hooks.js +4 -1
  147. package/dist/esm/index.js +19 -11
  148. package/dist/esm/initialize/index.js +9 -6
  149. package/dist/esm/locale/en.js +4 -1
  150. package/dist/esm/locale/index.js +4 -1
  151. package/dist/esm/locale/zh.js +4 -1
  152. package/dist/esm/schema/Schema.js +6 -3
  153. package/dist/esm/schema/index.js +5 -2
  154. package/dist/esm/schema/legacy.js +4 -1
  155. package/dist/esm/types/config/deploy.js +0 -1
  156. package/dist/esm/types/config/dev.js +0 -1
  157. package/dist/esm/types/config/experiments.js +0 -1
  158. package/dist/esm/types/config/html.js +0 -1
  159. package/dist/esm/types/config/output.js +0 -1
  160. package/dist/esm/types/config/performance.js +0 -1
  161. package/dist/esm/types/config/security.js +0 -1
  162. package/dist/esm/types/config/source.js +0 -1
  163. package/dist/esm/types/config/testing.js +0 -1
  164. package/dist/esm/types/config/tools.js +0 -1
  165. package/dist/esm/types/hooks.js +0 -1
  166. package/dist/esm/types/legacyConfig/deploy.js +0 -1
  167. package/dist/esm/types/legacyConfig/dev.js +0 -1
  168. package/dist/esm/types/legacyConfig/index.js +0 -1
  169. package/dist/esm/types/legacyConfig/output.js +0 -1
  170. package/dist/esm/types/legacyConfig/source.js +0 -1
  171. package/dist/esm/types/legacyConfig/testing.js +0 -1
  172. package/dist/esm/types/legacyConfig/tools.js +0 -1
  173. package/dist/esm/types/utils.js +0 -1
  174. package/dist/esm/utils/config.js +12 -6
  175. package/dist/esm/utils/createServer.js +12 -5
  176. package/dist/esm/utils/env.js +4 -1
  177. package/dist/esm/utils/generateWatchFiles.js +6 -2
  178. package/dist/esm/utils/getSelectedEntries.js +4 -1
  179. package/dist/esm/utils/getServerInternalPlugins.js +5 -2
  180. package/dist/esm/utils/printInstructions.js +4 -1
  181. package/dist/esm/utils/restart.js +4 -1
  182. package/dist/esm/utils/routes.js +3 -1
  183. package/dist/esm/utils/types.js +0 -1
  184. package/dist/esm-node/analyze/constants.js +48 -22
  185. package/dist/esm-node/analyze/generateCode.js +8 -3
  186. package/dist/esm-node/analyze/getBundleEntry.js +4 -1
  187. package/dist/esm-node/analyze/getClientRoutes/getRoutes.js +4 -1
  188. package/dist/esm-node/analyze/getClientRoutes/getRoutesLegacy.js +4 -1
  189. package/dist/esm-node/analyze/getClientRoutes/index.js +6 -2
  190. package/dist/esm-node/analyze/getClientRoutes/utils.js +9 -4
  191. package/dist/esm-node/analyze/getFileSystemEntry.js +4 -1
  192. package/dist/esm-node/analyze/getHtmlTemplate.js +4 -1
  193. package/dist/esm-node/analyze/getServerRoutes.js +4 -1
  194. package/dist/esm-node/analyze/index.js +9 -8
  195. package/dist/esm-node/analyze/isDefaultExportFunction.js +4 -1
  196. package/dist/esm-node/analyze/makeLegalIdentifier.js +4 -1
  197. package/dist/esm-node/analyze/nestedRoutes.js +42 -9
  198. package/dist/esm-node/analyze/templates.js +93 -18
  199. package/dist/esm-node/analyze/utils.js +48 -16
  200. package/dist/esm-node/builder/builder-rspack/adapterCopy.js +18 -11
  201. package/dist/esm-node/builder/builder-rspack/index.js +4 -1
  202. package/dist/esm-node/builder/builder-webpack/adapterModern.js +4 -3
  203. package/dist/esm-node/builder/builder-webpack/createCopyPattern.js +6 -2
  204. package/dist/esm-node/builder/builder-webpack/index.js +4 -1
  205. package/dist/esm-node/builder/generator/createBuilderOptions.js +4 -1
  206. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +4 -1
  207. package/dist/esm-node/builder/generator/getBuilderTargets.js +4 -1
  208. package/dist/esm-node/builder/generator/index.js +4 -1
  209. package/dist/esm-node/builder/index.js +4 -1
  210. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +6 -1
  211. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +4 -1
  212. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +4 -1
  213. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +4 -1
  214. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +4 -1
  215. package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.js +4 -1
  216. package/dist/esm-node/builder/shared/createCopyInfo.js +4 -1
  217. package/dist/esm-node/builder/shared/loaders/serverModuleLoader.js +4 -1
  218. package/dist/esm-node/builder/shared/types.js +0 -1
  219. package/dist/esm-node/commands/build.js +4 -1
  220. package/dist/esm-node/commands/deploy.js +4 -1
  221. package/dist/esm-node/commands/dev.js +4 -1
  222. package/dist/esm-node/commands/inspect.js +4 -1
  223. package/dist/esm-node/commands/serve.js +4 -1
  224. package/dist/esm-node/config/default.js +6 -2
  225. package/dist/esm-node/config/initialize/index.js +4 -1
  226. package/dist/esm-node/config/initialize/inits.js +8 -20
  227. package/dist/esm-node/config/legacy/createHtmlConfig.js +4 -1
  228. package/dist/esm-node/config/legacy/createOutputConfig.js +4 -1
  229. package/dist/esm-node/config/legacy/createSourceConfig.js +4 -1
  230. package/dist/esm-node/config/legacy/createToolsConfig.js +4 -1
  231. package/dist/esm-node/config/legacy/index.js +7 -2
  232. package/dist/esm-node/defineConfig.js +6 -2
  233. package/dist/esm-node/exports/server.js +4 -1
  234. package/dist/esm-node/hooks.js +4 -1
  235. package/dist/esm-node/index.js +14 -6
  236. package/dist/esm-node/initialize/index.js +4 -1
  237. package/dist/esm-node/locale/en.js +4 -1
  238. package/dist/esm-node/locale/index.js +4 -1
  239. package/dist/esm-node/locale/zh.js +4 -1
  240. package/dist/esm-node/schema/Schema.js +4 -1
  241. package/dist/esm-node/schema/index.js +5 -2
  242. package/dist/esm-node/schema/legacy.js +4 -1
  243. package/dist/esm-node/types/config/deploy.js +0 -1
  244. package/dist/esm-node/types/config/dev.js +0 -1
  245. package/dist/esm-node/types/config/experiments.js +0 -1
  246. package/dist/esm-node/types/config/html.js +0 -1
  247. package/dist/esm-node/types/config/output.js +0 -1
  248. package/dist/esm-node/types/config/performance.js +0 -1
  249. package/dist/esm-node/types/config/security.js +0 -1
  250. package/dist/esm-node/types/config/source.js +0 -1
  251. package/dist/esm-node/types/config/testing.js +0 -1
  252. package/dist/esm-node/types/config/tools.js +0 -1
  253. package/dist/esm-node/types/hooks.js +0 -1
  254. package/dist/esm-node/types/legacyConfig/deploy.js +0 -1
  255. package/dist/esm-node/types/legacyConfig/dev.js +0 -1
  256. package/dist/esm-node/types/legacyConfig/index.js +0 -1
  257. package/dist/esm-node/types/legacyConfig/output.js +0 -1
  258. package/dist/esm-node/types/legacyConfig/source.js +0 -1
  259. package/dist/esm-node/types/legacyConfig/testing.js +0 -1
  260. package/dist/esm-node/types/legacyConfig/tools.js +0 -1
  261. package/dist/esm-node/types/utils.js +0 -1
  262. package/dist/esm-node/utils/config.js +10 -4
  263. package/dist/esm-node/utils/createServer.js +12 -5
  264. package/dist/esm-node/utils/env.js +4 -1
  265. package/dist/esm-node/utils/generateWatchFiles.js +6 -2
  266. package/dist/esm-node/utils/getSelectedEntries.js +4 -1
  267. package/dist/esm-node/utils/getServerInternalPlugins.js +4 -1
  268. package/dist/esm-node/utils/printInstructions.js +4 -1
  269. package/dist/esm-node/utils/restart.js +4 -1
  270. package/dist/esm-node/utils/routes.js +3 -1
  271. package/dist/esm-node/utils/types.js +0 -1
  272. package/dist/types/analyze/constants.d.ts +1 -0
  273. package/dist/types/analyze/utils.d.ts +2 -1
  274. package/dist/types/types/config/index.d.ts +3 -2
  275. package/package.json +24 -24
@@ -1,31 +1,32 @@
1
- export const JS_EXTENSIONS = [
1
+ const JS_EXTENSIONS = [
2
2
  ".js",
3
3
  ".ts",
4
4
  ".jsx",
5
5
  ".tsx"
6
6
  ];
7
- export const INDEX_FILE_NAME = "index";
8
- export const APP_FILE_NAME = "App";
9
- export const PAGES_DIR_NAME = "pages";
10
- export const NESTED_ROUTES_DIR = "routes";
11
- export const FILE_SYSTEM_ROUTES_FILE_NAME = "routes.js";
12
- export const LOADER_EXPORT_NAME = "loader";
13
- export const TEMP_LOADERS_DIR = "__loaders__";
14
- export const ENTRY_POINT_FILE_NAME = "index.jsx";
15
- export const ENTRY_BOOTSTRAP_FILE_NAME = "bootstrap.jsx";
16
- export const FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP = /^\[(\S+)\]([*+?]?)$/;
17
- export const FILE_SYSTEM_ROUTES_LAYOUT = "_layout";
18
- export const FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT = "_app";
19
- export const FILE_SYSTEM_ROUTES_INDEX = "index";
20
- export const FILE_SYSTEM_ROUTES_IGNORED_REGEX = /\.(d|test|spec|e2e)\.(js|jsx|ts|tsx)$/;
21
- export const HTML_PARTIALS_FOLDER = "html";
22
- export const HTML_PARTIALS_EXTENSIONS = [
7
+ const INDEX_FILE_NAME = "index";
8
+ const APP_FILE_NAME = "App";
9
+ const PAGES_DIR_NAME = "pages";
10
+ const NESTED_ROUTES_DIR = "routes";
11
+ const FILE_SYSTEM_ROUTES_FILE_NAME = "routes.js";
12
+ const LOADER_EXPORT_NAME = "loader";
13
+ const ACTION_EXPORT_NAME = "action";
14
+ const TEMP_LOADERS_DIR = "__loaders__";
15
+ const ENTRY_POINT_FILE_NAME = "index.jsx";
16
+ const ENTRY_BOOTSTRAP_FILE_NAME = "bootstrap.jsx";
17
+ const FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP = /^\[(\S+)\]([*+?]?)$/;
18
+ const FILE_SYSTEM_ROUTES_LAYOUT = "_layout";
19
+ const FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT = "_app";
20
+ const FILE_SYSTEM_ROUTES_INDEX = "index";
21
+ const FILE_SYSTEM_ROUTES_IGNORED_REGEX = /\.(d|test|spec|e2e)\.(js|jsx|ts|tsx)$/;
22
+ const HTML_PARTIALS_FOLDER = "html";
23
+ const HTML_PARTIALS_EXTENSIONS = [
23
24
  ".htm",
24
25
  ".html",
25
26
  ".ejs"
26
27
  ];
27
- export const FILE_SYSTEM_ROUTES_COMPONENTS_DIR = "internal_components";
28
- export const NESTED_ROUTE = {
28
+ const FILE_SYSTEM_ROUTES_COMPONENTS_DIR = "internal_components";
29
+ const NESTED_ROUTE = {
29
30
  LAYOUT_FILE: "layout",
30
31
  LAYOUT_CONFIG_FILE: "layout.config",
31
32
  LAYOUT_LOADER_FILE: "layout.loader",
@@ -45,6 +46,31 @@ export const NESTED_ROUTE = {
45
46
  ERROR_FILE: "error",
46
47
  LOADER_FILE: "loader"
47
48
  };
48
- export const APP_CONFIG_NAME = "config";
49
- export const APP_INIT_EXPORTED = "init";
50
- export const APP_INIT_IMPORTED = "appInit";
49
+ const APP_CONFIG_NAME = "config";
50
+ const APP_INIT_EXPORTED = "init";
51
+ const APP_INIT_IMPORTED = "appInit";
52
+ export {
53
+ ACTION_EXPORT_NAME,
54
+ APP_CONFIG_NAME,
55
+ APP_FILE_NAME,
56
+ APP_INIT_EXPORTED,
57
+ APP_INIT_IMPORTED,
58
+ ENTRY_BOOTSTRAP_FILE_NAME,
59
+ ENTRY_POINT_FILE_NAME,
60
+ FILE_SYSTEM_ROUTES_COMPONENTS_DIR,
61
+ FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP,
62
+ FILE_SYSTEM_ROUTES_FILE_NAME,
63
+ FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT,
64
+ FILE_SYSTEM_ROUTES_IGNORED_REGEX,
65
+ FILE_SYSTEM_ROUTES_INDEX,
66
+ FILE_SYSTEM_ROUTES_LAYOUT,
67
+ HTML_PARTIALS_EXTENSIONS,
68
+ HTML_PARTIALS_FOLDER,
69
+ INDEX_FILE_NAME,
70
+ JS_EXTENSIONS,
71
+ LOADER_EXPORT_NAME,
72
+ NESTED_ROUTE,
73
+ NESTED_ROUTES_DIR,
74
+ PAGES_DIR_NAME,
75
+ TEMP_LOADERS_DIR
76
+ };
@@ -25,7 +25,7 @@ const createImportSpecifier = (specifiers) => {
25
25
  return `{ ${named.join(", ")} }`;
26
26
  }
27
27
  };
28
- export const createImportStatements = (statements) => {
28
+ const createImportStatements = (statements) => {
29
29
  const deDuplicated = [];
30
30
  const seen = /* @__PURE__ */ new Map();
31
31
  for (const { value, specifiers, initialize } of statements) {
@@ -49,7 +49,7 @@ ${initialize || ""}`);
49
49
  return deDuplicated.map(({ value, specifiers, initialize }) => `import ${createImportSpecifier(specifiers)} from '${value}';
50
50
  ${initialize || ""}`).join("\n");
51
51
  };
52
- export const generateCode = async (appContext, config, entrypoints, api) => {
52
+ const generateCode = async (appContext, config, entrypoints, api) => {
53
53
  const { internalDirectory, srcDirectory, internalDirAlias, internalSrcAlias, packageName } = appContext;
54
54
  const hookRunners = api.useHookRunners();
55
55
  const isV5 = isRouterV5(config);
@@ -152,7 +152,7 @@ export const generateCode = async (appContext, config, entrypoints, api) => {
152
152
  }
153
153
  }
154
154
  };
155
- export const generateIndexCode = async ({ appContext, api, entrypoints, config, importsStatemets, bundlerConfigs }) => {
155
+ const generateIndexCode = async ({ appContext, api, entrypoints, config, importsStatemets, bundlerConfigs }) => {
156
156
  const hookRunners = api.useHookRunners();
157
157
  const { mountId } = config.html;
158
158
  const { internalDirectory, packageName } = appContext;
@@ -215,3 +215,8 @@ export const generateIndexCode = async ({ appContext, api, entrypoints, config,
215
215
  }
216
216
  }));
217
217
  };
218
+ export {
219
+ createImportStatements,
220
+ generateCode,
221
+ generateIndexCode
222
+ };
@@ -22,7 +22,7 @@ const ifAlreadyExists = (entrypoints, checked) => entrypoints.some((entrypoint)
22
22
  }
23
23
  return false;
24
24
  });
25
- export const getBundleEntry = (appContext, config) => {
25
+ const getBundleEntry = (appContext, config) => {
26
26
  const { appDirectory, packageName } = appContext;
27
27
  const { disableDefaultEntries, entries, entriesDir, mainEntryName } = config.source;
28
28
  const defaults = disableDefaultEntries ? [] : getFileSystemEntry(appContext, config);
@@ -63,3 +63,6 @@ export const getBundleEntry = (appContext, config) => {
63
63
  }
64
64
  return defaults;
65
65
  };
66
+ export {
67
+ getBundleEntry
68
+ };
@@ -125,7 +125,7 @@ export default ${lastComponent}`);
125
125
  });
126
126
  return normalized;
127
127
  };
128
- export const getClientRoutes = ({ entrypoint, srcDirectory, srcAlias, internalDirectory, internalDirAlias }) => {
128
+ const getClientRoutes = ({ entrypoint, srcDirectory, srcAlias, internalDirectory, internalDirAlias }) => {
129
129
  const { entryName, pageRoutesEntry } = entrypoint;
130
130
  if (!pageRoutesEntry) {
131
131
  return [];
@@ -158,3 +158,6 @@ export const getClientRoutes = ({ entrypoint, srcDirectory, srcAlias, internalDi
158
158
  debug(`fileSystem routes: %o`, routes);
159
159
  return routes;
160
160
  };
161
+ export {
162
+ getClientRoutes
163
+ };
@@ -126,7 +126,7 @@ export default ${lastComponent}`);
126
126
  });
127
127
  return normalized;
128
128
  };
129
- export const getClientRoutes = ({ entrypoint, srcDirectory, srcAlias, internalDirectory, internalDirAlias }) => {
129
+ const getClientRoutes = ({ entrypoint, srcDirectory, srcAlias, internalDirectory, internalDirAlias }) => {
130
130
  const { entry, entryName } = entrypoint;
131
131
  if (!fs.existsSync(entry)) {
132
132
  throw new Error(`generate file system routes error, ${entry} directory not found.`);
@@ -156,3 +156,6 @@ export const getClientRoutes = ({ entrypoint, srcDirectory, srcAlias, internalDi
156
156
  debug(`fileSystem routes: %o`, routes);
157
157
  return routes;
158
158
  };
159
+ export {
160
+ getClientRoutes
161
+ };
@@ -1,2 +1,6 @@
1
- export { getClientRoutes } from "./getRoutes";
2
- export { getClientRoutes as getClientRoutesLegacy } from "./getRoutesLegacy";
1
+ import { getClientRoutes } from "./getRoutes";
2
+ import { getClientRoutes as getClientRoutes2 } from "./getRoutesLegacy";
3
+ export {
4
+ getClientRoutes,
5
+ getClientRoutes2 as getClientRoutesLegacy
6
+ };
@@ -2,10 +2,9 @@ import path from "path";
2
2
  import { createDebugger, findExists, fs } from "@modern-js/utils";
3
3
  import { JS_EXTENSIONS, FILE_SYSTEM_ROUTES_LAYOUT, FILE_SYSTEM_ROUTES_GLOBAL_LAYOUT, FILE_SYSTEM_ROUTES_IGNORED_REGEX } from "../constants";
4
4
  const debug = createDebugger("get-client-routes");
5
- export { debug };
6
- export const findLayout = (dir) => findExists(JS_EXTENSIONS.map((ext) => path.resolve(dir, `${FILE_SYSTEM_ROUTES_LAYOUT}${ext}`)));
7
- export const getRouteWeight = (route) => route === "*" ? 999 : route.split(":").length - 1;
8
- export const shouldSkip = (file) => {
5
+ const findLayout = (dir) => findExists(JS_EXTENSIONS.map((ext) => path.resolve(dir, `${FILE_SYSTEM_ROUTES_LAYOUT}${ext}`)));
6
+ const getRouteWeight = (route) => route === "*" ? 999 : route.split(":").length - 1;
7
+ const shouldSkip = (file) => {
9
8
  if (fs.statSync(file).isDirectory()) {
10
9
  return false;
11
10
  }
@@ -15,3 +14,9 @@ export const shouldSkip = (file) => {
15
14
  }
16
15
  return false;
17
16
  };
17
+ export {
18
+ debug,
19
+ findLayout,
20
+ getRouteWeight,
21
+ shouldSkip
22
+ };
@@ -64,7 +64,7 @@ const scanDir = (dirs) => dirs.map((dir) => {
64
64
  isAutoMount: false
65
65
  };
66
66
  });
67
- export const getFileSystemEntry = (appContext, config) => {
67
+ const getFileSystemEntry = (appContext, config) => {
68
68
  const { appDirectory } = appContext;
69
69
  const { source: { entriesDir, disableEntryDirs } } = config;
70
70
  let disabledDirs = [];
@@ -84,3 +84,6 @@ export const getFileSystemEntry = (appContext, config) => {
84
84
  throw Error(`src dir ${entriesDir} not found.`);
85
85
  }
86
86
  };
87
+ export {
88
+ getFileSystemEntry
89
+ };
@@ -21,7 +21,7 @@ const findPartials = (dir, entryName, position) => {
21
21
  }
22
22
  return null;
23
23
  };
24
- export const getHtmlTemplate = async (entrypoints, api, { appContext, config }) => {
24
+ const getHtmlTemplate = async (entrypoints, api, { appContext, config }) => {
25
25
  const { appDirectory, internalDirectory } = appContext;
26
26
  const { source: { configDir } } = config;
27
27
  const htmlDir = path.resolve(appDirectory, configDir || "", HTML_PARTIALS_FOLDER);
@@ -69,3 +69,6 @@ export const getHtmlTemplate = async (entrypoints, api, { appContext, config })
69
69
  });
70
70
  return htmlTemplates;
71
71
  };
72
+ export {
73
+ getHtmlTemplate
74
+ };
@@ -121,8 +121,11 @@ const collectStaticRoutes = (appContext, config) => {
121
121
  };
122
122
  }) : [];
123
123
  };
124
- export const getServerRoutes = (entrypoints, { appContext, config }) => [
124
+ const getServerRoutes = (entrypoints, { appContext, config }) => [
125
125
  ...collectHtmlRoutes(entrypoints, appContext, config),
126
126
  ...collectStaticRoutes(appContext, config)
127
127
  ];
128
128
  const toPosix = (pathStr) => pathStr.split(path.sep).join(path.posix.sep);
129
+ export {
130
+ getServerRoutes
131
+ };
@@ -11,7 +11,7 @@ import { checkIsBuildCommands, isPageComponentFile, parseModule, replaceWithAlia
11
11
  import { APP_CONFIG_NAME, APP_INIT_EXPORTED, APP_INIT_IMPORTED } from "./constants";
12
12
  import { generateIndexCode } from "./generateCode";
13
13
  const debug = createDebugger("plugin-analyze");
14
- export default ({ bundler }) => ({
14
+ var analyze_default = ({ bundler }) => ({
15
15
  name: "@modern-js/plugin-analyze",
16
16
  setup: (api) => {
17
17
  let pagesDir = [];
@@ -114,13 +114,11 @@ export default ({ bundler }) => ({
114
114
  });
115
115
  builder.onDevCompileDone(async ({ isFirstCompile }) => {
116
116
  const hookRunners2 = api.useHookRunners();
117
- if (process.stdout.isTTY || isFirstCompile) {
118
- hookRunners2.afterDev({
119
- isFirstCompile
120
- });
121
- if (isFirstCompile) {
122
- printInstructions(hookRunners2, appContext, normalizedConfig);
123
- }
117
+ hookRunners2.afterDev({
118
+ isFirstCompile
119
+ });
120
+ if (isFirstCompile) {
121
+ printInstructions(hookRunners2, appContext, normalizedConfig);
124
122
  }
125
123
  });
126
124
  builder.onBeforeCreateCompiler(async ({ bundlerConfigs }) => {
@@ -240,3 +238,6 @@ export default ({ bundler }) => ({
240
238
  };
241
239
  }
242
240
  });
241
+ export {
242
+ analyze_default as default
243
+ };
@@ -3,7 +3,7 @@ import { parse } from "@babel/parser";
3
3
  import traverse from "@babel/traverse";
4
4
  import * as t from "@babel/types";
5
5
  const isFunction = (node) => t.isFunctionDeclaration(node) || t.isFunctionExpression(node) || t.isArrowFunctionExpression(node);
6
- export const isDefaultExportFunction = (file) => {
6
+ const isDefaultExportFunction = (file) => {
7
7
  if (!file || !fs.existsSync(file)) {
8
8
  return false;
9
9
  }
@@ -42,3 +42,6 @@ export const isDefaultExportFunction = (file) => {
42
42
  });
43
43
  return isExportFunction;
44
44
  };
45
+ export {
46
+ isDefaultExportFunction
47
+ };
@@ -1,10 +1,13 @@
1
1
  const 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
2
  const 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
3
  const forbidList = new Set(`${reservedWords} ${builtins}`.split(" "));
4
- export function makeLegalIdentifier(str) {
4
+ function makeLegalIdentifier(str) {
5
5
  const identifier = str.replace(/-(\w)/g, (_, letter) => letter.toUpperCase()).replace(/[^$_a-zA-Z0-9]/g, "_");
6
6
  if (/\d/.test(identifier[0]) || forbidList.has(identifier)) {
7
7
  return `_${identifier}`;
8
8
  }
9
9
  return identifier || "_";
10
10
  }
11
+ export {
12
+ makeLegalIdentifier
13
+ };
@@ -1,7 +1,7 @@
1
1
  import * as path from "path";
2
2
  import { fs, normalizeToPosixPath } from "@modern-js/utils";
3
3
  import { JS_EXTENSIONS, NESTED_ROUTE } from "./constants";
4
- import { replaceWithAlias } from "./utils";
4
+ import { hasAction, replaceWithAlias } from "./utils";
5
5
  const conventionNames = Object.values(NESTED_ROUTE);
6
6
  const replaceDynamicPath = (routePath) => {
7
7
  return routePath.replace(/\[(.*?)\]/g, ":$1");
@@ -10,7 +10,7 @@ const getPathWithoutExt = (filename) => {
10
10
  const extname = path.extname(filename);
11
11
  return filename.slice(0, -extname.length);
12
12
  };
13
- export const getRouteId = (componentPath, routesDir, entryName, isMainEntry) => {
13
+ const getRouteId = (componentPath, routesDir, entryName, isMainEntry) => {
14
14
  const relativePath = normalizeToPosixPath(path.relative(routesDir, componentPath));
15
15
  const pathWithoutExt = getPathWithoutExt(relativePath);
16
16
  let id = ``;
@@ -36,7 +36,7 @@ const createRoute = (routeInfo, rootDir, filename, entryName, isMainEntry) => {
36
36
  type: "nested"
37
37
  };
38
38
  };
39
- export const optimizeRoute = (routeTree) => {
39
+ const optimizeRoute = (routeTree) => {
40
40
  if (!routeTree.children || routeTree.children.length === 0) {
41
41
  return [
42
42
  routeTree
@@ -69,7 +69,7 @@ export const optimizeRoute = (routeTree) => {
69
69
  ];
70
70
  }
71
71
  };
72
- export const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion) => {
72
+ const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldVersion) => {
73
73
  var _finalRoute_children;
74
74
  if (!await fs.pathExists(dirname)) {
75
75
  return null;
@@ -96,12 +96,16 @@ export const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldV
96
96
  };
97
97
  let pageLoaderFile = "";
98
98
  let pageRoute = null;
99
+ let pageConfigFile = "";
100
+ let pageClientData = "";
101
+ let pageData = "";
102
+ let pageAction = "";
99
103
  let splatLoaderFile = "";
100
- let splatClientData = "";
101
- let splatData = "";
102
104
  let splatRoute = null;
103
- let pageConfigFile = "";
104
105
  let splatConfigFile = "";
106
+ let splatClientData = "";
107
+ let splatData = "";
108
+ let splatAction = "";
105
109
  const items = await fs.readdir(dirname);
106
110
  for (const item of items) {
107
111
  const itemPath = path.join(dirname, item);
@@ -128,6 +132,9 @@ export const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldV
128
132
  }
129
133
  if (itemWithoutExt === NESTED_ROUTE.LAYOUT_DATA_FILE) {
130
134
  route.data = itemPath;
135
+ if (await hasAction(itemPath)) {
136
+ route.action = itemPath;
137
+ }
131
138
  }
132
139
  if (itemWithoutExt === NESTED_ROUTE.LAYOUT_CONFIG_FILE) {
133
140
  if (!route.config) {
@@ -141,10 +148,13 @@ export const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldV
141
148
  pageLoaderFile = itemPath;
142
149
  }
143
150
  if (itemWithoutExt === NESTED_ROUTE.PAGE_CLIENT_LOADER) {
144
- route.clientData = itemPath;
151
+ pageClientData = itemPath;
145
152
  }
146
153
  if (itemWithoutExt === NESTED_ROUTE.PAGE_DATA_FILE) {
147
- route.data = itemPath;
154
+ pageData = itemPath;
155
+ if (await hasAction(itemPath)) {
156
+ pageAction = itemPath;
157
+ }
148
158
  }
149
159
  if (itemWithoutExt === NESTED_ROUTE.PAGE_CONFIG_FILE) {
150
160
  pageConfigFile = itemPath;
@@ -160,6 +170,15 @@ export const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldV
160
170
  if (pageConfigFile) {
161
171
  pageRoute.config = pageConfigFile;
162
172
  }
173
+ if (pageData) {
174
+ pageRoute.data = pageData;
175
+ }
176
+ if (pageClientData) {
177
+ pageRoute.clientData = pageClientData;
178
+ }
179
+ if (pageAction) {
180
+ pageRoute.action = pageAction;
181
+ }
163
182
  (_route_children1 = route.children) === null || _route_children1 === void 0 ? void 0 : _route_children1.push(pageRoute);
164
183
  }
165
184
  if (itemWithoutExt === NESTED_ROUTE.SPLATE_LOADER_FILE) {
@@ -175,6 +194,9 @@ export const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldV
175
194
  }
176
195
  if (itemWithoutExt === NESTED_ROUTE.SPLATE_DATA_FILE) {
177
196
  splatData = itemPath;
197
+ if (await hasAction(itemPath)) {
198
+ splatAction = itemPath;
199
+ }
178
200
  }
179
201
  if (itemWithoutExt === NESTED_ROUTE.SPLATE_FILE) {
180
202
  var _route_children2;
@@ -194,6 +216,9 @@ export const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldV
194
216
  if (splatConfigFile) {
195
217
  splatRoute.config = splatConfigFile;
196
218
  }
219
+ if (splatAction) {
220
+ splatRoute.action = splatAction;
221
+ }
197
222
  (_route_children2 = route.children) === null || _route_children2 === void 0 ? void 0 : _route_children2.push(splatRoute);
198
223
  }
199
224
  if (itemWithoutExt === NESTED_ROUTE.LOADING_FILE) {
@@ -221,9 +246,17 @@ export const walk = async (dirname, rootDir, alias, entryName, isMainEntry, oldV
221
246
  };
222
247
  }
223
248
  }
249
+ if (isRoot && !finalRoute._component) {
250
+ throw new Error("The root layout component is required, make sure the routes/layout.tsx file exists.");
251
+ }
224
252
  if (isRoot && !oldVersion) {
225
253
  const optimizedRoutes = optimizeRoute(finalRoute);
226
254
  return optimizedRoutes;
227
255
  }
228
256
  return finalRoute;
229
257
  };
258
+ export {
259
+ getRouteId,
260
+ optimizeRoute,
261
+ walk
262
+ };