@modern-js/app-tools 2.3.1-alpha.2 → 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 (362) hide show
  1. package/CHANGELOG.md +115 -0
  2. package/README.md +14 -18
  3. package/dist/{js/node → cjs}/analyze/constants.js +0 -0
  4. package/dist/cjs/analyze/generateCode.js +249 -0
  5. package/dist/{js/node → cjs}/analyze/getBundleEntry.js +6 -0
  6. package/dist/{js/node → cjs}/analyze/getClientRoutes/getRoutes.js +1 -18
  7. package/dist/{js/node → cjs}/analyze/getClientRoutes/getRoutesLegacy.js +1 -18
  8. package/dist/{js/node → cjs}/analyze/getClientRoutes/index.js +0 -0
  9. package/dist/{js/node → cjs}/analyze/getClientRoutes/utils.js +0 -0
  10. package/dist/{js/node → cjs}/analyze/getFileSystemEntry.js +0 -0
  11. package/dist/{js/node → cjs}/analyze/getHtmlTemplate.js +4 -24
  12. package/dist/{js/node → cjs}/analyze/getServerRoutes.js +22 -42
  13. package/dist/cjs/analyze/index.js +290 -0
  14. package/dist/{js/node → cjs}/analyze/isDefaultExportFunction.js +0 -0
  15. package/dist/{js/node → cjs}/analyze/makeLegalIdentifier.js +0 -0
  16. package/dist/{js/node → cjs}/analyze/nestedRoutes.js +16 -50
  17. package/dist/{js/node → cjs}/analyze/templates.js +16 -49
  18. package/dist/{js/node → cjs}/analyze/utils.js +9 -29
  19. package/dist/cjs/builder/builder-rspack/index.js +31 -0
  20. package/dist/cjs/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  21. package/dist/cjs/builder/builder-webpack/index.js +78 -0
  22. package/dist/{js/node/builder/webpackPlugins/routerPlugin.js → cjs/builder/builder-webpack/webpackPlugins/RouterPlugin.js} +14 -29
  23. package/dist/cjs/builder/builder-webpack/webpackPlugins/index.js +17 -0
  24. package/dist/cjs/builder/generator/createBuilderOptions.js +47 -0
  25. package/dist/{js/node/config/initial/index.js → cjs/builder/generator/createBuilderProviderConfig.js} +26 -18
  26. package/dist/cjs/builder/generator/getBuilderTargets.js +39 -0
  27. package/dist/cjs/builder/generator/index.js +58 -0
  28. package/dist/cjs/builder/index.js +46 -0
  29. package/dist/{js/node/builder/builderPlugins/compatModern.js → cjs/builder/shared/builderPlugins/adapterModern.js} +109 -137
  30. package/dist/{js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js → cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js} +17 -20
  31. package/dist/{js/node/builder/webpackPlugins/htmlBottomTemplate.js → cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js} +21 -24
  32. package/dist/{js/node/builder/share.js → cjs/builder/shared/createCopyPattern.js} +3 -3
  33. package/dist/cjs/builder/shared/index.js +19 -0
  34. package/dist/{js/node/builder → cjs/builder/shared}/loaders/serverModuleLoader.js +0 -0
  35. package/dist/{js/node/utils → cjs/builder/shared}/types.js +0 -0
  36. package/dist/{js/node → cjs}/commands/build.js +9 -46
  37. package/dist/cjs/commands/deploy.js +31 -0
  38. package/dist/{js/node → cjs}/commands/dev.js +17 -52
  39. package/dist/{js/node → cjs}/commands/index.js +0 -0
  40. package/dist/{js/node → cjs}/commands/inspect.js +2 -22
  41. package/dist/{js/node → cjs}/commands/serve.js +8 -28
  42. package/dist/{js/node → cjs}/config/default.js +16 -27
  43. package/dist/cjs/config/index.js +19 -0
  44. package/dist/cjs/config/initialize/index.js +35 -0
  45. package/dist/{js/node/config/initial → cjs/config/initialize}/inits.js +8 -22
  46. package/dist/{js/node/config/initial → cjs/config/legacy}/createHtmlConfig.js +0 -0
  47. package/dist/{js/node/config/initial → cjs/config/legacy}/createOutputConfig.js +0 -0
  48. package/dist/{js/node/config/initial → cjs/config/legacy}/createSourceConfig.js +0 -0
  49. package/dist/{js/node/config/initial → cjs/config/legacy}/createToolsConfig.js +0 -0
  50. package/dist/{js/node/config/initial/transformNormalizedConfig.js → cjs/config/legacy/index.js} +8 -3
  51. package/dist/cjs/defineConfig.js +33 -0
  52. package/dist/{js/node → cjs}/exports/server.js +0 -0
  53. package/dist/{js/node → cjs}/hooks.js +0 -0
  54. package/dist/cjs/index.js +198 -0
  55. package/dist/cjs/initialize/index.js +102 -0
  56. package/dist/{js/node → cjs}/locale/en.js +0 -0
  57. package/dist/{js/node → cjs}/locale/index.js +0 -0
  58. package/dist/{js/node → cjs}/locale/zh.js +1 -1
  59. package/dist/{js/node → cjs}/schema/Schema.js +0 -0
  60. package/dist/{js/node → cjs}/schema/index.js +0 -0
  61. package/dist/{js/node → cjs}/schema/legacy.js +0 -0
  62. package/dist/{js/node → cjs}/types/config/deploy.js +0 -0
  63. package/dist/{js/node → cjs}/types/config/dev.js +0 -0
  64. package/dist/{js/node → cjs}/types/config/experiments.js +0 -0
  65. package/dist/{js/node → cjs}/types/config/html.js +0 -0
  66. package/dist/{js/node → cjs}/types/config/index.js +0 -0
  67. package/dist/{js/node → cjs}/types/config/output.js +0 -0
  68. package/dist/{js/node → cjs}/types/config/performance.js +0 -0
  69. package/dist/{js/node → cjs}/types/config/security.js +0 -0
  70. package/dist/{js/node → cjs}/types/config/source.js +0 -0
  71. package/dist/{js/node → cjs}/types/config/tools.js +0 -0
  72. package/dist/{js/node → cjs}/types/hooks.js +0 -0
  73. package/dist/{js/node → cjs}/types/index.js +0 -0
  74. package/dist/{js/node → cjs}/types/legacyConfig/deploy.js +0 -0
  75. package/dist/{js/node → cjs}/types/legacyConfig/dev.js +0 -0
  76. package/dist/{js/node → cjs}/types/legacyConfig/index.js +0 -0
  77. package/dist/{js/node → cjs}/types/legacyConfig/output.js +0 -0
  78. package/dist/{js/node → cjs}/types/legacyConfig/source.js +0 -0
  79. package/dist/{js/node → cjs}/types/legacyConfig/tools.js +0 -0
  80. package/dist/cjs/types/utils.js +15 -0
  81. package/dist/{js/node → cjs}/utils/config.js +19 -57
  82. package/dist/{js/node → cjs}/utils/createServer.js +10 -46
  83. package/dist/{js/node → cjs}/utils/env.js +0 -0
  84. package/dist/{js/node → cjs}/utils/generateWatchFiles.js +16 -38
  85. package/dist/{js/node → cjs}/utils/getSelectedEntries.js +3 -23
  86. package/dist/{js/node/config/index.js → cjs/utils/getServerInternalPlugins.js} +20 -13
  87. package/dist/{js/node → cjs}/utils/language.js +0 -0
  88. package/dist/{js/node → cjs}/utils/printInstructions.js +3 -23
  89. package/dist/cjs/utils/restart.js +45 -0
  90. package/dist/{js/node → cjs}/utils/routes.js +3 -23
  91. package/dist/cjs/utils/types.js +15 -0
  92. package/dist/{js/treeshaking → esm}/analyze/constants.js +0 -0
  93. package/dist/{js/treeshaking → esm}/analyze/generateCode.js +14 -14
  94. package/dist/{js/treeshaking → esm}/analyze/getBundleEntry.js +4 -2
  95. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/getRoutes.js +1 -1
  96. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/getRoutesLegacy.js +1 -1
  97. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/index.js +0 -0
  98. package/dist/{js/treeshaking → esm}/analyze/getClientRoutes/utils.js +0 -0
  99. package/dist/{js/treeshaking → esm}/analyze/getFileSystemEntry.js +1 -1
  100. package/dist/{js/treeshaking → esm}/analyze/getHtmlTemplate.js +0 -0
  101. package/dist/{js/treeshaking → esm}/analyze/getServerRoutes.js +8 -6
  102. package/dist/{js/treeshaking → esm}/analyze/index.js +142 -137
  103. package/dist/{js/treeshaking → esm}/analyze/isDefaultExportFunction.js +0 -0
  104. package/dist/{js/treeshaking → esm}/analyze/makeLegalIdentifier.js +0 -0
  105. package/dist/{js/treeshaking → esm}/analyze/nestedRoutes.js +5 -5
  106. package/dist/{js/treeshaking → esm}/analyze/templates.js +8 -7
  107. package/dist/{js/treeshaking → esm}/analyze/utils.js +3 -3
  108. package/dist/esm/builder/builder-rspack/index.js +6 -0
  109. package/dist/esm/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  110. package/dist/{js/treeshaking/builder → esm/builder/builder-webpack}/index.js +44 -117
  111. package/dist/{js/treeshaking/builder/webpackPlugins/routerPlugin.js → esm/builder/builder-webpack/webpackPlugins/RouterPlugin.js} +6 -3
  112. package/dist/esm/builder/builder-webpack/webpackPlugins/index.js +1 -0
  113. package/dist/esm/builder/generator/createBuilderOptions.js +41 -0
  114. package/dist/esm/builder/generator/createBuilderProviderConfig.js +70 -0
  115. package/dist/esm/builder/generator/getBuilderTargets.js +16 -0
  116. package/dist/esm/builder/generator/index.js +199 -0
  117. package/dist/esm/builder/index.js +175 -0
  118. package/dist/{js/treeshaking/builder/builderPlugins/compatModern.js → esm/builder/shared/builderPlugins/adapterModern.js} +138 -142
  119. package/dist/{js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js → esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js} +0 -0
  120. package/dist/{js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js → esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js} +2 -2
  121. package/dist/{js/treeshaking/builder/share.js → esm/builder/shared/createCopyPattern.js} +0 -0
  122. package/dist/esm/builder/shared/index.js +3 -0
  123. package/dist/{js/treeshaking/builder → esm/builder/shared}/loaders/serverModuleLoader.js +0 -0
  124. package/dist/{js/treeshaking/utils → esm/builder/shared}/types.js +0 -0
  125. package/dist/{js/treeshaking → esm}/commands/build.js +0 -0
  126. package/dist/{js/treeshaking → esm}/commands/deploy.js +0 -0
  127. package/dist/{js/treeshaking → esm}/commands/dev.js +2 -2
  128. package/dist/{js/treeshaking → esm}/commands/index.js +0 -0
  129. package/dist/{js/treeshaking → esm}/commands/inspect.js +0 -0
  130. package/dist/{js/treeshaking → esm}/commands/serve.js +2 -2
  131. package/dist/{js/treeshaking → esm}/config/default.js +2 -2
  132. package/dist/esm/config/index.js +3 -0
  133. package/dist/esm/config/initialize/index.js +10 -0
  134. package/dist/{js/treeshaking/config/initial → esm/config/initialize}/inits.js +6 -4
  135. package/dist/esm/config/legacy/createHtmlConfig.js +19 -0
  136. package/dist/{js/treeshaking/config/initial → esm/config/legacy}/createOutputConfig.js +1 -1
  137. package/dist/{js/treeshaking/config/initial → esm/config/legacy}/createSourceConfig.js +1 -1
  138. package/dist/{js/treeshaking/config/initial → esm/config/legacy}/createToolsConfig.js +1 -1
  139. package/dist/{js/treeshaking/config/initial/transformNormalizedConfig.js → esm/config/legacy/index.js} +4 -1
  140. package/dist/{js/treeshaking → esm}/defineConfig.js +0 -0
  141. package/dist/{js/treeshaking → esm}/exports/server.js +0 -0
  142. package/dist/{js/treeshaking → esm}/hooks.js +0 -0
  143. package/dist/{js/treeshaking → esm}/index.js +19 -12
  144. package/dist/{js/treeshaking → esm}/initialize/index.js +36 -28
  145. package/dist/{js/treeshaking → esm}/locale/en.js +0 -0
  146. package/dist/{js/treeshaking → esm}/locale/index.js +0 -0
  147. package/dist/{js/treeshaking → esm}/locale/zh.js +1 -1
  148. package/dist/{js/treeshaking → esm}/schema/Schema.js +0 -0
  149. package/dist/{js/treeshaking → esm}/schema/index.js +0 -0
  150. package/dist/{js/treeshaking → esm}/schema/legacy.js +0 -0
  151. package/dist/{js/treeshaking → esm}/types/config/deploy.js +0 -0
  152. package/dist/{js/treeshaking → esm}/types/config/dev.js +0 -0
  153. package/dist/{js/treeshaking → esm}/types/config/experiments.js +0 -0
  154. package/dist/{js/treeshaking → esm}/types/config/html.js +0 -0
  155. package/dist/{js/treeshaking → esm}/types/config/index.js +0 -0
  156. package/dist/{js/treeshaking → esm}/types/config/output.js +0 -0
  157. package/dist/{js/treeshaking → esm}/types/config/performance.js +0 -0
  158. package/dist/{js/treeshaking → esm}/types/config/security.js +0 -0
  159. package/dist/{js/treeshaking → esm}/types/config/source.js +0 -0
  160. package/dist/{js/treeshaking → esm}/types/config/tools.js +0 -0
  161. package/dist/{js/treeshaking → esm}/types/hooks.js +0 -0
  162. package/dist/{js/treeshaking → esm}/types/index.js +0 -0
  163. package/dist/{js/treeshaking → esm}/types/legacyConfig/deploy.js +0 -0
  164. package/dist/{js/treeshaking → esm}/types/legacyConfig/dev.js +0 -0
  165. package/dist/{js/treeshaking → esm}/types/legacyConfig/index.js +0 -0
  166. package/dist/{js/treeshaking → esm}/types/legacyConfig/output.js +0 -0
  167. package/dist/{js/treeshaking → esm}/types/legacyConfig/source.js +0 -0
  168. package/dist/{js/treeshaking → esm}/types/legacyConfig/tools.js +0 -0
  169. package/dist/esm/types/utils.js +1 -0
  170. package/dist/{js/treeshaking → esm}/utils/config.js +2 -2
  171. package/dist/{js/treeshaking → esm}/utils/createServer.js +0 -0
  172. package/dist/{js/treeshaking → esm}/utils/env.js +0 -0
  173. package/dist/{js/treeshaking → esm}/utils/generateWatchFiles.js +0 -0
  174. package/dist/{js/treeshaking → esm}/utils/getSelectedEntries.js +0 -0
  175. package/dist/{js/treeshaking → esm}/utils/getServerInternalPlugins.js +2 -2
  176. package/dist/{js/treeshaking → esm}/utils/language.js +0 -0
  177. package/dist/{js/treeshaking → esm}/utils/printInstructions.js +0 -0
  178. package/dist/{js/treeshaking → esm}/utils/restart.js +0 -0
  179. package/dist/{js/treeshaking → esm}/utils/routes.js +0 -0
  180. package/dist/esm/utils/types.js +1 -0
  181. package/dist/{js/modern → esm-node}/analyze/constants.js +0 -0
  182. package/dist/esm-node/analyze/generateCode.js +225 -0
  183. package/dist/{js/modern → esm-node}/analyze/getBundleEntry.js +6 -0
  184. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/getRoutes.js +1 -20
  185. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/getRoutesLegacy.js +1 -20
  186. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/index.js +0 -0
  187. package/dist/{js/modern → esm-node}/analyze/getClientRoutes/utils.js +0 -0
  188. package/dist/{js/modern → esm-node}/analyze/getFileSystemEntry.js +0 -0
  189. package/dist/{js/modern → esm-node}/analyze/getHtmlTemplate.js +4 -24
  190. package/dist/{js/modern → esm-node}/analyze/getServerRoutes.js +24 -45
  191. package/dist/esm-node/analyze/index.js +281 -0
  192. package/dist/{js/modern → esm-node}/analyze/isDefaultExportFunction.js +0 -0
  193. package/dist/{js/modern → esm-node}/analyze/makeLegalIdentifier.js +0 -0
  194. package/dist/{js/modern → esm-node}/analyze/nestedRoutes.js +16 -52
  195. package/dist/{js/modern → esm-node}/analyze/templates.js +16 -51
  196. package/dist/{js/modern → esm-node}/analyze/utils.js +9 -29
  197. package/dist/esm-node/builder/builder-rspack/index.js +8 -0
  198. package/dist/esm-node/builder/builder-webpack/builderPlugins/compatModern.js +41 -0
  199. package/dist/esm-node/builder/builder-webpack/index.js +51 -0
  200. package/dist/{js/modern/builder/webpackPlugins/routerPlugin.js → esm-node/builder/builder-webpack/webpackPlugins/RouterPlugin.js} +8 -25
  201. package/dist/esm-node/builder/builder-webpack/webpackPlugins/index.js +1 -0
  202. package/dist/esm-node/builder/generator/createBuilderOptions.js +24 -0
  203. package/dist/esm-node/builder/generator/createBuilderProviderConfig.js +26 -0
  204. package/dist/esm-node/builder/generator/getBuilderTargets.js +21 -0
  205. package/dist/esm-node/builder/generator/index.js +29 -0
  206. package/dist/esm-node/builder/index.js +17 -0
  207. package/dist/{js/modern/builder/builderPlugins/compatModern.js → esm-node/builder/shared/builderPlugins/adapterModern.js} +104 -135
  208. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +27 -0
  209. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +34 -0
  210. package/dist/{js/modern/builder/share.js → esm-node/builder/shared/createCopyPattern.js} +0 -0
  211. package/dist/esm-node/builder/shared/index.js +3 -0
  212. package/dist/{js/modern/builder → esm-node/builder/shared}/loaders/serverModuleLoader.js +0 -0
  213. package/dist/{js/modern/utils → esm-node/builder/shared}/types.js +0 -0
  214. package/dist/esm-node/commands/build.js +52 -0
  215. package/dist/esm-node/commands/deploy.js +8 -0
  216. package/dist/esm-node/commands/dev.js +72 -0
  217. package/dist/{js/modern → esm-node}/commands/index.js +0 -0
  218. package/dist/esm-node/commands/inspect.js +18 -0
  219. package/dist/{js/modern → esm-node}/commands/serve.js +8 -28
  220. package/dist/{js/modern → esm-node}/config/default.js +16 -29
  221. package/dist/esm-node/config/index.js +3 -0
  222. package/dist/esm-node/config/initialize/index.js +12 -0
  223. package/dist/{js/modern/config/initial → esm-node/config/initialize}/inits.js +8 -24
  224. package/dist/{js/modern/config/initial → esm-node/config/legacy}/createHtmlConfig.js +0 -0
  225. package/dist/{js/modern/config/initial → esm-node/config/legacy}/createOutputConfig.js +0 -0
  226. package/dist/{js/modern/config/initial → esm-node/config/legacy}/createSourceConfig.js +0 -0
  227. package/dist/{js/modern/config/initial → esm-node/config/legacy}/createToolsConfig.js +0 -0
  228. package/dist/{js/modern/config/initial/transformNormalizedConfig.js → esm-node/config/legacy/index.js} +4 -0
  229. package/dist/esm-node/defineConfig.js +9 -0
  230. package/dist/{js/modern → esm-node}/exports/server.js +0 -0
  231. package/dist/{js/modern → esm-node}/hooks.js +0 -0
  232. package/dist/esm-node/index.js +172 -0
  233. package/dist/esm-node/initialize/index.js +91 -0
  234. package/dist/{js/modern → esm-node}/locale/en.js +0 -0
  235. package/dist/{js/modern → esm-node}/locale/index.js +0 -0
  236. package/dist/{js/modern → esm-node}/locale/zh.js +1 -1
  237. package/dist/{js/modern → esm-node}/schema/Schema.js +0 -0
  238. package/dist/{js/modern → esm-node}/schema/index.js +0 -0
  239. package/dist/{js/modern → esm-node}/schema/legacy.js +0 -0
  240. package/dist/{js/modern → esm-node}/types/config/deploy.js +0 -0
  241. package/dist/{js/modern → esm-node}/types/config/dev.js +0 -0
  242. package/dist/{js/modern → esm-node}/types/config/experiments.js +0 -0
  243. package/dist/{js/modern → esm-node}/types/config/html.js +0 -0
  244. package/dist/{js/modern → esm-node}/types/config/index.js +0 -0
  245. package/dist/{js/modern → esm-node}/types/config/output.js +0 -0
  246. package/dist/{js/modern → esm-node}/types/config/performance.js +0 -0
  247. package/dist/{js/modern → esm-node}/types/config/security.js +0 -0
  248. package/dist/{js/modern → esm-node}/types/config/source.js +0 -0
  249. package/dist/{js/modern → esm-node}/types/config/tools.js +0 -0
  250. package/dist/{js/modern → esm-node}/types/hooks.js +0 -0
  251. package/dist/{js/modern → esm-node}/types/index.js +0 -0
  252. package/dist/{js/modern → esm-node}/types/legacyConfig/deploy.js +0 -0
  253. package/dist/{js/modern → esm-node}/types/legacyConfig/dev.js +0 -0
  254. package/dist/{js/modern → esm-node}/types/legacyConfig/index.js +0 -0
  255. package/dist/{js/modern → esm-node}/types/legacyConfig/output.js +0 -0
  256. package/dist/{js/modern → esm-node}/types/legacyConfig/source.js +0 -0
  257. package/dist/{js/modern → esm-node}/types/legacyConfig/tools.js +0 -0
  258. package/dist/esm-node/types/utils.js +0 -0
  259. package/dist/esm-node/utils/config.js +88 -0
  260. package/dist/esm-node/utils/createServer.js +37 -0
  261. package/dist/{js/modern → esm-node}/utils/env.js +0 -0
  262. package/dist/esm-node/utils/generateWatchFiles.js +33 -0
  263. package/dist/{js/modern → esm-node}/utils/getSelectedEntries.js +3 -23
  264. package/dist/esm-node/utils/getServerInternalPlugins.js +18 -0
  265. package/dist/{js/modern → esm-node}/utils/language.js +0 -0
  266. package/dist/esm-node/utils/printInstructions.js +11 -0
  267. package/dist/esm-node/utils/restart.js +22 -0
  268. package/dist/esm-node/utils/routes.js +10 -0
  269. package/dist/esm-node/utils/types.js +0 -0
  270. package/dist/types/analyze/generateCode.d.ts +1 -1
  271. package/dist/types/analyze/getBundleEntry.d.ts +1 -1
  272. package/dist/types/analyze/getFileSystemEntry.d.ts +1 -1
  273. package/dist/types/analyze/getHtmlTemplate.d.ts +2 -2
  274. package/dist/types/analyze/getServerRoutes.d.ts +1 -1
  275. package/dist/types/analyze/index.d.ts +5 -1
  276. package/dist/types/builder/builder-rspack/index.d.ts +2 -0
  277. package/dist/types/builder/{builderPlugins → builder-webpack/builderPlugins}/compatModern.d.ts +2 -2
  278. package/dist/types/builder/builder-webpack/index.d.ts +4 -0
  279. package/dist/types/builder/{webpackPlugins/routerPlugin.d.ts → builder-webpack/webpackPlugins/RouterPlugin.d.ts} +1 -1
  280. package/dist/types/builder/builder-webpack/webpackPlugins/index.d.ts +1 -0
  281. package/dist/types/builder/generator/createBuilderOptions.d.ts +3 -0
  282. package/dist/types/builder/generator/createBuilderProviderConfig.d.ts +2 -0
  283. package/dist/types/builder/generator/getBuilderTargets.d.ts +3 -0
  284. package/dist/types/builder/generator/index.d.ts +17 -0
  285. package/dist/types/builder/index.d.ts +1 -18
  286. package/dist/types/builder/shared/builderPlugins/adapterModern.d.ts +13 -0
  287. package/dist/types/builder/{webpackPlugins/htmlAsyncChunkPlugin.d.ts → shared/bundlerPlugins/HtmlAsyncChunkPlugin.d.ts} +2 -1
  288. package/dist/types/builder/{webpackPlugins/htmlBottomTemplate.d.ts → shared/bundlerPlugins/HtmlBottomTemplate.d.ts} +2 -1
  289. package/dist/types/builder/{share.d.ts → shared/createCopyPattern.d.ts} +1 -1
  290. package/dist/types/builder/shared/index.d.ts +3 -0
  291. package/dist/types/builder/shared/loaders/serverModuleLoader.d.ts +4 -0
  292. package/dist/types/builder/shared/types.d.ts +16 -0
  293. package/dist/types/commands/build.d.ts +1 -1
  294. package/dist/types/commands/deploy.d.ts +1 -1
  295. package/dist/types/commands/dev.d.ts +1 -1
  296. package/dist/types/commands/inspect.d.ts +1 -1
  297. package/dist/types/commands/serve.d.ts +1 -1
  298. package/dist/types/config/default.d.ts +1 -1
  299. package/dist/types/config/index.d.ts +3 -2
  300. package/dist/types/config/initialize/index.d.ts +2 -0
  301. package/dist/types/config/{initial → initialize}/inits.d.ts +3 -3
  302. package/dist/types/config/{initial → legacy}/createHtmlConfig.d.ts +1 -1
  303. package/dist/types/config/{initial → legacy}/createOutputConfig.d.ts +1 -1
  304. package/dist/types/config/{initial → legacy}/createSourceConfig.d.ts +1 -1
  305. package/dist/types/config/{initial → legacy}/createToolsConfig.d.ts +1 -1
  306. package/dist/types/config/legacy/index.d.ts +3 -0
  307. package/dist/types/defineConfig.d.ts +2 -2
  308. package/dist/types/index.d.ts +7 -3
  309. package/dist/types/initialize/index.d.ts +6 -2
  310. package/dist/types/types/config/deploy.d.ts +1 -2
  311. package/dist/types/types/config/dev.d.ts +2 -3
  312. package/dist/types/types/config/experiments.d.ts +1 -2
  313. package/dist/types/types/config/html.d.ts +5 -3
  314. package/dist/types/types/config/index.d.ts +41 -48
  315. package/dist/types/types/config/output.d.ts +8 -3
  316. package/dist/types/types/config/performance.d.ts +6 -3
  317. package/dist/types/types/config/security.d.ts +3 -3
  318. package/dist/types/types/config/source.d.ts +7 -3
  319. package/dist/types/types/config/tools.d.ts +10 -4
  320. package/dist/types/types/hooks.d.ts +6 -4
  321. package/dist/types/types/index.d.ts +19 -7
  322. package/dist/types/types/utils.d.ts +7 -0
  323. package/dist/types/utils/config.d.ts +1 -1
  324. package/dist/types/utils/getServerInternalPlugins.d.ts +1 -1
  325. package/dist/types/utils/printInstructions.d.ts +1 -1
  326. package/package.json +40 -32
  327. package/dist/js/modern/analyze/generateCode.js +0 -247
  328. package/dist/js/modern/analyze/index.js +0 -332
  329. package/dist/js/modern/builder/index.js +0 -159
  330. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +0 -30
  331. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +0 -37
  332. package/dist/js/modern/commands/build.js +0 -91
  333. package/dist/js/modern/commands/deploy.js +0 -28
  334. package/dist/js/modern/commands/dev.js +0 -109
  335. package/dist/js/modern/commands/inspect.js +0 -38
  336. package/dist/js/modern/config/index.js +0 -8
  337. package/dist/js/modern/config/initial/index.js +0 -16
  338. package/dist/js/modern/defineConfig.js +0 -27
  339. package/dist/js/modern/index.js +0 -211
  340. package/dist/js/modern/initialize/index.js +0 -124
  341. package/dist/js/modern/utils/config.js +0 -128
  342. package/dist/js/modern/utils/createServer.js +0 -75
  343. package/dist/js/modern/utils/generateWatchFiles.js +0 -55
  344. package/dist/js/modern/utils/getServerInternalPlugins.js +0 -58
  345. package/dist/js/modern/utils/printInstructions.js +0 -31
  346. package/dist/js/modern/utils/restart.js +0 -44
  347. package/dist/js/modern/utils/routes.js +0 -30
  348. package/dist/js/node/analyze/generateCode.js +0 -271
  349. package/dist/js/node/analyze/index.js +0 -339
  350. package/dist/js/node/builder/index.js +0 -177
  351. package/dist/js/node/commands/deploy.js +0 -51
  352. package/dist/js/node/defineConfig.js +0 -49
  353. package/dist/js/node/index.js +0 -235
  354. package/dist/js/node/initialize/index.js +0 -134
  355. package/dist/js/node/utils/getServerInternalPlugins.js +0 -79
  356. package/dist/js/node/utils/restart.js +0 -67
  357. package/dist/js/treeshaking/config/index.js +0 -3
  358. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +0 -19
  359. package/dist/js/treeshaking/config/initial/index.js +0 -12
  360. package/dist/types/builder/loaders/serverModuleLoader.d.ts +0 -3
  361. package/dist/types/config/initial/index.d.ts +0 -4
  362. package/dist/types/config/initial/transformNormalizedConfig.d.ts +0 -2
