@modern-js/app-tools 2.4.0 → 2.5.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 (302) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/dist/{js/node → cjs}/analyze/constants.js +0 -0
  3. package/dist/cjs/analyze/generateCode.js +249 -0
  4. package/dist/{js/node → cjs}/analyze/getBundleEntry.js +6 -0
  5. package/dist/{js/node → cjs}/analyze/getClientRoutes/getRoutes.js +1 -18
  6. package/dist/{js/node → cjs}/analyze/getClientRoutes/getRoutesLegacy.js +1 -18
  7. package/dist/{js/node → cjs}/analyze/getClientRoutes/index.js +0 -0
  8. package/dist/{js/node → cjs}/analyze/getClientRoutes/utils.js +0 -0
  9. package/dist/{js/node → cjs}/analyze/getFileSystemEntry.js +0 -0
  10. package/dist/{js/node → cjs}/analyze/getHtmlTemplate.js +4 -24
  11. package/dist/{js/node → cjs}/analyze/getServerRoutes.js +22 -42
  12. package/dist/cjs/analyze/index.js +290 -0
  13. package/dist/{js/node → cjs}/analyze/isDefaultExportFunction.js +0 -0
  14. package/dist/{js/node → cjs}/analyze/makeLegalIdentifier.js +0 -0
  15. package/dist/{js/node → cjs}/analyze/nestedRoutes.js +16 -50
  16. package/dist/{js/node → cjs}/analyze/templates.js +16 -49
  17. package/dist/{js/node → cjs}/analyze/utils.js +9 -29
  18. package/dist/{js/node → cjs}/builder/builder-rspack/index.js +0 -0
  19. package/dist/{js/node → cjs}/builder/builder-webpack/builderPlugins/compatModern.js +0 -0
  20. package/dist/{js/node → cjs}/builder/builder-webpack/index.js +22 -62
  21. package/dist/{js/node → cjs}/builder/builder-webpack/webpackPlugins/RouterPlugin.js +7 -24
  22. package/dist/{js/node → cjs}/builder/builder-webpack/webpackPlugins/index.js +0 -0
  23. package/dist/{js/node → cjs}/builder/generator/createBuilderOptions.js +0 -0
  24. package/dist/{js/node → cjs}/builder/generator/createBuilderProviderConfig.js +14 -25
  25. package/dist/{js/node → cjs}/builder/generator/getBuilderTargets.js +4 -0
  26. package/dist/cjs/builder/generator/index.js +58 -0
  27. package/dist/{js/node → cjs}/builder/index.js +12 -34
  28. package/dist/{js/node → cjs}/builder/shared/builderPlugins/adapterModern.js +35 -34
  29. package/dist/{js/node → cjs}/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -0
  30. package/dist/{js/node → cjs}/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -0
  31. package/dist/{js/node → cjs}/builder/shared/createCopyPattern.js +0 -0
  32. package/dist/{js/node → cjs}/builder/shared/index.js +0 -0
  33. package/dist/{js/node → cjs}/builder/shared/loaders/serverModuleLoader.js +0 -0
  34. package/dist/{js/node → cjs}/builder/shared/types.js +0 -0
  35. package/dist/{js/node → cjs}/commands/build.js +9 -46
  36. package/dist/cjs/commands/deploy.js +31 -0
  37. package/dist/{js/node → cjs}/commands/dev.js +17 -52
  38. package/dist/{js/node → cjs}/commands/index.js +0 -0
  39. package/dist/{js/node → cjs}/commands/inspect.js +2 -22
  40. package/dist/{js/node → cjs}/commands/serve.js +8 -28
  41. package/dist/{js/node → cjs}/config/default.js +15 -26
  42. package/dist/{js/node → cjs}/config/index.js +0 -0
  43. package/dist/{js/node → cjs}/config/initialize/index.js +0 -0
  44. package/dist/{js/node → cjs}/config/initialize/inits.js +4 -20
  45. package/dist/{js/node → cjs}/config/legacy/createHtmlConfig.js +0 -0
  46. package/dist/{js/node → cjs}/config/legacy/createOutputConfig.js +0 -0
  47. package/dist/{js/node → cjs}/config/legacy/createSourceConfig.js +0 -0
  48. package/dist/{js/node → cjs}/config/legacy/createToolsConfig.js +0 -0
  49. package/dist/{js/node → cjs}/config/legacy/index.js +0 -0
  50. package/dist/cjs/defineConfig.js +33 -0
  51. package/dist/{js/node → cjs}/exports/server.js +0 -0
  52. package/dist/{js/node → cjs}/hooks.js +0 -0
  53. package/dist/cjs/index.js +198 -0
  54. package/dist/cjs/initialize/index.js +102 -0
  55. package/dist/{js/node → cjs}/locale/en.js +0 -0
  56. package/dist/{js/node → cjs}/locale/index.js +0 -0
  57. package/dist/{js/node → cjs}/locale/zh.js +0 -0
  58. package/dist/{js/node → cjs}/schema/Schema.js +0 -0
  59. package/dist/{js/node → cjs}/schema/index.js +0 -0
  60. package/dist/{js/node → cjs}/schema/legacy.js +0 -0
  61. package/dist/{js/node → cjs}/types/config/deploy.js +0 -0
  62. package/dist/{js/node → cjs}/types/config/dev.js +0 -0
  63. package/dist/{js/node → cjs}/types/config/experiments.js +0 -0
  64. package/dist/{js/node → cjs}/types/config/html.js +0 -0
  65. package/dist/{js/node → cjs}/types/config/index.js +0 -0
  66. package/dist/{js/node → cjs}/types/config/output.js +0 -0
  67. package/dist/{js/node → cjs}/types/config/performance.js +0 -0
  68. package/dist/{js/node → cjs}/types/config/security.js +0 -0
  69. package/dist/{js/node → cjs}/types/config/source.js +0 -0
  70. package/dist/{js/node → cjs}/types/config/tools.js +0 -0
  71. package/dist/{js/node → cjs}/types/hooks.js +0 -0
  72. package/dist/{js/node → cjs}/types/index.js +0 -0
  73. package/dist/{js/node → cjs}/types/legacyConfig/deploy.js +0 -0
  74. package/dist/{js/node → cjs}/types/legacyConfig/dev.js +0 -0
  75. package/dist/{js/node → cjs}/types/legacyConfig/index.js +0 -0
  76. package/dist/{js/node → cjs}/types/legacyConfig/output.js +0 -0
  77. package/dist/{js/node → cjs}/types/legacyConfig/source.js +0 -0
  78. package/dist/{js/node → cjs}/types/legacyConfig/tools.js +0 -0
  79. package/dist/{js/node → cjs}/types/utils.js +0 -0
  80. package/dist/{js/node → cjs}/utils/config.js +19 -57
  81. package/dist/{js/node → cjs}/utils/createServer.js +10 -46
  82. package/dist/{js/node → cjs}/utils/env.js +0 -0
  83. package/dist/{js/node → cjs}/utils/generateWatchFiles.js +16 -38
  84. package/dist/{js/node → cjs}/utils/getSelectedEntries.js +3 -23
  85. package/dist/cjs/utils/getServerInternalPlugins.js +41 -0
  86. package/dist/{js/node → cjs}/utils/language.js +0 -0
  87. package/dist/{js/node → cjs}/utils/printInstructions.js +3 -23
  88. package/dist/cjs/utils/restart.js +45 -0
  89. package/dist/{js/node → cjs}/utils/routes.js +3 -23
  90. package/dist/{js/node → cjs}/utils/types.js +0 -0
  91. package/dist/{js/treeshaking → esm}/analyze/constants.js +0 -0
  92. package/dist/{js/treeshaking → esm}/analyze/generateCode.js +14 -14
  93. package/dist/{js/treeshaking → esm}/analyze/getBundleEntry.js +4 -2
  94. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/getRoutes.js +1 -1
  95. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/getRoutesLegacy.js +1 -1
  96. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/index.js +0 -0
  97. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/utils.js +0 -0
  98. package/dist/{js/treeshaking → esm}/analyze/getFileSystemEntry.js +1 -1
  99. package/dist/{js/treeshaking → esm}/analyze/getHtmlTemplate.js +0 -0
  100. package/dist/{js/treeshaking → esm}/analyze/getServerRoutes.js +8 -6
  101. package/dist/{js/treeshaking → esm}/analyze/index.js +8 -8
  102. package/dist/{js/treeshaking → esm}/analyze/isDefaultExportFunction.js +0 -0
  103. package/dist/{js/treeshaking → esm}/analyze/makeLegalIdentifier.js +0 -0
  104. package/dist/{js/treeshaking → esm}/analyze/nestedRoutes.js +5 -5
  105. package/dist/{js/treeshaking → esm}/analyze/templates.js +8 -7
  106. package/dist/{js/treeshaking → esm}/analyze/utils.js +3 -3
  107. package/dist/{js/treeshaking → esm}/builder/builder-rspack/index.js +0 -0
  108. package/dist/{js/treeshaking → esm}/builder/builder-webpack/builderPlugins/compatModern.js +4 -4
  109. package/dist/{js/treeshaking → esm}/builder/builder-webpack/index.js +2 -2
  110. package/dist/{js/treeshaking → esm}/builder/builder-webpack/webpackPlugins/RouterPlugin.js +5 -2
  111. package/dist/{js/treeshaking → esm}/builder/builder-webpack/webpackPlugins/index.js +0 -0
  112. package/dist/{js/treeshaking → esm}/builder/generator/createBuilderOptions.js +2 -2
  113. package/dist/{js/treeshaking → esm}/builder/generator/createBuilderProviderConfig.js +0 -0
  114. package/dist/{js/treeshaking → esm}/builder/generator/getBuilderTargets.js +5 -1
  115. package/dist/{js/treeshaking → esm}/builder/generator/index.js +2 -2
  116. package/dist/{js/treeshaking → esm}/builder/index.js +0 -0
  117. package/dist/{js/treeshaking → esm}/builder/shared/builderPlugins/adapterModern.js +62 -13
  118. package/dist/{js/treeshaking → esm}/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -0
  119. package/dist/{js/treeshaking → esm}/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +2 -2
  120. package/dist/{js/treeshaking → esm}/builder/shared/createCopyPattern.js +0 -0
  121. package/dist/{js/treeshaking → esm}/builder/shared/index.js +0 -0
  122. package/dist/{js/treeshaking → esm}/builder/shared/loaders/serverModuleLoader.js +0 -0
  123. package/dist/{js/treeshaking → esm}/builder/shared/types.js +0 -0
  124. package/dist/{js/treeshaking → esm}/commands/build.js +0 -0
  125. package/dist/{js/treeshaking → esm}/commands/deploy.js +0 -0
  126. package/dist/{js/treeshaking → esm}/commands/dev.js +2 -2
  127. package/dist/{js/treeshaking → esm}/commands/index.js +0 -0
  128. package/dist/{js/treeshaking → esm}/commands/inspect.js +0 -0
  129. package/dist/{js/treeshaking → esm}/commands/serve.js +2 -2
  130. package/dist/{js/treeshaking → esm}/config/default.js +0 -0
  131. package/dist/{js/treeshaking → esm}/config/index.js +0 -0
  132. package/dist/{js/treeshaking → esm}/config/initialize/index.js +0 -0
  133. package/dist/{js/treeshaking → esm}/config/initialize/inits.js +2 -2
  134. package/dist/esm/config/legacy/createHtmlConfig.js +19 -0
  135. package/dist/{js/treeshaking → esm}/config/legacy/createOutputConfig.js +1 -1
  136. package/dist/{js/treeshaking → esm}/config/legacy/createSourceConfig.js +1 -1
  137. package/dist/{js/treeshaking → esm}/config/legacy/createToolsConfig.js +1 -1
  138. package/dist/{js/treeshaking → esm}/config/legacy/index.js +0 -0
  139. package/dist/{js/treeshaking → esm}/defineConfig.js +0 -0
  140. package/dist/{js/treeshaking → esm}/exports/server.js +0 -0
  141. package/dist/{js/treeshaking → esm}/hooks.js +0 -0
  142. package/dist/{js/treeshaking → esm}/index.js +0 -0
  143. package/dist/{js/treeshaking → esm}/initialize/index.js +2 -2
  144. package/dist/{js/treeshaking → esm}/locale/en.js +0 -0
  145. package/dist/{js/treeshaking → esm}/locale/index.js +0 -0
  146. package/dist/{js/treeshaking → esm}/locale/zh.js +0 -0
  147. package/dist/{js/treeshaking → esm}/schema/Schema.js +0 -0
  148. package/dist/{js/treeshaking → esm}/schema/index.js +0 -0
  149. package/dist/{js/treeshaking → esm}/schema/legacy.js +0 -0
  150. package/dist/{js/treeshaking → esm}/types/config/deploy.js +0 -0
  151. package/dist/{js/treeshaking → esm}/types/config/dev.js +0 -0
  152. package/dist/{js/treeshaking → esm}/types/config/experiments.js +0 -0
  153. package/dist/{js/treeshaking → esm}/types/config/html.js +0 -0
  154. package/dist/{js/treeshaking → esm}/types/config/index.js +0 -0
  155. package/dist/{js/treeshaking → esm}/types/config/output.js +0 -0
  156. package/dist/{js/treeshaking → esm}/types/config/performance.js +0 -0
  157. package/dist/{js/treeshaking → esm}/types/config/security.js +0 -0
  158. package/dist/{js/treeshaking → esm}/types/config/source.js +0 -0
  159. package/dist/{js/treeshaking → esm}/types/config/tools.js +0 -0
  160. package/dist/{js/treeshaking → esm}/types/hooks.js +0 -0
  161. package/dist/{js/treeshaking → esm}/types/index.js +0 -0
  162. package/dist/{js/treeshaking → esm}/types/legacyConfig/deploy.js +0 -0
  163. package/dist/{js/treeshaking → esm}/types/legacyConfig/dev.js +0 -0
  164. package/dist/{js/treeshaking → esm}/types/legacyConfig/index.js +0 -0
  165. package/dist/{js/treeshaking → esm}/types/legacyConfig/output.js +0 -0
  166. package/dist/{js/treeshaking → esm}/types/legacyConfig/source.js +0 -0
  167. package/dist/{js/treeshaking → esm}/types/legacyConfig/tools.js +0 -0
  168. package/dist/{js/treeshaking → esm}/types/utils.js +0 -0
  169. package/dist/{js/treeshaking → esm}/utils/config.js +2 -2
  170. package/dist/{js/treeshaking → esm}/utils/createServer.js +0 -0
  171. package/dist/{js/treeshaking → esm}/utils/env.js +0 -0
  172. package/dist/{js/treeshaking → esm}/utils/generateWatchFiles.js +0 -0
  173. package/dist/{js/treeshaking → esm}/utils/getSelectedEntries.js +0 -0
  174. package/dist/{js/treeshaking → esm}/utils/getServerInternalPlugins.js +2 -2
  175. package/dist/{js/treeshaking → esm}/utils/language.js +0 -0
  176. package/dist/{js/treeshaking → esm}/utils/printInstructions.js +0 -0
  177. package/dist/{js/treeshaking → esm}/utils/restart.js +0 -0
  178. package/dist/{js/treeshaking → esm}/utils/routes.js +0 -0
  179. package/dist/{js/treeshaking → esm}/utils/types.js +0 -0
  180. package/dist/{js/modern → esm-node}/analyze/constants.js +0 -0
  181. package/dist/esm-node/analyze/generateCode.js +225 -0
  182. package/dist/{js/modern → esm-node}/analyze/getBundleEntry.js +6 -0
  183. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/getRoutes.js +1 -20
  184. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/getRoutesLegacy.js +1 -20
  185. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/index.js +0 -0
  186. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/utils.js +0 -0
  187. package/dist/{js/modern → esm-node}/analyze/getFileSystemEntry.js +0 -0
  188. package/dist/{js/modern → esm-node}/analyze/getHtmlTemplate.js +4 -24
  189. package/dist/{js/modern → esm-node}/analyze/getServerRoutes.js +24 -45
  190. package/dist/esm-node/analyze/index.js +281 -0
  191. package/dist/{js/modern → esm-node}/analyze/isDefaultExportFunction.js +0 -0
  192. package/dist/{js/modern → esm-node}/analyze/makeLegalIdentifier.js +0 -0
  193. package/dist/{js/modern → esm-node}/analyze/nestedRoutes.js +16 -52
  194. package/dist/{js/modern → esm-node}/analyze/templates.js +16 -51
  195. package/dist/{js/modern → esm-node}/analyze/utils.js +9 -29
  196. package/dist/{js/modern → esm-node}/builder/builder-rspack/index.js +0 -0
  197. package/dist/{js/modern → esm-node}/builder/builder-webpack/builderPlugins/compatModern.js +0 -0
  198. package/dist/esm-node/builder/builder-webpack/index.js +51 -0
  199. package/dist/{js/modern → esm-node}/builder/builder-webpack/webpackPlugins/RouterPlugin.js +7 -24
  200. package/dist/{js/modern → esm-node}/builder/builder-webpack/webpackPlugins/index.js +0 -0
  201. package/dist/{js/modern → esm-node}/builder/generator/createBuilderOptions.js +0 -0
  202. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +26 -0
  203. package/dist/{js/modern → esm-node}/builder/generator/getBuilderTargets.js +10 -1
  204. package/dist/esm-node/builder/generator/index.js +29 -0
  205. package/dist/esm-node/builder/index.js +17 -0
  206. package/dist/{js/modern → esm-node}/builder/shared/builderPlugins/adapterModern.js +35 -36
  207. package/dist/{js/modern → esm-node}/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +0 -0
  208. package/dist/{js/modern → esm-node}/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +0 -0
  209. package/dist/{js/modern → esm-node}/builder/shared/createCopyPattern.js +0 -0
  210. package/dist/{js/modern → esm-node}/builder/shared/index.js +0 -0
  211. package/dist/{js/modern → esm-node}/builder/shared/loaders/serverModuleLoader.js +0 -0
  212. package/dist/{js/modern → esm-node}/builder/shared/types.js +0 -0
  213. package/dist/esm-node/commands/build.js +52 -0
  214. package/dist/esm-node/commands/deploy.js +8 -0
  215. package/dist/esm-node/commands/dev.js +72 -0
  216. package/dist/{js/modern → esm-node}/commands/index.js +0 -0
  217. package/dist/esm-node/commands/inspect.js +18 -0
  218. package/dist/{js/modern → esm-node}/commands/serve.js +8 -28
  219. package/dist/{js/modern → esm-node}/config/default.js +15 -28
  220. package/dist/{js/modern → esm-node}/config/index.js +0 -0
  221. package/dist/{js/modern → esm-node}/config/initialize/index.js +0 -0
  222. package/dist/{js/modern → esm-node}/config/initialize/inits.js +4 -22
  223. package/dist/{js/modern → esm-node}/config/legacy/createHtmlConfig.js +0 -0
  224. package/dist/{js/modern → esm-node}/config/legacy/createOutputConfig.js +0 -0
  225. package/dist/{js/modern → esm-node}/config/legacy/createSourceConfig.js +0 -0
  226. package/dist/{js/modern → esm-node}/config/legacy/createToolsConfig.js +0 -0
  227. package/dist/{js/modern → esm-node}/config/legacy/index.js +0 -0
  228. package/dist/esm-node/defineConfig.js +9 -0
  229. package/dist/{js/modern → esm-node}/exports/server.js +0 -0
  230. package/dist/{js/modern → esm-node}/hooks.js +0 -0
  231. package/dist/esm-node/index.js +172 -0
  232. package/dist/esm-node/initialize/index.js +91 -0
  233. package/dist/{js/modern → esm-node}/locale/en.js +0 -0
  234. package/dist/{js/modern → esm-node}/locale/index.js +0 -0
  235. package/dist/{js/modern → esm-node}/locale/zh.js +0 -0
  236. package/dist/{js/modern → esm-node}/schema/Schema.js +0 -0
  237. package/dist/{js/modern → esm-node}/schema/index.js +0 -0
  238. package/dist/{js/modern → esm-node}/schema/legacy.js +0 -0
  239. package/dist/{js/modern → esm-node}/types/config/deploy.js +0 -0
  240. package/dist/{js/modern → esm-node}/types/config/dev.js +0 -0
  241. package/dist/{js/modern → esm-node}/types/config/experiments.js +0 -0
  242. package/dist/{js/modern → esm-node}/types/config/html.js +0 -0
  243. package/dist/{js/modern → esm-node}/types/config/index.js +0 -0
  244. package/dist/{js/modern → esm-node}/types/config/output.js +0 -0
  245. package/dist/{js/modern → esm-node}/types/config/performance.js +0 -0
  246. package/dist/{js/modern → esm-node}/types/config/security.js +0 -0
  247. package/dist/{js/modern → esm-node}/types/config/source.js +0 -0
  248. package/dist/{js/modern → esm-node}/types/config/tools.js +0 -0
  249. package/dist/{js/modern → esm-node}/types/hooks.js +0 -0
  250. package/dist/{js/modern → esm-node}/types/index.js +0 -0
  251. package/dist/{js/modern → esm-node}/types/legacyConfig/deploy.js +0 -0
  252. package/dist/{js/modern → esm-node}/types/legacyConfig/dev.js +0 -0
  253. package/dist/{js/modern → esm-node}/types/legacyConfig/index.js +0 -0
  254. package/dist/{js/modern → esm-node}/types/legacyConfig/output.js +0 -0
  255. package/dist/{js/modern → esm-node}/types/legacyConfig/source.js +0 -0
  256. package/dist/{js/modern → esm-node}/types/legacyConfig/tools.js +0 -0
  257. package/dist/{js/modern → esm-node}/types/utils.js +0 -0
  258. package/dist/esm-node/utils/config.js +88 -0
  259. package/dist/esm-node/utils/createServer.js +37 -0
  260. package/dist/{js/modern → esm-node}/utils/env.js +0 -0
  261. package/dist/esm-node/utils/generateWatchFiles.js +33 -0
  262. package/dist/{js/modern → esm-node}/utils/getSelectedEntries.js +3 -23
  263. package/dist/esm-node/utils/getServerInternalPlugins.js +18 -0
  264. package/dist/{js/modern → esm-node}/utils/language.js +0 -0
  265. package/dist/esm-node/utils/printInstructions.js +11 -0
  266. package/dist/esm-node/utils/restart.js +22 -0
  267. package/dist/esm-node/utils/routes.js +10 -0
  268. package/dist/{js/modern → esm-node}/utils/types.js +0 -0
  269. package/dist/types/types/config/tools.d.ts +1 -1
  270. package/dist/types/types/hooks.d.ts +5 -4
  271. package/dist/types/types/index.d.ts +3 -1
  272. package/package.json +30 -31
  273. package/dist/js/modern/analyze/generateCode.js +0 -247
  274. package/dist/js/modern/analyze/index.js +0 -329
  275. package/dist/js/modern/builder/builder-webpack/index.js +0 -93
  276. package/dist/js/modern/builder/generator/createBuilderProviderConfig.js +0 -39
  277. package/dist/js/modern/builder/generator/index.js +0 -53
  278. package/dist/js/modern/builder/index.js +0 -39
  279. package/dist/js/modern/commands/build.js +0 -91
  280. package/dist/js/modern/commands/deploy.js +0 -28
  281. package/dist/js/modern/commands/dev.js +0 -109
  282. package/dist/js/modern/commands/inspect.js +0 -38
  283. package/dist/js/modern/defineConfig.js +0 -27
  284. package/dist/js/modern/index.js +0 -221
  285. package/dist/js/modern/initialize/index.js +0 -132
  286. package/dist/js/modern/utils/config.js +0 -128
  287. package/dist/js/modern/utils/createServer.js +0 -75
  288. package/dist/js/modern/utils/generateWatchFiles.js +0 -55
  289. package/dist/js/modern/utils/getServerInternalPlugins.js +0 -58
  290. package/dist/js/modern/utils/printInstructions.js +0 -31
  291. package/dist/js/modern/utils/restart.js +0 -44
  292. package/dist/js/modern/utils/routes.js +0 -30
  293. package/dist/js/node/analyze/generateCode.js +0 -271
  294. package/dist/js/node/analyze/index.js +0 -336
  295. package/dist/js/node/builder/generator/index.js +0 -82
  296. package/dist/js/node/commands/deploy.js +0 -51
  297. package/dist/js/node/defineConfig.js +0 -49
  298. package/dist/js/node/index.js +0 -245
  299. package/dist/js/node/initialize/index.js +0 -141
  300. package/dist/js/node/utils/getServerInternalPlugins.js +0 -79
  301. package/dist/js/node/utils/restart.js +0 -67
  302. package/dist/js/treeshaking/config/legacy/createHtmlConfig.js +0 -19
