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

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 (334) hide show
  1. package/bin/modern-bundle-docs.js +7 -0
  2. package/dist/cjs/builder/generator/createBuilderProviderConfig.js +5 -1
  3. package/dist/cjs/builder/generator/getBuilderEnvironments.js +80 -11
  4. package/dist/cjs/bundleDocs.js +114 -0
  5. package/dist/cjs/commands/build.js +2 -1
  6. package/dist/cjs/commands/deploy.js +4 -2
  7. package/dist/cjs/commands/index.js +0 -4
  8. package/dist/cjs/config/default.js +2 -0
  9. package/dist/cjs/index.js +56 -15
  10. package/dist/cjs/plugins/analyze/index.js +2 -2
  11. package/dist/cjs/plugins/analyze/utils.js +3 -2
  12. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/index.js +1 -1
  13. package/dist/cjs/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.js +94 -18
  14. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +1 -0
  15. package/dist/cjs/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
  16. package/dist/cjs/plugins/initialize/index.js +4 -3
  17. package/dist/cjs/plugins/serverBuild.js +3 -2
  18. package/dist/cjs/ultramodern-release-envelope/framework-output.js +109 -57
  19. package/dist/esm/builder/generator/createBuilderProviderConfig.mjs +5 -1
  20. package/dist/esm/builder/generator/getBuilderEnvironments.mjs +70 -10
  21. package/dist/esm/bundleDocs.mjs +62 -0
  22. package/dist/esm/commands/build.mjs +2 -1
  23. package/dist/esm/commands/deploy.mjs +4 -2
  24. package/dist/esm/commands/index.mjs +0 -4
  25. package/dist/esm/config/default.mjs +2 -0
  26. package/dist/esm/index.mjs +15 -1
  27. package/dist/esm/plugins/analyze/index.mjs +2 -2
  28. package/dist/esm/plugins/analyze/utils.mjs +3 -2
  29. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +1 -1
  30. package/dist/esm/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.mjs +93 -18
  31. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +1 -0
  32. package/dist/esm/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
  33. package/dist/esm/plugins/initialize/index.mjs +4 -3
  34. package/dist/esm/plugins/serverBuild.mjs +3 -2
  35. package/dist/esm/ultramodern-release-envelope/framework-output.mjs +107 -58
  36. package/dist/esm-node/builder/generator/createBuilderProviderConfig.mjs +5 -1
  37. package/dist/esm-node/builder/generator/getBuilderEnvironments.mjs +70 -10
  38. package/dist/esm-node/bundleDocs.mjs +63 -0
  39. package/dist/esm-node/commands/build.mjs +2 -1
  40. package/dist/esm-node/commands/deploy.mjs +4 -2
  41. package/dist/esm-node/commands/index.mjs +0 -4
  42. package/dist/esm-node/config/default.mjs +2 -0
  43. package/dist/esm-node/index.mjs +15 -1
  44. package/dist/esm-node/plugins/analyze/index.mjs +2 -2
  45. package/dist/esm-node/plugins/analyze/utils.mjs +3 -2
  46. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/index.mjs +1 -1
  47. package/dist/esm-node/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.mjs +93 -18
  48. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.mjs +1 -0
  49. package/dist/esm-node/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.mjs +14 -0
  50. package/dist/esm-node/plugins/initialize/index.mjs +4 -3
  51. package/dist/esm-node/plugins/serverBuild.mjs +3 -2
  52. package/dist/esm-node/ultramodern-release-envelope/framework-output.mjs +107 -58
  53. package/dist/types/builder/generator/getBuilderEnvironments.d.ts +29 -0
  54. package/dist/types/bundleDocs.d.ts +20 -0
  55. package/dist/types/commands/deploy.d.ts +2 -1
  56. package/dist/types/index.d.ts +4 -1
  57. package/dist/types/plugins/analyze/utils.d.ts +1 -1
  58. package/dist/types/plugins/deploy/platforms/cloudflare-output-verifier/worker-bundles.d.ts +1 -1
  59. package/dist/types/plugins/deploy/platforms/templates/cloudflare-entry.001-bootstrap-security.d.mts +1 -1
  60. package/dist/types/plugins/deploy/platforms/templates/cloudflare-worker-mf-ssr-runtime-plugin.d.mts +13 -0
  61. package/dist/types/types/config/dev.d.ts +6 -0
  62. package/dist/types/ultramodern-release-envelope/framework-output.d.ts +1 -0
  63. package/docs/apis/app/commands.md +231 -0
  64. package/docs/apis/app/hooks/api/lambda.md +9 -0
  65. package/docs/apis/app/hooks/config/favicon.md +24 -0
  66. package/docs/apis/app/hooks/config/html.md +5 -0
  67. package/docs/apis/app/hooks/config/icon.md +24 -0
  68. package/docs/apis/app/hooks/config/mock.md +6 -0
  69. package/docs/apis/app/hooks/config/public.md +26 -0
  70. package/docs/apis/app/hooks/config/upload.md +50 -0
  71. package/docs/apis/app/hooks/modern-config.md +5 -0
  72. package/docs/apis/app/hooks/server/server.md +5 -0
  73. package/docs/apis/app/hooks/shared.md +3 -0
  74. package/docs/apis/app/hooks/src/app.md +30 -0
  75. package/docs/apis/app/hooks/src/entry.md +34 -0
  76. package/docs/apis/app/hooks/src/entry.server.md +51 -0
  77. package/docs/apis/app/hooks/src/modern.runtime.md +5 -0
  78. package/docs/apis/app/hooks/src/routes.md +86 -0
  79. package/docs/apis/app/hooks/src/server.md +3 -0
  80. package/docs/apis/app/runtime/bff/use-backend-context.md +27 -0
  81. package/docs/apis/app/runtime/core/create-root.md +19 -0
  82. package/docs/apis/app/runtime/core/render.md +39 -0
  83. package/docs/apis/app/runtime/core/runtime-context.md +156 -0
  84. package/docs/apis/app/runtime/router/router.md +283 -0
  85. package/docs/apis/app/runtime/ssr/no-ssr.md +35 -0
  86. package/docs/apis/app/runtime/ssr/renderStreaming.md +67 -0
  87. package/docs/apis/app/runtime/ssr/renderString.md +60 -0
  88. package/docs/apis/app/runtime/ssr/requestHandler.md +44 -0
  89. package/docs/apis/app/runtime/utility/css-in-js.md +40 -0
  90. package/docs/apis/app/runtime/utility/head.md +35 -0
  91. package/docs/apis/app/runtime/utility/loadable.md +82 -0
  92. package/docs/community/blog/2022-0708-updates.md +91 -0
  93. package/docs/community/blog/2022-0910-updates.md +76 -0
  94. package/docs/community/blog/overview.md +63 -0
  95. package/docs/community/blog/v2-release-note.md +238 -0
  96. package/docs/community/blog/v3-release-note.md +622 -0
  97. package/docs/community/contributing-guide.md +252 -0
  98. package/docs/community/releases.md +23 -0
  99. package/docs/community/showcase.md +24 -0
  100. package/docs/community/team.md +14 -0
  101. package/docs/configure/app/bff/cross-project.md +20 -0
  102. package/docs/configure/app/bff/effect.md +313 -0
  103. package/docs/configure/app/bff/prefix.md +29 -0
  104. package/docs/configure/app/bff/runtime-framework.md +26 -0
  105. package/docs/configure/app/builder-plugins.md +66 -0
  106. package/docs/configure/app/dev/asset-prefix.md +13 -0
  107. package/docs/configure/app/dev/before-start-url.md +17 -0
  108. package/docs/configure/app/dev/client.md +41 -0
  109. package/docs/configure/app/dev/hmr.md +10 -0
  110. package/docs/configure/app/dev/host.md +18 -0
  111. package/docs/configure/app/dev/https.md +77 -0
  112. package/docs/configure/app/dev/lazy-compilation.md +39 -0
  113. package/docs/configure/app/dev/live-reload.md +10 -0
  114. package/docs/configure/app/dev/mock-dir.md +31 -0
  115. package/docs/configure/app/dev/progress-bar.md +19 -0
  116. package/docs/configure/app/dev/server.md +124 -0
  117. package/docs/configure/app/dev/setup-middlewares.md +32 -0
  118. package/docs/configure/app/dev/start-url.md +48 -0
  119. package/docs/configure/app/dev/watch-files.md +27 -0
  120. package/docs/configure/app/dev/write-to-disk.md +10 -0
  121. package/docs/configure/app/experiments/source-build.md +31 -0
  122. package/docs/configure/app/html/app-icon.md +28 -0
  123. package/docs/configure/app/html/crossorigin.md +10 -0
  124. package/docs/configure/app/html/favicon.md +16 -0
  125. package/docs/configure/app/html/inject.md +10 -0
  126. package/docs/configure/app/html/meta.md +24 -0
  127. package/docs/configure/app/html/mount-id.md +10 -0
  128. package/docs/configure/app/html/output-structure.md +10 -0
  129. package/docs/configure/app/html/script-loading.md +10 -0
  130. package/docs/configure/app/html/tags.md +15 -0
  131. package/docs/configure/app/html/template-parameters.md +33 -0
  132. package/docs/configure/app/html/template.md +10 -0
  133. package/docs/configure/app/html/title.md +18 -0
  134. package/docs/configure/app/output/asset-prefix.md +11 -0
  135. package/docs/configure/app/output/assets-retry.md +77 -0
  136. package/docs/configure/app/output/charset.md +10 -0
  137. package/docs/configure/app/output/clean-dist-path.md +16 -0
  138. package/docs/configure/app/output/convert-to-rem.md +79 -0
  139. package/docs/configure/app/output/copy.md +10 -0
  140. package/docs/configure/app/output/css-modules.md +48 -0
  141. package/docs/configure/app/output/data-uri-limit.md +26 -0
  142. package/docs/configure/app/output/disable-css-module-extension.md +55 -0
  143. package/docs/configure/app/output/disable-inline-runtime-chunk.md +41 -0
  144. package/docs/configure/app/output/disable-svgr.md +18 -0
  145. package/docs/configure/app/output/disable-ts-checker.md +49 -0
  146. package/docs/configure/app/output/dist-path.md +43 -0
  147. package/docs/configure/app/output/enable-asset-manifest.md +36 -0
  148. package/docs/configure/app/output/enable-css-module-tsdeclaration.md +28 -0
  149. package/docs/configure/app/output/enable-inline-route-manifests.md +16 -0
  150. package/docs/configure/app/output/externals.md +20 -0
  151. package/docs/configure/app/output/filename-hash.md +10 -0
  152. package/docs/configure/app/output/filename.md +55 -0
  153. package/docs/configure/app/output/inject-styles.md +10 -0
  154. package/docs/configure/app/output/inline-scripts.md +29 -0
  155. package/docs/configure/app/output/inline-styles.md +29 -0
  156. package/docs/configure/app/output/legal-comments.md +18 -0
  157. package/docs/configure/app/output/minify.md +22 -0
  158. package/docs/configure/app/output/override-browserslist.md +22 -0
  159. package/docs/configure/app/output/polyfill.md +12 -0
  160. package/docs/configure/app/output/source-map.md +30 -0
  161. package/docs/configure/app/output/split-route-chunks.md +16 -0
  162. package/docs/configure/app/output/ssg.md +81 -0
  163. package/docs/configure/app/output/ssgByEntries.md +90 -0
  164. package/docs/configure/app/output/svg-default-export.md +30 -0
  165. package/docs/configure/app/output/temp-dir.md +20 -0
  166. package/docs/configure/app/performance/build-cache.md +44 -0
  167. package/docs/configure/app/performance/chunk-split.md +40 -0
  168. package/docs/configure/app/performance/dns-prefetch.md +15 -0
  169. package/docs/configure/app/performance/preconnect.md +16 -0
  170. package/docs/configure/app/performance/prefetch.md +21 -0
  171. package/docs/configure/app/performance/preload.md +23 -0
  172. package/docs/configure/app/performance/print-file-size.md +40 -0
  173. package/docs/configure/app/performance/profile.md +10 -0
  174. package/docs/configure/app/performance/remove-console.md +10 -0
  175. package/docs/configure/app/performance/remove-moment-locale.md +10 -0
  176. package/docs/configure/app/performance/rsdoctor.md +38 -0
  177. package/docs/configure/app/plugins.md +59 -0
  178. package/docs/configure/app/resolve/alias-strategy.md +10 -0
  179. package/docs/configure/app/resolve/alias.md +9 -0
  180. package/docs/configure/app/resolve/condition-names.md +13 -0
  181. package/docs/configure/app/resolve/dedupe.md +9 -0
  182. package/docs/configure/app/resolve/extensions.md +13 -0
  183. package/docs/configure/app/runtime/0-intro.md +58 -0
  184. package/docs/configure/app/runtime/plugins.md +58 -0
  185. package/docs/configure/app/runtime/router.md +35 -0
  186. package/docs/configure/app/security/check-syntax.md +69 -0
  187. package/docs/configure/app/security/nonce.md +15 -0
  188. package/docs/configure/app/security/sri.md +20 -0
  189. package/docs/configure/app/server/base-url.md +26 -0
  190. package/docs/configure/app/server/port.md +18 -0
  191. package/docs/configure/app/server/public-routes.md +22 -0
  192. package/docs/configure/app/server/routes.md +86 -0
  193. package/docs/configure/app/server/rsc.md +22 -0
  194. package/docs/configure/app/server/ssr-by-entries.md +25 -0
  195. package/docs/configure/app/server/ssr.md +80 -0
  196. package/docs/configure/app/server/tsconfig-path.md +59 -0
  197. package/docs/configure/app/source/alias-strategy.md +14 -0
  198. package/docs/configure/app/source/alias.md +23 -0
  199. package/docs/configure/app/source/config-dir.md +20 -0
  200. package/docs/configure/app/source/decorators.md +25 -0
  201. package/docs/configure/app/source/define.md +16 -0
  202. package/docs/configure/app/source/disable-default-entries.md +28 -0
  203. package/docs/configure/app/source/enable-async-entry.md +54 -0
  204. package/docs/configure/app/source/enable-async-pre-entry.md +26 -0
  205. package/docs/configure/app/source/entries-dir.md +35 -0
  206. package/docs/configure/app/source/entries.md +179 -0
  207. package/docs/configure/app/source/exclude.md +10 -0
  208. package/docs/configure/app/source/global-vars.md +106 -0
  209. package/docs/configure/app/source/include.md +36 -0
  210. package/docs/configure/app/source/main-entry-name.md +24 -0
  211. package/docs/configure/app/source/pre-entry.md +10 -0
  212. package/docs/configure/app/source/react-compiler.md +68 -0
  213. package/docs/configure/app/source/transform-import.md +27 -0
  214. package/docs/configure/app/split-chunks.md +17 -0
  215. package/docs/configure/app/tools/autoprefixer.md +44 -0
  216. package/docs/configure/app/tools/bundler-chain.md +26 -0
  217. package/docs/configure/app/tools/css-extract.md +33 -0
  218. package/docs/configure/app/tools/css-loader.md +17 -0
  219. package/docs/configure/app/tools/dev-server.md +113 -0
  220. package/docs/configure/app/tools/html-plugin.md +41 -0
  221. package/docs/configure/app/tools/less.md +81 -0
  222. package/docs/configure/app/tools/lightningcss-loader.md +35 -0
  223. package/docs/configure/app/tools/minify-css.md +53 -0
  224. package/docs/configure/app/tools/postcss.md +34 -0
  225. package/docs/configure/app/tools/rspack.md +10 -0
  226. package/docs/configure/app/tools/sass.md +78 -0
  227. package/docs/configure/app/tools/style-loader.md +10 -0
  228. package/docs/configure/app/tools/swc.md +65 -0
  229. package/docs/configure/app/tools/ts-checker.md +116 -0
  230. package/docs/configure/app/usage.md +276 -0
  231. package/docs/guides/advanced-features/bff/cross-project.md +109 -0
  232. package/docs/guides/advanced-features/bff/data-platform.md +116 -0
  233. package/docs/guides/advanced-features/bff/extend-server.md +120 -0
  234. package/docs/guides/advanced-features/bff/frameworks.md +243 -0
  235. package/docs/guides/advanced-features/bff/function.md +318 -0
  236. package/docs/guides/advanced-features/bff/operators.md +554 -0
  237. package/docs/guides/advanced-features/bff/sdk.md +116 -0
  238. package/docs/guides/advanced-features/bff/upload.md +101 -0
  239. package/docs/guides/advanced-features/bff.md +18 -0
  240. package/docs/guides/advanced-features/build-performance.md +130 -0
  241. package/docs/guides/advanced-features/compatibility.md +120 -0
  242. package/docs/guides/advanced-features/international/advanced.md +128 -0
  243. package/docs/guides/advanced-features/international/api.md +267 -0
  244. package/docs/guides/advanced-features/international/best-practices.md +286 -0
  245. package/docs/guides/advanced-features/international/configuration.md +228 -0
  246. package/docs/guides/advanced-features/international/locale-detection.md +126 -0
  247. package/docs/guides/advanced-features/international/quick-start.md +128 -0
  248. package/docs/guides/advanced-features/international/resource-loading.md +154 -0
  249. package/docs/guides/advanced-features/international/routing.md +173 -0
  250. package/docs/guides/advanced-features/international.md +27 -0
  251. package/docs/guides/advanced-features/low-level.md +46 -0
  252. package/docs/guides/advanced-features/page-performance/code-split.md +77 -0
  253. package/docs/guides/advanced-features/page-performance/inline-assets.md +159 -0
  254. package/docs/guides/advanced-features/page-performance/optimize-bundle.md +97 -0
  255. package/docs/guides/advanced-features/page-performance/react-compiler.md +51 -0
  256. package/docs/guides/advanced-features/server-monitor/logger.md +41 -0
  257. package/docs/guides/advanced-features/server-monitor/metrics.md +58 -0
  258. package/docs/guides/advanced-features/server-monitor/monitors.md +242 -0
  259. package/docs/guides/advanced-features/source-build.md +164 -0
  260. package/docs/guides/advanced-features/web-server.md +288 -0
  261. package/docs/guides/basic-features/alias.md +102 -0
  262. package/docs/guides/basic-features/css/css-in-js.md +72 -0
  263. package/docs/guides/basic-features/css/css-modules.md +212 -0
  264. package/docs/guides/basic-features/css/css.md +27 -0
  265. package/docs/guides/basic-features/css/tailwindcss.md +27 -0
  266. package/docs/guides/basic-features/data/data-cache.md +510 -0
  267. package/docs/guides/basic-features/data/data-fetch.md +415 -0
  268. package/docs/guides/basic-features/data/data-write.md +227 -0
  269. package/docs/guides/basic-features/debug/mock.md +109 -0
  270. package/docs/guides/basic-features/debug/proxy.md +21 -0
  271. package/docs/guides/basic-features/debug/rsdoctor.md +47 -0
  272. package/docs/guides/basic-features/debug/using-storybook.md +112 -0
  273. package/docs/guides/basic-features/deploy.md +458 -0
  274. package/docs/guides/basic-features/env-vars.md +177 -0
  275. package/docs/guides/basic-features/html.md +255 -0
  276. package/docs/guides/basic-features/output-files.md +141 -0
  277. package/docs/guides/basic-features/render/before-render.md +108 -0
  278. package/docs/guides/basic-features/render/overview.md +47 -0
  279. package/docs/guides/basic-features/render/rsc.md +516 -0
  280. package/docs/guides/basic-features/render/ssg.md +228 -0
  281. package/docs/guides/basic-features/render/ssr-cache.md +201 -0
  282. package/docs/guides/basic-features/render/ssr.md +321 -0
  283. package/docs/guides/basic-features/render/streaming-ssr.md +264 -0
  284. package/docs/guides/basic-features/routes/config-routes.md +426 -0
  285. package/docs/guides/basic-features/routes/routes.md +524 -0
  286. package/docs/guides/basic-features/static-assets/json-files.md +120 -0
  287. package/docs/guides/basic-features/static-assets/svg-assets.md +168 -0
  288. package/docs/guides/basic-features/static-assets/wasm-assets.md +62 -0
  289. package/docs/guides/basic-features/static-assets.md +160 -0
  290. package/docs/guides/basic-features/testing/playwright.md +120 -0
  291. package/docs/guides/basic-features/testing/rstest.md +251 -0
  292. package/docs/guides/concept/builder.md +37 -0
  293. package/docs/guides/concept/entries.md +319 -0
  294. package/docs/guides/concept/server.md +35 -0
  295. package/docs/guides/get-started/ai-coding-agents.md +58 -0
  296. package/docs/guides/get-started/glossary.md +63 -0
  297. package/docs/guides/get-started/introduction.md +40 -0
  298. package/docs/guides/get-started/quick-start.md +269 -0
  299. package/docs/guides/get-started/tech-stack.md +91 -0
  300. package/docs/guides/get-started/ultramodern.md +440 -0
  301. package/docs/guides/get-started/upgrade.md +118 -0
  302. package/docs/guides/topic-detail/module-federation/application.md +116 -0
  303. package/docs/guides/topic-detail/module-federation/deploy.md +104 -0
  304. package/docs/guides/topic-detail/module-federation/i18n.md +670 -0
  305. package/docs/guides/topic-detail/module-federation/introduce.md +35 -0
  306. package/docs/guides/topic-detail/module-federation/ssr.md +182 -0
  307. package/docs/guides/topic-detail/module-federation/usage.md +219 -0
  308. package/docs/guides/troubleshooting/builder.md +110 -0
  309. package/docs/guides/troubleshooting/cli.md +35 -0
  310. package/docs/guides/troubleshooting/dependencies.md +119 -0
  311. package/docs/guides/troubleshooting/hmr.md +144 -0
  312. package/docs/guides/upgrade/config.md +954 -0
  313. package/docs/guides/upgrade/entry.md +463 -0
  314. package/docs/guides/upgrade/other.md +183 -0
  315. package/docs/guides/upgrade/overview.md +33 -0
  316. package/docs/guides/upgrade/tailwindcss.md +91 -0
  317. package/docs/guides/upgrade/web-server.md +109 -0
  318. package/docs/index.md +33 -0
  319. package/docs/llms.txt +290 -0
  320. package/docs/plugin/cli-plugins/api.md +573 -0
  321. package/docs/plugin/cli-plugins/life-cycle.md +2 -0
  322. package/docs/plugin/introduction.md +152 -0
  323. package/docs/plugin/official/cli-plugins/plugin-bff.md +5 -0
  324. package/docs/plugin/official/cli-plugins/plugin-ssg.md +5 -0
  325. package/docs/plugin/official/cli-plugins/plugin-styled-components.md +5 -0
  326. package/docs/plugin/official/cli-plugins.md +4 -0
  327. package/docs/plugin/plugin-system.md +238 -0
  328. package/docs/plugin/runtime-plugins/api.md +194 -0
  329. package/docs/plugin/runtime-plugins/life-cycle.md +2 -0
  330. package/docs/plugin/server-plugins/api.md +209 -0
  331. package/docs/plugin/server-plugins/life-cycle.md +13 -0
  332. package/docs/tutorials/examples/csr-auth.md +9 -0
  333. package/docs/tutorials/foundations/introduction.md +16 -0
  334. package/package.json +63 -22
