@modern-js/app-tools 1.22.2 → 2.0.0-alpha.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 (325) hide show
  1. package/CHANGELOG.md +1383 -104
  2. package/bin/modern.js +13 -1
  3. package/dist/js/modern/analyze/Builder.js +39 -0
  4. package/dist/js/modern/analyze/constants.js +48 -15
  5. package/dist/js/modern/analyze/generateCode.js +286 -133
  6. package/dist/js/modern/analyze/getBundleEntry.js +39 -41
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +220 -0
  8. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +216 -0
  9. package/dist/js/modern/analyze/getClientRoutes/index.js +6 -0
  10. package/dist/js/modern/analyze/getClientRoutes/utils.js +31 -0
  11. package/dist/js/modern/analyze/getFileSystemEntry.js +74 -39
  12. package/dist/js/modern/analyze/getHtmlTemplate.js +90 -57
  13. package/dist/js/modern/analyze/getServerRoutes.js +123 -140
  14. package/dist/js/modern/analyze/index.js +220 -133
  15. package/dist/js/modern/analyze/isDefaultExportFunction.js +30 -20
  16. package/dist/js/modern/analyze/makeLegalIdentifier.js +10 -13
  17. package/dist/js/modern/analyze/nestedRoutes.js +166 -0
  18. package/dist/js/modern/analyze/templates.js +289 -29
  19. package/dist/js/modern/analyze/utils.js +128 -58
  20. package/dist/js/modern/builder/builderPlugins/compatModern.js +233 -0
  21. package/dist/js/modern/builder/index.js +154 -0
  22. package/dist/js/modern/builder/loaders/routerLoader.js +17 -0
  23. package/dist/js/modern/builder/loaders/serverModuleLoader.js +7 -0
  24. package/dist/js/modern/builder/share.js +46 -0
  25. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +30 -0
  26. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +37 -0
  27. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +113 -0
  28. package/dist/js/modern/commands/build.js +75 -138
  29. package/dist/js/modern/commands/deploy.js +27 -4
  30. package/dist/js/modern/commands/dev.js +102 -66
  31. package/dist/js/modern/commands/index.js +1 -1
  32. package/dist/js/modern/commands/inspect.js +33 -64
  33. package/dist/js/modern/commands/serve.js +54 -0
  34. package/dist/js/modern/config/default.js +173 -0
  35. package/dist/js/modern/config/index.js +8 -0
  36. package/dist/js/modern/config/initial/createHtmlConfig.js +35 -0
  37. package/dist/js/modern/config/initial/createOutputConfig.js +68 -0
  38. package/dist/js/modern/config/initial/createSourceConfig.js +39 -0
  39. package/dist/js/modern/config/initial/createToolsConfig.js +42 -0
  40. package/dist/js/modern/config/initial/index.js +16 -0
  41. package/dist/js/modern/config/initial/inits.js +153 -0
  42. package/dist/js/modern/config/initial/transformNormalizedConfig.js +47 -0
  43. package/dist/js/modern/defineConfig.js +27 -0
  44. package/dist/js/modern/exports/server.js +4 -1
  45. package/dist/js/modern/hooks.js +37 -21
  46. package/dist/js/modern/index.js +185 -94
  47. package/dist/js/modern/initialize/index.js +120 -0
  48. package/dist/js/modern/locale/en.js +20 -22
  49. package/dist/js/modern/locale/index.js +6 -6
  50. package/dist/js/modern/locale/zh.js +21 -23
  51. package/dist/js/modern/schema/Schema.js +40 -0
  52. package/dist/js/modern/schema/index.js +88 -0
  53. package/dist/js/modern/schema/legacy.js +148 -0
  54. package/dist/js/modern/types/config/deploy.js +0 -0
  55. package/dist/js/modern/types/config/dev.js +0 -0
  56. package/dist/js/modern/types/config/experiments.js +0 -0
  57. package/dist/js/modern/types/config/html.js +0 -0
  58. package/dist/js/modern/types/config/index.js +1 -0
  59. package/dist/js/modern/types/config/output.js +0 -0
  60. package/dist/js/modern/types/config/performance.js +0 -0
  61. package/dist/js/modern/types/config/security.js +0 -0
  62. package/dist/js/modern/types/config/source.js +0 -0
  63. package/dist/js/modern/types/config/tools.js +0 -0
  64. package/dist/js/modern/types/hooks.js +0 -0
  65. package/dist/js/modern/types/index.js +3 -0
  66. package/dist/js/modern/types/legacyConfig/deploy.js +0 -0
  67. package/dist/js/modern/types/legacyConfig/dev.js +0 -0
  68. package/dist/js/modern/types/legacyConfig/index.js +0 -0
  69. package/dist/js/modern/types/legacyConfig/output.js +0 -0
  70. package/dist/js/modern/types/legacyConfig/source.js +0 -0
  71. package/dist/js/modern/types/legacyConfig/tools.js +0 -0
  72. package/dist/js/modern/utils/commands.js +13 -0
  73. package/dist/js/modern/utils/config.js +102 -52
  74. package/dist/js/modern/utils/createFileWatcher.js +115 -0
  75. package/dist/js/modern/utils/createServer.js +67 -10
  76. package/dist/js/modern/utils/getServerInternalPlugins.js +58 -0
  77. package/dist/js/modern/utils/getSpecifiedEntries.js +46 -25
  78. package/dist/js/modern/utils/language.js +6 -3
  79. package/dist/js/modern/utils/printInstructions.js +29 -9
  80. package/dist/js/modern/utils/restart.js +44 -0
  81. package/dist/js/modern/utils/routes.js +29 -14
  82. package/dist/js/node/analyze/Builder.js +64 -0
  83. package/dist/js/node/analyze/constants.js +86 -33
  84. package/dist/js/node/analyze/generateCode.js +305 -163
  85. package/dist/js/node/analyze/getBundleEntry.js +66 -58
  86. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +242 -0
  87. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +238 -0
  88. package/dist/js/node/analyze/getClientRoutes/index.js +30 -0
  89. package/dist/js/node/analyze/getClientRoutes/utils.js +58 -0
  90. package/dist/js/node/analyze/getFileSystemEntry.js +99 -58
  91. package/dist/js/node/analyze/getHtmlTemplate.js +121 -83
  92. package/dist/js/node/analyze/getServerRoutes.js +146 -160
  93. package/dist/js/node/analyze/index.js +243 -161
  94. package/dist/js/node/analyze/isDefaultExportFunction.js +59 -38
  95. package/dist/js/node/analyze/makeLegalIdentifier.js +31 -19
  96. package/dist/js/node/analyze/nestedRoutes.js +193 -0
  97. package/dist/js/node/analyze/templates.js +316 -43
  98. package/dist/js/node/analyze/utils.js +158 -78
  99. package/dist/js/node/builder/builderPlugins/compatModern.js +258 -0
  100. package/dist/js/node/builder/index.js +177 -0
  101. package/dist/js/node/builder/loaders/routerLoader.js +38 -0
  102. package/dist/js/node/builder/loaders/serverModuleLoader.js +28 -0
  103. package/dist/js/node/builder/share.js +75 -0
  104. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +53 -0
  105. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +60 -0
  106. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +135 -0
  107. package/dist/js/node/commands/build.js +97 -159
  108. package/dist/js/node/commands/deploy.js +49 -12
  109. package/dist/js/node/commands/dev.js +121 -93
  110. package/dist/js/node/commands/index.js +19 -44
  111. package/dist/js/node/commands/inspect.js +56 -93
  112. package/dist/js/node/commands/serve.js +83 -0
  113. package/dist/js/node/config/default.js +195 -0
  114. package/dist/js/node/config/index.js +34 -0
  115. package/dist/js/node/config/initial/createHtmlConfig.js +58 -0
  116. package/dist/js/node/config/initial/createOutputConfig.js +91 -0
  117. package/dist/js/node/config/initial/createSourceConfig.js +62 -0
  118. package/dist/js/node/config/initial/createToolsConfig.js +65 -0
  119. package/dist/js/node/config/initial/index.js +41 -0
  120. package/dist/js/node/config/initial/inits.js +176 -0
  121. package/dist/js/node/config/initial/transformNormalizedConfig.js +70 -0
  122. package/dist/js/node/defineConfig.js +49 -0
  123. package/dist/js/node/exports/server.js +25 -11
  124. package/dist/js/node/hooks.js +53 -36
  125. package/dist/js/node/index.js +216 -128
  126. package/dist/js/node/initialize/index.js +135 -0
  127. package/dist/js/node/locale/en.js +40 -26
  128. package/dist/js/node/locale/index.js +31 -18
  129. package/dist/js/node/locale/zh.js +41 -27
  130. package/dist/js/node/schema/Schema.js +63 -0
  131. package/dist/js/node/schema/index.js +118 -0
  132. package/dist/js/node/schema/legacy.js +169 -0
  133. package/dist/js/node/types/config/deploy.js +15 -0
  134. package/dist/js/node/types/config/dev.js +15 -0
  135. package/dist/js/node/types/config/experiments.js +15 -0
  136. package/dist/js/node/types/config/html.js +15 -0
  137. package/dist/js/node/types/config/index.js +17 -0
  138. package/dist/js/node/types/config/output.js +15 -0
  139. package/dist/js/node/types/config/performance.js +15 -0
  140. package/dist/js/node/types/config/security.js +15 -0
  141. package/dist/js/node/types/config/source.js +15 -0
  142. package/dist/js/node/types/config/tools.js +15 -0
  143. package/dist/js/node/types/hooks.js +15 -0
  144. package/dist/js/node/types/index.js +19 -0
  145. package/dist/js/node/types/legacyConfig/deploy.js +15 -0
  146. package/dist/js/node/types/legacyConfig/dev.js +15 -0
  147. package/dist/js/node/types/legacyConfig/index.js +15 -0
  148. package/dist/js/node/types/legacyConfig/output.js +15 -0
  149. package/dist/js/node/types/legacyConfig/source.js +15 -0
  150. package/dist/js/node/types/legacyConfig/tools.js +15 -0
  151. package/dist/js/node/utils/commands.js +37 -0
  152. package/dist/js/node/utils/config.js +125 -75
  153. package/dist/js/node/utils/createFileWatcher.js +139 -0
  154. package/dist/js/node/utils/createServer.js +96 -25
  155. package/dist/js/node/utils/getServerInternalPlugins.js +79 -0
  156. package/dist/js/node/utils/getSpecifiedEntries.js +68 -34
  157. package/dist/js/node/utils/language.js +28 -10
  158. package/dist/js/node/utils/printInstructions.js +51 -19
  159. package/dist/js/node/utils/restart.js +67 -0
  160. package/dist/js/node/utils/routes.js +58 -24
  161. package/dist/js/node/utils/types.js +15 -0
  162. package/dist/js/treeshaking/analyze/Builder.js +199 -0
  163. package/dist/js/treeshaking/analyze/constants.js +37 -0
  164. package/dist/js/treeshaking/analyze/generateCode.js +615 -0
  165. package/dist/js/treeshaking/analyze/getBundleEntry.js +64 -0
  166. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +233 -0
  167. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +231 -0
  168. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -0
  169. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +23 -0
  170. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +107 -0
  171. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +302 -0
  172. package/dist/js/treeshaking/analyze/getServerRoutes.js +222 -0
  173. package/dist/js/treeshaking/analyze/index.js +589 -0
  174. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +47 -0
  175. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -0
  176. package/dist/js/treeshaking/analyze/nestedRoutes.js +426 -0
  177. package/dist/js/treeshaking/analyze/templates.js +446 -0
  178. package/dist/js/treeshaking/analyze/utils.js +390 -0
  179. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +304 -0
  180. package/dist/js/treeshaking/builder/index.js +374 -0
  181. package/dist/js/treeshaking/builder/loaders/routerLoader.js +13 -0
  182. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +5 -0
  183. package/dist/js/treeshaking/builder/share.js +40 -0
  184. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +110 -0
  185. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +72 -0
  186. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +343 -0
  187. package/dist/js/treeshaking/commands/build.js +291 -0
  188. package/dist/js/treeshaking/commands/deploy.js +154 -0
  189. package/dist/js/treeshaking/commands/dev.js +319 -0
  190. package/dist/js/treeshaking/commands/index.js +3 -0
  191. package/dist/js/treeshaking/commands/inspect.js +149 -0
  192. package/dist/js/treeshaking/commands/serve.js +199 -0
  193. package/dist/js/treeshaking/config/default.js +208 -0
  194. package/dist/js/treeshaking/config/index.js +3 -0
  195. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -0
  196. package/dist/js/treeshaking/config/initial/createOutputConfig.js +41 -0
  197. package/dist/js/treeshaking/config/initial/createSourceConfig.js +42 -0
  198. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -0
  199. package/dist/js/treeshaking/config/initial/index.js +12 -0
  200. package/dist/js/treeshaking/config/initial/inits.js +213 -0
  201. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +35 -0
  202. package/dist/js/treeshaking/defineConfig.js +61 -0
  203. package/dist/js/treeshaking/exports/server.js +2 -0
  204. package/dist/js/treeshaking/hooks.js +31 -0
  205. package/dist/js/treeshaking/index.js +694 -0
  206. package/dist/js/treeshaking/initialize/index.js +300 -0
  207. package/dist/js/treeshaking/locale/en.js +35 -0
  208. package/dist/js/treeshaking/locale/index.js +9 -0
  209. package/dist/js/treeshaking/locale/zh.js +35 -0
  210. package/dist/js/treeshaking/schema/Schema.js +273 -0
  211. package/dist/js/treeshaking/schema/index.js +181 -0
  212. package/dist/js/treeshaking/schema/legacy.js +337 -0
  213. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  214. package/dist/js/treeshaking/types/config/dev.js +1 -0
  215. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  216. package/dist/js/treeshaking/types/config/html.js +1 -0
  217. package/dist/js/treeshaking/types/config/index.js +1 -0
  218. package/dist/js/treeshaking/types/config/output.js +1 -0
  219. package/dist/js/treeshaking/types/config/performance.js +1 -0
  220. package/dist/js/treeshaking/types/config/security.js +1 -0
  221. package/dist/js/treeshaking/types/config/source.js +1 -0
  222. package/dist/js/treeshaking/types/config/tools.js +1 -0
  223. package/dist/js/treeshaking/types/hooks.js +1 -0
  224. package/dist/js/treeshaking/types/index.js +3 -0
  225. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  226. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  227. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  228. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -0
  229. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  230. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  231. package/dist/js/treeshaking/utils/commands.js +10 -0
  232. package/dist/js/treeshaking/utils/config.js +302 -0
  233. package/dist/js/treeshaking/utils/createFileWatcher.js +283 -0
  234. package/dist/js/treeshaking/utils/createServer.js +258 -0
  235. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +210 -0
  236. package/dist/js/treeshaking/utils/getSpecifiedEntries.js +185 -0
  237. package/dist/js/treeshaking/utils/language.js +6 -0
  238. package/dist/js/treeshaking/utils/printInstructions.js +152 -0
  239. package/dist/js/treeshaking/utils/restart.js +187 -0
  240. package/dist/js/treeshaking/utils/routes.js +153 -0
  241. package/dist/js/treeshaking/utils/types.js +1 -0
  242. package/dist/types/analyze/Builder.d.ts +8 -0
  243. package/dist/types/analyze/constants.d.ts +13 -1
  244. package/dist/types/analyze/generateCode.d.ts +3 -2
  245. package/dist/types/analyze/getBundleEntry.d.ts +2 -2
  246. package/dist/types/analyze/{getClientRoutes.d.ts → getClientRoutes/getRoutes.d.ts} +2 -7
  247. package/dist/types/analyze/getClientRoutes/getRoutesLegacy.d.ts +15 -0
  248. package/dist/types/analyze/getClientRoutes/index.d.ts +2 -0
  249. package/dist/types/analyze/getClientRoutes/utils.d.ts +5 -0
  250. package/dist/types/analyze/getFileSystemEntry.d.ts +2 -2
  251. package/dist/types/analyze/getHtmlTemplate.d.ts +3 -3
  252. package/dist/types/analyze/getServerRoutes.d.ts +3 -2
  253. package/dist/types/analyze/index.d.ts +3 -40
  254. package/dist/types/analyze/nestedRoutes.d.ts +5 -0
  255. package/dist/types/analyze/templates.d.ts +24 -5
  256. package/dist/types/analyze/utils.d.ts +12 -2
  257. package/dist/types/builder/builderPlugins/compatModern.d.ts +14 -0
  258. package/dist/types/builder/index.d.ts +18 -0
  259. package/dist/types/builder/loaders/routerLoader.d.ts +3 -0
  260. package/dist/types/builder/loaders/serverModuleLoader.d.ts +3 -0
  261. package/dist/types/builder/share.d.ts +26 -0
  262. package/dist/types/builder/webpackPlugins/htmlAsyncChunkPlugin.d.ts +8 -0
  263. package/dist/types/builder/webpackPlugins/htmlBottomTemplate.d.ts +10 -0
  264. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +4 -0
  265. package/dist/types/commands/build.d.ts +2 -1
  266. package/dist/types/commands/deploy.d.ts +2 -1
  267. package/dist/types/commands/dev.d.ts +2 -1
  268. package/dist/types/commands/index.d.ts +1 -1
  269. package/dist/types/commands/inspect.d.ts +10 -6
  270. package/dist/types/commands/serve.d.ts +3 -0
  271. package/dist/types/config/default.d.ts +3 -0
  272. package/dist/types/config/index.d.ts +2 -0
  273. package/dist/types/config/initial/createHtmlConfig.d.ts +2 -0
  274. package/dist/types/config/initial/createOutputConfig.d.ts +2 -0
  275. package/dist/types/config/initial/createSourceConfig.d.ts +2 -0
  276. package/dist/types/config/initial/createToolsConfig.d.ts +2 -0
  277. package/dist/types/config/initial/index.d.ts +4 -0
  278. package/dist/types/config/initial/inits.d.ts +4 -0
  279. package/dist/types/config/initial/transformNormalizedConfig.d.ts +2 -0
  280. package/dist/types/defineConfig.d.ts +8 -0
  281. package/dist/types/hooks.d.ts +2 -37
  282. package/dist/types/index.d.ts +9 -3
  283. package/dist/types/initialize/index.d.ts +5 -0
  284. package/dist/types/locale/en.d.ts +1 -2
  285. package/dist/types/locale/index.d.ts +2 -4
  286. package/dist/types/locale/zh.d.ts +1 -2
  287. package/dist/types/schema/Schema.d.ts +14 -0
  288. package/dist/types/schema/index.d.ts +4 -0
  289. package/dist/types/schema/legacy.d.ts +3 -0
  290. package/dist/types/types/config/deploy.d.ts +9 -0
  291. package/dist/types/types/config/dev.d.ts +13 -0
  292. package/dist/types/types/config/experiments.d.ts +4 -0
  293. package/dist/types/types/config/html.d.ts +4 -0
  294. package/dist/types/types/config/index.d.ts +66 -0
  295. package/dist/types/types/config/output.d.ts +22 -0
  296. package/dist/types/types/config/performance.d.ts +4 -0
  297. package/dist/types/types/config/security.d.ts +4 -0
  298. package/dist/types/types/config/source.d.ts +24 -0
  299. package/dist/types/types/config/tools.d.ts +24 -0
  300. package/dist/types/types/hooks.d.ts +89 -0
  301. package/dist/types/types/index.d.ts +23 -0
  302. package/dist/types/types/legacyConfig/deploy.d.ts +8 -0
  303. package/dist/types/types/legacyConfig/dev.d.ts +13 -0
  304. package/dist/types/types/legacyConfig/index.d.ts +33 -0
  305. package/dist/types/types/legacyConfig/output.d.ts +51 -0
  306. package/dist/types/types/legacyConfig/source.d.ts +25 -0
  307. package/dist/types/types/legacyConfig/tools.d.ts +17 -0
  308. package/dist/types/utils/commands.d.ts +2 -0
  309. package/dist/types/utils/config.d.ts +2 -2
  310. package/dist/types/utils/createFileWatcher.d.ts +4 -0
  311. package/dist/types/utils/createServer.d.ts +9 -1
  312. package/dist/types/utils/getServerInternalPlugins.d.ts +2 -0
  313. package/dist/types/utils/printInstructions.d.ts +3 -2
  314. package/dist/types/utils/restart.d.ts +3 -0
  315. package/dist/types/utils/types.d.ts +2 -3
  316. package/lib/types.d.ts +1 -1
  317. package/package.json +37 -46
  318. package/dist/js/modern/analyze/getClientRoutes.js +0 -219
  319. package/dist/js/modern/commands/start.js +0 -31
  320. package/dist/js/modern/utils/createCompiler.js +0 -61
  321. package/dist/js/node/analyze/getClientRoutes.js +0 -241
  322. package/dist/js/node/commands/start.js +0 -47
  323. package/dist/js/node/utils/createCompiler.js +0 -81
  324. package/dist/types/commands/start.d.ts +0 -2
  325. package/dist/types/utils/createCompiler.d.ts +0 -13