package/package.json CHANGED
@@ -11,23 +11,22 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "2.4.0",
14
+ "version": "2.5.0",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
- "main": "./dist/js/node/index.js",
18
- "jsnext:modern": "./dist/js/modern/index.js",
17
+ "main": "./dist/cjs/index.js",
19
18
  "exports": {
20
19
  ".": {
21
20
  "node": {
22
21
  "jsnext:source": "./src/index.ts",
23
- "import": "./dist/js/modern/index.js",
24
- "require": "./dist/js/node/index.js"
22
+ "import": "./dist/esm/index.js",
23
+ "require": "./dist/cjs/index.js"
25
24
  },
26
- "default": "./dist/js/node/index.js"
25
+ "default": "./dist/cjs/index.js"
27
26
  },
28
27
  "./cli": {
29
28
  "jsnext:source": "./src/index.ts",
30
- "default": "./dist/js/node/index.js"
29
+ "default": "./dist/cjs/index.js"
31
30
  },
32
31
  "./types": {
33
32
  "jsnext:source": "./lib/types.d.ts",
@@ -35,7 +34,7 @@
35
34
  },
36
35
  "./server": {
37
36
  "jsnext:source": "./src/exports/server.ts",
38
- "default": "./dist/js/node/exports/server.js"
37
+ "default": "./dist/cjs/exports/server.js"
39
38
  }
40
39
  },