@@ -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,332 +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 { createBuilderForModern } from "../builder";
53
- import { printInstructions } from "../utils/printInstructions";
54
- import { generateRoutes } from "../utils/routes";
55
- import { emitResolvedConfig } from "../utils/config";
56
- import { getSelectedEntries } from "../utils/getSelectedEntries";
57
- import { initialNormalizedConfig } from "../config";
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
- name: "@modern-js/plugin-analyze",
72
- setup: (api) => {
73
- let pagesDir = [];
74
- let nestedRouteEntries = [];
75
- let originEntrypoints = [];
76
- return {
77
- prepare() {
78
- return __async(this, null, function* () {
79
- var _a2;
80
- let appContext = api.useAppContext();
81
- const resolvedConfig = api.useResolvedConfigContext();
82
- const hookRunners = api.useHookRunners();
83
- try {
84
- fs.emptydirSync(appContext.internalDirectory);
85
- } catch (e) {
86
- }
87
- const apiOnly = yield isApiOnly(
88
- appContext.appDirectory,
89
- (_a2 = resolvedConfig.source) == null ? void 0 : _a2.entriesDir
90
- );
91
- yield hookRunners.addRuntimeExports();
92
- if (apiOnly) {
93
- const { routes: routes2 } = yield hookRunners.modifyServerRoutes({
94
- routes: []
95
- });
96
- debug(`server routes: %o`, routes2);
97
- appContext = __spreadProps(__spreadValues({}, appContext), {
98
- apiOnly,
99
- serverRoutes: routes2
100
- });
101
- api.setAppContext(appContext);
102
- return;
103
- }
104
- const [
105
- { getBundleEntry },
106
- { getServerRoutes },
107
- { generateCode },
108
- { getHtmlTemplate }
109
- ] = yield Promise.all([
110
- import("./getBundleEntry"),
111
- import("./getServerRoutes"),
112
- import("./generateCode"),
113
- import("./getHtmlTemplate")
114
- ]);
115
- const entrypoints = getBundleEntry(appContext, resolvedConfig);
116
- debug(`entrypoints: %o`, entrypoints);
117
- const initialRoutes = getServerRoutes(entrypoints, {
118
- appContext,
119
- config: resolvedConfig
120
- });
121
- const { routes } = yield hookRunners.modifyServerRoutes({
122
- routes: initialRoutes
123
- });
124
- debug(`server routes: %o`, routes);
125
- appContext = __spreadProps(__spreadValues({}, appContext), {
126
- entrypoints,
127
- serverRoutes: routes
128
- });
129
- api.setAppContext(appContext);
130
- nestedRouteEntries = entrypoints.map((point) => point.nestedRoutesEntry).filter(Boolean);
131
- pagesDir = entrypoints.map((point) => point.entry).filter(Boolean).concat(nestedRouteEntries);
132
- originEntrypoints = cloneDeep(entrypoints);
133
- yield generateCode(appContext, resolvedConfig, entrypoints, api);
134
- const htmlTemplates = yield getHtmlTemplate(entrypoints, api, {
135
- appContext,
136
- config: resolvedConfig
137
- });
138
- debug(`html templates: %o`, htmlTemplates);
139
- yield hookRunners.addDefineTypes();
140
- debug(`add Define Types`);
141
- let checkedEntries = entrypoints.map((point) => point.entryName);
142
- if (isDevCommand()) {
143
- const { entry } = minimist(process.argv.slice(2));
144
- checkedEntries = yield getSelectedEntries(
145
- typeof entry === "string" ? entry.split(",") : entry,
146
- entrypoints
147
- );
148
- }
149
- appContext = __spreadProps(__spreadValues({}, appContext), {
150
- entrypoints,
151
- checkedEntries,
152
- apiOnly,
153
- serverRoutes: routes,
154
- htmlTemplates
155
- });
156
- api.setAppContext(appContext);
157
- const command = getCommand();
158
- const buildCommands = ["dev", "start", "build", "inspect", "deploy"];
159
- if (buildCommands.includes(command)) {
160
- let _b;
161
- const normalizedConfig = api.useResolvedConfigContext();
162
- const builder = yield createBuilderForModern({
163
- normalizedConfig,
164
- appContext,
165
- compatPluginConfig: {
166
- onBeforeBuild(_0) {
167
- return __async(this, arguments, function* ({ bundlerConfigs }) {
168
- const hookRunners2 = api.useHookRunners();
169
- yield generateRoutes(appContext);
170
- yield hookRunners2.beforeBuild({ bundlerConfigs });
171
- });
172
- },
173
- onAfterBuild(_0) {
174
- return __async(this, arguments, function* ({ stats }) {
175
- const hookRunners2 = api.useHookRunners();
176
- yield hookRunners2.afterBuild({ stats });
177
- yield emitResolvedConfig(
178
- appContext.appDirectory,
179
- normalizedConfig
180
- );
181
- });
182
- },
183
- onDevCompileDone(_0) {
184
- return __async(this, arguments, function* ({ isFirstCompile }) {
185
- const hookRunners2 = api.useHookRunners();
186
- if (process.stdout.isTTY || isFirstCompile) {
187
- hookRunners2.afterDev();
188
- if (isFirstCompile) {
189
- printInstructions(
190
- hookRunners2,
191
- appContext,
192
- normalizedConfig
193
- );
194
- }
195
- }
196
- });
197
- },
198
- onBeforeCreateCompiler(_0) {
199
- return __async(this, arguments, function* ({ bundlerConfigs }) {
200
- const hookRunners2 = api.useHookRunners();
201
- yield hookRunners2.beforeCreateCompiler({
202
- bundlerConfigs
203
- });
204
- });
205
- },
206
- onAfterCreateCompiler(_0) {
207
- return __async(this, arguments, function* ({ compiler }) {
208
- const hookRunners2 = api.useHookRunners();
209
- yield hookRunners2.afterCreateCompiler({ compiler });
210
- });
211
- }
212
- }
213
- });
214
- builder.addPlugins(resolvedConfig.builderPlugins);
215
- appContext = __spreadProps(__spreadValues({}, appContext), {
216
- builder
217
- });
218
- api.setAppContext(appContext);
219
- }
220
- });
221
- },
222
- watchFiles() {
223
- return pagesDir;
224
- },
225
- config() {
226
- return {
227
- tools: {
228
- webpackChain: (chain, { name }) => {
229
- const appContext = api.useAppContext();
230
- const resolvedConfig = api.useResolvedConfigContext();
231
- const { entrypoints, internalDirectory, packageName } = appContext;
232
- entrypoints.forEach((entrypoint) => {
233
- const { entryName } = entrypoint;
234
- const ssr = getEntryOptions(
235
- entryName,
236
- resolvedConfig.server.ssr,
237
- resolvedConfig.server.ssrByEntries,
238
- packageName
239
- );
240
- if (entrypoint.nestedRoutesEntry && ssr && name === "server") {
241
- const serverLoadersFile = getServerLoadersFile(
242
- internalDirectory,
243
- entryName
244
- );
245
- chain.entry(`${entryName}-server-loaders`).add(serverLoadersFile);
246
- }
247
- });
248
- }
249
- }
250
- };
251
- },
252
- resolvedConfig({ resolved }) {
253
- const appContext = api.useAppContext();
254
- const config = initialNormalizedConfig(resolved, appContext);
255
- return {
256
- resolved: config
257
- };
258
- },
259
- modifyEntryImports(_0) {
260
- return __async(this, arguments, function* ({ entrypoint, imports }) {
261
- const appContext = api.useAppContext();
262
- const { srcDirectory, internalSrcAlias } = appContext;
263
- const { fileSystemRoutes, nestedRoutesEntry } = entrypoint;
264
- if (fileSystemRoutes && nestedRoutesEntry) {
265
- const rootLayoutPath = path.join(nestedRoutesEntry, "layout");
266
- const rootLayoutFile = findExists(
267
- [".js", ".ts", ".jsx", ".tsx"].map(
268
- (ext) => `${rootLayoutPath}${ext}`
269
- )
270
- );
271
- if (rootLayoutFile) {
272
- const rootLayoutBuffer = yield fs.readFile(rootLayoutFile);
273
- const rootLayout = rootLayoutBuffer.toString();
274
- const [, moduleExports] = yield parseModule({
275
- source: rootLayout.toString(),
276
- filename: rootLayoutFile
277
- });
278
- const hasAppConfig = moduleExports.some(
279
- (e) => e.n === APP_CONFIG_NAME
280
- );
281
- const generateLayoutPath = replaceWithAlias(
282
- srcDirectory,
283
- rootLayoutFile,
284
- internalSrcAlias
285
- );
286
- if (hasAppConfig) {
287
- imports.push({
288
- value: generateLayoutPath,
289
- specifiers: [{ imported: APP_CONFIG_NAME }]
290
- });
291
- }
292
- const hasAppInit = moduleExports.some(
293
- (e) => e.n === APP_INIT_EXPORTED
294
- );
295
- if (hasAppInit) {
296
- imports.push({
297
- value: generateLayoutPath,
298
- specifiers: [
299
- { imported: APP_INIT_EXPORTED, local: APP_INIT_IMPORTED }
300
- ]
301
- });
302
- }
303
- }
304
- }
305
- return {
306
- entrypoint,
307
- imports
308
- };
309
- });
310
- },
311
- fileChange(e) {
312
- return __async(this, null, function* () {
313
- const appContext = api.useAppContext();
314
- const { appDirectory } = appContext;
315
- const { filename, eventType } = e;
316
- const isPageFile = (name) => pagesDir.some((pageDir) => name.includes(pageDir));
317
- const absoluteFilePath = path.resolve(appDirectory, filename);
318
- const isRouteComponent = isPageFile(absoluteFilePath) && isPageComponentFile(absoluteFilePath);
319
- if (isRouteComponent && (eventType === "add" || eventType === "unlink")) {
320
- const resolvedConfig = api.useResolvedConfigContext();
321
- const { generateCode } = yield import("./generateCode");
322
- const entrypoints = cloneDeep(originEntrypoints);
323
- generateCode(appContext, resolvedConfig, entrypoints, api);
324
- }
325
- });
326
- }
327
- };
328
- }
329
- });
330
- export {
331
- analyze_default as default
332
- };