@bleedingdev/modern-js-app-tools 3.5.0-ultramodern.98 → 3.5.0-ultramodern.99

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 (368) hide show
  1. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +5 -1
  2. package/dist/cjs/builder/generator/getBuilderEnvironments.js +7 -0
  3. package/dist/cjs/commands/build.js +2 -1
  4. package/dist/cjs/commands/deploy.js +4 -2
  5. package/dist/cjs/commands/index.js +0 -4
  6. package/dist/cjs/config/default.js +2 -0
  7. package/dist/cjs/index.js +56 -15
  8. package/dist/cjs/plugins/analyze/index.js +2 -2
  9. package/dist/cjs/plugins/analyze/utils.js +3 -2
  10. package/dist/cjs/plugins/initialize/index.js +4 -3
  11. package/dist/cjs/plugins/serverBuild.js +3 -2
  12. package/dist/esm/builder/generator/createBuilderProviderConfig.mjs +5 -1
  13. package/dist/esm/builder/generator/getBuilderEnvironments.mjs +7 -0
  14. package/dist/esm/commands/build.mjs +2 -1
  15. package/dist/esm/commands/deploy.mjs +4 -2
  16. package/dist/esm/commands/index.mjs +0 -4
  17. package/dist/esm/config/default.mjs +2 -0
  18. package/dist/esm/index.mjs +15 -1
  19. package/dist/esm/plugins/analyze/index.mjs +2 -2
  20. package/dist/esm/plugins/analyze/utils.mjs +3 -2
  21. package/dist/esm/plugins/initialize/index.mjs +4 -3
  22. package/dist/esm/plugins/serverBuild.mjs +3 -2
  23. package/dist/esm-node/builder/generator/createBuilderProviderConfig.mjs +5 -1
  24. package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +7 -0
  25. package/dist/esm-node/commands/build.mjs +2 -1
  26. package/dist/esm-node/commands/deploy.mjs +4 -2
  27. package/dist/esm-node/commands/index.mjs +0 -4
  28. package/dist/esm-node/config/default.mjs +2 -0
  29. package/dist/esm-node/index.mjs +15 -1
  30. package/dist/esm-node/plugins/analyze/index.mjs +2 -2
  31. package/dist/esm-node/plugins/analyze/utils.mjs +3 -2
  32. package/dist/esm-node/plugins/initialize/index.mjs +4 -3
  33. package/dist/esm-node/plugins/serverBuild.mjs +3 -2
  34. package/dist/types/commands/deploy.d.ts +2 -1
  35. package/dist/types/index.d.ts +4 -1
  36. package/dist/types/plugins/analyze/utils.d.ts +1 -1
  37. package/dist/types/types/config/dev.d.ts +6 -0
  38. package/docs/_nav.json +36 -0
  39. package/docs/apis/_meta.json +13 -0
  40. package/docs/apis/app/commands.mdx +205 -0
  41. package/docs/apis/app/hooks/_meta.json +28 -0
  42. package/docs/apis/app/hooks/api/lambda.mdx +13 -0
  43. package/docs/apis/app/hooks/config/_meta.json +1 -0
  44. package/docs/apis/app/hooks/config/favicon.mdx +29 -0
  45. package/docs/apis/app/hooks/config/html.mdx +9 -0
  46. package/docs/apis/app/hooks/config/icon.mdx +29 -0
  47. package/docs/apis/app/hooks/config/mock.mdx +10 -0
  48. package/docs/apis/app/hooks/config/public.mdx +30 -0
  49. package/docs/apis/app/hooks/config/upload.mdx +54 -0
  50. package/docs/apis/app/hooks/modern-config.mdx +9 -0
  51. package/docs/apis/app/hooks/server/server.mdx +10 -0
  52. package/docs/apis/app/hooks/shared.mdx +7 -0
  53. package/docs/apis/app/hooks/src/app.mdx +30 -0
  54. package/docs/apis/app/hooks/src/entry.mdx +39 -0
  55. package/docs/apis/app/hooks/src/entry.server.mdx +56 -0
  56. package/docs/apis/app/hooks/src/modern.runtime.mdx +9 -0
  57. package/docs/apis/app/hooks/src/routes.mdx +90 -0
  58. package/docs/apis/app/hooks/src/server.mdx +7 -0
  59. package/docs/apis/app/runtime/_meta.json +32 -0
  60. package/docs/apis/app/runtime/bff/use-backend-context.mdx +30 -0
  61. package/docs/apis/app/runtime/core/create-root.mdx +22 -0
  62. package/docs/apis/app/runtime/core/render.mdx +42 -0
  63. package/docs/apis/app/runtime/core/runtime-context.mdx +160 -0
  64. package/docs/apis/app/runtime/router/router.mdx +288 -0
  65. package/docs/apis/app/runtime/ssr/no-ssr.mdx +38 -0
  66. package/docs/apis/app/runtime/ssr/renderStreaming.mdx +71 -0
  67. package/docs/apis/app/runtime/ssr/renderString.mdx +64 -0
  68. package/docs/apis/app/runtime/ssr/requestHandler.mdx +48 -0
  69. package/docs/apis/app/runtime/utility/css-in-js.mdx +44 -0
  70. package/docs/apis/app/runtime/utility/head.mdx +38 -0
  71. package/docs/apis/app/runtime/utility/loadable.mdx +85 -0
  72. package/docs/components/auto-upgrade.mdx +0 -0
  73. package/docs/components/bff-upload.mdx +97 -0
  74. package/docs/components/build-output.mdx +45 -0
  75. package/docs/components/bundler.mdx +3 -0
  76. package/docs/components/convention-routing-motivation.mdx +0 -0
  77. package/docs/components/debug-app.mdx +15 -0
  78. package/docs/components/default-browserslist.mdx +7 -0
  79. package/docs/components/deploy-command.mdx +14 -0
  80. package/docs/components/deploy.mdx +1 -0
  81. package/docs/components/enable-bff-caution.mdx +3 -0
  82. package/docs/components/enable-bff.mdx +56 -0
  83. package/docs/components/enable-ssg.mdx +49 -0
  84. package/docs/components/entry-mode.mdx +0 -0
  85. package/docs/components/entry-scan-logic.mdx +7 -0
  86. package/docs/components/extend-bff-function.mdx +3 -0
  87. package/docs/components/hono.mdx +120 -0
  88. package/docs/components/init-app.mdx +93 -0
  89. package/docs/components/init-rspack-app.mdx +5 -0
  90. package/docs/components/internal-logger.mdx +25 -0
  91. package/docs/components/internal-metrics.mdx +20 -0
  92. package/docs/components/international/custom-instance-code.mdx +16 -0
  93. package/docs/components/international/init-options-desc.mdx +1 -0
  94. package/docs/components/international/install-command.mdx +10 -0
  95. package/docs/components/international/instance-code.mdx +16 -0
  96. package/docs/components/international/introduce.mdx +5 -0
  97. package/docs/components/international/platform-support.mdx +0 -0
  98. package/docs/components/language-config.mdx +9 -0
  99. package/docs/components/micro-frontend.mdx +6 -0
  100. package/docs/components/micro-master-manifest-config.mdx +15 -0
  101. package/docs/components/micro-runtime-config.mdx +17 -0
  102. package/docs/components/module-federation.mdx +7 -0
  103. package/docs/components/new-entry-tooltip.mdx +0 -0
  104. package/docs/components/nodeVersion.mdx +28 -0
  105. package/docs/components/other-plugins.mdx +0 -0
  106. package/docs/components/output-asset-prefix-extend.mdx +0 -0
  107. package/docs/components/output-distpath-warning.mdx +0 -0
  108. package/docs/components/output-polyfill-extend.mdx +1 -0
  109. package/docs/components/prerequisites.mdx +18 -0
  110. package/docs/components/release-note.mdx +1 -0
  111. package/docs/components/routes-practice.mdx +0 -0
  112. package/docs/components/rsbuild-config-tooltip.mdx +5 -0
  113. package/docs/components/rsbuild.mdx +3 -0
  114. package/docs/components/rsc-deploy-tip.mdx +1 -0
  115. package/docs/components/rspack.mdx +3 -0
  116. package/docs/components/rspackTip.mdx +7 -0
  117. package/docs/components/runtime-cli-config.mdx +0 -0
  118. package/docs/components/serve-command.mdx +22 -0
  119. package/docs/components/ssr-monitor.mdx +3 -0
  120. package/docs/components/stream-ssr-performance.mdx +0 -0
  121. package/docs/components/swc.mdx +3 -0
  122. package/docs/components/tech-stack-node-framework.mdx +1 -0
  123. package/docs/components/turtorials-example-list.mdx +2 -0
  124. package/docs/components/ua-polyfill.mdx +44 -0
  125. package/docs/components/upgrade-browserslist.mdx +0 -0
  126. package/docs/components/upgrade-config-deploy.mdx +0 -0
  127. package/docs/components/upgrade-faq.mdx +0 -0
  128. package/docs/configure/_meta.json +78 -0
  129. package/docs/configure/app/bff/cross-project.mdx +24 -0
  130. package/docs/configure/app/bff/effect.mdx +319 -0
  131. package/docs/configure/app/bff/prefix.mdx +33 -0
  132. package/docs/configure/app/bff/runtime-framework.mdx +30 -0
  133. package/docs/configure/app/builder-plugins.mdx +70 -0
  134. package/docs/configure/app/dev/asset-prefix.mdx +18 -0
  135. package/docs/configure/app/dev/before-start-url.mdx +21 -0
  136. package/docs/configure/app/dev/client.mdx +45 -0
  137. package/docs/configure/app/dev/hmr.mdx +14 -0
  138. package/docs/configure/app/dev/host.mdx +22 -0
  139. package/docs/configure/app/dev/https.mdx +81 -0
  140. package/docs/configure/app/dev/lazy-compilation.mdx +45 -0
  141. package/docs/configure/app/dev/live-reload.mdx +14 -0
  142. package/docs/configure/app/dev/mock-dir.mdx +35 -0
  143. package/docs/configure/app/dev/progress-bar.mdx +23 -0
  144. package/docs/configure/app/dev/server.mdx +128 -0
  145. package/docs/configure/app/dev/setup-middlewares.mdx +36 -0
  146. package/docs/configure/app/dev/start-url.mdx +53 -0
  147. package/docs/configure/app/dev/watch-files.mdx +31 -0
  148. package/docs/configure/app/dev/write-to-disk.mdx +14 -0
  149. package/docs/configure/app/experiments/source-build.mdx +33 -0
  150. package/docs/configure/app/html/app-icon.mdx +32 -0
  151. package/docs/configure/app/html/crossorigin.mdx +14 -0
  152. package/docs/configure/app/html/favicon.mdx +20 -0
  153. package/docs/configure/app/html/inject.mdx +14 -0
  154. package/docs/configure/app/html/meta.mdx +28 -0
  155. package/docs/configure/app/html/mount-id.mdx +14 -0
  156. package/docs/configure/app/html/output-structure.mdx +14 -0
  157. package/docs/configure/app/html/script-loading.mdx +14 -0
  158. package/docs/configure/app/html/tags.mdx +19 -0
  159. package/docs/configure/app/html/template-parameters.mdx +37 -0
  160. package/docs/configure/app/html/template.mdx +14 -0
  161. package/docs/configure/app/html/title.mdx +22 -0
  162. package/docs/configure/app/output/asset-prefix.mdx +18 -0
  163. package/docs/configure/app/output/assets-retry.mdx +81 -0
  164. package/docs/configure/app/output/charset.mdx +14 -0
  165. package/docs/configure/app/output/clean-dist-path.mdx +20 -0
  166. package/docs/configure/app/output/convert-to-rem.mdx +83 -0
  167. package/docs/configure/app/output/copy.mdx +14 -0
  168. package/docs/configure/app/output/css-modules.mdx +52 -0
  169. package/docs/configure/app/output/data-uri-limit.mdx +30 -0
  170. package/docs/configure/app/output/disable-css-module-extension.mdx +59 -0
  171. package/docs/configure/app/output/disable-inline-runtime-chunk.mdx +45 -0
  172. package/docs/configure/app/output/disable-svgr.mdx +22 -0
  173. package/docs/configure/app/output/disable-ts-checker.mdx +53 -0
  174. package/docs/configure/app/output/dist-path.mdx +51 -0
  175. package/docs/configure/app/output/enable-asset-manifest.mdx +40 -0
  176. package/docs/configure/app/output/enable-css-module-tsdeclaration.mdx +32 -0
  177. package/docs/configure/app/output/enable-inline-route-manifests.mdx +20 -0
  178. package/docs/configure/app/output/externals.mdx +24 -0
  179. package/docs/configure/app/output/filename-hash.mdx +14 -0
  180. package/docs/configure/app/output/filename.mdx +59 -0
  181. package/docs/configure/app/output/inject-styles.mdx +14 -0
  182. package/docs/configure/app/output/inline-scripts.mdx +33 -0
  183. package/docs/configure/app/output/inline-styles.mdx +33 -0
  184. package/docs/configure/app/output/legal-comments.mdx +22 -0
  185. package/docs/configure/app/output/minify.mdx +26 -0
  186. package/docs/configure/app/output/override-browserslist.mdx +26 -0
  187. package/docs/configure/app/output/polyfill.mdx +18 -0
  188. package/docs/configure/app/output/source-map.mdx +34 -0
  189. package/docs/configure/app/output/split-route-chunks.mdx +20 -0
  190. package/docs/configure/app/output/ssg.mdx +85 -0
  191. package/docs/configure/app/output/ssgByEntries.mdx +93 -0
  192. package/docs/configure/app/output/svg-default-export.mdx +34 -0
  193. package/docs/configure/app/output/temp-dir.mdx +24 -0
  194. package/docs/configure/app/performance/build-cache.mdx +48 -0
  195. package/docs/configure/app/performance/chunk-split.mdx +44 -0
  196. package/docs/configure/app/performance/dns-prefetch.mdx +19 -0
  197. package/docs/configure/app/performance/preconnect.mdx +20 -0
  198. package/docs/configure/app/performance/prefetch.mdx +25 -0
  199. package/docs/configure/app/performance/preload.mdx +27 -0
  200. package/docs/configure/app/performance/print-file-size.mdx +44 -0
  201. package/docs/configure/app/performance/profile.mdx +14 -0
  202. package/docs/configure/app/performance/remove-console.mdx +14 -0
  203. package/docs/configure/app/performance/remove-moment-locale.mdx +14 -0
  204. package/docs/configure/app/performance/rsdoctor.mdx +42 -0
  205. package/docs/configure/app/plugins.mdx +59 -0
  206. package/docs/configure/app/resolve/alias-strategy.mdx +14 -0
  207. package/docs/configure/app/resolve/alias.mdx +13 -0
  208. package/docs/configure/app/resolve/condition-names.mdx +18 -0
  209. package/docs/configure/app/resolve/dedupe.mdx +13 -0
  210. package/docs/configure/app/resolve/extensions.mdx +18 -0
  211. package/docs/configure/app/runtime/0-intro.mdx +61 -0
  212. package/docs/configure/app/runtime/plugins.mdx +58 -0
  213. package/docs/configure/app/runtime/router.mdx +39 -0
  214. package/docs/configure/app/security/check-syntax.mdx +73 -0
  215. package/docs/configure/app/security/nonce.mdx +19 -0
  216. package/docs/configure/app/security/sri.mdx +24 -0
  217. package/docs/configure/app/server/base-url.mdx +30 -0
  218. package/docs/configure/app/server/port.mdx +22 -0
  219. package/docs/configure/app/server/public-routes.mdx +26 -0
  220. package/docs/configure/app/server/routes.mdx +90 -0
  221. package/docs/configure/app/server/rsc.mdx +30 -0
  222. package/docs/configure/app/server/ssr-by-entries.mdx +29 -0
  223. package/docs/configure/app/server/ssr.mdx +85 -0
  224. package/docs/configure/app/server/tsconfig-path.mdx +63 -0
  225. package/docs/configure/app/source/alias-strategy.mdx +18 -0
  226. package/docs/configure/app/source/alias.mdx +27 -0
  227. package/docs/configure/app/source/config-dir.mdx +24 -0
  228. package/docs/configure/app/source/decorators.mdx +29 -0
  229. package/docs/configure/app/source/define.mdx +20 -0
  230. package/docs/configure/app/source/disable-default-entries.mdx +32 -0
  231. package/docs/configure/app/source/enable-async-entry.mdx +54 -0
  232. package/docs/configure/app/source/enable-async-pre-entry.mdx +30 -0
  233. package/docs/configure/app/source/entries-dir.mdx +39 -0
  234. package/docs/configure/app/source/entries.mdx +183 -0
  235. package/docs/configure/app/source/exclude.mdx +14 -0
  236. package/docs/configure/app/source/global-vars.mdx +110 -0
  237. package/docs/configure/app/source/include.mdx +40 -0
  238. package/docs/configure/app/source/main-entry-name.mdx +28 -0
  239. package/docs/configure/app/source/pre-entry.mdx +14 -0
  240. package/docs/configure/app/source/react-compiler.mdx +72 -0
  241. package/docs/configure/app/source/transform-import.mdx +31 -0
  242. package/docs/configure/app/split-chunks.mdx +17 -0
  243. package/docs/configure/app/tools/autoprefixer.mdx +48 -0
  244. package/docs/configure/app/tools/bundler-chain.mdx +30 -0
  245. package/docs/configure/app/tools/css-extract.mdx +37 -0
  246. package/docs/configure/app/tools/css-loader.mdx +21 -0
  247. package/docs/configure/app/tools/dev-server.mdx +117 -0
  248. package/docs/configure/app/tools/html-plugin.mdx +45 -0
  249. package/docs/configure/app/tools/less.mdx +85 -0
  250. package/docs/configure/app/tools/lightningcss-loader.mdx +39 -0
  251. package/docs/configure/app/tools/minify-css.mdx +57 -0
  252. package/docs/configure/app/tools/postcss.mdx +38 -0
  253. package/docs/configure/app/tools/rspack.mdx +14 -0
  254. package/docs/configure/app/tools/sass.mdx +82 -0
  255. package/docs/configure/app/tools/style-loader.mdx +14 -0
  256. package/docs/configure/app/tools/swc.mdx +69 -0
  257. package/docs/configure/app/tools/ts-checker.mdx +103 -0
  258. package/docs/configure/app/usage.mdx +276 -0
  259. package/docs/guides/_meta.json +37 -0
  260. package/docs/guides/advanced-features/_meta.json +32 -0
  261. package/docs/guides/advanced-features/bff/_meta.json +10 -0
  262. package/docs/guides/advanced-features/bff/cross-project.mdx +110 -0
  263. package/docs/guides/advanced-features/bff/data-platform.mdx +120 -0
  264. package/docs/guides/advanced-features/bff/extend-server.mdx +120 -0
  265. package/docs/guides/advanced-features/bff/frameworks.mdx +131 -0
  266. package/docs/guides/advanced-features/bff/function.mdx +265 -0
  267. package/docs/guides/advanced-features/bff/operators.mdx +629 -0
  268. package/docs/guides/advanced-features/bff/sdk.mdx +116 -0
  269. package/docs/guides/advanced-features/bff/upload.mdx +7 -0
  270. package/docs/guides/advanced-features/bff.mdx +22 -0
  271. package/docs/guides/advanced-features/build-performance.mdx +134 -0
  272. package/docs/guides/advanced-features/compatibility.mdx +81 -0
  273. package/docs/guides/advanced-features/international/_meta.json +10 -0
  274. package/docs/guides/advanced-features/international/advanced.mdx +132 -0
  275. package/docs/guides/advanced-features/international/api.mdx +271 -0
  276. package/docs/guides/advanced-features/international/best-practices.mdx +290 -0
  277. package/docs/guides/advanced-features/international/configuration.mdx +222 -0
  278. package/docs/guides/advanced-features/international/locale-detection.mdx +130 -0
  279. package/docs/guides/advanced-features/international/quick-start.mdx +112 -0
  280. package/docs/guides/advanced-features/international/resource-loading.mdx +158 -0
  281. package/docs/guides/advanced-features/international/routing.mdx +177 -0
  282. package/docs/guides/advanced-features/international.mdx +29 -0
  283. package/docs/guides/advanced-features/low-level.mdx +50 -0
  284. package/docs/guides/advanced-features/page-performance/_meta.json +1 -0
  285. package/docs/guides/advanced-features/page-performance/code-split.mdx +81 -0
  286. package/docs/guides/advanced-features/page-performance/inline-assets.mdx +163 -0
  287. package/docs/guides/advanced-features/page-performance/optimize-bundle.mdx +101 -0
  288. package/docs/guides/advanced-features/page-performance/react-compiler.mdx +51 -0
  289. package/docs/guides/advanced-features/server-monitor/_meta.json +1 -0
  290. package/docs/guides/advanced-features/server-monitor/logger.mdx +19 -0
  291. package/docs/guides/advanced-features/server-monitor/metrics.mdx +41 -0
  292. package/docs/guides/advanced-features/server-monitor/monitors.mdx +242 -0
  293. package/docs/guides/advanced-features/source-build.mdx +168 -0
  294. package/docs/guides/advanced-features/web-server.mdx +296 -0
  295. package/docs/guides/basic-features/_meta.json +49 -0
  296. package/docs/guides/basic-features/alias.mdx +106 -0
  297. package/docs/guides/basic-features/css/_meta.json +1 -0
  298. package/docs/guides/basic-features/css/css-in-js.mdx +69 -0
  299. package/docs/guides/basic-features/css/css-modules.mdx +212 -0
  300. package/docs/guides/basic-features/css/css.mdx +31 -0
  301. package/docs/guides/basic-features/css/tailwindcss.mdx +27 -0
  302. package/docs/guides/basic-features/data/_meta.json +1 -0
  303. package/docs/guides/basic-features/data/data-cache.mdx +515 -0
  304. package/docs/guides/basic-features/data/data-fetch.mdx +419 -0
  305. package/docs/guides/basic-features/data/data-write.mdx +230 -0
  306. package/docs/guides/basic-features/debug/_meta.json +1 -0
  307. package/docs/guides/basic-features/debug/mock.mdx +113 -0
  308. package/docs/guides/basic-features/debug/proxy.mdx +25 -0
  309. package/docs/guides/basic-features/debug/rsdoctor.mdx +47 -0
  310. package/docs/guides/basic-features/debug/using-storybook.mdx +100 -0
  311. package/docs/guides/basic-features/deploy.mdx +448 -0
  312. package/docs/guides/basic-features/env-vars.mdx +181 -0
  313. package/docs/guides/basic-features/html.mdx +259 -0
  314. package/docs/guides/basic-features/output-files.mdx +145 -0
  315. package/docs/guides/basic-features/render/_meta.json +1 -0
  316. package/docs/guides/basic-features/render/before-render.mdx +108 -0
  317. package/docs/guides/basic-features/render/overview.mdx +51 -0
  318. package/docs/guides/basic-features/render/rsc.mdx +533 -0
  319. package/docs/guides/basic-features/render/ssg.mdx +167 -0
  320. package/docs/guides/basic-features/render/ssr-cache.mdx +201 -0
  321. package/docs/guides/basic-features/render/ssr.mdx +323 -0
  322. package/docs/guides/basic-features/render/streaming-ssr.mdx +267 -0
  323. package/docs/guides/basic-features/routes/_meta.json +1 -0
  324. package/docs/guides/basic-features/routes/config-routes.mdx +427 -0
  325. package/docs/guides/basic-features/routes/routes.mdx +532 -0
  326. package/docs/guides/basic-features/static-assets/_meta.json +1 -0
  327. package/docs/guides/basic-features/static-assets/json-files.mdx +124 -0
  328. package/docs/guides/basic-features/static-assets/svg-assets.mdx +172 -0
  329. package/docs/guides/basic-features/static-assets/wasm-assets.mdx +66 -0
  330. package/docs/guides/basic-features/static-assets.mdx +164 -0
  331. package/docs/guides/basic-features/testing/_meta.json +1 -0
  332. package/docs/guides/basic-features/testing/playwright.mdx +111 -0
  333. package/docs/guides/basic-features/testing/rstest.mdx +192 -0
  334. package/docs/guides/concept/_meta.json +1 -0
  335. package/docs/guides/concept/builder.mdx +60 -0
  336. package/docs/guides/concept/entries.mdx +325 -0
  337. package/docs/guides/concept/server.mdx +35 -0
  338. package/docs/guides/get-started/_meta.json +9 -0
  339. package/docs/guides/get-started/ai-coding-agents.mdx +63 -0
  340. package/docs/guides/get-started/glossary.mdx +63 -0
  341. package/docs/guides/get-started/introduction.mdx +45 -0
  342. package/docs/guides/get-started/quick-start.mdx +92 -0
  343. package/docs/guides/get-started/tech-stack.mdx +97 -0
  344. package/docs/guides/get-started/ultramodern.mdx +433 -0
  345. package/docs/guides/get-started/upgrade.mdx +114 -0
  346. package/docs/guides/topic-detail/_meta.json +8 -0
  347. package/docs/guides/topic-detail/module-federation/_meta.json +1 -0
  348. package/docs/guides/topic-detail/module-federation/application.mdx +116 -0
  349. package/docs/guides/topic-detail/module-federation/deploy.mdx +104 -0
  350. package/docs/guides/topic-detail/module-federation/i18n.mdx +670 -0
  351. package/docs/guides/topic-detail/module-federation/introduce.mdx +36 -0
  352. package/docs/guides/topic-detail/module-federation/ssr.mdx +177 -0
  353. package/docs/guides/topic-detail/module-federation/usage.mdx +202 -0
  354. package/docs/guides/troubleshooting/_meta.json +1 -0
  355. package/docs/guides/troubleshooting/builder.mdx +114 -0
  356. package/docs/guides/troubleshooting/cli.mdx +39 -0
  357. package/docs/guides/troubleshooting/dependencies.mdx +123 -0
  358. package/docs/guides/troubleshooting/hmr.mdx +148 -0
  359. package/docs/guides/upgrade/_meta.json +1 -0
  360. package/docs/guides/upgrade/config.mdx +951 -0
  361. package/docs/guides/upgrade/entry.mdx +463 -0
  362. package/docs/guides/upgrade/other.mdx +183 -0
  363. package/docs/guides/upgrade/overview.mdx +33 -0
  364. package/docs/guides/upgrade/tailwindcss.mdx +92 -0
  365. package/docs/guides/upgrade/web-server.md +109 -0
  366. package/docs/index.md +4 -0
  367. package/package.json +43 -20
  368. package/scripts/copy-main-doc.mjs +50 -0