41
40
  "engines": {
@@ -65,23 +64,23 @@
65
64
  "@babel/types": "^7.18.0",
66
65
  "es-module-lexer": "^1.1.0",
67
66
  "esbuild": "0.15.7",
68
- "@modern-js/builder": "2.4.0",
69
- "@modern-js/builder-plugin-node-polyfill": "2.4.0",
70
- "@modern-js/builder-shared": "2.4.0",
71
- "@modern-js/builder-webpack-provider": "2.4.0",
72
- "@modern-js/builder-plugin-esbuild": "2.4.0",
73
- "@modern-js/core": "2.4.0",
74
- "@modern-js/new-action": "2.4.0",
75
- "@modern-js/node-bundle-require": "2.4.0",
76
- "@modern-js/plugin": "2.4.0",
77
- "@modern-js/plugin-data-loader": "2.4.0",
78
- "@modern-js/plugin-i18n": "2.4.0",
79
- "@modern-js/plugin-lint": "2.4.0",
80
- "@modern-js/prod-server": "2.4.0",
81
- "@modern-js/server": "2.4.0",
82
- "@modern-js/types": "2.4.0",
83
- "@modern-js/upgrade": "2.4.0",
84
- "@modern-js/utils": "2.4.0"
67
+ "@modern-js/builder": "2.5.0",
68
+ "@modern-js/builder-plugin-esbuild": "2.5.0",
69
+ "@modern-js/builder-plugin-node-polyfill": "2.5.0",
70
+ "@modern-js/builder-shared": "2.5.0",
71
+ "@modern-js/builder-webpack-provider": "2.5.0",
72
+ "@modern-js/core": "2.5.0",
73
+ "@modern-js/new-action": "2.5.0",
74
+ "@modern-js/node-bundle-require": "2.5.0",
75
+ "@modern-js/plugin": "2.5.0",
76
+ "@modern-js/plugin-data-loader": "2.5.0",
77
+ "@modern-js/plugin-i18n": "2.5.0",
78
+ "@modern-js/plugin-lint": "2.5.0",
79
+ "@modern-js/prod-server": "2.5.0",
80
+ "@modern-js/server": "2.5.0",
81
+ "@modern-js/types": "2.5.0",
82
+ "@modern-js/upgrade": "2.5.0",
83
+ "@modern-js/utils": "2.5.0"
85
84
  },