@@ -1,5 +1,5 @@
1
- import type { RuntimePlugin } from '@modern-js/core';
2
- import type { Entrypoint, Route } from '@modern-js/types';
1
+ import type { Entrypoint, NestedRoute, PageRoute, RouteLegacy } from '@modern-js/types';
2
+ import type { RuntimePlugin } from '../types';
3
3
  export declare const index: ({
4
4
  mountId,
5
5
  imports,
@@ -25,8 +25,27 @@ export declare const html: (partials: {
25
25
  head: string[];
26
26
  body: string[];
27
27
  }) => string;
28
+ export declare const routesForServer: ({
29
+ routes,
30
+ internalDirectory,
31
+ entryName
32
+ }: {
33
+ routes: (NestedRoute | PageRoute)[];
34
+ internalDirectory: string;
35
+ entryName: string;
36
+ }) => string;
28
37
  export declare const fileSystemRoutes: ({
29
- routes
38
+ routes,
39
+ ssrMode,
40
+ nestedRoutesEntry,
41
+ entryName,
42
+ internalDirectory,
43
+ internalDirAlias
30
44
  }: {
31
- routes: Route[];
32
- }) => string;
45
+ routes: RouteLegacy[] | (NestedRoute | PageRoute)[];
46
+ ssrMode: 'string' | 'stream' | false;
47
+ nestedRoutesEntry?: string | undefined;
48
+ entryName: string;
49
+ internalDirectory: string;
50
+ internalDirAlias: string;
51
+ }) => Promise<string>;
@@ -1,5 +1,5 @@
1
1
  import type { Entrypoint } from '@modern-js/types';