@@ -0,0 +1,92 @@
1
+ # Tailwind Plugin Changes
2
+
3
+ Modern.js 3.0 recommends integrating Tailwind CSS through Rsbuild's native approach, no longer relying on the `@modern-js/plugin-tailwindcss` plugin, to fully utilize Rsbuild's more flexible configuration capabilities and better build experience.
4
+
5
+ ## Migration Steps
6
+
7
+ The migration operations in this section are only required if the project uses the `@modern-js/plugin-tailwindcss` plugin and the `tailwindcss` version is v2 or v3.
8
+
9
+ ### 1. Remove Old Plugin
10
+
11
+ Remove the `@modern-js/plugin-tailwindcss` dependency and configuration.
12
+
13
+ **2.0 Version:**
14
+
15
+ ```ts title="modern.config.ts"
16
+ import { defineConfig } from '@modern-js/app-tools';
17
+ import tailwindcssPlugin from '@modern-js/plugin-tailwindcss';
18
+
19
+ export default defineConfig({
20
+ plugins: [tailwindcssPlugin()],
21
+ });
22
+ ```
23
+
24
+ **3.0 Version:**
25
+
26
+ ```ts title="modern.config.ts"
27
+ import { defineConfig } from '@modern-js/app-tools';
28
+
29
+ export default defineConfig({
30
+ plugins: [],
31
+ });
32
+ ```
33
+
34
+ Also remove the `@modern-js/plugin-tailwindcss` dependency from `package.json`.
35
+
36
+ ### 2. Configure PostCSS
37
+
38
+ Create or update the `postcss.config.cjs` file.
39
+
40
+ ```js title="postcss.config.cjs"
41
+ module.exports = {
42
+ plugins: {
43
+ tailwindcss: {},
44
+ },
45
+ };
46
+ ```
47
+
48
+ ### 3. Tailwind CSS Configuration Migration
49
+
50
+ **Single Configuration Case**:
51
+
52
+ - If only configured in `tailwind.config.{ts,js}`, no additional processing is needed
53
+ - If only configured in `modern.config.ts`, you need to migrate Tailwind-related configurations to `tailwind.config.{ts,js}`
54
+
55
+ **Dual Configuration Case**:
56
+
57
+ If both `tailwind.config.{ts,js}` and `modern.config.ts` have configurations, you need to merge the configurations from both and migrate the merged configuration to `tailwind.config.{ts,js}`.
58
+
59
+ **Special Directory Handling**:
60
+
61
+ If the project has storybook or config/html directories, you need to add them to the `content` in `tailwind.config.{ts,js}`:
62
+
63
+ ```ts title="tailwind.config.ts"
64
+ export default {
65
+ content: [
66
+ './src/**/*.{js,jsx,ts,tsx}',
67
+ './storybook/**/*', // If storybook directory exists
68
+ './config/html/**/*.{html,ejs,hbs}', // If config/html directory exists
69
+ ],
70
+ };
71
+ ```
72
+
73
+ ### 4. CSS Style Import
74
+
75
+ Change the CSS import method to the `@tailwind` directive approach.
76
+
77
+ **2.0 Version:**
78
+
79
+ ```css
80
+ @import 'tailwindcss/base.css';
81
+ @import 'tailwindcss/components.css';
82
+ @import 'tailwindcss/utilities.css';
83
+ ```
84
+
85
+ **3.0 Version:**
86
+
87
+ ```css
88
+ @tailwind base;
89
+ @tailwind components;
90
+ @tailwind utilities;
91
+ ```
92
+
@@ -0,0 +1,109 @@
1
+ # Custom Web Server Changes
2
+
3
+ This chapter covers upgrades for two types of legacy custom Server APIs:
4
+
5
+ - **unstableMiddleware**
6
+ - **Hook**
7
+
8
+ These two approaches are mutually exclusive in the legacy version. When migrating, please choose the corresponding path based on the capabilities actually used in the project.
9
+
10
+ ## unstableMiddleware
11
+
12
+ ### Core Differences
13
+
14
+ - **File Structure**: `server/index.ts` → `server/modern.server.ts`
15
+ - **Export Method**: `unstableMiddleware` array → `defineServerConfig`
16
+ - **Context API**: Modern.js Server Context → Hono Context (`c.req`/`c.res`)
17
+ - **Middleware Execution**: Legacy version could skip calling `next()`, new version must call it for subsequent chain execution
18
+ - **Response Method**: `c.response.raw()` → `c.text()` / `c.json()`
19
+
20
+ ### File and Export
21
+
22
+ ```typescript
23
+ // Legacy - server/index.ts
24
+ export const unstableMiddleware: UnstableMiddleware[] = [middleware1, middleware2];
25
+
26
+ // New - server/modern.server.ts
27
+ import { defineServerConfig } from '@modern-js/server-runtime';
28
+
29
+ export default defineServerConfig({
30
+ middlewares: [
31
+ { name: 'middleware1', handler: middleware1 },
32
+ { name: 'middleware2', handler: middleware2 },
33
+ ],
34
+ });
35
+ ```
36
+
37
+ ### Type and next Call
38
+
39
+ ```typescript
40
+ // Legacy
41
+ import type { UnstableMiddleware, UnstableMiddlewareContext } from '@modern-js/server-runtime';
42
+ const middleware: UnstableMiddleware = async (c: UnstableMiddlewareContext, next) => {
43
+ return c.response.raw('response'); // Will continue rendering even without calling next
44
+ };
45
+
46
+ // New
47
+ import { defineServerConfig, type MiddlewareHandler } from '@modern-js/server-runtime';
48
+ const middleware: MiddlewareHandler = async (c, next) => {
49
+ await next(); // Must call
50
+ return c.text('response');
51
+ };
52
+ ```
53
+
54
+ ### Context API Comparison
55
+
56
+ | Legacy API | New API | Description |
57
+ | -------------------- | ---------------------- | ------------- |
58
+ | `c.request.cookie` | `getCookie(c, 'key')` | Cookie reading |
59
+ | `c.req.cookie()` | `getCookie(c, 'key')` | Hono v4 deprecated |
60
+ | `c.request.pathname` | `c.req.path` | Request path |
61
+ | `c.request.host` | `c.req.header('Host')` | Request host |
62
+ | `c.request.query` | `c.req.query()` | Query parameters |
63
+ | `c.request.headers` | `c.req.header()` | Request headers |
64
+ | `c.response.status` | `c.status()` | Response status code |
65
+ | `c.response.set` | `c.res.headers.set` | Set response headers |
66
+ | `c.response.raw` | `c.text` / `c.json` | Response body |
67
+
68
+ ## afterRender Hook
69
+
70
+ The `afterRender` Hook is used to process HTML after page rendering is complete. In the new version, you need to use `renderMiddlewares` to achieve the same functionality.
71
+
72
+ ### Core Differences
73
+
74
+ - **File Structure**: `server/index.ts` → `server/modern.server.ts`
75
+ - **Export Method**: `afterRender` in `hook` object → `renderMiddlewares` in `defineServerConfig`
76
+ - **Processing Method**: Direct HTML string modification → Get and modify response through middleware
77
+
78
+ ### Migration Example
79
+
80
+ ```typescript
81
+ // Legacy - server/index.ts
82
+ export const afterRender = (ctx, next) => {
83
+ ctx.template = ctx.template
84
+ .replace('<head>', '<head><meta name="author" content="ByteDance">')
85
+ .replace('<body>', '<body><div id="loading">Loading...</div>')
86
+ .replace('</body>', '<script>console.log("Page loaded")</script></body>');
87
+ next();
88
+ };
89
+
90
+ // New - server/modern.server.ts
91
+ import { defineServerConfig, type MiddlewareHandler } from '@modern-js/server-runtime';
92
+
93
+ const renderMiddleware: MiddlewareHandler = async (c, next) => {
94
+ await next(); // Wait for page rendering first
95
+ const { res } = c;
96
+ const html = await res.text();
97
+
98
+ const modified = html
99
+ .replace('<head>', '<head><meta name="author" content="ByteDance">')
100
+ .replace('<body>', '<body><div id="loading">Loading...</div>')
101
+ .replace('</body>', '<script>console.log("Page loaded")</script></body>');
102
+
103
+ c.res = c.body(modified, { status: res.status, headers: res.headers });
104
+ };
105
+
106
+ export default defineServerConfig({
107
+ renderMiddlewares: [{ name: 'custom-content-injection', handler: renderMiddleware }],
108
+ });
109
+ ```
package/docs/index.md ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ pageType: home
3
+ ---
4
+ # UltraModern.js 3.0 - A SuperApp framework for Effect, TanStack, SSR, BFF, and Micro Verticals
package/package.json CHANGED
@@ -17,20 +17,24 @@
17
17
  "modern",