86
85
  "devDependencies": {
87
86
  "@types/babel__traverse": "^7.14.2",
@@ -90,14 +89,14 @@
90
89
  "jest": "^27",
91
90
  "typescript": "^4",
92
91
  "webpack": "^5.75.0",
93
- "@modern-js/builder-plugin-swc": "2.4.0",
94
- "@modern-js/builder-rspack-provider": "2.4.0",
95
- "@modern-js/server-core": "2.4.0",
96
- "@scripts/jest-config": "2.4.0",
97
- "@scripts/build": "2.4.0"
92
+ "@modern-js/builder-plugin-swc": "2.5.0",
93
+ "@modern-js/builder-rspack-provider": "2.5.0",
94
+ "@modern-js/server-core": "2.5.0",
95
+ "@scripts/jest-config": "2.5.0",
96
+ "@scripts/build": "2.5.0"
98
97
  },
99
98
  "peerDependencies": {
100
- "@modern-js/builder-rspack-provider": "^2.4.0"
99
+ "@modern-js/builder-rspack-provider": "^2.5.0"
101
100
  },
102
101
  "peerDependenciesMeta": {
103
102
  "@modern-js/builder-rspack-provider": {
@@ -1,247 +0,0 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
- import path from "path";
22
- import { fs, getEntryOptions, logger } from "@modern-js/utils";
23
- import {
24
- useResolvedConfigContext
25
- } from "@modern-js/core";
26
- import * as templates from "./templates";
27
- import { getClientRoutes, getClientRoutesLegacy } from "./getClientRoutes";
28
- import {
29
- FILE_SYSTEM_ROUTES_FILE_NAME,
30
- ENTRY_POINT_FILE_NAME,
31
- ENTRY_BOOTSTRAP_FILE_NAME
32
- } from "./constants";
33
- import { getDefaultImports, getServerLoadersFile } from "./utils";
34
- import { walk } from "./nestedRoutes";
35
- const createImportSpecifier = (specifiers) => {
36
- let defaults = "";
37
- const named = [];
38
- for (const { local, imported } of specifiers) {
39
- if (local && imported) {
40
- named.push(`${imported} as ${local}`);
41
- } else if (local) {
42
- defaults = local;
43
- } else {
44
- named.push(imported);
45
- }
46
- }
47
- if (defaults && named.length) {
48
- return `${defaults}, { ${named.join(", ")} }`;
49
- } else if (defaults) {
50
- return defaults;
51
- } else {
52
- return `{ ${named.join(", ")} }`;
53
- }
54
- };
55
- const createImportStatements = (statements) => {
56
- var _a, _b;
57
- const deDuplicated = [];
58
- const seen = /* @__PURE__ */ new Map();
59
- for (const { value, specifiers, initialize } of statements) {
60
- if (!seen.has(value)) {
61
- deDuplicated.push({
62
- value,
63
- specifiers,
64
- initialize
65
- });
66
- seen.set(value, specifiers);
67
- } else {
68
- seen.get(value).push(...specifiers);
69
- const modifyIndex = deDuplicated.findIndex((v) => v.value === value);
70
- const originInitialize = (_b = (_a = deDuplicated[modifyIndex]) == null ? void 0 : _a.initialize) != null ? _b : "";
71
- deDuplicated[modifyIndex].initialize = originInitialize.concat(
72
- `
73
- ${initialize || ""}`
74
- );
75
- }
76
- }
77
- return deDuplicated.map(
78
- ({ value, specifiers, initialize }) => `import ${createImportSpecifier(specifiers)} from '${value}';
79
- ${initialize || ""}`
80
- ).join("\n");
81
- };
82
- const generateCode = (appContext, config, entrypoints, api) => __async(void 0, null, function* () {
83
- var _a, _b, _c;
84
- const {
85
- internalDirectory,
86
- srcDirectory,
87
- internalDirAlias,
88
- internalSrcAlias,
89
- packageName
90
- } = appContext;
91
- const hookRunners = api.useHookRunners();
92
- const isV5 = typeof ((_a = config.runtime) == null ? void 0 : _a.router) !== "boolean" && ((_c = (_b = config == null ? void 0 : config.runtime) == null ? void 0 : _b.router) == null ? void 0 : _c.mode) === "react-router-5";
93
- const { mountId } = config.html;
94
- const getRoutes = isV5 ? getClientRoutesLegacy : getClientRoutes;
95
- yield Promise.all(entrypoints.map(generateEntryCode));
96
- function generateEntryCode(entrypoint) {
97
- return __async(this, null, function* () {
98
- const { entryName, isAutoMount, customBootstrap, fileSystemRoutes } = entrypoint;
99
- if (isAutoMount) {
100
- if (fileSystemRoutes) {
101
- let initialRoutes = [];
102
- let nestedRoute = null;
103
- if (entrypoint.entry) {
104
- initialRoutes = getRoutes({
105
- entrypoint,
106
- srcDirectory,
107
- srcAlias: internalSrcAlias,
108
- internalDirectory,
109
- internalDirAlias
110
- });
111
- }
112
- if (entrypoint.nestedRoutesEntry) {
113
- if (!isV5) {
114
- nestedRoute = yield walk(
115
- entrypoint.nestedRoutesEntry,
116
- entrypoint.nestedRoutesEntry,
117
- {
118
- name: internalSrcAlias,
119
- basename: srcDirectory
120
- },
121
- entrypoint.entryName
122
- );
123
- if (nestedRoute) {
124
- initialRoutes.unshift(nestedRoute);
125
- }
126
- } else {
127
- logger.error("Nested routes is not supported in legacy mode.");
128
- process.exit(1);
129
- }
130
- }
131
- const { routes } = yield hookRunners.modifyFileSystemRoutes({
132
- entrypoint,
133
- routes: initialRoutes
134
- });
135
- const config2 = useResolvedConfigContext();
136
- const ssr = getEntryOptions(
137
- entryName,
138
- config2.server.ssr,
139
- config2.server.ssrByEntries,
140
- packageName
141
- );
142
- let mode;
143
- if (ssr) {
144
- mode = typeof ssr === "object" ? ssr.mode || "string" : "string";
145
- } else {
146
- mode = false;
147
- }
148
- if (mode === "stream") {
149
- const hasPageRoute = routes.some(
150
- (route) => "type" in route && route.type === "page"
151
- );
152
- if (hasPageRoute) {
153
- logger.error(
154
- "Streaming ssr is not supported when pages dir exists"
155
- );
156
- process.exit(1);
157
- }
158
- }
159
- const { code: code2 } = yield hookRunners.beforeGenerateRoutes({
160
- entrypoint,
161
- code: yield templates.fileSystemRoutes({
162
- routes,
163
- ssrMode: mode,
164
- nestedRoutesEntry: entrypoint.nestedRoutesEntry,
165
- entryName: entrypoint.entryName,
166
- internalDirectory
167
- })
168
- });
169
- if (entrypoint.nestedRoutesEntry && mode) {
170
- const routesServerFile = getServerLoadersFile(
171
- internalDirectory,
172
- entryName
173
- );
174
- const code3 = templates.routesForServer({
175
- routes
176
- });
177
- yield fs.ensureFile(routesServerFile);
178
- yield fs.writeFile(routesServerFile, code3);
179
- }
180
- fs.outputFileSync(
181
- path.resolve(
182
- internalDirectory,
183
- `./${entryName}/${FILE_SYSTEM_ROUTES_FILE_NAME}`
184
- ),
185
- code2,
186
- "utf8"
187
- );
188
- }
189
- const { imports: importStatements } = yield hookRunners.modifyEntryImports({
190
- entrypoint,
191
- imports: getDefaultImports({
192
- entrypoint,
193
- srcDirectory,
194
- internalSrcAlias,
195
- internalDirAlias,
196
- internalDirectory
197
- })
198
- });
199
- const { plugins } = yield hookRunners.modifyEntryRuntimePlugins({
200
- entrypoint,
201
- plugins: []
202
- });
203
- const { code: renderFunction } = yield hookRunners.modifyEntryRenderFunction({
204
- entrypoint,
205
- code: templates.renderFunction({
206
- plugins,
207
- customBootstrap,
208
- fileSystemRoutes
209
- })
210
- });
211
- const { exportStatement } = yield hookRunners.modifyEntryExport({
212
- entrypoint,
213
- exportStatement: "export default AppWrapper;"
214
- });
215
- const code = templates.index({
216
- mountId,
217
- imports: createImportStatements(importStatements),
218
- renderFunction,
219
- exportStatement
220
- });
221
- const entryFile = path.resolve(
222
- internalDirectory,
223
- `./${entryName}/${ENTRY_POINT_FILE_NAME}`
224
- );
225
- entrypoint.entry = entryFile;
226
- if (config.source.enableAsyncEntry) {
227
- const { code: asyncEntryCode } = yield hookRunners.modifyAsyncEntry({
228
- entrypoint,
229
- code: `import('./${ENTRY_BOOTSTRAP_FILE_NAME}');`
230
- });
231
- fs.outputFileSync(entryFile, asyncEntryCode, "utf8");
232
- const bootstrapFile = path.resolve(
233
- internalDirectory,
234
- `./${entryName}/${ENTRY_BOOTSTRAP_FILE_NAME}`
235
- );
236
- fs.outputFileSync(bootstrapFile, code, "utf8");
237
- } else {
238
- fs.outputFileSync(entryFile, code, "utf8");
239
- }
240
- }
241
- });
242
- }
243
- });
244
- export {
245
- createImportStatements,
246
- generateCode
247
- };
@@ -1,329 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __async = (__this, __arguments, generator) => {
21
- return new Promise((resolve, reject) => {
22
- var fulfilled = (value) => {
23
- try {
24
- step(generator.next(value));
25
- } catch (e) {
26
- reject(e);
27
- }
28
- };
29
- var rejected = (value) => {
30
- try {
31
- step(generator.throw(value));
32
- } catch (e) {
33
- reject(e);
34
- }
35
- };
36
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
- step((generator = generator.apply(__this, __arguments)).next());
38
- });
39
- };
40
- import * as path from "path";
41
- import {
42
- createDebugger,
43
- findExists,
44
- fs,
45
- getEntryOptions,
46
- isApiOnly,
47
- minimist,
48
- getCommand,
49
- isDevCommand
50
- } from "@modern-js/utils";
51
- import { cloneDeep } from "@modern-js/utils/lodash";
52
- import { printInstructions } from "../utils/printInstructions";
53
- import { generateRoutes } from "../utils/routes";
54
- import { emitResolvedConfig } from "../utils/config";
55
- import { getSelectedEntries } from "../utils/getSelectedEntries";
56
- import { initialNormalizedConfig } from "../config";
57
- import { createBuilderGenerator } from "../builder";
58
- import {
59
- getServerLoadersFile,
60
- isPageComponentFile,
61
- parseModule,
62
- replaceWithAlias
63
- } from "./utils";
64
- import {
65
- APP_CONFIG_NAME,
66
- APP_INIT_EXPORTED,
67
- APP_INIT_IMPORTED
68
- } from "./constants";
69
- const debug = createDebugger("plugin-analyze");
70
- var analyze_default = ({
71
- bundler
72
- }) => ({
73
- name: "@modern-js/plugin-analyze",
74
- setup: (api) => {
75
- let pagesDir = [];
76
- let nestedRouteEntries = [];
77
- let originEntrypoints = [];
78
- return {
79
- prepare() {
80
- return __async(this, null, function* () {
81
- var _a2;
82
- let appContext = api.useAppContext();
83
- const resolvedConfig = api.useResolvedConfigContext();
84
- const hookRunners = api.useHookRunners();
85
- try {
86
- fs.emptydirSync(appContext.internalDirectory);
87
- } catch (e) {
88
- }
89
- const apiOnly = yield isApiOnly(
90
- appContext.appDirectory,
91
- (_a2 = resolvedConfig.source) == null ? void 0 : _a2.entriesDir
92
- );
93
- yield hookRunners.addRuntimeExports();
94
- if (apiOnly) {
95
- const { routes: routes2 } = yield hookRunners.modifyServerRoutes({
96
- routes: []
97
- });
98
- debug(`server routes: %o`, routes2);
99
- appContext = __spreadProps(__spreadValues({}, appContext), {
100
- apiOnly,
101
- serverRoutes: routes2
102
- });
103
- api.setAppContext(appContext);
104
- return;
105
- }
106
- const [
107
- { getBundleEntry },
108
- { getServerRoutes },
109
- { generateCode },
110
- { getHtmlTemplate }
111
- ] = yield Promise.all([
112
- import("./getBundleEntry"),
113
- import("./getServerRoutes"),
114
- import("./generateCode"),
115
- import("./getHtmlTemplate")
116
- ]);
117
- const entrypoints = getBundleEntry(appContext, resolvedConfig);
118
- debug(`entrypoints: %o`, entrypoints);
119
- const initialRoutes = getServerRoutes(entrypoints, {
120
- appContext,
121
- config: resolvedConfig
122
- });
123
- const { routes } = yield hookRunners.modifyServerRoutes({
124
- routes: initialRoutes
125
- });
126
- debug(`server routes: %o`, routes);
127
- appContext = __spreadProps(__spreadValues({}, appContext), {
128
- entrypoints,
129
- serverRoutes: routes
130
- });
131
- api.setAppContext(appContext);
132
- nestedRouteEntries = entrypoints.map((point) => point.nestedRoutesEntry).filter(Boolean);
133
- pagesDir = entrypoints.map((point) => point.entry).filter(Boolean).concat(nestedRouteEntries);
134
- originEntrypoints = cloneDeep(entrypoints);
135
- yield generateCode(appContext, resolvedConfig, entrypoints, api);
136
- const htmlTemplates = yield getHtmlTemplate(entrypoints, api, {
137
- appContext,
138
- config: resolvedConfig
139
- });
140
- debug(`html templates: %o`, htmlTemplates);
141
- yield hookRunners.addDefineTypes();
142
- debug(`add Define Types`);
143
- let checkedEntries = entrypoints.map((point) => point.entryName);
144
- if (isDevCommand()) {
145
- const { entry } = minimist(process.argv.slice(2));
146
- checkedEntries = yield getSelectedEntries(
147
- typeof entry === "string" ? entry.split(",") : entry,
148
- entrypoints
149
- );
150
- }
151
- appContext = __spreadProps(__spreadValues({}, appContext), {
152
- entrypoints,
153
- checkedEntries,
154
- apiOnly,
155
- serverRoutes: routes,
156
- htmlTemplates
157
- });
158
- api.setAppContext(appContext);
159
- const command = getCommand();
160
- const buildCommands = ["dev", "start", "build", "inspect", "deploy"];
161
- if (buildCommands.includes(command)) {
162
- let _b;
163
- const normalizedConfig = api.useResolvedConfigContext();
164
- const createBuilderForModern = yield createBuilderGenerator(bundler);
165
- const builder = yield createBuilderForModern({
166
- normalizedConfig,
167
- appContext,
168
- onBeforeBuild(_0) {
169
- return __async(this, arguments, function* ({ bundlerConfigs }) {
170
- const hookRunners2 = api.useHookRunners();
171
- yield generateRoutes(appContext);
172
- yield hookRunners2.beforeBuild({ bundlerConfigs });
173
- });
174
- },
175
- onAfterBuild(_0) {
176
- return __async(this, arguments, function* ({ stats }) {
177
- const hookRunners2 = api.useHookRunners();
178
- yield hookRunners2.afterBuild({ stats });
179
- yield emitResolvedConfig(
180
- appContext.appDirectory,
181
- normalizedConfig
182
- );
183
- });
184
- },
185
- onDevCompileDone(_0) {
186
- return __async(this, arguments, function* ({ isFirstCompile }) {
187
- const hookRunners2 = api.useHookRunners();
188
- if (process.stdout.isTTY || isFirstCompile) {
189
- hookRunners2.afterDev();
190
- if (isFirstCompile) {
191
- printInstructions(hookRunners2, appContext, normalizedConfig);
192
- }
193
- }
194
- });
195
- },
196
- onBeforeCreateCompiler(_0) {
197
- return __async(this, arguments, function* ({ bundlerConfigs }) {
198
- const hookRunners2 = api.useHookRunners();
199
- yield hookRunners2.beforeCreateCompiler({
200
- bundlerConfigs
201
- });
202
- });
203
- },
204
- onAfterCreateCompiler(_0) {
205
- return __async(this, arguments, function* ({ compiler }) {
206
- const hookRunners2 = api.useHookRunners();
207
- yield hookRunners2.afterCreateCompiler({ compiler });
208
- });
209
- }
210
- });
211
- builder.addPlugins(resolvedConfig.builderPlugins);
212
- appContext = __spreadProps(__spreadValues({}, appContext), {
213
- builder
214
- });
215
- api.setAppContext(appContext);
216
- }
217
- });
218
- },
219
- watchFiles() {
220
- return pagesDir;
221
- },
222
- config() {
223
- return {
224
- tools: {
225
- webpackChain: (chain, { name }) => {
226
- const appContext = api.useAppContext();
227
- const resolvedConfig = api.useResolvedConfigContext();
228
- const { entrypoints, internalDirectory, packageName } = appContext;
229
- entrypoints.forEach((entrypoint) => {
230
- const { entryName } = entrypoint;
231
- const ssr = getEntryOptions(
232
- entryName,
233
- resolvedConfig.server.ssr,
234
- resolvedConfig.server.ssrByEntries,
235
- packageName
236
- );
237
- if (entrypoint.nestedRoutesEntry && ssr && name === "server") {
238
- const serverLoadersFile = getServerLoadersFile(
239
- internalDirectory,
240
- entryName
241
- );
242
- chain.entry(`${entryName}-server-loaders`).add(serverLoadersFile);
243
- }
244
- });
245
- }
246
- }
247
- };
248
- },
249
- resolvedConfig({ resolved }) {
250
- const appContext = api.useAppContext();
251
- const config = initialNormalizedConfig(resolved, appContext, bundler);
252
- return {
253
- resolved: config
254
- };
255
- },
256
- modifyEntryImports(_0) {
257
- return __async(this, arguments, function* ({ entrypoint, imports }) {
258
- const appContext = api.useAppContext();
259
- const { srcDirectory, internalSrcAlias } = appContext;
260
- const { fileSystemRoutes, nestedRoutesEntry } = entrypoint;
261
- if (fileSystemRoutes && nestedRoutesEntry) {
262
- const rootLayoutPath = path.join(nestedRoutesEntry, "layout");
263
- const rootLayoutFile = findExists(
264
- [".js", ".ts", ".jsx", ".tsx"].map(
265
- (ext) => `${rootLayoutPath}${ext}`
266
- )
267
- );
268
- if (rootLayoutFile) {
269
- const rootLayoutBuffer = yield fs.readFile(rootLayoutFile);
270
- const rootLayout = rootLayoutBuffer.toString();
271
- const [, moduleExports] = yield parseModule({
272
- source: rootLayout.toString(),
273
- filename: rootLayoutFile
274
- });
275
- const hasAppConfig = moduleExports.some(
276
- (e) => e.n === APP_CONFIG_NAME
277
- );
278
- const generateLayoutPath = replaceWithAlias(
279
- srcDirectory,
280
- rootLayoutFile,
281
- internalSrcAlias
282
- );
283
- if (hasAppConfig) {
284
- imports.push({
285
- value: generateLayoutPath,
286
- specifiers: [{ imported: APP_CONFIG_NAME }]
287
- });
288
- }
289
- const hasAppInit = moduleExports.some(
290
- (e) => e.n === APP_INIT_EXPORTED
291
- );
292
- if (hasAppInit) {
293
- imports.push({
294
- value: generateLayoutPath,
295
- specifiers: [
296
- { imported: APP_INIT_EXPORTED, local: APP_INIT_IMPORTED }
297
- ]
298
- });
299
- }
300
- }
301
- }
302
- return {
303
- entrypoint,
304
- imports
305
- };
306
- });
307
- },
308
- fileChange(e) {
309
- return __async(this, null, function* () {
310
- const appContext = api.useAppContext();
311
- const { appDirectory } = appContext;
312
- const { filename, eventType } = e;
313
- const isPageFile = (name) => pagesDir.some((pageDir) => name.includes(pageDir));
314
- const absoluteFilePath = path.resolve(appDirectory, filename);
315
- const isRouteComponent = isPageFile(absoluteFilePath) && isPageComponentFile(absoluteFilePath);
316
- if (isRouteComponent && (eventType === "add" || eventType === "unlink")) {
317
- const resolvedConfig = api.useResolvedConfigContext();
318
- const { generateCode } = yield import("./generateCode");
319
- const entrypoints = cloneDeep(originEntrypoints);
320
- generateCode(appContext, resolvedConfig, entrypoints, api);
321
- }
322
- });
323
- }
324
- };
325
- }
326
- });
327
- export {
328
- analyze_default as default
329
- };