2
- import type { ImportStatement } from '@modern-js/core';
2
+ import type { ImportStatement } from '../types';
3
3
  export declare const walkDirectory: (dir: string) => string[];
4
4
  export declare const getDefaultImports: ({
5
5
  entrypoint,
@@ -14,4 +14,14 @@ export declare const getDefaultImports: ({
14
14
  internalDirAlias: string;
15
15
  internalDirectory: string;
16
16
  }) => ImportStatement[];
17
- export declare const isRouteComponentFile: (filePath: string) => boolean;
17
+ export declare const isPageComponentFile: (filePath: string) => boolean;
18
+ export declare const isNestedRouteComponent: (nestedRouteEntries: string[], absoluteFilePath: string) => boolean;
19
+ export declare const replaceWithAlias: (base: string, filePath: string, alias: string) => string;
20
+ export declare const parseModule: ({
21
+ source,
22
+ filename
23
+ }: {
24
+ source: string;
25
+ filename: string;
26
+ }) => Promise<readonly [imports: readonly import("es-module-lexer").ImportSpecifier[], exports: readonly import("es-module-lexer").ExportSpecifier[], facade: boolean]>;
27
+ export declare const hasLoader: (filename: string) => Promise<boolean>;
@@ -0,0 +1,14 @@
1
+ import { BuilderPlugin } from '@modern-js/builder-shared';
2
+ import type { BuilderPluginAPI } from '@modern-js/builder-webpack-provider';
3
+ import type { IAppContext, AppNormalizedConfig } from '../../types';
4
+ declare type Parameter<T extends (arg: any) => void> = Parameters<T>[0];
5
+ declare type FnParameter<T extends {
6
+ [p: string]: (arg: any) => void;
7
+ }> = { [P in keyof T]: Parameter<T[P]> };
8
+ export declare type PluginCompatModernOptions = FnParameter<Partial<Pick<BuilderPluginAPI, 'onAfterBuild' | 'onAfterCreateCompiler' | 'onAfterStartDevServer' | 'onBeforeBuild' | 'onBeforeCreateCompiler' | 'onBeforeStartDevServer' | 'onDevCompileDone' | 'onExit'>>>;
9
+ /**
10
+ * Provides default configuration consistent with modern.js v1
11
+ */
12
+
13
+ export declare const PluginCompatModern: (appContext: IAppContext, modernConfig: AppNormalizedConfig, options?: PluginCompatModernOptions) => BuilderPlugin<BuilderPluginAPI>;
14
+ export {};
@@ -0,0 +1,18 @@
1
+ import { BuilderInstance, BuilderTarget, CreateBuilderOptions } from '@modern-js/builder';
2
+ import { BuilderConfig, BuilderWebpackProvider } from '@modern-js/builder-webpack-provider';
3
+ import type { IAppContext } from '@modern-js/core';
4
+ import type { AppNormalizedConfig } from '../types';
5
+ import { PluginCompatModernOptions } from './builderPlugins/compatModern';
6
+ export declare type BuilderOptions = {
7
+ target?: BuilderTarget | BuilderTarget[];
8
+ normalizedConfig: AppNormalizedConfig;
9
+ appContext: IAppContext;
10
+ compatPluginConfig?: PluginCompatModernOptions;
11
+ };
12
+ export declare function createBuilderForModern({
13
+ normalizedConfig,
14
+ appContext,
15
+ compatPluginConfig
16
+ }: BuilderOptions): Promise<BuilderInstance<BuilderWebpackProvider>>;
17
+ export declare function createBuilderProviderConfig(normalizedConfig: AppNormalizedConfig, appContext: IAppContext): BuilderConfig;
18
+ export declare function createBuilderOptions(target: BuilderTarget | BuilderTarget[], appContext: IAppContext): CreateBuilderOptions;
@@ -0,0 +1,3 @@
1
+ import type { LoaderContext } from 'webpack';
2
+ declare function loader(this: LoaderContext<void>, source: string): string;
3
+ export default loader;
@@ -0,0 +1,3 @@
1
+ import { LoaderContext } from 'webpack';
2
+ declare function loader(this: LoaderContext<void>): string;
3
+ export default loader;
@@ -0,0 +1,26 @@
1
+ /// <reference types="node" />
2
+ import { WebpackChain } from '@modern-js/builder-webpack-provider';
3
+ import { AppNormalizedConfig, IAppContext } from '../types';
4
+ export declare function createCopyPattern(appContext: IAppContext, config: AppNormalizedConfig, patternsType: 'upload' | 'public', chain?: WebpackChain): {
5
+ info: (file: {
6
+ sourceFilename: string;
7
+ }) => {
8
+ minimized: boolean;
9
+ };
10
+ from: string;
11
+ to: string;
12
+ context: string;
13
+ noErrorOnMissing: boolean;
14
+ transform: (content: Buffer, absoluteFrom: string) => string | Buffer;
15
+ } | {
16
+ info: (file: {
17
+ sourceFilename: string;
18
+ }) => {
19
+ minimized: boolean;
20
+ };
21
+ from: string;
22
+ to: string;
23
+ context: string;
24
+ noErrorOnMissing: boolean;
25
+ transform?: undefined;
26
+ };
@@ -0,0 +1,8 @@
1
+ import type { webpack } from '@modern-js/builder-webpack-provider';
2
+ import type HtmlWebpackPlugin from '@modern-js/builder-webpack-provider/html-webpack-plugin';
3
+ export declare class HtmlAsyncChunkPlugin {
4
+ name: string;
5
+ htmlWebpackPlugin: typeof HtmlWebpackPlugin;
6
+ constructor(htmlWebpackPlugin: typeof HtmlWebpackPlugin);
7
+ apply(compiler: webpack.Compiler): void;
8
+ }
@@ -0,0 +1,10 @@
1
+ import type { webpack } from '@modern-js/builder-webpack-provider';
2
+ import type HtmlWebpackPlugin from '@modern-js/builder-webpack-provider/html-webpack-plugin';
3
+ export declare class BottomTemplatePlugin {
4
+ htmlWebpackPlugin: typeof HtmlWebpackPlugin;
5
+ bottomTemplateReg: RegExp;
6
+ bodyRegExp: RegExp;
7
+ name: string;
8
+ constructor(htmlWebpackPlugin: typeof HtmlWebpackPlugin);
9
+ apply(compiler: webpack.Compiler): void;
10
+ }
@@ -0,0 +1,4 @@
1
+ import type { Compiler } from 'webpack';
2
+ export default class RouterPlugin {
3
+ apply(compiler: Compiler): void;
4
+ }
@@ -1,3 +1,4 @@
1
1
  import { PluginAPI } from '@modern-js/core';
2
2
  import type { BuildOptions } from '../utils/types';
3
- export declare const build: (api: PluginAPI, options?: BuildOptions) => Promise<void>;
3
+ import type { AppTools } from '../types';
4
+ export declare const build: (api: PluginAPI<AppTools>, options?: BuildOptions) => Promise<void>;
@@ -1,2 +1,3 @@
1
1
  import type { PluginAPI } from '@modern-js/core';
2
- export declare const deploy: (api: PluginAPI, options: any) => Promise<void>;
2
+ import type { AppTools } from '../types';
3
+ export declare const deploy: (api: PluginAPI<AppTools>, options: any) => Promise<void>;
@@ -1,3 +1,4 @@
1
1
  import { PluginAPI } from '@modern-js/core';
2
2
  import { DevOptions } from '../utils/types';
3
- export declare const dev: (api: PluginAPI, options: DevOptions) => Promise<void>;
3
+ import type { AppTools } from '../types';
4
+ export declare const dev: (api: PluginAPI<AppTools>, options: DevOptions) => Promise<void>;
@@ -1,3 +1,3 @@
1
1
  export * from './dev';
2
2
  export * from './build';
3
- export * from './start';
3
+ export * from './serve';
@@ -1,7 +1,11 @@
1
- import { Configuration, WebpackConfigTarget } from '@modern-js/webpack';
2
- import type { PluginAPI, NormalizedConfig, IAppContext } from '@modern-js/core';
1
+ import type { PluginAPI } from '@modern-js/core';
3
2
  import type { InspectOptions } from '../utils/types';
4
- export declare const formatWebpackConfig: (config: Configuration, verbose?: boolean) => string;
5
- export declare const inspect: (api: PluginAPI, options: InspectOptions) => void;
6
- export declare const getTagByWebpackTarget: (webpackTarget: WebpackConfigTarget) => "client" | "modern" | "ssr";
7
- export declare const printInspectResult: (webpackTarget: WebpackConfigTarget, appContext: IAppContext, resolvedConfig: NormalizedConfig, options: InspectOptions) => string;
3
+ import type { AppTools } from '../types';
4
+ export declare const inspect: (api: PluginAPI<AppTools>, options: InspectOptions) => Promise<{
5
+ builderConfig: string;
6
+ bundlerConfigs: string[];
7
+ origin: {
8
+ builderConfig: Record<string, any>;
9
+ bundlerConfigs: Record<string, any>[];
10
+ };
11
+ }>;
@@ -0,0 +1,3 @@
1
+ import type { PluginAPI } from '@modern-js/core';
2
+ import type { AppTools } from '../types';
3
+ export declare const start: (api: PluginAPI<AppTools>) => Promise<void>;
@@ -0,0 +1,3 @@
1
+ import { IAppContext, AppUserConfig, AppLegacyUserConfig } from '../types';
2
+ export declare function createDefaultConfig(appContext: IAppContext): AppUserConfig;
3
+ export declare function createLegacyDefaultConfig(appContext: IAppContext): AppLegacyUserConfig;
@@ -0,0 +1,2 @@
1
+ export { createDefaultConfig, createLegacyDefaultConfig } from './default';
2
+ export { initialNormalizedConfig, checkIsLegacyConfig } from './initial';
@@ -0,0 +1,2 @@
1
+ import { AppLegacyNormalizedConfig, AppNormalizedConfig } from '../../types';
2
+ export declare function createHtmlConfig(config: Readonly<AppLegacyNormalizedConfig>): AppNormalizedConfig['html'];
@@ -0,0 +1,2 @@
1
+ import { AppLegacyNormalizedConfig, AppNormalizedConfig } from '../../types';
2
+ export declare function createOutputConfig(config: Readonly<AppLegacyNormalizedConfig>): AppNormalizedConfig['output'];
@@ -0,0 +1,2 @@
1
+ import { AppLegacyNormalizedConfig, AppNormalizedConfig } from '../../types';
2
+ export declare function createSourceConfig(config: AppLegacyNormalizedConfig): AppNormalizedConfig['source'];
@@ -0,0 +1,2 @@
1
+ import { AppLegacyNormalizedConfig, AppNormalizedConfig } from '../../types';
2
+ export declare function createToolsConfig(config: AppLegacyNormalizedConfig): AppNormalizedConfig['tools'];
@@ -0,0 +1,4 @@
1
+ import { AppNormalizedConfig, IAppContext, AppLegacyUserConfig, AppUserConfig } from '../../types';
2
+ export { transformNormalizedConfig } from './transformNormalizedConfig';
3
+ export declare function checkIsLegacyConfig(config: AppLegacyUserConfig | AppUserConfig): config is AppLegacyUserConfig;
4
+ export declare function initialNormalizedConfig(config: AppNormalizedConfig, appContext: IAppContext): AppNormalizedConfig;
@@ -0,0 +1,4 @@
1
+ import { AppNormalizedConfig, IAppContext } from '../../types';
2
+ export declare function initHtmlConfig(config: AppNormalizedConfig, appContext: IAppContext): import("@modern-js/builder-shared").SharedHtmlConfig;
3
+ export declare function initSourceConfig(config: AppNormalizedConfig, appContext: IAppContext): void;
4
+ export declare function initToolsConfig(config: AppNormalizedConfig): void;
@@ -0,0 +1,2 @@
1
+ import { AppLegacyNormalizedConfig, AppNormalizedConfig } from '../../types';
2
+ export declare function transformNormalizedConfig(config: AppLegacyNormalizedConfig): AppNormalizedConfig;
@@ -0,0 +1,8 @@
1
+ import { AppUserConfig, AppLegacyUserConfig } from './types';
2
+ export declare const defineConfig: (config: AppUserConfig) => AppUserConfig;
3
+ /**
4
+ * @deprecated
5
+ * Using defineConfig first.
6
+ */
7
+
8
+ export declare const defineLegacyConfig: (config: AppLegacyUserConfig) => AppLegacyUserConfig;
@@ -1,37 +1,2 @@
1
- import type { Compiler, Configuration, MultiCompiler } from '@modern-js/webpack';
2
- export declare const beforeDev: import("@modern-js/plugin").AsyncWorkflow<void, unknown>;
3
- export declare const afterDev: import("@modern-js/plugin").AsyncWorkflow<void, unknown>;
4
- export declare const beforeCreateCompiler: import("@modern-js/plugin").AsyncWorkflow<{
5
- webpackConfigs: Configuration[];
6
- }, unknown>;
7
- export declare const afterCreateCompiler: import("@modern-js/plugin").AsyncWorkflow<{
8
- compiler: Compiler | MultiCompiler | undefined;
9
- }, unknown>;
10
- export declare const beforePrintInstructions: import("@modern-js/plugin").AsyncWaterfall<{
11
- instructions: string;
12
- }>;
13
- export declare const beforeBuild: import("@modern-js/plugin").AsyncWorkflow<{
14
- webpackConfigs: Configuration[];
15
- }, unknown>;
16
- export declare const afterBuild: import("@modern-js/plugin").AsyncWorkflow<void, unknown>;
17
- export declare const beforeDeploy: import("@modern-js/plugin").AsyncWorkflow<Record<string, any>, unknown>;
18
- export declare const afterDeploy: import("@modern-js/plugin").AsyncWorkflow<Record<string, any>, unknown>;
19
- export declare const hooks: {
20
- beforeDev: import("@modern-js/plugin").AsyncWorkflow<void, unknown>;
21
- afterDev: import("@modern-js/plugin").AsyncWorkflow<void, unknown>;
22
- beforeCreateCompiler: import("@modern-js/plugin").AsyncWorkflow<{
23
- webpackConfigs: Configuration[];
24
- }, unknown>;
25
- afterCreateCompiler: import("@modern-js/plugin").AsyncWorkflow<{
26
- compiler: Compiler | MultiCompiler | undefined;
27
- }, unknown>;
28
- beforePrintInstructions: import("@modern-js/plugin").AsyncWaterfall<{
29
- instructions: string;
30
- }>;
31
- beforeBuild: import("@modern-js/plugin").AsyncWorkflow<{
32
- webpackConfigs: Configuration[];
33
- }, unknown>;
34
- afterBuild: import("@modern-js/plugin").AsyncWorkflow<void, unknown>;
35
- beforeDeploy: import("@modern-js/plugin").AsyncWorkflow<Record<string, any>, unknown>;
36
- afterDeploy: import("@modern-js/plugin").AsyncWorkflow<Record<string, any>, unknown>;
37
- };
1
+ import { AppToolsHooks } from './types/hooks';
2
+ export declare const hooks: AppToolsHooks;
@@ -1,6 +1,12 @@
1
- import { defineConfig, CliPlugin } from '@modern-js/core';
2
- export { defineConfig };
1
+ import { Command } from '@modern-js/utils';
2
+ import { CliPlugin, PluginAPI } from '@modern-js/core';
3
+ import { AppTools } from './types';
4
+ export * from './defineConfig';
5
+ export * from './types';
6
+ export type { RuntimeUserConfig } from './types/config';
7
+ export declare const devCommand: (program: Command, api: PluginAPI<AppTools>) => Promise<void>;
8
+ export declare const buildCommand: (program: Command, api: PluginAPI<AppTools>) => Promise<void>;
3
9
 
4
- declare const _default: () => CliPlugin;
10
+ declare const _default: () => CliPlugin<AppTools>;
5
11
 
6
12
  export default _default;
@@ -0,0 +1,5 @@
1
+ import { CliPlugin, AppTools } from '../types';
2
+
3
+ declare const _default: () => CliPlugin<AppTools>;
4
+
5
+ export default _default;
@@ -12,7 +12,7 @@ export declare const EN_LOCALE: {
12
12
  build: {
13
13
  describe: string;
14
14
  };
15
- start: {
15
+ serve: {
16
16
  describe: string;
17
17
  };
18
18
  deploy: {
@@ -28,7 +28,6 @@ export declare const EN_LOCALE: {
28
28
  inspect: {
29
29
  env: string;
30
30
  output: string;
31
- noConsole: string;
32
31
  verbose: string;
33
32
  };
34
33
  };
@@ -14,7 +14,7 @@ declare const localeKeys: {
14
14
  build: {
15
15
  describe: string;
16
16
  };
17
- start: {
17
+ serve: {
18
18
  describe: string;
19
19
  };
20
20
  deploy: {
@@ -30,7 +30,6 @@ declare const localeKeys: {
30
30
  inspect: {
31
31
  env: string;
32
32
  output: string;
33
- noConsole: string;
34
33
  verbose: string;
35
34
  };
36
35
  };
@@ -48,7 +47,7 @@ declare const localeKeys: {
48
47
  build: {
49
48
  describe: string;
50
49
  };
51
- start: {
50
+ serve: {
52
51
  describe: string;
53
52
  };
54
53
  deploy: {
@@ -64,7 +63,6 @@ declare const localeKeys: {
64
63
  inspect: {
65
64
  env: string;
66
65
  output: string;
67
- noConsole: string;
68
66
  verbose: string;
69
67
  };
70
68
  };
@@ -12,7 +12,7 @@ export declare const ZH_LOCALE: {
12
12
  build: {
13
13
  describe: string;
14
14
  };
15
- start: {
15
+ serve: {
16
16
  describe: string;
17
17
  };
18
18
  deploy: {
@@ -28,7 +28,6 @@ export declare const ZH_LOCALE: {
28
28
  inspect: {
29
29
  env: string;
30
30
  output: string;
31
- noConsole: string;
32
31
  verbose: string;
33
32
  };
34
33
  };
@@ -0,0 +1,14 @@
1
+ export declare type ValidateSchema = {
2
+ target: string;
3
+ schema: any;
4
+ };
5
+ export declare class Schema extends Map<string, any> {
6
+ private schema;
7
+ constructor(baseSchema?: Record<string, any>);
8
+ setSchema(key: string, object: Record<string, any>): this;
9
+ set(key: string, value: any): this;
10
+ has(key: string): boolean;
11
+ get(key: string): any;
12
+ delete(key: string): boolean;
13
+ generate(): ValidateSchema[];
14
+ }
@@ -0,0 +1,4 @@
1
+ import { Schema } from './Schema';
2
+ declare const schema: Schema;
3
+ export { default as legacySchema } from './legacy';
4
+ export { schema };
@@ -0,0 +1,3 @@
1
+ import { Schema } from './Schema';
2
+ declare const schema: Schema;
3
+ export default schema;
@@ -0,0 +1,9 @@
1
+ export interface MicroFrontend {
2
+ enableHtmlEntry?: boolean;
3
+ externalBasicLibrary?: boolean;
4
+ moduleApp?: string;
5
+ }
6
+ export interface DeployUserConfig {
7
+ microFrontend?: boolean | MicroFrontend;
8
+ }
9
+ export declare type DeployNormalizedConfig = DeployUserConfig;
@@ -0,0 +1,13 @@
1
+ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ declare type BuilderDevConfig = Required<BuilderConfig>['dev'];
3
+ export declare type DevProxyOptions = string | Record<string, string>;
4
+ export interface DevUserConfig extends Omit<BuilderDevConfig, 'port'> {
5
+ /**
6
+ * The configuration of `dev.proxy` is provided by `proxy` plugin.
7
+ * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
8
+ * @requires `proxy` plugin
9
+ */
10
+ proxy?: string | Record<string, string>;
11
+ }
12
+ export declare type DevNormalizedConfig = DevUserConfig;
13
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ export declare type BuilderExperimentsConfig = Required<BuilderConfig>['experiments'];
3
+ export declare type ExperimentsUserConfig = BuilderExperimentsConfig;
4
+ export declare type ExperimentsNormalizedConfig = ExperimentsUserConfig;
@@ -0,0 +1,4 @@
1
+ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ export declare type BuilderHtmlConfig = Required<BuilderConfig>['html'];
3
+ export declare type HtmlUserConfig = BuilderHtmlConfig;
4
+ export declare type HtmlNormalizedConfig = HtmlUserConfig;
@@ -0,0 +1,66 @@
1
+ import type { UserConfig } from '@modern-js/core';
2
+ import type { ServerUserConfig, ServerNormalizedConfig, BffUserConfig, BffNormalizedConfig } from '@modern-js/server-core';
3
+ import type { BuilderPlugin } from '@modern-js/builder-webpack-provider';
4
+ import type { AppToolsHooks } from '../hooks';
5
+ import type { OutputNormalizedConfig, OutputUserConfig } from './output';
6
+ import type { SourceNormalizedConfig, SourceUserConfig } from './source';
7
+ import type { DevNormalizedConfig, DevUserConfig } from './dev';
8
+ import type { ToolsNormalizedConfig, ToolsUserConfig } from './tools';
9
+ import type { HtmlNormalizedConfig, HtmlUserConfig } from './html';
10
+ import type { SecurityNormalizedConfig, SecurityUserConfig } from './security';
11
+ import type { DeployNormalizedConfig, DeployUserConfig } from './deploy';
12
+ import type { ExperimentsUserConfig, ExperimentsNormalizedConfig } from './experiments';
13
+ import type { PerformanceNormalizedConfig, PerformanceUserConfig } from './performance';
14
+ export * from './output';
15
+ export interface RuntimeUserConfig {
16
+ [name: string]: any;
17
+ }
18
+ export interface RuntimeByEntriesUserConfig {
19
+ [name: string]: RuntimeUserConfig;
20
+ }
21
+ export declare type RuntimeNormalizedConfig = RuntimeUserConfig;
22
+ export declare type RuntimeByEntriesNormalizedConfig = RuntimeByEntriesUserConfig;
23
+ export interface AppToolsUserConfig {
24
+ source?: SourceUserConfig;
25
+ output?: OutputUserConfig;
26
+ server?: ServerUserConfig;
27
+ dev?: DevUserConfig;
28
+ deploy?: DeployUserConfig;
29
+ html?: HtmlUserConfig;
30
+ tools?: ToolsUserConfig;
31
+ runtime?: RuntimeUserConfig;
32
+ security?: SecurityUserConfig;
33
+ runtimeByEntries?: RuntimeByEntriesUserConfig;
34
+ performance?: PerformanceUserConfig;
35
+ experiments?: ExperimentsUserConfig;
36
+ builderPlugins?: BuilderPlugin[];
37
+ /**
38
+ * The configuration of `bff` is provided by `bff` plugin.
39
+ * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
40
+ * @requires `bff` plugin
41
+ */
42
+
43
+ bff?: BffUserConfig;
44
+ }
45
+ export declare type AppToolsNormalizedConfig = {
46
+ source: SourceNormalizedConfig;
47
+ bff: BffNormalizedConfig;
48
+ dev: DevNormalizedConfig;
49
+ deploy: DeployNormalizedConfig;
50
+ html: HtmlNormalizedConfig;
51
+ runtime: RuntimeNormalizedConfig;
52
+ runtimeByEntries: RuntimeByEntriesNormalizedConfig;
53
+ output: OutputNormalizedConfig;
54
+ security: SecurityNormalizedConfig;
55
+ server: ServerNormalizedConfig;
56
+ tools: ToolsNormalizedConfig;
57
+ performance: PerformanceNormalizedConfig;
58
+ experiments: ExperimentsNormalizedConfig;
59
+ builderPlugins: BuilderPlugin[];
60
+ cliOptions?: Record<string, any>;
61
+ _raw: UserConfig<{
62
+ hooks: AppToolsHooks;
63
+ userConfig: AppToolsUserConfig;
64
+ normalizedConfig: AppToolsNormalizedConfig;
65
+ }>;
66
+ };
@@ -0,0 +1,22 @@
1
+ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ export declare type BuilderOutputConfig = Required<BuilderConfig>['output'];
3
+ export interface OutputUserConfig extends BuilderOutputConfig {
4
+ ssg?: SSGConfig;
5
+ disableNodePolyfill?: boolean;
6
+ }
7
+ export declare type OutputNormalizedConfig = OutputUserConfig;
8
+ export declare type SSGRouteOptions = string | {
9
+ url: string;
10
+ output?: string;
11
+ params?: Record<string, any>[];
12
+ headers?: Record<string, any>;
13
+ };
14
+ export declare type SSGSingleEntryOptions = boolean | {
15
+ preventDefault?: string[];
16
+ headers?: Record<string, any>;
17
+ routes?: SSGRouteOptions[];
18
+ };
19
+ export declare type SSGMultiEntryOptions = Record<string, SSGSingleEntryOptions>;
20
+ export declare type SSGConfig = boolean | SSGSingleEntryOptions | SSGMultiEntryOptions | ((entryName: string, payload: {
21
+ baseUrl?: string;
22
+ }) => SSGSingleEntryOptions);
@@ -0,0 +1,4 @@
1
+ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ export declare type BuilderPerformanceConfig = Required<BuilderConfig>['performance'];
3
+ export declare type PerformanceUserConfig = BuilderPerformanceConfig;
4
+ export declare type PerformanceNormalizedConfig = PerformanceUserConfig;
@@ -0,0 +1,4 @@
1
+ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ export declare type BuilderSecurityConfig = Required<BuilderConfig>['security'];
3
+ export declare type SecurityUserConfig = BuilderSecurityConfig;
4
+ export declare type SecurityNormalizedConfig = SecurityUserConfig;
@@ -0,0 +1,24 @@
1
+ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ export declare type BuilderSourceConfig = Required<BuilderConfig>['source'];
3
+ export declare type Entry = string | {
4
+ entry: string;
5
+ disableMount?: boolean;
6
+ customBootstrap?: string;
7
+ };
8
+ export declare type Entries = Record<string, Entry>;
9
+ export interface SourceUserConfig extends BuilderSourceConfig {
10
+ entries?: Entries;
11
+ enableAsyncEntry?: boolean;
12
+ disableDefaultEntries?: boolean;
13
+ entriesDir?: string;
14
+ disableEntryDirs?: string[];
15
+ configDir?: string;
16
+ /**
17
+ * The configuration of `source.designSystem` is provided by `tailwindcss` plugin.
18
+ * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
19
+ * @requires `tailwindcss` plugin
20
+ */
21
+
22
+ designSystem?: Record<string, any>;
23
+ }
24
+ export declare type SourceNormalizedConfig = SourceUserConfig;
@@ -0,0 +1,24 @@
1
+ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ import type { JestConfig } from '@modern-js/core';
3
+ import type { PluginSwcOptions } from '@modern-js/builder-plugin-swc';
4
+ import type { PluginEsbuildOptions } from '@modern-js/builder-plugin-esbuild';
5
+ export declare type BuilderToolsConfig = Required<BuilderConfig>['tools'];
6
+ /**
7
+ * The configuration of `tools.tailwindcss` is provided by `tailwindcss` plugin.
8
+ * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
9
+ * @requires `tailwindcss` plugin
10
+ */
11
+
12
+ export declare type Tailwindcss = Record<string, any> | ((options: Record<string, any>) => Record<string, any> | void);
13
+ export interface ToolsUserConfig extends BuilderToolsConfig {
14
+ tailwindcss?: Tailwindcss;
15
+ jest?: JestConfig | ((jestConfig: JestConfig) => JestConfig);
16
+ esbuild?: PluginEsbuildOptions;
17
+ /**
18
+ * The configuration of `swc` is provided by `swc` plugin.
19
+ * @requires `swc` plugin
20
+ */
21
+
22
+ swc?: PluginSwcOptions;
23
+ }
24
+ export declare type ToolsNormalizedConfig = ToolsUserConfig;