18
18
  "modern.js"
19
19
  ],
20
- "version": "3.5.0-ultramodern.98",
20
+ "version": "3.5.0-ultramodern.99",
21
21
  "types": "./dist/types/index.d.ts",
22
22
  "main": "./dist/cjs/index.js",
23
23
  "exports": {
24
24
  ".": {
25
25
  "types": "./dist/types/index.d.ts",
26
- "import": "./dist/esm-node/index.mjs",
27
- "require": "./dist/cjs/index.js",
26
+ "node": {
27
+ "import": "./dist/esm-node/index.mjs",
28
+ "require": "./dist/cjs/index.js"
29
+ },
28
30
  "default": "./dist/cjs/index.js"
29
31
  },
30
32
  "./builder": {
31
33
  "types": "./dist/types/builder/index.d.ts",
32
- "import": "./dist/esm-node/builder/index.mjs",
33
- "require": "./dist/cjs/builder/index.js",
34
+ "node": {
35
+ "import": "./dist/esm-node/builder/index.mjs",
36
+ "require": "./dist/cjs/builder/index.js"
37
+ },
34
38
  "default": "./dist/cjs/builder/index.js"
35
39
  },
36
40
  "./config": {
@@ -41,14 +45,18 @@
41
45
  },
42
46
  "./cli": {
43
47
  "types": "./dist/types/index.d.ts",
44
- "import": "./dist/esm-node/index.mjs",
45
- "require": "./dist/cjs/index.js",
48
+ "node": {
49
+ "import": "./dist/esm-node/index.mjs",
50
+ "require": "./dist/cjs/index.js"
51
+ },
46
52
  "default": "./dist/cjs/index.js"
47
53
  },
48
54
  "./cli/run": {
49
55
  "types": "./dist/types/run/index.d.ts",
50
- "import": "./dist/esm-node/run/index.mjs",
51
- "require": "./dist/cjs/run/index.js",
56
+ "node": {
57
+ "import": "./dist/esm-node/run/index.mjs",
58
+ "require": "./dist/cjs/run/index.js"
59
+ },
52
60
  "default": "./dist/cjs/run/index.js"
53
61
  },
54
62
  "./cloudflare-output-verifier": {
@@ -88,21 +96,36 @@
88
96
  "modern": "bin/modern.js",
89
97
  "modern-app": "bin/modern.js"
90
98
  },
99
+ "nx": {
100
+ "targets": {
101
+ "build": {
102
+ "inputs": [
103
+ "build",
104
+ "^build",
105
+ "{workspaceRoot}/packages/document/docs/en/**/*"
106
+ ],
107
+ "outputs": [
108
+ "{projectRoot}/dist",
109
+ "{projectRoot}/docs"
110
+ ]
111
+ }
112
+ }
113
+ },
91
114
  "dependencies": {
92
115
  "@babel/parser": "^8.0.0",
93
116
  "@babel/traverse": "^8.0.0",
94
117
  "@babel/types": "^8.0.0",
95
118
  "@loadable/component": "5.16.7",
96
- "@modern-js/builder": "npm:@bleedingdev/modern-js-builder@3.5.0-ultramodern.98",
97
- "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.98",
98
- "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.98",
99
- "@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.98",
100
- "@modern-js/prod-server": "npm:@bleedingdev/modern-js-prod-server@3.5.0-ultramodern.98",
101
- "@modern-js/server": "npm:@bleedingdev/modern-js-server@3.5.0-ultramodern.98",
102
- "@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.5.0-ultramodern.98",
103
- "@modern-js/server-utils": "npm:@bleedingdev/modern-js-server-utils@3.5.0-ultramodern.98",
104
- "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.98",
105
- "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.98",
119
+ "@modern-js/builder": "npm:@bleedingdev/modern-js-builder@3.5.0-ultramodern.99",
120
+ "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.99",
121
+ "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.99",
122
+ "@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.99",
123
+ "@modern-js/prod-server": "npm:@bleedingdev/modern-js-prod-server@3.5.0-ultramodern.99",
124
+ "@modern-js/server": "npm:@bleedingdev/modern-js-server@3.5.0-ultramodern.99",
125
+ "@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.5.0-ultramodern.99",
126
+ "@modern-js/server-utils": "npm:@bleedingdev/modern-js-server-utils@3.5.0-ultramodern.99",
127
+ "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.99",
128
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.99",
106
129
  "@rsbuild/core": "2.1.5",
107
130
  "@swc/core": "1.15.43",
108
131
  "@swc/helpers": "^0.5.23",
@@ -144,7 +167,7 @@
144
167
  },
145
168
  "scripts": {
146
169
  "dev": "rslib build --watch",
147
- "build": "rslib build && pnpm -w tsgo:dts \"$PWD\" && pnpm run verify:public-surface",
170
+ "build": "rslib build && pnpm -w tsgo:dts \"$PWD\" && pnpm run verify:public-surface && node ./scripts/copy-main-doc.mjs",
148
171
  "verify:public-surface": "node ./tests/config/verify-public-surface.mjs",
149
172
  "test": "rstest"
150
173
  }
@@ -0,0 +1,50 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+
5
+ // Copies the English docs from packages/document into this package as
6
+ // `docs/`, so every project gets version-matched offline docs
7
+ // for AI coding agents (see AGENTS.md generated by @modern-js/create).
8
+ // Runs as part of `build` (see package.json build script + nx build
9
+ // outputs), so the bundle is produced whenever the package is built —
10
+ // including in CI/release where publish runs with `--ignore-scripts` and
11
+ // prepublishOnly would be skipped. The directory is gitignored, so it only
12
+ // materializes as a build output, never committed to the working tree.
13
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
14
+ const pkgRoot = path.resolve(__dirname, '..');
15
+ const source = path.resolve(pkgRoot, '../../document/docs/en');
16
+ // Bundle root: docs land directly under `docs/` (no `docs/en` nesting) to
17
+ // keep the path agents read as short as possible.
18
+ const target = path.resolve(pkgRoot, 'docs');
19
+
20
+ // Top-level doc sections excluded from the bundle to keep it small.
21
+ // Agents rarely need these while coding (blog/showcase, narrative
22
+ // tutorials, framework-plugin authoring); llms.txt covers them online.
23
+ // Keep this list in sync with scripts/check-doc-bundle.mjs.
24
+ export const EXCLUDED_SECTIONS = ['community', 'tutorials', 'plugin'];
25
+
26
+ if (!fs.existsSync(source)) {
27
+ console.error(`[copy-main-doc] source docs not found: ${source}`);
28
+ process.exit(1);
29
+ }
30
+
31
+ fs.rmSync(target, { recursive: true, force: true });
32
+ fs.mkdirSync(path.dirname(target), { recursive: true });
33
+ fs.cpSync(source, target, {
34
+ recursive: true,
35
+ filter: src => {
36
+ const rel = path.relative(source, src);
37
+ const top = rel.split(path.sep)[0];
38
+ return rel === '' || !EXCLUDED_SECTIONS.includes(top);
39
+ },
40
+ });
41
+
42
+ const count = fs
43
+ .readdirSync(target, { recursive: true, withFileTypes: true })
44
+ .filter(entry => entry.isFile()).length;
45
+
46
+ if (count === 0) {
47
+ console.error('[copy-main-doc] no files copied');
48
+ process.exit(1);
49
+ }
50
+ console.log(`[copy-main-doc] bundled ${count} doc files into docs`);