@@ -0,0 +1,10 @@
1
+ # html.inject
2
+
3
+ - **Type:** `'head' | 'body' | boolean | Function`
4
+ - **Default:** `'head'`
5
+
6
+ Set the inject position of the `<script>` tag.
7
+
8
+ :::info
9
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - html.inject](https://v2.rsbuild.dev/config/html/inject).
10
+ :::
@@ -0,0 +1,24 @@
1
+ # html.meta
2
+
3
+ - **Type:** `Object | Function`
4
+ - **Default:**
5
+
6
+ ```js
7
+ const defaultMeta = {
8
+ charset: { charset: 'utf-8' },
9
+ viewport:
10
+ 'width=device-width, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no',
11
+ 'http-equiv': { 'http-equiv': 'x-ua-compatible', content: 'ie=edge' },
12
+ renderer: 'webkit',
13
+ layoutmode: 'standard',
14
+ imagemode: 'force',
15
+ 'wap-font-scale': 'no',
16
+ 'format-detection': 'telephone=no',
17
+ };
18
+ ```
19
+
20
+ Configure the `<meta>` tag of the HTML.
21
+
22
+ :::info
23
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - html.meta](https://v2.rsbuild.dev/config/html/meta).
24
+ :::
@@ -0,0 +1,10 @@
1
+ # html.mountId
2
+
3
+ - **Type:** `string`
4
+ - **Default:** `'root'`
5
+
6
+ By default, the `root` element is included in the HTML template for component mounting, and the element id can be modified through `mountId`.
7
+
8
+ :::info
9
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - html.mountId](https://v2.rsbuild.dev/config/html/mount-id).
10
+ :::
@@ -0,0 +1,10 @@
1
+ # html.outputStructure
2
+
3
+ - **Type:** `'flat' | 'nested'`
4
+ - **Default:** `'nested'`
5
+
6
+ Define the directory structure of the HTML output files.
7
+
8
+ :::info
9
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - html.outputStructure](https://v2.rsbuild.dev/config/html/output-structure).
10
+ :::
@@ -0,0 +1,10 @@
1
+ # html.scriptLoading
2
+
3
+ - **Type:** `'defer' | 'blocking' | 'module'`
4
+ - **Default:** `'defer'`
5
+
6
+ Used to set how `<script>` tags are loaded.
7
+
8
+ :::info
9
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - html.scriptLoading](https://v2.rsbuild.dev/config/html/script-loading).
10
+ :::
@@ -0,0 +1,15 @@
1
+ # html.tags
2
+
3
+ - **Type:**
4
+
5
+ ```ts
6
+ type TagsConfig = HtmlTag | HtmlTagHandler | Array<HtmlTag | HtmlTagHandler>;
7
+ ```
8
+
9
+ - **Default:** `undefined`
10
+
11
+ Modifies the tags that are injected into the HTML page.
12
+
13
+ :::info
14
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - html.tags](https://v2.rsbuild.dev/config/html/tags).
15
+ :::
@@ -0,0 +1,33 @@
1
+ # html.templateParameters
2
+
3
+ - **Type:** `Record<string, unknown> | Function`
4
+ - **Default:**
5
+
6
+ ```ts
7
+ type DefaultParameters = {
8
+ mountId: string; // the value of `html.mountId` config
9
+ entryName: string; // entry name
10
+ assetPrefix: string; // the value of dev.assetPrefix or output.assetPrefix configs
11
+ compilation: Compilation; // Compilation object of Rspack
12
+ rspackConfig: Rspack.Configuration; // Rspack config object
13
+ // generated by html-rspack-plugin
14
+ htmlPlugin: {
15
+ tags: {
16
+ headTags: HtmlTagObject[];
17
+ bodyTags: HtmlTagObject[];
18
+ };
19
+ files: {
20
+ publicPath: string;
21
+ js: Array<string>;
22
+ css: Array<string>;
23
+ favicon?: string;
24
+ };
25
+ };
26
+ };
27
+ ```
28
+
29
+ Define the parameters in the HTML template, corresponding to the `templateParameters` config of [html-rspack-plugin](https://github.com/rstackjs/html-rspack-plugin). You can use the config as an object or a function.
30
+
31
+ :::info
32
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - html.templateParameters](https://v2.rsbuild.dev/config/html/template-parameters).
33
+ :::
@@ -0,0 +1,10 @@
1
+ # html.template
2
+
3
+ - **Type:** `string | Function`
4
+ - **Default:**
5
+
6
+ Specifies the file path for the HTML template, which can be a relative or absolute path.
7
+
8
+ :::info
9
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - html.template](https://v2.rsbuild.dev/config/html/template).
10
+ :::
@@ -0,0 +1,18 @@
1
+ # html.title
2
+
3
+ - **Type:** `string | Function`
4
+ - **Default:** `''`
5
+
6
+ Set the title tag of the HTML page, for example:
7
+
8
+ ```js
9
+ export default {
10
+ html: {
11
+ title: 'example',
12
+ },
13
+ };
14
+ ```
15
+
16
+ :::info
17
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - html.title](https://v2.rsbuild.dev/config/html/title).
18
+ :::
@@ -0,0 +1,11 @@
1
+ # output.assetPrefix
2
+
3
+ - **Type:** `string | 'auto'`
4
+ - **Default:** `'/'`
5
+
6
+ In production mode, use this option to set the URL prefix for static assets, such as setting it to a CDN URL.
7
+
8
+
9
+ :::info
10
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - output.assetPrefix](https://v2.rsbuild.dev/config/output/asset-prefix).
11
+ :::
@@ -0,0 +1,77 @@
1
+ # output.assetsRetry
2
+
3
+ - **Type:** `Object`
4
+
5
+ `output.assetsRetry` is used to configure the retry of assets.The type of `AssetsRetryOptions` is as follows:
6
+
7
+ ```ts
8
+ export type AssetsRetryHookContext = {
9
+ times: number;
10
+ domain: string;
11
+ url: string;
12
+ tagName: string;
13
+ };
14
+
15
+ export type AssetsRetryOptions = {
16
+ type?: string[];
17
+ domain?: string[];
18
+ max?: number;
19
+ test?: string | ((url: string) => boolean);
20
+ crossOrigin?: boolean | 'anonymous' | 'use-credentials';
21
+ inlineScript?: boolean;
22
+ onRetry?: (options: AssetsRetryHookContext) => void;
23
+ onSuccess?: (options: AssetsRetryHookContext) => void;
24
+ onFail?: (options: AssetsRetryHookContext) => void;
25
+ };
26
+ ```
27
+
28
+ - **Default:** `undefined`
29
+
30
+ - Since this feature injects some runtime code into your HTML and [Rspack Runtime](https://rspack.rs/api/runtime-api/module-variables), it is disabled by default. To enable it, provide an object for the option, for example:
31
+
32
+ ```js
33
+ export default {
34
+ output: {
35
+ assetsRetry: {},
36
+ },
37
+ };
38
+ ```
39
+
40
+ When you enable this feature, the default configuration for `assetsRetry` is:
41
+
42
+ ```ts
43
+ export const defaultAssetsRetryOptions: AssetsRetryOptions = {
44
+ type: ['script', 'link', 'img'],
45
+ domain: [],
46
+ max: 3,
47
+ test: '',
48
+ crossOrigin: false,
49
+ inlineScript: false,
50
+ onRetry: () => {},
51
+ onSuccess: () => {},
52
+ onFail: () => {},
53
+ };
54
+ ```
55
+
56
+ ### Example
57
+
58
+ You can also customize your retry logic using the `assetsRetry` options.
59
+
60
+ For example, setting `assetsRetry.domain` to specify the retry domain when assets fail to load.
61
+
62
+ As an example, you can specify a list of fallback domains via `assetsRetry.domain`. The first domain in the list should match the domain used in your [`assetsPrefix`](/configure/app/output/asset-prefix.md) configuration:
63
+
64
+ ```js
65
+ export default {
66
+ output: {
67
+ assetsRetry: {
68
+ domain: ['cdn1.com', 'cdn2.com', 'cdn3.com'],
69
+ },
70
+ assetsPrefix: 'https://cdn1.com', // or '//cdn1.com'
71
+ },
72
+ };
73
+ ```
74
+
75
+ With the configuration above, if an asset fails to load from `cdn1.com`, requests will automatically fall back to `cdn2.com`. If `cdn2.com` also fails, the request will continue to `cdn3.com`.
76
+
77
+ `assetsRetry` is implemented based on the Assets Retry plugin of Rsbuild and provides the same configuration options. You can refer to [Rsbuild - Assets Retry Plugin](https://github.com/rstackjs/rsbuild-plugin-assets-retry) to understand all available configuration options.
@@ -0,0 +1,10 @@
1
+ # output.charset
2
+
3
+ - **Type:** `'ascii' | 'utf8'`
4
+ - **Default:** `'ascii'`
5
+
6
+ The `charset` config allows you to specify the [character encoding](https://developer.mozilla.org/en-US/docs/Glossary/Character_encoding) for output files to ensure they are displayed correctly in different environments.
7
+
8
+ :::info
9
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - output.charset](https://v2.rsbuild.dev/config/output/charset).
10
+ :::
@@ -0,0 +1,16 @@
1
+ # output.cleanDistPath
2
+
3
+ - **Type:** `boolean`
4
+ - **Default:** `true`
5
+
6
+ Whether to clean all files in the dist path before starting compilation.
7
+
8
+ By default, Modern.js will automatically clean up the files in the dist directory, you can disable this behavior by setting `cleanDistPath` to `false`.
9
+
10
+ ```js
11
+ export default {
12
+ output: {
13
+ cleanDistPath: false,
14
+ },
15
+ };
16
+ ```
@@ -0,0 +1,79 @@
1
+ # output.convertToRem
2
+
3
+ - **Type:** `boolean | object`
4
+ - **Default:** `false`
5
+
6
+ By setting `output.convertToRem`, Modern.js can do the following things:
7
+
8
+ - Convert px to rem in CSS.
9
+ - Insert runtime code into the HTML template to set the fontSize of the root element.
10
+
11
+ ### Boolean Type
12
+
13
+ If `output.convertToRem` is set to `true`, Rem processing capability will be turned on.
14
+
15
+ ```js
16
+ export default {
17
+ output: {
18
+ convertToRem: true,
19
+ },
20
+ };
21
+ ```
22
+
23
+ At this point, the rem configuration defaults as follows:
24
+
25
+ ```js
26
+ {
27
+ enableRuntime: true,
28
+ rootFontSize: 50,
29
+ screenWidth: 375,
30
+ rootFontSize: 50,
31
+ maxRootFontSize: 64,
32
+ widthQueryKey: '',
33
+ excludeEntries: [],
34
+ supportLandscape: false,
35
+ useRootFontSizeBeyondMax: false,
36
+ pxtorem: {
37
+ rootValue: 50,
38
+ unitPrecision: 5,
39
+ propList: ['*'],
40
+ }
41
+ }
42
+ ```
43
+
44
+ ### Object Type
45
+
46
+ When the value of `output.convertToRem` is `object` type, Modern.js will perform Rem processing based on the current configuration.
47
+
48
+ options:
49
+
50
+ | Name | Type | Default | Description |
51
+ | ------------------------ | ---------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
52
+ | enableRuntime | `boolean` | `true` | Whether to generate runtime code to calculate and set the font size of the root element |
53
+ | inlineRuntime | `boolean` | `true` | Whether to inline the runtime code to HTML. If set to `false`, the runtime code will be extracted into a separate `convert-rem.[version].js` file and output to the dist directory |
54
+ | rootFontSize | `number` | `50` | The root element font size |
55
+ | maxRootFontSize | `number` | `64` | The root element max font size |
56
+ | widthQueryKey | `string` | `'' ` | Get clientWidth from the url query based on widthQueryKey |
57
+ | screenWidth | `number` | `375` | The screen width for UI design drawings (Usually, `fontSize = (clientWidth * rootFontSize) / screenWidth`) |
58
+ | excludeEntries | `string[]` | `[]` | To exclude some page entries from injecting runtime code, it is usually used with `pxtorem.exclude` |
59
+ | supportLandscape | `boolean` | `false` | Use height to calculate rem in landscape |
60
+ | useRootFontSizeBeyondMax | `boolean` | `false` | Whether to use rootFontSize when large than maxRootFontSize |
61
+ | pxtorem | `object` | <ul><li>rootValue (Default is the same as rootFontSize) </li><li>unitPrecision: 5 </li><li>propList: \['\*']</li></ul> | [postcss-pxtorem](https://github.com/cuth/postcss-pxtorem#options) options |
62
+
63
+ ### Example
64
+
65
+ ```js
66
+ export default {
67
+ output: {
68
+ convertToRem: {
69
+ rootFontSize: 30,
70
+ excludeEntries: ['404', 'page2'],
71
+ pxtorem: {
72
+ propList: ['font-size'],
73
+ },
74
+ },
75
+ },
76
+ };
77
+ ```
78
+
79
+ For detailed usage, please refer to [rsbuild-plugin-rem](https://github.com/rstackjs/rsbuild-plugin-rem).
@@ -0,0 +1,10 @@
1
+ # output.copy
2
+
3
+ - **Type:**`Rspack.CopyRspackPluginOptions | Rspack.CopyRspackPluginOptions['patterns']`
4
+ - **Default:** `undefined`
5
+
6
+ Copies the specified file or directory to the dist directory, implemented based on [rspack.CopyRspackPlugin](https://rspack.rs/zh/plugins/rspack/copy-rspack-plugin).
7
+
8
+ :::info
9
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - output.copy](https://v2.rsbuild.dev/config/output/copy).
10
+ :::
@@ -0,0 +1,48 @@
1
+ # output.cssModules
2
+
3
+ - **Type:**
4
+
5
+ ```ts
6
+ type CssModules = {
7
+ auto?:
8
+ | boolean
9
+ | RegExp
10
+ | ((
11
+ resourcePath: string,
12
+ resourceQuery: string,
13
+ resourceFragment: string,
14
+ ) => boolean);
15
+ exportLocalsConvention?:
16
+ | 'asIs'
17
+ | 'camelCase'
18
+ | 'camelCaseOnly'
19
+ | 'dashes'
20
+ | 'dashesOnly';
21
+ exportGlobals?: boolean;
22
+ localIdentName?: string;
23
+ mode?:
24
+ | 'local'
25
+ | 'global'
26
+ | 'pure'
27
+ | 'icss'
28
+ | ((resourcePath: string) => 'local' | 'global' | 'pure' | 'icss');
29
+ namedExport?: boolean;
30
+ };
31
+ ```
32
+
33
+ - **Default:**
34
+
35
+ ```ts
36
+ const defaultCssModules = {
37
+ auto: true,
38
+ namedExport: false,
39
+ exportGlobals: false,
40
+ exportLocalsConvention: 'camelCase',
41
+ };
42
+ ```
43
+
44
+ For custom CSS Modules configuration.
45
+
46
+ :::info
47
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - output.cssModules](https://v2.rsbuild.dev/config/output/css-modules).
48
+ :::
@@ -0,0 +1,26 @@
1
+ # output.dataUriLimit
2
+
3
+ - **Type:**
4
+
5
+ ```ts
6
+ type DataUriLimitConfig =
7
+ | number
8
+ | {
9
+ svg?: number;
10
+ font?: number;
11
+ image?: number;
12
+ media?: number;
13
+ };
14
+ ```
15
+
16
+ - **Default:**
17
+
18
+ ```js
19
+ const defaultDatUriLimit = 10000;
20
+ ```
21
+
22
+ Set the size threshold to inline static assets such as images and fonts.
23
+
24
+ :::info
25
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - output.dataUriLimit](https://v2.rsbuild.dev/config/output/data-uri-limit).
26
+ :::
@@ -0,0 +1,55 @@
1
+ # output.disableCssModuleExtension
2
+
3
+ - **Type:** `boolean`
4
+ - **Default:** `false`
5
+
6
+ Whether to treat all `.css` files in the source directory as CSS Modules.
7
+
8
+ By default, only the `*.module.css` files are treated as CSS Modules. After enabling this config, all `*.css` style files in the source directory will be regarded as CSS Modules.
9
+
10
+ `.sass`, `.scss` and `.less` files are also affected by `disableCssModuleExtension`.
11
+
12
+ :::tip
13
+ We do not recommend enabling this config, because after enabling `disableCssModuleExtension`, CSS Modules files and ordinary CSS files cannot be clearly distinguished, which is not conducive to long-term maintenance.
14
+ :::
15
+
16
+ ### Example
17
+
18
+ ```js
19
+ export default {
20
+ output: {
21
+ disableCssModuleExtension: true,
22
+ },
23
+ };
24
+ ```
25
+
26
+ ### Detailed
27
+
28
+ The following is a detailed explanation of the CSS Modules rules:
29
+
30
+ #### disableCssModuleExtension is false (default)
31
+
32
+ The following files are treated as CSS Modules:
33
+
34
+ - all `*.module.css` files
35
+
36
+ The following files are treated as normal CSS:
37
+
38
+ - all `*.css` files (excluding `.module`)
39
+ - all `*.global.css` files
40
+
41
+ #### disableCssModuleExtension is true
42
+
43
+ The following files are treated as CSS Modules:
44
+
45
+ - `*.css` and `*.module.css` files in the source directory
46
+ - `*.module.css` files under node\_modules
47
+
48
+ The following files are treated as normal CSS:
49
+
50
+ - all `*.global.css` files
51
+ - `*.css` files under node\_modules (without `.module`)
52
+
53
+ :::tip
54
+ For CSS Modules files inside node\_modules, please always use the `*.module.css` suffix.
55
+ :::
@@ -0,0 +1,41 @@
1
+ # output.disableInlineRuntimeChunk
2
+
3
+ - **Type:** `boolean`
4
+ - **Default:** `false`
5
+
6
+ Used to control whether to inline the bundler's runtime code into HTML.
7
+
8
+ :::tip What is runtimeChunk
9
+ Modern.js will generate a `builder-runtime.js` file in the dist directory, which is the runtime code of Rspack.
10
+
11
+ runtimeChunk is a piece of runtime code, which is provided by Rspack, that contains the necessary module processing logic, such as module loading, module parsing, etc. See [Runtime Chunk](https://rspack.rs/config/optimization#optimizationruntimechunk) for details.
12
+
13
+ :::
14
+
15
+ In the production environment, Modern.js will inline the runtimeChunk file into the HTML file by default instead of writing it to the dist directory. This is done to reduce the number of file requests.
16
+
17
+ ### Disable Inlining
18
+
19
+ If you don't want the runtimeChunk file to be inlined into the HTML file, you can set `disableInlineRuntimeChunk` to `true` and a separate `builder-runtime.js` file will be generated.
20
+
21
+ ```js
22
+ export default {
23
+ output: {
24
+ disableInlineRuntimeChunk: true,
25
+ },
26
+ };
27
+ ```
28
+
29
+ ### Merge Into Page Chunk
30
+
31
+ If you don't want to generate a separate runtimeChunk file, but want the runtimeChunk code to be bundled into the page chunk, you can set the config like this:
32
+
33
+ ```js
34
+ export default {
35
+ tools: {
36
+ bundlerChain(chain) {
37
+ chain.optimization.runtimeChunk(false);
38
+ },
39
+ },
40
+ };
41
+ ```
@@ -0,0 +1,18 @@
1
+ # output.disableSvgr
2
+
3
+ - **Type:** `boolean`
4
+ - **Default:** `false`
5
+
6
+ Whether to transform SVGs into React components. If true, will treat all .svg files as assets.
7
+
8
+ By default, when an SVG resource is referenced in a JS file, Modern.js will call SVGR to convert the SVG into a React component. If you are sure that all SVG resources in your project are not being used as React components, you can turn off this conversion by setting `disableSvgr` to true to improve build performance.
9
+
10
+ Modern.js runs the built-in SVGR transform through Rsbuild's parallel worker mode when SVGR is enabled.
11
+
12
+ ```js
13
+ export default {
14
+ output: {
15
+ disableSvgr: true,
16
+ },
17
+ };
18
+ ```
@@ -0,0 +1,49 @@
1
+ # output.disableTsChecker
2
+
3
+ - **Type:** `boolean`
4
+ - **Default:** `false`
5
+
6
+ Whether to disable TypeScript type checker during compilation.
7
+
8
+ By default, Modern.js will run TypeScript checks through the TS-Go native preview toolchain during the build process. You can use `tsconfig.json` or `tools.tsChecker` config to customize the checking behavior.
9
+
10
+ ### Blocking Compilation
11
+
12
+ - In development build, type errors will not block the compilation process.
13
+ - In production build, type errors will cause the build to fail to ensure the stability of the production code.
14
+
15
+ ### Example
16
+
17
+ Disable TypeScript type checker:
18
+
19
+ ```js
20
+ export default {
21
+ output: {
22
+ disableTsChecker: true,
23
+ },
24
+ };
25
+ ```
26
+
27
+ Disable type checker in development:
28
+
29
+ ```js
30
+ export default {
31
+ output: {
32
+ disableTsChecker: process.env.NODE_ENV === 'development',
33
+ },
34
+ };
35
+ ```
36
+
37
+ Disable type checker in production:
38
+
39
+ ```js
40
+ export default {
41
+ output: {
42
+ disableTsChecker: process.env.NODE_ENV === 'production',
43
+ },
44
+ };
45
+ ```
46
+
47
+ :::tip
48
+ It is not recommended to disable type checker in production, which will reduce the stability of the production code, please use it with caution.
49
+ :::
@@ -0,0 +1,43 @@
1
+ # output.distPath
2
+
3
+
4
+ - **Type:**
5
+
6
+ ```ts
7
+ type DistPathConfig = {
8
+ root?: string;
9
+ html?: string;
10
+ js?: string;
11
+ css?: string;
12
+ svg?: string;
13
+ font?: string;
14
+ wasm?: string;
15
+ image?: string;
16
+ media?: string;
17
+ worker?: string;
18
+ assets?: string;
19
+ };
20
+ ```
21
+
22
+ - **Default:**
23
+
24
+ ```js
25
+ const defaultDistPath = {
26
+ root: 'dist',
27
+ css: 'static/css',
28
+ svg: 'static/svg',
29
+ font: 'static/font',
30
+ html: 'html',
31
+ wasm: 'static/wasm',
32
+ image: 'static/image',
33
+ media: 'static/media',
34
+ js: 'static/js',
35
+ assets: 'static/assets',
36
+ };
37
+ ```
38
+
39
+ Set the directory of the dist files. Modern.js will output files to the corresponding subdirectory according to the file type.
40
+
41
+ :::info
42
+ The usage of this configuration item is exactly the same as that of Rsbuild. For detailed information, please refer to [Rsbuild - output.distPath](https://v2.rsbuild.dev/config/output/dist-path).
43
+ :::