@bleedingdev/modern-js-main-doc 3.2.0-ultramodern.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 (802) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +23 -0
  3. package/builder-doc/docs/en/config/performance/rsdoctor.md +37 -0
  4. package/builder-doc/docs/zh/config/performance/rsdoctor.md +37 -0
  5. package/docs/en/_nav.json +36 -0
  6. package/docs/en/apis/_meta.json +13 -0
  7. package/docs/en/apis/app/commands.mdx +215 -0
  8. package/docs/en/apis/app/hooks/_meta.json +28 -0
  9. package/docs/en/apis/app/hooks/api/lambda.mdx +13 -0
  10. package/docs/en/apis/app/hooks/config/_meta.json +1 -0
  11. package/docs/en/apis/app/hooks/config/favicon.mdx +29 -0
  12. package/docs/en/apis/app/hooks/config/html.mdx +9 -0
  13. package/docs/en/apis/app/hooks/config/icon.mdx +29 -0
  14. package/docs/en/apis/app/hooks/config/mock.mdx +7 -0
  15. package/docs/en/apis/app/hooks/config/public.mdx +30 -0
  16. package/docs/en/apis/app/hooks/config/upload.mdx +54 -0
  17. package/docs/en/apis/app/hooks/modern-config.mdx +9 -0
  18. package/docs/en/apis/app/hooks/server/server.mdx +10 -0
  19. package/docs/en/apis/app/hooks/shared.mdx +7 -0
  20. package/docs/en/apis/app/hooks/src/app.mdx +30 -0
  21. package/docs/en/apis/app/hooks/src/entry.mdx +39 -0
  22. package/docs/en/apis/app/hooks/src/entry.server.mdx +56 -0
  23. package/docs/en/apis/app/hooks/src/modern.runtime.mdx +9 -0
  24. package/docs/en/apis/app/hooks/src/routes.mdx +90 -0
  25. package/docs/en/apis/app/hooks/src/server.mdx +7 -0
  26. package/docs/en/apis/app/runtime/_meta.json +32 -0
  27. package/docs/en/apis/app/runtime/bff/use-backend-context.mdx +30 -0
  28. package/docs/en/apis/app/runtime/core/create-root.mdx +22 -0
  29. package/docs/en/apis/app/runtime/core/render.mdx +42 -0
  30. package/docs/en/apis/app/runtime/core/runtime-context.mdx +160 -0
  31. package/docs/en/apis/app/runtime/router/router.mdx +288 -0
  32. package/docs/en/apis/app/runtime/ssr/no-ssr.mdx +38 -0
  33. package/docs/en/apis/app/runtime/ssr/renderStreaming.mdx +71 -0
  34. package/docs/en/apis/app/runtime/ssr/renderString.mdx +64 -0
  35. package/docs/en/apis/app/runtime/ssr/requestHandler.mdx +48 -0
  36. package/docs/en/apis/app/runtime/utility/css-in-js.mdx +44 -0
  37. package/docs/en/apis/app/runtime/utility/head.mdx +38 -0
  38. package/docs/en/apis/app/runtime/utility/loadable.mdx +85 -0
  39. package/docs/en/community/_meta.json +11 -0
  40. package/docs/en/community/blog/2022-0708-updates.md +95 -0
  41. package/docs/en/community/blog/2022-0910-updates.md +80 -0
  42. package/docs/en/community/blog/_meta.json +7 -0
  43. package/docs/en/community/blog/overview.md +67 -0
  44. package/docs/en/community/blog/v2-release-note.mdx +244 -0
  45. package/docs/en/community/blog/v3-release-note.mdx +628 -0
  46. package/docs/en/community/contributing-guide.mdx +257 -0
  47. package/docs/en/community/releases.mdx +31 -0
  48. package/docs/en/community/showcase.mdx +15 -0
  49. package/docs/en/community/team.mdx +29 -0
  50. package/docs/en/components/auto-upgrade.mdx +0 -0
  51. package/docs/en/components/bff-upload.mdx +97 -0
  52. package/docs/en/components/build-output.mdx +45 -0
  53. package/docs/en/components/bundler.mdx +3 -0
  54. package/docs/en/components/convention-routing-motivation.mdx +0 -0
  55. package/docs/en/components/debug-app.mdx +15 -0
  56. package/docs/en/components/default-browserslist.mdx +7 -0
  57. package/docs/en/components/deploy-command.mdx +14 -0
  58. package/docs/en/components/deploy.mdx +1 -0
  59. package/docs/en/components/enable-bff-caution.mdx +3 -0
  60. package/docs/en/components/enable-bff.mdx +56 -0
  61. package/docs/en/components/enable-ssg.mdx +49 -0
  62. package/docs/en/components/entry-mode.mdx +0 -0
  63. package/docs/en/components/entry-scan-logic.mdx +7 -0
  64. package/docs/en/components/extend-bff-function.mdx +3 -0
  65. package/docs/en/components/hono.mdx +120 -0
  66. package/docs/en/components/init-app.mdx +111 -0
  67. package/docs/en/components/init-rspack-app.mdx +5 -0
  68. package/docs/en/components/internal-logger.mdx +25 -0
  69. package/docs/en/components/internal-metrics.mdx +20 -0
  70. package/docs/en/components/international/custom-instance-code.mdx +16 -0
  71. package/docs/en/components/international/init-options-desc.mdx +1 -0
  72. package/docs/en/components/international/install-command.mdx +10 -0
  73. package/docs/en/components/international/instance-code.mdx +16 -0
  74. package/docs/en/components/international/introduce.mdx +5 -0
  75. package/docs/en/components/international/platform-support.mdx +0 -0
  76. package/docs/en/components/language-config.mdx +9 -0
  77. package/docs/en/components/micro-frontend.mdx +6 -0
  78. package/docs/en/components/micro-master-manifest-config.mdx +15 -0
  79. package/docs/en/components/micro-runtime-config.mdx +17 -0
  80. package/docs/en/components/module-federation.mdx +7 -0
  81. package/docs/en/components/new-entry-tooltip.mdx +0 -0
  82. package/docs/en/components/nodeVersion.mdx +28 -0
  83. package/docs/en/components/other-plugins.mdx +0 -0
  84. package/docs/en/components/output-asset-prefix-extend.mdx +0 -0
  85. package/docs/en/components/output-distpath-warning.mdx +0 -0
  86. package/docs/en/components/output-polyfill-extend.mdx +1 -0
  87. package/docs/en/components/prerequisites.mdx +18 -0
  88. package/docs/en/components/release-note.mdx +1 -0
  89. package/docs/en/components/routes-practice.mdx +0 -0
  90. package/docs/en/components/rsbuild-config-tooltip.mdx +5 -0
  91. package/docs/en/components/rsbuild.mdx +3 -0
  92. package/docs/en/components/rsc-deploy-tip.mdx +1 -0
  93. package/docs/en/components/rspack.mdx +3 -0
  94. package/docs/en/components/rspackTip.mdx +7 -0
  95. package/docs/en/components/runtime-cli-config.mdx +0 -0
  96. package/docs/en/components/serve-command.mdx +22 -0
  97. package/docs/en/components/ssr-monitor.mdx +3 -0
  98. package/docs/en/components/stream-ssr-performance.mdx +0 -0
  99. package/docs/en/components/swc.mdx +3 -0
  100. package/docs/en/components/tech-stack-node-framework.mdx +1 -0
  101. package/docs/en/components/turtorials-example-list.mdx +2 -0
  102. package/docs/en/components/ua-polyfill.mdx +44 -0
  103. package/docs/en/components/upgrade-browserslist.mdx +0 -0
  104. package/docs/en/components/upgrade-config-deploy.mdx +0 -0
  105. package/docs/en/components/upgrade-faq.mdx +0 -0
  106. package/docs/en/configure/_meta.json +78 -0
  107. package/docs/en/configure/app/bff/cross-project.mdx +24 -0
  108. package/docs/en/configure/app/bff/effect.mdx +152 -0
  109. package/docs/en/configure/app/bff/prefix.mdx +33 -0
  110. package/docs/en/configure/app/bff/runtime-framework.mdx +28 -0
  111. package/docs/en/configure/app/builder-plugins.mdx +70 -0
  112. package/docs/en/configure/app/dev/asset-prefix.mdx +18 -0
  113. package/docs/en/configure/app/dev/before-start-url.mdx +21 -0
  114. package/docs/en/configure/app/dev/client.mdx +45 -0
  115. package/docs/en/configure/app/dev/hmr.mdx +14 -0
  116. package/docs/en/configure/app/dev/host.mdx +22 -0
  117. package/docs/en/configure/app/dev/https.mdx +81 -0
  118. package/docs/en/configure/app/dev/lazy-compilation.mdx +45 -0
  119. package/docs/en/configure/app/dev/live-reload.mdx +14 -0
  120. package/docs/en/configure/app/dev/progress-bar.mdx +23 -0
  121. package/docs/en/configure/app/dev/server.mdx +128 -0
  122. package/docs/en/configure/app/dev/setup-middlewares.mdx +36 -0
  123. package/docs/en/configure/app/dev/start-url.mdx +53 -0
  124. package/docs/en/configure/app/dev/watch-files.mdx +31 -0
  125. package/docs/en/configure/app/dev/write-to-disk.mdx +14 -0
  126. package/docs/en/configure/app/experiments/source-build.mdx +33 -0
  127. package/docs/en/configure/app/html/app-icon.mdx +32 -0
  128. package/docs/en/configure/app/html/crossorigin.mdx +14 -0
  129. package/docs/en/configure/app/html/favicon.mdx +20 -0
  130. package/docs/en/configure/app/html/inject.mdx +14 -0
  131. package/docs/en/configure/app/html/meta.mdx +28 -0
  132. package/docs/en/configure/app/html/mount-id.mdx +14 -0
  133. package/docs/en/configure/app/html/output-structure.mdx +14 -0
  134. package/docs/en/configure/app/html/script-loading.mdx +14 -0
  135. package/docs/en/configure/app/html/tags.mdx +19 -0
  136. package/docs/en/configure/app/html/template-parameters.mdx +37 -0
  137. package/docs/en/configure/app/html/template.mdx +14 -0
  138. package/docs/en/configure/app/html/title.mdx +22 -0
  139. package/docs/en/configure/app/output/asset-prefix.mdx +18 -0
  140. package/docs/en/configure/app/output/assets-retry.mdx +81 -0
  141. package/docs/en/configure/app/output/charset.mdx +14 -0
  142. package/docs/en/configure/app/output/clean-dist-path.mdx +20 -0
  143. package/docs/en/configure/app/output/convert-to-rem.mdx +83 -0
  144. package/docs/en/configure/app/output/copy.mdx +14 -0
  145. package/docs/en/configure/app/output/css-modules.mdx +52 -0
  146. package/docs/en/configure/app/output/data-uri-limit.mdx +30 -0
  147. package/docs/en/configure/app/output/disable-css-module-extension.mdx +59 -0
  148. package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +45 -0
  149. package/docs/en/configure/app/output/disable-svgr.mdx +20 -0
  150. package/docs/en/configure/app/output/disable-ts-checker.mdx +53 -0
  151. package/docs/en/configure/app/output/dist-path.mdx +51 -0
  152. package/docs/en/configure/app/output/enable-asset-manifest.mdx +40 -0
  153. package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +32 -0
  154. package/docs/en/configure/app/output/enable-inline-route-manifests.mdx +20 -0
  155. package/docs/en/configure/app/output/externals.mdx +24 -0
  156. package/docs/en/configure/app/output/filename-hash.mdx +14 -0
  157. package/docs/en/configure/app/output/filename.mdx +59 -0
  158. package/docs/en/configure/app/output/inject-styles.mdx +14 -0
  159. package/docs/en/configure/app/output/inline-scripts.mdx +33 -0
  160. package/docs/en/configure/app/output/inline-styles.mdx +33 -0
  161. package/docs/en/configure/app/output/legal-comments.mdx +22 -0
  162. package/docs/en/configure/app/output/minify.mdx +26 -0
  163. package/docs/en/configure/app/output/override-browserslist.mdx +26 -0
  164. package/docs/en/configure/app/output/polyfill.mdx +18 -0
  165. package/docs/en/configure/app/output/source-map.mdx +34 -0
  166. package/docs/en/configure/app/output/split-route-chunks.mdx +20 -0
  167. package/docs/en/configure/app/output/ssg.mdx +85 -0
  168. package/docs/en/configure/app/output/ssgByEntries.mdx +93 -0
  169. package/docs/en/configure/app/output/svg-default-export.mdx +34 -0
  170. package/docs/en/configure/app/output/temp-dir.mdx +24 -0
  171. package/docs/en/configure/app/performance/build-cache.mdx +43 -0
  172. package/docs/en/configure/app/performance/chunk-split.mdx +44 -0
  173. package/docs/en/configure/app/performance/dns-prefetch.mdx +19 -0
  174. package/docs/en/configure/app/performance/preconnect.mdx +20 -0
  175. package/docs/en/configure/app/performance/prefetch.mdx +25 -0
  176. package/docs/en/configure/app/performance/preload.mdx +27 -0
  177. package/docs/en/configure/app/performance/print-file-size.mdx +44 -0
  178. package/docs/en/configure/app/performance/profile.mdx +14 -0
  179. package/docs/en/configure/app/performance/remove-console.mdx +14 -0
  180. package/docs/en/configure/app/performance/remove-moment-locale.mdx +14 -0
  181. package/docs/en/configure/app/performance/rsdoctor.mdx +39 -0
  182. package/docs/en/configure/app/plugins.mdx +59 -0
  183. package/docs/en/configure/app/resolve/alias-strategy.mdx +14 -0
  184. package/docs/en/configure/app/resolve/alias.mdx +13 -0
  185. package/docs/en/configure/app/resolve/condition-names.mdx +18 -0
  186. package/docs/en/configure/app/resolve/dedupe.mdx +13 -0
  187. package/docs/en/configure/app/resolve/extensions.mdx +18 -0
  188. package/docs/en/configure/app/runtime/0-intro.mdx +61 -0
  189. package/docs/en/configure/app/runtime/plugins.mdx +58 -0
  190. package/docs/en/configure/app/runtime/router.mdx +39 -0
  191. package/docs/en/configure/app/security/check-syntax.mdx +73 -0
  192. package/docs/en/configure/app/security/nonce.mdx +19 -0
  193. package/docs/en/configure/app/security/sri.mdx +24 -0
  194. package/docs/en/configure/app/server/base-url.mdx +30 -0
  195. package/docs/en/configure/app/server/port.mdx +22 -0
  196. package/docs/en/configure/app/server/public-routes.mdx +26 -0
  197. package/docs/en/configure/app/server/routes.mdx +90 -0
  198. package/docs/en/configure/app/server/rsc.mdx +30 -0
  199. package/docs/en/configure/app/server/ssr-by-entries.mdx +29 -0
  200. package/docs/en/configure/app/server/ssr.mdx +85 -0
  201. package/docs/en/configure/app/server/tsconfig-path.mdx +63 -0
  202. package/docs/en/configure/app/source/alias-strategy.mdx +18 -0
  203. package/docs/en/configure/app/source/alias.mdx +27 -0
  204. package/docs/en/configure/app/source/config-dir.mdx +24 -0
  205. package/docs/en/configure/app/source/decorators.mdx +29 -0
  206. package/docs/en/configure/app/source/define.mdx +20 -0
  207. package/docs/en/configure/app/source/disable-default-entries.mdx +32 -0
  208. package/docs/en/configure/app/source/enable-async-entry.mdx +54 -0
  209. package/docs/en/configure/app/source/enable-async-pre-entry.mdx +30 -0
  210. package/docs/en/configure/app/source/entries-dir.mdx +39 -0
  211. package/docs/en/configure/app/source/entries.mdx +183 -0
  212. package/docs/en/configure/app/source/exclude.mdx +14 -0
  213. package/docs/en/configure/app/source/global-vars.mdx +110 -0
  214. package/docs/en/configure/app/source/include.mdx +40 -0
  215. package/docs/en/configure/app/source/main-entry-name.mdx +28 -0
  216. package/docs/en/configure/app/source/pre-entry.mdx +14 -0
  217. package/docs/en/configure/app/source/transform-import.mdx +31 -0
  218. package/docs/en/configure/app/split-chunks.mdx +17 -0
  219. package/docs/en/configure/app/tools/autoprefixer.mdx +48 -0
  220. package/docs/en/configure/app/tools/bundler-chain.mdx +30 -0
  221. package/docs/en/configure/app/tools/css-extract.mdx +37 -0
  222. package/docs/en/configure/app/tools/css-loader.mdx +21 -0
  223. package/docs/en/configure/app/tools/dev-server.mdx +117 -0
  224. package/docs/en/configure/app/tools/html-plugin.mdx +45 -0
  225. package/docs/en/configure/app/tools/less.mdx +85 -0
  226. package/docs/en/configure/app/tools/lightningcss-loader.mdx +39 -0
  227. package/docs/en/configure/app/tools/minify-css.mdx +57 -0
  228. package/docs/en/configure/app/tools/postcss.mdx +38 -0
  229. package/docs/en/configure/app/tools/rspack.mdx +14 -0
  230. package/docs/en/configure/app/tools/sass.mdx +82 -0
  231. package/docs/en/configure/app/tools/style-loader.mdx +14 -0
  232. package/docs/en/configure/app/tools/swc.mdx +69 -0
  233. package/docs/en/configure/app/tools/ts-checker.mdx +56 -0
  234. package/docs/en/configure/app/usage.mdx +276 -0
  235. package/docs/en/guides/_meta.json +37 -0
  236. package/docs/en/guides/advanced-features/_meta.json +32 -0
  237. package/docs/en/guides/advanced-features/bff/_meta.json +10 -0
  238. package/docs/en/guides/advanced-features/bff/cross-project.mdx +110 -0
  239. package/docs/en/guides/advanced-features/bff/data-platform.mdx +118 -0
  240. package/docs/en/guides/advanced-features/bff/extend-server.mdx +120 -0
  241. package/docs/en/guides/advanced-features/bff/frameworks.mdx +118 -0
  242. package/docs/en/guides/advanced-features/bff/function.mdx +261 -0
  243. package/docs/en/guides/advanced-features/bff/operators.mdx +629 -0
  244. package/docs/en/guides/advanced-features/bff/sdk.mdx +116 -0
  245. package/docs/en/guides/advanced-features/bff/upload.mdx +7 -0
  246. package/docs/en/guides/advanced-features/bff.mdx +22 -0
  247. package/docs/en/guides/advanced-features/build-performance.mdx +134 -0
  248. package/docs/en/guides/advanced-features/compatibility.mdx +81 -0
  249. package/docs/en/guides/advanced-features/international/_meta.json +10 -0
  250. package/docs/en/guides/advanced-features/international/advanced.mdx +132 -0
  251. package/docs/en/guides/advanced-features/international/api.mdx +235 -0
  252. package/docs/en/guides/advanced-features/international/best-practices.mdx +290 -0
  253. package/docs/en/guides/advanced-features/international/configuration.mdx +221 -0
  254. package/docs/en/guides/advanced-features/international/locale-detection.mdx +130 -0
  255. package/docs/en/guides/advanced-features/international/quick-start.mdx +112 -0
  256. package/docs/en/guides/advanced-features/international/resource-loading.mdx +158 -0
  257. package/docs/en/guides/advanced-features/international/routing.mdx +134 -0
  258. package/docs/en/guides/advanced-features/international.mdx +29 -0
  259. package/docs/en/guides/advanced-features/low-level.mdx +50 -0
  260. package/docs/en/guides/advanced-features/page-performance/_meta.json +1 -0
  261. package/docs/en/guides/advanced-features/page-performance/code-split.mdx +81 -0
  262. package/docs/en/guides/advanced-features/page-performance/inline-assets.mdx +163 -0
  263. package/docs/en/guides/advanced-features/page-performance/optimize-bundle.mdx +101 -0
  264. package/docs/en/guides/advanced-features/page-performance/react-compiler.mdx +54 -0
  265. package/docs/en/guides/advanced-features/server-monitor/_meta.json +1 -0
  266. package/docs/en/guides/advanced-features/server-monitor/logger.mdx +19 -0
  267. package/docs/en/guides/advanced-features/server-monitor/metrics.mdx +41 -0
  268. package/docs/en/guides/advanced-features/server-monitor/monitors.mdx +242 -0
  269. package/docs/en/guides/advanced-features/source-build.mdx +168 -0
  270. package/docs/en/guides/advanced-features/web-server.mdx +284 -0
  271. package/docs/en/guides/basic-features/_meta.json +49 -0
  272. package/docs/en/guides/basic-features/alias.mdx +106 -0
  273. package/docs/en/guides/basic-features/css/_meta.json +1 -0
  274. package/docs/en/guides/basic-features/css/css-in-js.mdx +69 -0
  275. package/docs/en/guides/basic-features/css/css-modules.mdx +212 -0
  276. package/docs/en/guides/basic-features/css/css.mdx +31 -0
  277. package/docs/en/guides/basic-features/css/tailwindcss.mdx +27 -0
  278. package/docs/en/guides/basic-features/data/_meta.json +1 -0
  279. package/docs/en/guides/basic-features/data/data-cache.mdx +515 -0
  280. package/docs/en/guides/basic-features/data/data-fetch.mdx +419 -0
  281. package/docs/en/guides/basic-features/data/data-write.mdx +230 -0
  282. package/docs/en/guides/basic-features/debug/_meta.json +1 -0
  283. package/docs/en/guides/basic-features/debug/mock.mdx +102 -0
  284. package/docs/en/guides/basic-features/debug/proxy.mdx +25 -0
  285. package/docs/en/guides/basic-features/debug/rsdoctor.mdx +48 -0
  286. package/docs/en/guides/basic-features/debug/using-storybook.mdx +100 -0
  287. package/docs/en/guides/basic-features/deploy.mdx +448 -0
  288. package/docs/en/guides/basic-features/env-vars.mdx +181 -0
  289. package/docs/en/guides/basic-features/html.mdx +259 -0
  290. package/docs/en/guides/basic-features/output-files.mdx +145 -0
  291. package/docs/en/guides/basic-features/render/_meta.json +10 -0
  292. package/docs/en/guides/basic-features/render/before-render.mdx +108 -0
  293. package/docs/en/guides/basic-features/render/overview.mdx +52 -0
  294. package/docs/en/guides/basic-features/render/rsc.mdx +534 -0
  295. package/docs/en/guides/basic-features/render/ssg.mdx +167 -0
  296. package/docs/en/guides/basic-features/render/ssr-cache.mdx +201 -0
  297. package/docs/en/guides/basic-features/render/ssr.mdx +323 -0
  298. package/docs/en/guides/basic-features/render/streaming-ssr.mdx +267 -0
  299. package/docs/en/guides/basic-features/render/tanstack-rsc.mdx +226 -0
  300. package/docs/en/guides/basic-features/routes/_meta.json +1 -0
  301. package/docs/en/guides/basic-features/routes/config-routes.mdx +427 -0
  302. package/docs/en/guides/basic-features/routes/routes.mdx +517 -0
  303. package/docs/en/guides/basic-features/static-assets/_meta.json +1 -0
  304. package/docs/en/guides/basic-features/static-assets/json-files.mdx +124 -0
  305. package/docs/en/guides/basic-features/static-assets/svg-assets.mdx +172 -0
  306. package/docs/en/guides/basic-features/static-assets/wasm-assets.mdx +66 -0
  307. package/docs/en/guides/basic-features/static-assets.mdx +164 -0
  308. package/docs/en/guides/basic-features/testing/_meta.json +1 -0
  309. package/docs/en/guides/basic-features/testing/cypress.mdx +95 -0
  310. package/docs/en/guides/basic-features/testing/jest.mdx +148 -0
  311. package/docs/en/guides/basic-features/testing/playwright.mdx +111 -0
  312. package/docs/en/guides/basic-features/testing/rstest.mdx +163 -0
  313. package/docs/en/guides/basic-features/testing/vitest.mdx +100 -0
  314. package/docs/en/guides/concept/_meta.json +1 -0
  315. package/docs/en/guides/concept/builder.mdx +60 -0
  316. package/docs/en/guides/concept/entries.mdx +325 -0
  317. package/docs/en/guides/concept/server.mdx +35 -0
  318. package/docs/en/guides/get-started/_meta.json +8 -0
  319. package/docs/en/guides/get-started/glossary.mdx +63 -0
  320. package/docs/en/guides/get-started/introduction.mdx +45 -0
  321. package/docs/en/guides/get-started/quick-start.mdx +92 -0
  322. package/docs/en/guides/get-started/tech-stack.mdx +91 -0
  323. package/docs/en/guides/get-started/ultramodern.mdx +98 -0
  324. package/docs/en/guides/get-started/upgrade.mdx +114 -0
  325. package/docs/en/guides/topic-detail/_meta.json +8 -0
  326. package/docs/en/guides/topic-detail/module-federation/_meta.json +1 -0
  327. package/docs/en/guides/topic-detail/module-federation/application.mdx +116 -0
  328. package/docs/en/guides/topic-detail/module-federation/deploy.mdx +104 -0
  329. package/docs/en/guides/topic-detail/module-federation/i18n.mdx +670 -0
  330. package/docs/en/guides/topic-detail/module-federation/introduce.mdx +36 -0
  331. package/docs/en/guides/topic-detail/module-federation/ssr.mdx +170 -0
  332. package/docs/en/guides/topic-detail/module-federation/usage.mdx +202 -0
  333. package/docs/en/guides/troubleshooting/_meta.json +1 -0
  334. package/docs/en/guides/troubleshooting/builder.mdx +114 -0
  335. package/docs/en/guides/troubleshooting/cli.mdx +39 -0
  336. package/docs/en/guides/troubleshooting/dependencies.mdx +123 -0
  337. package/docs/en/guides/troubleshooting/hmr.mdx +148 -0
  338. package/docs/en/guides/upgrade/_meta.json +1 -0
  339. package/docs/en/guides/upgrade/config.mdx +949 -0
  340. package/docs/en/guides/upgrade/entry.mdx +463 -0
  341. package/docs/en/guides/upgrade/other.mdx +183 -0
  342. package/docs/en/guides/upgrade/overview.mdx +33 -0
  343. package/docs/en/guides/upgrade/tailwindcss.mdx +92 -0
  344. package/docs/en/guides/upgrade/web-server.md +109 -0
  345. package/docs/en/index.md +4 -0
  346. package/docs/en/plugin/_meta.json +25 -0
  347. package/docs/en/plugin/cli-plugins/_meta.json +1 -0
  348. package/docs/en/plugin/cli-plugins/api.mdx +573 -0
  349. package/docs/en/plugin/cli-plugins/life-cycle.mdx +135 -0
  350. package/docs/en/plugin/introduction.mdx +153 -0
  351. package/docs/en/plugin/official/_meta.json +7 -0
  352. package/docs/en/plugin/official/cli-plugins/_meta.json +1 -0
  353. package/docs/en/plugin/official/cli-plugins/plugin-bff.mdx +5 -0
  354. package/docs/en/plugin/official/cli-plugins/plugin-ssg.mdx +5 -0
  355. package/docs/en/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  356. package/docs/en/plugin/official/cli-plugins.mdx +4 -0
  357. package/docs/en/plugin/plugin-system.mdx +244 -0
  358. package/docs/en/plugin/runtime-plugins/_meta.json +1 -0
  359. package/docs/en/plugin/runtime-plugins/api.mdx +193 -0
  360. package/docs/en/plugin/runtime-plugins/life-cycle.mdx +29 -0
  361. package/docs/en/plugin/server-plugins/_meta.json +1 -0
  362. package/docs/en/plugin/server-plugins/api.mdx +212 -0
  363. package/docs/en/plugin/server-plugins/life-cycle.mdx +43 -0
  364. package/docs/en/tutorials/_meta.json +7 -0
  365. package/docs/en/tutorials/examples/csr-auth.mdx +31 -0
  366. package/docs/en/tutorials/foundations/introduction.mdx +22 -0
  367. package/docs/zh/_nav.json +36 -0
  368. package/docs/zh/apis/_meta.json +13 -0
  369. package/docs/zh/apis/app/commands.mdx +215 -0
  370. package/docs/zh/apis/app/hooks/_meta.json +28 -0
  371. package/docs/zh/apis/app/hooks/api/lambda.mdx +14 -0
  372. package/docs/zh/apis/app/hooks/config/_meta.json +1 -0
  373. package/docs/zh/apis/app/hooks/config/favicon.mdx +29 -0
  374. package/docs/zh/apis/app/hooks/config/html.mdx +9 -0
  375. package/docs/zh/apis/app/hooks/config/icon.mdx +29 -0
  376. package/docs/zh/apis/app/hooks/config/mock.mdx +7 -0
  377. package/docs/zh/apis/app/hooks/config/public.mdx +30 -0
  378. package/docs/zh/apis/app/hooks/config/upload.mdx +54 -0
  379. package/docs/zh/apis/app/hooks/modern-config.mdx +9 -0
  380. package/docs/zh/apis/app/hooks/server/server.mdx +10 -0
  381. package/docs/zh/apis/app/hooks/shared.mdx +7 -0
  382. package/docs/zh/apis/app/hooks/src/app.mdx +36 -0
  383. package/docs/zh/apis/app/hooks/src/entry.mdx +39 -0
  384. package/docs/zh/apis/app/hooks/src/entry.server.mdx +56 -0
  385. package/docs/zh/apis/app/hooks/src/modern.runtime.mdx +9 -0
  386. package/docs/zh/apis/app/hooks/src/routes.mdx +90 -0
  387. package/docs/zh/apis/app/hooks/src/server.mdx +7 -0
  388. package/docs/zh/apis/app/runtime/_meta.json +32 -0
  389. package/docs/zh/apis/app/runtime/bff/use-backend-context.mdx +31 -0
  390. package/docs/zh/apis/app/runtime/core/create-root.mdx +22 -0
  391. package/docs/zh/apis/app/runtime/core/render.mdx +43 -0
  392. package/docs/zh/apis/app/runtime/core/runtime-context.mdx +160 -0
  393. package/docs/zh/apis/app/runtime/router/router.mdx +287 -0
  394. package/docs/zh/apis/app/runtime/ssr/no-ssr.mdx +38 -0
  395. package/docs/zh/apis/app/runtime/ssr/renderStreaming.mdx +71 -0
  396. package/docs/zh/apis/app/runtime/ssr/renderString.mdx +64 -0
  397. package/docs/zh/apis/app/runtime/ssr/requestHandler.mdx +48 -0
  398. package/docs/zh/apis/app/runtime/utility/css-in-js.mdx +44 -0
  399. package/docs/zh/apis/app/runtime/utility/head.mdx +38 -0
  400. package/docs/zh/apis/app/runtime/utility/loadable.mdx +83 -0
  401. package/docs/zh/community/_meta.json +11 -0
  402. package/docs/zh/community/blog/2022-0708-updates.md +95 -0
  403. package/docs/zh/community/blog/2022-0910-updates.md +80 -0
  404. package/docs/zh/community/blog/_meta.json +7 -0
  405. package/docs/zh/community/blog/overview.md +74 -0
  406. package/docs/zh/community/blog/v2-release-note.mdx +244 -0
  407. package/docs/zh/community/blog/v3-release-note.mdx +628 -0
  408. package/docs/zh/community/contributing-guide.mdx +256 -0
  409. package/docs/zh/community/releases.mdx +31 -0
  410. package/docs/zh/community/showcase.mdx +15 -0
  411. package/docs/zh/community/team.mdx +29 -0
  412. package/docs/zh/components/auto-upgrade.mdx +0 -0
  413. package/docs/zh/components/bff-operator-code.mdx +5 -0
  414. package/docs/zh/components/bff-upload.mdx +98 -0
  415. package/docs/zh/components/build-output.mdx +45 -0
  416. package/docs/zh/components/bundler.mdx +3 -0
  417. package/docs/zh/components/convention-routing-motivation.mdx +0 -0
  418. package/docs/zh/components/debug-app.mdx +16 -0
  419. package/docs/zh/components/default-browserslist.mdx +7 -0
  420. package/docs/zh/components/deploy-command.mdx +14 -0
  421. package/docs/zh/components/deploy.mdx +1 -0
  422. package/docs/zh/components/enable-bff-caution.mdx +4 -0
  423. package/docs/zh/components/enable-bff.mdx +56 -0
  424. package/docs/zh/components/enable-ssg.mdx +49 -0
  425. package/docs/zh/components/entry-mode.mdx +0 -0
  426. package/docs/zh/components/entry-scan-logic.mdx +7 -0
  427. package/docs/zh/components/extend-bff-function.mdx +3 -0
  428. package/docs/zh/components/hono.mdx +120 -0
  429. package/docs/zh/components/init-app.mdx +111 -0
  430. package/docs/zh/components/init-rspack-app.mdx +5 -0
  431. package/docs/zh/components/internal-logger.mdx +25 -0
  432. package/docs/zh/components/internal-metrics.mdx +20 -0
  433. package/docs/zh/components/international/custom-instance-code.mdx +16 -0
  434. package/docs/zh/components/international/init-options-desc.mdx +1 -0
  435. package/docs/zh/components/international/install-command.mdx +11 -0
  436. package/docs/zh/components/international/instance-code.mdx +16 -0
  437. package/docs/zh/components/international/introduce.mdx +5 -0
  438. package/docs/zh/components/international/platform-support.mdx +0 -0
  439. package/docs/zh/components/language-config.mdx +9 -0
  440. package/docs/zh/components/micro-frontend.mdx +6 -0
  441. package/docs/zh/components/micro-master-manifest-config.mdx +15 -0
  442. package/docs/zh/components/micro-runtime-config.mdx +17 -0
  443. package/docs/zh/components/module-federation.mdx +7 -0
  444. package/docs/zh/components/new-entry-tooltip.mdx +0 -0
  445. package/docs/zh/components/nodeVersion.mdx +28 -0
  446. package/docs/zh/components/other-plugins.mdx +0 -0
  447. package/docs/zh/components/output-asset-prefix-extend.mdx +0 -0
  448. package/docs/zh/components/output-distpath-warning.mdx +0 -0
  449. package/docs/zh/components/output-polyfill-extend.mdx +1 -0
  450. package/docs/zh/components/prerequisites.mdx +18 -0
  451. package/docs/zh/components/release-note.mdx +1 -0
  452. package/docs/zh/components/routes-practice.mdx +0 -0
  453. package/docs/zh/components/rsbuild-config-tooltip.mdx +5 -0
  454. package/docs/zh/components/rsbuild.mdx +3 -0
  455. package/docs/zh/components/rsc-deploy-tip.mdx +1 -0
  456. package/docs/zh/components/rspack.mdx +3 -0
  457. package/docs/zh/components/rspackTip.mdx +7 -0
  458. package/docs/zh/components/runtime-cli-config.mdx +0 -0
  459. package/docs/zh/components/self-route-example.mdx +21 -0
  460. package/docs/zh/components/serve-command.mdx +22 -0
  461. package/docs/zh/components/ssr-monitor.mdx +3 -0
  462. package/docs/zh/components/stream-ssr-performance.mdx +0 -0
  463. package/docs/zh/components/swc.mdx +3 -0
  464. package/docs/zh/components/tech-stack-node-framework.mdx +1 -0
  465. package/docs/zh/components/turtorials-example-list.mdx +2 -0
  466. package/docs/zh/components/ua-polyfill.mdx +44 -0
  467. package/docs/zh/components/upgrade-browserslist.mdx +0 -0
  468. package/docs/zh/components/upgrade-config-deploy.mdx +0 -0
  469. package/docs/zh/components/upgrade-faq.mdx +0 -0
  470. package/docs/zh/configure/_meta.json +78 -0
  471. package/docs/zh/configure/app/bff/cross-project.mdx +24 -0
  472. package/docs/zh/configure/app/bff/effect.mdx +152 -0
  473. package/docs/zh/configure/app/bff/prefix.mdx +33 -0
  474. package/docs/zh/configure/app/bff/runtime-framework.mdx +28 -0
  475. package/docs/zh/configure/app/builder-plugins.mdx +72 -0
  476. package/docs/zh/configure/app/dev/asset-prefix.mdx +18 -0
  477. package/docs/zh/configure/app/dev/before-start-url.mdx +21 -0
  478. package/docs/zh/configure/app/dev/client.mdx +45 -0
  479. package/docs/zh/configure/app/dev/hmr.mdx +14 -0
  480. package/docs/zh/configure/app/dev/host.mdx +22 -0
  481. package/docs/zh/configure/app/dev/https.mdx +82 -0
  482. package/docs/zh/configure/app/dev/lazy-compilation.mdx +44 -0
  483. package/docs/zh/configure/app/dev/live-reload.mdx +14 -0
  484. package/docs/zh/configure/app/dev/progress-bar.mdx +23 -0
  485. package/docs/zh/configure/app/dev/server.mdx +128 -0
  486. package/docs/zh/configure/app/dev/setup-middlewares.mdx +36 -0
  487. package/docs/zh/configure/app/dev/start-url.mdx +54 -0
  488. package/docs/zh/configure/app/dev/watch-files.mdx +31 -0
  489. package/docs/zh/configure/app/dev/write-to-disk.mdx +14 -0
  490. package/docs/zh/configure/app/experiments/source-build.mdx +35 -0
  491. package/docs/zh/configure/app/html/app-icon.mdx +32 -0
  492. package/docs/zh/configure/app/html/crossorigin.mdx +15 -0
  493. package/docs/zh/configure/app/html/favicon.mdx +21 -0
  494. package/docs/zh/configure/app/html/inject.mdx +14 -0
  495. package/docs/zh/configure/app/html/meta.mdx +28 -0
  496. package/docs/zh/configure/app/html/mount-id.mdx +14 -0
  497. package/docs/zh/configure/app/html/output-structure.mdx +14 -0
  498. package/docs/zh/configure/app/html/script-loading.mdx +14 -0
  499. package/docs/zh/configure/app/html/tags.mdx +19 -0
  500. package/docs/zh/configure/app/html/template-parameters.mdx +37 -0
  501. package/docs/zh/configure/app/html/template.mdx +14 -0
  502. package/docs/zh/configure/app/html/title.mdx +22 -0
  503. package/docs/zh/configure/app/output/asset-prefix.mdx +18 -0
  504. package/docs/zh/configure/app/output/assets-retry.mdx +81 -0
  505. package/docs/zh/configure/app/output/charset.mdx +14 -0
  506. package/docs/zh/configure/app/output/clean-dist-path.mdx +20 -0
  507. package/docs/zh/configure/app/output/convert-to-rem.mdx +84 -0
  508. package/docs/zh/configure/app/output/copy.mdx +14 -0
  509. package/docs/zh/configure/app/output/css-modules.mdx +52 -0
  510. package/docs/zh/configure/app/output/data-uri-limit.mdx +30 -0
  511. package/docs/zh/configure/app/output/disable-css-module-extension.mdx +59 -0
  512. package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +45 -0
  513. package/docs/zh/configure/app/output/disable-svgr.mdx +21 -0
  514. package/docs/zh/configure/app/output/disable-ts-checker.mdx +53 -0
  515. package/docs/zh/configure/app/output/dist-path.mdx +50 -0
  516. package/docs/zh/configure/app/output/enable-asset-manifest.mdx +40 -0
  517. package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +32 -0
  518. package/docs/zh/configure/app/output/enable-inline-route-manifests.mdx +21 -0
  519. package/docs/zh/configure/app/output/externals.mdx +24 -0
  520. package/docs/zh/configure/app/output/filename-hash.mdx +14 -0
  521. package/docs/zh/configure/app/output/filename.mdx +62 -0
  522. package/docs/zh/configure/app/output/inject-styles.mdx +14 -0
  523. package/docs/zh/configure/app/output/inline-scripts.mdx +33 -0
  524. package/docs/zh/configure/app/output/inline-styles.mdx +33 -0
  525. package/docs/zh/configure/app/output/legal-comments.mdx +22 -0
  526. package/docs/zh/configure/app/output/minify.mdx +26 -0
  527. package/docs/zh/configure/app/output/override-browserslist.mdx +26 -0
  528. package/docs/zh/configure/app/output/polyfill.mdx +18 -0
  529. package/docs/zh/configure/app/output/source-map.mdx +38 -0
  530. package/docs/zh/configure/app/output/split-route-chunks.mdx +20 -0
  531. package/docs/zh/configure/app/output/ssg.mdx +84 -0
  532. package/docs/zh/configure/app/output/ssgByEntries.mdx +94 -0
  533. package/docs/zh/configure/app/output/svg-default-export.mdx +34 -0
  534. package/docs/zh/configure/app/output/temp-dir.mdx +22 -0
  535. package/docs/zh/configure/app/performance/build-cache.mdx +43 -0
  536. package/docs/zh/configure/app/performance/chunk-split.mdx +44 -0
  537. package/docs/zh/configure/app/performance/dns-prefetch.mdx +19 -0
  538. package/docs/zh/configure/app/performance/preconnect.mdx +20 -0
  539. package/docs/zh/configure/app/performance/prefetch.mdx +25 -0
  540. package/docs/zh/configure/app/performance/preload.mdx +27 -0
  541. package/docs/zh/configure/app/performance/print-file-size.mdx +44 -0
  542. package/docs/zh/configure/app/performance/profile.mdx +14 -0
  543. package/docs/zh/configure/app/performance/remove-console.mdx +14 -0
  544. package/docs/zh/configure/app/performance/remove-moment-locale.mdx +14 -0
  545. package/docs/zh/configure/app/performance/rsdoctor.mdx +39 -0
  546. package/docs/zh/configure/app/plugins.mdx +59 -0
  547. package/docs/zh/configure/app/resolve/alias-strategy.mdx +14 -0
  548. package/docs/zh/configure/app/resolve/alias.mdx +13 -0
  549. package/docs/zh/configure/app/resolve/condition-names.mdx +18 -0
  550. package/docs/zh/configure/app/resolve/dedupe.mdx +14 -0
  551. package/docs/zh/configure/app/resolve/extensions.mdx +18 -0
  552. package/docs/zh/configure/app/runtime/0-intro.mdx +58 -0
  553. package/docs/zh/configure/app/runtime/plugins.mdx +58 -0
  554. package/docs/zh/configure/app/runtime/router.mdx +39 -0
  555. package/docs/zh/configure/app/security/check-syntax.mdx +73 -0
  556. package/docs/zh/configure/app/security/nonce.mdx +19 -0
  557. package/docs/zh/configure/app/security/sri.mdx +24 -0
  558. package/docs/zh/configure/app/server/base-url.mdx +30 -0
  559. package/docs/zh/configure/app/server/port.mdx +23 -0
  560. package/docs/zh/configure/app/server/public-routes.mdx +26 -0
  561. package/docs/zh/configure/app/server/routes.mdx +90 -0
  562. package/docs/zh/configure/app/server/rsc.mdx +30 -0
  563. package/docs/zh/configure/app/server/ssr-by-entries.mdx +29 -0
  564. package/docs/zh/configure/app/server/ssr.mdx +85 -0
  565. package/docs/zh/configure/app/server/tsconfig-path.mdx +63 -0
  566. package/docs/zh/configure/app/source/alias-strategy.mdx +18 -0
  567. package/docs/zh/configure/app/source/alias.mdx +27 -0
  568. package/docs/zh/configure/app/source/config-dir.mdx +24 -0
  569. package/docs/zh/configure/app/source/decorators.mdx +27 -0
  570. package/docs/zh/configure/app/source/define.mdx +20 -0
  571. package/docs/zh/configure/app/source/disable-default-entries.mdx +32 -0
  572. package/docs/zh/configure/app/source/enable-async-entry.mdx +54 -0
  573. package/docs/zh/configure/app/source/enable-async-pre-entry.mdx +77 -0
  574. package/docs/zh/configure/app/source/entries-dir.mdx +39 -0
  575. package/docs/zh/configure/app/source/entries.mdx +185 -0
  576. package/docs/zh/configure/app/source/exclude.mdx +14 -0
  577. package/docs/zh/configure/app/source/global-vars.mdx +109 -0
  578. package/docs/zh/configure/app/source/include.mdx +40 -0
  579. package/docs/zh/configure/app/source/main-entry-name.mdx +28 -0
  580. package/docs/zh/configure/app/source/pre-entry.mdx +14 -0
  581. package/docs/zh/configure/app/source/transform-import.mdx +31 -0
  582. package/docs/zh/configure/app/split-chunks.mdx +17 -0
  583. package/docs/zh/configure/app/tools/autoprefixer.mdx +48 -0
  584. package/docs/zh/configure/app/tools/bundler-chain.mdx +33 -0
  585. package/docs/zh/configure/app/tools/css-extract.mdx +34 -0
  586. package/docs/zh/configure/app/tools/css-loader.mdx +21 -0
  587. package/docs/zh/configure/app/tools/dev-server.mdx +117 -0
  588. package/docs/zh/configure/app/tools/html-plugin.mdx +45 -0
  589. package/docs/zh/configure/app/tools/less.mdx +86 -0
  590. package/docs/zh/configure/app/tools/lightningcss-loader.mdx +39 -0
  591. package/docs/zh/configure/app/tools/minify-css.mdx +57 -0
  592. package/docs/zh/configure/app/tools/postcss.mdx +39 -0
  593. package/docs/zh/configure/app/tools/rspack.mdx +14 -0
  594. package/docs/zh/configure/app/tools/sass.mdx +80 -0
  595. package/docs/zh/configure/app/tools/style-loader.mdx +14 -0
  596. package/docs/zh/configure/app/tools/swc.mdx +69 -0
  597. package/docs/zh/configure/app/tools/ts-checker.mdx +56 -0
  598. package/docs/zh/configure/app/usage.mdx +276 -0
  599. package/docs/zh/guides/_meta.json +37 -0
  600. package/docs/zh/guides/advanced-features/_meta.json +32 -0
  601. package/docs/zh/guides/advanced-features/bff/_meta.json +10 -0
  602. package/docs/zh/guides/advanced-features/bff/cross-project.mdx +112 -0
  603. package/docs/zh/guides/advanced-features/bff/data-platform.mdx +118 -0
  604. package/docs/zh/guides/advanced-features/bff/extend-server.mdx +125 -0
  605. package/docs/zh/guides/advanced-features/bff/frameworks.mdx +118 -0
  606. package/docs/zh/guides/advanced-features/bff/function.mdx +262 -0
  607. package/docs/zh/guides/advanced-features/bff/operators.mdx +629 -0
  608. package/docs/zh/guides/advanced-features/bff/sdk.mdx +117 -0
  609. package/docs/zh/guides/advanced-features/bff/upload.mdx +7 -0
  610. package/docs/zh/guides/advanced-features/bff.mdx +21 -0
  611. package/docs/zh/guides/advanced-features/build-performance.mdx +134 -0
  612. package/docs/zh/guides/advanced-features/compatibility.mdx +80 -0
  613. package/docs/zh/guides/advanced-features/international/_meta.json +10 -0
  614. package/docs/zh/guides/advanced-features/international/advanced.mdx +132 -0
  615. package/docs/zh/guides/advanced-features/international/api.mdx +234 -0
  616. package/docs/zh/guides/advanced-features/international/best-practices.mdx +290 -0
  617. package/docs/zh/guides/advanced-features/international/configuration.mdx +219 -0
  618. package/docs/zh/guides/advanced-features/international/locale-detection.mdx +130 -0
  619. package/docs/zh/guides/advanced-features/international/quick-start.mdx +112 -0
  620. package/docs/zh/guides/advanced-features/international/resource-loading.mdx +155 -0
  621. package/docs/zh/guides/advanced-features/international/routing.mdx +134 -0
  622. package/docs/zh/guides/advanced-features/international.mdx +29 -0
  623. package/docs/zh/guides/advanced-features/low-level.mdx +48 -0
  624. package/docs/zh/guides/advanced-features/page-performance/_meta.json +1 -0
  625. package/docs/zh/guides/advanced-features/page-performance/code-split.mdx +81 -0
  626. package/docs/zh/guides/advanced-features/page-performance/inline-assets.mdx +162 -0
  627. package/docs/zh/guides/advanced-features/page-performance/optimize-bundle.mdx +101 -0
  628. package/docs/zh/guides/advanced-features/page-performance/react-compiler.mdx +54 -0
  629. package/docs/zh/guides/advanced-features/server-monitor/_meta.json +1 -0
  630. package/docs/zh/guides/advanced-features/server-monitor/logger.mdx +21 -0
  631. package/docs/zh/guides/advanced-features/server-monitor/metrics.mdx +42 -0
  632. package/docs/zh/guides/advanced-features/server-monitor/monitors.mdx +240 -0
  633. package/docs/zh/guides/advanced-features/source-build.mdx +168 -0
  634. package/docs/zh/guides/advanced-features/web-server.mdx +281 -0
  635. package/docs/zh/guides/basic-features/_meta.json +49 -0
  636. package/docs/zh/guides/basic-features/alias.mdx +100 -0
  637. package/docs/zh/guides/basic-features/css/_meta.json +1 -0
  638. package/docs/zh/guides/basic-features/css/css-in-js.mdx +69 -0
  639. package/docs/zh/guides/basic-features/css/css-modules.mdx +218 -0
  640. package/docs/zh/guides/basic-features/css/css.mdx +31 -0
  641. package/docs/zh/guides/basic-features/css/tailwindcss.mdx +27 -0
  642. package/docs/zh/guides/basic-features/data/_meta.json +1 -0
  643. package/docs/zh/guides/basic-features/data/data-cache.mdx +498 -0
  644. package/docs/zh/guides/basic-features/data/data-fetch.mdx +421 -0
  645. package/docs/zh/guides/basic-features/data/data-write.mdx +234 -0
  646. package/docs/zh/guides/basic-features/debug/_meta.json +1 -0
  647. package/docs/zh/guides/basic-features/debug/mock.mdx +102 -0
  648. package/docs/zh/guides/basic-features/debug/proxy.mdx +25 -0
  649. package/docs/zh/guides/basic-features/debug/rsdoctor.mdx +48 -0
  650. package/docs/zh/guides/basic-features/debug/using-storybook.mdx +92 -0
  651. package/docs/zh/guides/basic-features/deploy.mdx +432 -0
  652. package/docs/zh/guides/basic-features/env-vars.mdx +180 -0
  653. package/docs/zh/guides/basic-features/html.mdx +262 -0
  654. package/docs/zh/guides/basic-features/output-files.mdx +145 -0
  655. package/docs/zh/guides/basic-features/render/_meta.json +10 -0
  656. package/docs/zh/guides/basic-features/render/before-render.mdx +108 -0
  657. package/docs/zh/guides/basic-features/render/overview.mdx +53 -0
  658. package/docs/zh/guides/basic-features/render/rsc.mdx +619 -0
  659. package/docs/zh/guides/basic-features/render/ssg.mdx +168 -0
  660. package/docs/zh/guides/basic-features/render/ssr-cache.mdx +205 -0
  661. package/docs/zh/guides/basic-features/render/ssr.mdx +334 -0
  662. package/docs/zh/guides/basic-features/render/streaming-ssr.mdx +276 -0
  663. package/docs/zh/guides/basic-features/render/tanstack-rsc.mdx +226 -0
  664. package/docs/zh/guides/basic-features/routes/_meta.json +1 -0
  665. package/docs/zh/guides/basic-features/routes/config-routes.mdx +426 -0
  666. package/docs/zh/guides/basic-features/routes/routes.mdx +521 -0
  667. package/docs/zh/guides/basic-features/static-assets/_meta.json +1 -0
  668. package/docs/zh/guides/basic-features/static-assets/json-files.mdx +124 -0
  669. package/docs/zh/guides/basic-features/static-assets/svg-assets.mdx +174 -0
  670. package/docs/zh/guides/basic-features/static-assets/wasm-assets.mdx +66 -0
  671. package/docs/zh/guides/basic-features/static-assets.mdx +160 -0
  672. package/docs/zh/guides/basic-features/testing/_meta.json +1 -0
  673. package/docs/zh/guides/basic-features/testing/cypress.mdx +95 -0
  674. package/docs/zh/guides/basic-features/testing/jest.mdx +148 -0
  675. package/docs/zh/guides/basic-features/testing/playwright.mdx +112 -0
  676. package/docs/zh/guides/basic-features/testing/rstest.mdx +163 -0
  677. package/docs/zh/guides/basic-features/testing/vitest.mdx +100 -0
  678. package/docs/zh/guides/concept/_meta.json +1 -0
  679. package/docs/zh/guides/concept/builder.mdx +60 -0
  680. package/docs/zh/guides/concept/entries.mdx +323 -0
  681. package/docs/zh/guides/concept/server.mdx +35 -0
  682. package/docs/zh/guides/get-started/_meta.json +8 -0
  683. package/docs/zh/guides/get-started/glossary.mdx +63 -0
  684. package/docs/zh/guides/get-started/introduction.mdx +45 -0
  685. package/docs/zh/guides/get-started/quick-start.mdx +90 -0
  686. package/docs/zh/guides/get-started/tech-stack.mdx +91 -0
  687. package/docs/zh/guides/get-started/ultramodern.mdx +80 -0
  688. package/docs/zh/guides/get-started/upgrade.mdx +114 -0
  689. package/docs/zh/guides/topic-detail/_meta.json +8 -0
  690. package/docs/zh/guides/topic-detail/module-federation/_meta.json +1 -0
  691. package/docs/zh/guides/topic-detail/module-federation/application.mdx +117 -0
  692. package/docs/zh/guides/topic-detail/module-federation/deploy.mdx +104 -0
  693. package/docs/zh/guides/topic-detail/module-federation/i18n.mdx +623 -0
  694. package/docs/zh/guides/topic-detail/module-federation/introduce.mdx +35 -0
  695. package/docs/zh/guides/topic-detail/module-federation/ssr.mdx +168 -0
  696. package/docs/zh/guides/topic-detail/module-federation/usage.mdx +200 -0
  697. package/docs/zh/guides/troubleshooting/_meta.json +1 -0
  698. package/docs/zh/guides/troubleshooting/builder.mdx +134 -0
  699. package/docs/zh/guides/troubleshooting/cli.mdx +39 -0
  700. package/docs/zh/guides/troubleshooting/dependencies.mdx +123 -0
  701. package/docs/zh/guides/troubleshooting/hmr.mdx +148 -0
  702. package/docs/zh/guides/upgrade/_meta.json +1 -0
  703. package/docs/zh/guides/upgrade/config.mdx +953 -0
  704. package/docs/zh/guides/upgrade/entry.mdx +463 -0
  705. package/docs/zh/guides/upgrade/other.md +190 -0
  706. package/docs/zh/guides/upgrade/overview.mdx +36 -0
  707. package/docs/zh/guides/upgrade/tailwindcss.mdx +92 -0
  708. package/docs/zh/guides/upgrade/web-server.md +111 -0
  709. package/docs/zh/index.md +4 -0
  710. package/docs/zh/plugin/_meta.json +25 -0
  711. package/docs/zh/plugin/cli-plugins/_meta.json +1 -0
  712. package/docs/zh/plugin/cli-plugins/api.mdx +569 -0
  713. package/docs/zh/plugin/cli-plugins/life-cycle.mdx +135 -0
  714. package/docs/zh/plugin/introduction.mdx +153 -0
  715. package/docs/zh/plugin/official/_meta.json +7 -0
  716. package/docs/zh/plugin/official/cli-plugins/_meta.json +1 -0
  717. package/docs/zh/plugin/official/cli-plugins/plugin-bff.mdx +5 -0
  718. package/docs/zh/plugin/official/cli-plugins/plugin-ssg.mdx +5 -0
  719. package/docs/zh/plugin/official/cli-plugins/plugin-styled-components.mdx +5 -0
  720. package/docs/zh/plugin/official/cli-plugins.mdx +4 -0
  721. package/docs/zh/plugin/plugin-system.mdx +231 -0
  722. package/docs/zh/plugin/runtime-plugins/_meta.json +1 -0
  723. package/docs/zh/plugin/runtime-plugins/api.mdx +193 -0
  724. package/docs/zh/plugin/runtime-plugins/life-cycle.mdx +29 -0
  725. package/docs/zh/plugin/server-plugins/_meta.json +1 -0
  726. package/docs/zh/plugin/server-plugins/api.mdx +212 -0
  727. package/docs/zh/plugin/server-plugins/life-cycle.mdx +43 -0
  728. package/docs/zh/tutorials/_meta.json +7 -0
  729. package/docs/zh/tutorials/examples/csr-auth.mdx +31 -0
  730. package/docs/zh/tutorials/foundations/introduction.mdx +22 -0
  731. package/i18n.json +142 -0
  732. package/main-doc/docs/en/guides/get-started/ultramodern.mdx +320 -0
  733. package/main-doc/docs/zh/guides/get-started/ultramodern.mdx +304 -0
  734. package/package.json +52 -0
  735. package/rspress.config.ts +153 -0
  736. package/src/components/ContentCard/index.module.scss +65 -0
  737. package/src/components/ContentCard/index.tsx +24 -0
  738. package/src/components/FeatureLayout/index.module.css +8 -0
  739. package/src/components/FeatureLayout/index.tsx +8 -0
  740. package/src/components/Footer/index.tsx +118 -0
  741. package/src/components/Footer/styles.module.scss +49 -0
  742. package/src/components/FrameworkCode/index.tsx +605 -0
  743. package/src/components/ListCard/index.module.css +57 -0
  744. package/src/components/ListCard/index.tsx +26 -0
  745. package/src/components/Mermaid/index.tsx +64 -0
  746. package/src/components/Mermaid/style.scss +221 -0
  747. package/src/components/RandomMemberList/index.module.scss +35 -0
  748. package/src/components/RandomMemberList/index.tsx +122 -0
  749. package/src/components/RsbuildLink/index.tsx +19 -0
  750. package/src/components/Sandpack/index.css +10 -0
  751. package/src/components/Sandpack/index.tsx +22 -0
  752. package/src/components/SecondaryTitle/index.module.css +14 -0
  753. package/src/components/SecondaryTitle/index.tsx +15 -0
  754. package/src/components/ShowcaseList/index.module.scss +80 -0
  755. package/src/components/ShowcaseList/index.tsx +39 -0
  756. package/src/components/ShowcaseList/useShowcases.ts +101 -0
  757. package/src/components/SolutionCards/index.module.scss +73 -0
  758. package/src/components/SolutionCards/index.tsx +30 -0
  759. package/src/custom.scss +15 -0
  760. package/src/global.d.ts +28 -0
  761. package/src/i18n/enUS.ts +54 -0
  762. package/src/i18n/index.ts +18 -0
  763. package/src/i18n/zhCN.ts +54 -0
  764. package/src/index.ts +5 -0
  765. package/src/pages/index.module.scss +349 -0
  766. package/src/pages/index.tsx +133 -0
  767. package/src/sandbox/csr-auth/src/routes/Auth-tsx.txt +74 -0
  768. package/src/sandbox/csr-auth/src/routes/fakeAuth-ts.txt +16 -0
  769. package/src/sandbox/csr-auth/src/routes/layout-tsx.txt +21 -0
  770. package/src/sandbox/csr-auth/src/routes/login/page-tsx.txt +40 -0
  771. package/src/sandbox/csr-auth/src/routes/page-tsx.txt +17 -0
  772. package/src/sandbox/csr-auth/src/routes/protected/page-tsx.txt +11 -0
  773. package/static/img/favicon.ico +0 -0
  774. package/static/img/features/ai.svg +1 -0
  775. package/static/img/features/api.svg +1 -0
  776. package/static/img/features/app.svg +1 -0
  777. package/static/img/features/blocks.svg +1 -0
  778. package/static/img/features/browser.svg +12 -0
  779. package/static/img/features/cloud.svg +1 -0
  780. package/static/img/features/coding-backend.svg +1 -0
  781. package/static/img/features/compiler.svg +1 -0
  782. package/static/img/features/css-file.svg +1 -0
  783. package/static/img/features/customize.svg +1 -0
  784. package/static/img/features/developer.svg +1 -0
  785. package/static/img/features/dynamic.svg +1 -0
  786. package/static/img/features/editor.svg +1 -0
  787. package/static/img/features/framework-config.svg +1 -0
  788. package/static/img/features/framework.svg +1 -0
  789. package/static/img/features/frameworks.svg +1 -0
  790. package/static/img/features/html.svg +1 -0
  791. package/static/img/features/icon2.svg +1 -0
  792. package/static/img/features/javascript.svg +1 -0
  793. package/static/img/features/monorepo.svg +1 -0
  794. package/static/img/features/product.svg +1 -0
  795. package/static/img/features/server-network.svg +1 -0
  796. package/static/img/features/serverless.svg +1 -0
  797. package/static/img/features/test.svg +1 -0
  798. package/static/img/features/trinity.svg +1 -0
  799. package/static/img/features/unity.svg +1 -0
  800. package/static/img/features/url.svg +1 -0
  801. package/static/img/features/visual.svg +1 -0
  802. package/static/img/features/web-server.svg +1 -0
@@ -0,0 +1,349 @@
1
+ /**
2
+ * CSS files with the .module.css suffix will be treated as CSS modules
3
+ * and scoped locally.
4
+ */
5
+
6
+ /* === Header Start === */
7
+ .header {
8
+ display: flex;
9
+ justify-content: center;
10
+ background-size: cover;
11
+ background-position: center bottom;
12
+ background-origin: border-box;
13
+ }
14
+
15
+ .heroBanner {
16
+ display: flex;
17
+ width: 80vw;
18
+ max-width: 1200px;
19
+ flex-direction: column;
20
+ justify-content: flex-start;
21
+ position: relative;
22
+ box-sizing: border-box;
23
+ align-items: center;
24
+ text-align: center;
25
+ padding-top: 12vh;
26
+ padding-bottom: 16vh;
27
+ }
28
+
29
+ .announcement {
30
+ display: inline-flex;
31
+ align-items: center;
32
+ gap: 10px;
33
+ padding: 6px 18px 6px 6px;
34
+ border-radius: 999px;
35
+ background: linear-gradient(
36
+ 150.85deg,
37
+ rgba(124, 178, 250, 0.15) 3%,
38
+ rgba(124, 178, 250, 0.08) 97.17%
39
+ );
40
+ border: 1px solid rgba(124, 178, 250, 0.4);
41
+ cursor: pointer;
42
+ transition: all 0.3s ease;
43
+ text-decoration: none;
44
+ margin-bottom: 1.5rem;
45
+ position: relative;
46
+ z-index: 1;
47
+
48
+ &:hover {
49
+ background: linear-gradient(
50
+ 150.85deg,
51
+ rgba(124, 178, 250, 0.25) 3%,
52
+ rgba(124, 178, 250, 0.15) 97.17%
53
+ );
54
+ border-color: rgba(124, 178, 250, 0.55);
55
+ text-decoration: none;
56
+ }
57
+ }
58
+
59
+ :global(.dark) .announcement {
60
+ background: linear-gradient(
61
+ 150.85deg,
62
+ rgba(124, 178, 250, 0.18) 3%,
63
+ rgba(124, 178, 250, 0.08) 97.17%
64
+ );
65
+ border-color: rgba(124, 178, 250, 0.25);
66
+
67
+ &:hover {
68
+ background: linear-gradient(
69
+ 150.85deg,
70
+ rgba(124, 178, 250, 0.28) 3%,
71
+ rgba(124, 178, 250, 0.14) 97.17%
72
+ );
73
+ border-color: rgba(124, 178, 250, 0.4);
74
+ }
75
+ }
76
+
77
+ .announcementLabel {
78
+ display: inline-flex;
79
+ align-items: center;
80
+ padding: 2px 10px;
81
+ border-radius: 999px;
82
+ background: var(--edenx-home-hero-name-background);
83
+ font-size: 12px;
84
+ font-weight: 700;
85
+ color: #fff;
86
+ letter-spacing: 0.5px;
87
+ line-height: 1.6;
88
+ }
89
+
90
+ .announcementText {
91
+ font-size: 14px;
92
+ font-weight: 500;
93
+ color: rgba(0, 0, 0, 0.75);
94
+ }
95
+
96
+ :global(.dark) .announcementText {
97
+ color: rgba(255, 255, 255, 0.85);
98
+ }
99
+
100
+ .announcementArrow {
101
+ font-size: 14px;
102
+ color: rgba(0, 0, 0, 0.45);
103
+ transition: transform 0.3s ease;
104
+
105
+ .announcement:hover & {
106
+ transform: translateX(2px);
107
+ }
108
+ }
109
+
110
+ :global(.dark) .announcementArrow {
111
+ color: rgba(255, 255, 255, 0.5);
112
+ }
113
+
114
+ .title {
115
+ font-style: normal;
116
+ font-weight: bold;
117
+ font-size: 3.75rem;
118
+ line-height: 1.6;
119
+ }
120
+
121
+ .mainTitle {
122
+ font-size: 125%;
123
+ }
124
+
125
+ .mask {
126
+ position: absolute;
127
+ background-image: conic-gradient(
128
+ from 180deg at 50%50%,
129
+ var(--edenx-primary-color) 0deg,
130
+ 180deg,
131
+ hsl(198deg, 100%, 50%) 0deg
132
+ );
133
+ max-width: 500px;
134
+ width: 100%;
135
+ height: 450px;
136
+ border-radius: 100%;
137
+ mixblendmode: normal;
138
+ filter: blur(80px);
139
+ opacity: 0.1;
140
+ top: 100px;
141
+ left: 50%;
142
+ z-index: 0;
143
+ transform: translateX(-50%);
144
+ pointer-events: none;
145
+ }
146
+
147
+ :global(.dark) .mask {
148
+ opacity: 0.15;
149
+ }
150
+
151
+ .titleGradient {
152
+ background: var(--edenx-home-hero-name-background);
153
+ background-clip: text;
154
+ -webkit-background-clip: text;
155
+ -webkit-text-fill-color: transparent;
156
+ }
157
+
158
+ .buttons {
159
+ display: flex;
160
+ justify-content: center;
161
+ margin-top: 2.4rem;
162
+ }
163
+
164
+ .slogan {
165
+ font-size: 40%;
166
+ font-weight: normal;
167
+ opacity: 0.7;
168
+ margin-top: 1.2rem;
169
+ }
170
+
171
+ .leftButton,
172
+ .rightButton {
173
+ width: 142px;
174
+ font-weight: bold;
175
+
176
+ &:hover {
177
+ opacity: 0.7;
178
+ text-decoration: none;
179
+ }
180
+
181
+ &:active {
182
+ opacity: 0.4;
183
+ }
184
+ }
185
+
186
+ .leftButton {
187
+ display: flex;
188
+ justify-content: center;
189
+ align-items: center;
190
+ line-height: 48px;
191
+ height: 48px;
192
+ background: var(--edenx-home-hero-name-background);
193
+ box-shadow: 0px 1px 8px rgba(133, 250, 202, 0.34);
194
+ border-radius: 39px;
195
+ color: #fff;
196
+ cursor: pointer;
197
+ opacity: 0.9;
198
+ transition: opacity 0.3s ease;
199
+
200
+ &:hover {
201
+ color: #fff;
202
+ }
203
+ }
204
+
205
+ .rightButton {
206
+ display: flex;
207
+ height: 49px;
208
+ justify-content: center;
209
+ align-items: center;
210
+ border: 1px solid var(--edenx-primary-color);
211
+ box-sizing: border-box;
212
+ border-radius: 39px;
213
+ margin-left: 32px;
214
+ cursor: pointer;
215
+ color: var(--edenx-primary-color);
216
+ transition: all 0.3s ease;
217
+ }
218
+
219
+ @media (max-width: 1600px) {
220
+ .logo {
221
+ width: 420px;
222
+ }
223
+
224
+ .title {
225
+ font-size: 3.6rem;
226
+ }
227
+ }
228
+
229
+ @media screen and (max-width: 768px) {
230
+ .heroBanner {
231
+ align-items: center;
232
+ }
233
+ .title {
234
+ font-size: 7vw;
235
+ text-align: center;
236
+ }
237
+ .announcement {
238
+ padding: 4px 14px 4px 4px;
239
+ gap: 8px;
240
+ margin-bottom: 1rem;
241
+ }
242
+ .announcementText {
243
+ font-size: 12px;
244
+ }
245
+ .buttons {
246
+ width: 65%;
247
+ justify-content: center;
248
+ align-items: center;
249
+ flex-direction: column;
250
+ margin-top: 50px;
251
+ }
252
+ .leftButton,
253
+ .rightButton {
254
+ width: 100%;
255
+ }
256
+ .rightButton {
257
+ margin-left: 0;
258
+ margin-top: 32px;
259
+ }
260
+ .singleImg {
261
+ max-width: 100%;
262
+ }
263
+ }
264
+
265
+ @media screen and (max-width: 540px) {
266
+ .title {
267
+ font-size: 8vw;
268
+ }
269
+ }
270
+
271
+ /* === Header End === */
272
+
273
+ .cardContainer {
274
+ display: flex;
275
+ flex-wrap: wrap;
276
+ margin-top: 16px;
277
+ }
278
+
279
+ // .homepage-main {
280
+ // background-color: #0d0d0d;
281
+ // }
282
+
283
+ .flowContainer {
284
+ position: relative;
285
+ width: 1021px;
286
+ max-width: 100%;
287
+ margin: 0 auto;
288
+ height: 1261px;
289
+ overflow-y: hidden;
290
+ }
291
+
292
+ .flowLine {
293
+ position: absolute;
294
+ width: 95px;
295
+ left: 50%;
296
+ transform: translateX(-50%);
297
+ }
298
+
299
+ .flowLineMobile {
300
+ left: 30px;
301
+ width: 37.5px;
302
+ }
303
+
304
+ .singleImgWrap {
305
+ display: flex;
306
+ justify-content: center;
307
+ width: 100%;
308
+ margin-top: 48px;
309
+ border: 1px solid #6f6f6f;
310
+ border-radius: 8px;
311
+ }
312
+
313
+ .singleImg {
314
+ max-width: 910px;
315
+ object-fit: contain;
316
+ }
317
+
318
+ .singleImgCard {
319
+ margin-bottom: 16px;
320
+ transition: all 0.3s ease;
321
+ }
322
+
323
+ .singleImgCard:hover {
324
+ background: rgba(78, 202, 255, 0.2);
325
+ transition: all 0.3s ease;
326
+ }
327
+
328
+ @media screen and (max-width: 700px) {
329
+ .section-title {
330
+ font-size: 1rem;
331
+ font-size: 4vw;
332
+ margin-top: 1rem;
333
+ margin-bottom: 1rem;
334
+ }
335
+ .singleImg {
336
+ max-width: 100%;
337
+ }
338
+ }
339
+
340
+ @media screen and (max-width: 1100px) {
341
+ .flowContainer {
342
+ height: auto;
343
+ overflow: visible;
344
+ }
345
+ }
346
+
347
+ :global(.rspress-logo) {
348
+ width: auto !important;
349
+ }
@@ -0,0 +1,133 @@
1
+ import { Head, useLocation } from '@rspress/core/runtime';
2
+ import clsx from 'clsx';
3
+ import { useEffect } from 'react';
4
+ import ContentCard from '../components/ContentCard';
5
+ import { FeatureLayout } from '../components/FeatureLayout';
6
+ import Footer from '../components/Footer';
7
+ import SecondaryTitle from '../components/SecondaryTitle';
8
+ import { useI18n, useUrl } from '../i18n';
9
+ import styles from './index.module.scss';
10
+
11
+ const HomepageHeader = () => {
12
+ const t = useI18n();
13
+ return (
14
+ <div className={styles.header}>
15
+ <header className={clsx('hero hero--primary', styles.heroBanner)}>
16
+ <div className={styles.mask} />
17
+ <a
18
+ href={useUrl('/community/blog/v3-release-note')}
19
+ className={styles.announcement}
20
+ >
21
+ <span className={styles.announcementLabel}>
22
+ {t('announcementLabel')}
23
+ </span>
24
+ <span className={styles.announcementText}>
25
+ {t('announcementText')}
26
+ </span>
27
+ <span className={styles.announcementArrow}>→</span>
28
+ </a>
29
+ <h1 className={styles.title}>
30
+ <span className={clsx([styles.titleGradient, styles.mainTitle])}>
31
+ Modern.js 3.0
32
+ </span>
33
+ <div>{t('slogan')}</div>
34
+ </h1>
35
+ <div className={styles.buttons}>
36
+ <a
37
+ href={useUrl('/guides/get-started/introduction')}
38
+ className={styles.leftButton}
39
+ >
40
+ {t('introduction')}
41
+ </a>
42
+ <a
43
+ href={useUrl('/guides/get-started/quick-start')}
44
+ className={styles.rightButton}
45
+ >
46
+ {t('quickStart')}
47
+ </a>
48
+ </div>
49
+ </header>
50
+ </div>
51
+ );
52
+ };
53
+
54
+ export default function Home() {
55
+ const t = useI18n();
56
+ const { pathname } = useLocation();
57
+ useEffect(() => {
58
+ window.MODERN_THEME = 'dark';
59
+ return () => {
60
+ window.MODERN_THEME = undefined;
61
+ };
62
+ }, [pathname]);
63
+
64
+ const features = [
65
+ {
66
+ id: 'feature1',
67
+ title: t('feature1'),
68
+ href: useUrl('/guides/concept/builder'),
69
+ desc: t('featureDesc1'),
70
+ },
71
+ {
72
+ id: 'feature2',
73
+ title: t('feature2'),
74
+ href: useUrl('/guides/advanced-features/bff/index'),
75
+ desc: t('featureDesc2'),
76
+ },
77
+ {
78
+ id: 'feature3',
79
+ title: t('feature3'),
80
+ href: useUrl('/guides/basic-features/routes/routes'),
81
+ desc: t('featureDesc3'),
82
+ },
83
+ {
84
+ id: 'feature4',
85
+ title: t('feature4'),
86
+ href: useUrl('/guides/basic-features/render/ssr'),
87
+ desc: t('featureDesc4'),
88
+ },
89
+ {
90
+ id: 'feature5',
91
+ title: t('feature5'),
92
+ href: useUrl('/guides/basic-features/css/css'),
93
+ desc: t('featureDesc5'),
94
+ },
95
+ {
96
+ id: 'feature6',
97
+ title: t('feature6'),
98
+ href: useUrl('/configure/app/usage'),
99
+ desc: t('featureDesc6'),
100
+ },
101
+ ];
102
+
103
+ return (
104
+ <div>
105
+ <Head>
106
+ <html className="dark" />
107
+ <script>window.MODERN_THEME = 'dark';</script>
108
+ <style type="text/css">{`
109
+ .rspress-doc-appearance {
110
+ display: none!important;
111
+ }
112
+ `}</style>
113
+ </Head>
114
+ <HomepageHeader />
115
+ <main className={styles['homepage-main']}>
116
+ <FeatureLayout>
117
+ <div className={styles.cardContainer}>
118
+ {features.map(card => (
119
+ <ContentCard
120
+ key={card.id}
121
+ title={card.title}
122
+ desc={card.desc}
123
+ href={card.href}
124
+ />
125
+ ))}
126
+ </div>
127
+ </FeatureLayout>
128
+
129
+ <Footer />
130
+ </main>
131
+ </div>
132
+ );
133
+ }
@@ -0,0 +1,74 @@
1
+ import { Navigate, useLocation, useNavigate } from '@modern-js/runtime/router';
2
+ import React from 'react';
3
+ import { fakeAuthProvider } from './fakeAuth';
4
+
5
+ interface AuthContextType {
6
+ user: any;
7
+ signin: (user: string, callback: VoidFunction) => void;
8
+ signout: (callback: VoidFunction) => void;
9
+ }
10
+
11
+ const AuthContext = React.createContext<AuthContextType>(null!);
12
+
13
+ export function AuthProvider({ children }: { children: React.ReactNode }) {
14
+ const [user, setUser] = React.useState<any>(null);
15
+
16
+ const signin = (newUser: string, callback: VoidFunction) =>
17
+ fakeAuthProvider.signin(() => {
18
+ setUser(newUser);
19
+ callback();
20
+ });
21
+
22
+ const signout = (callback: VoidFunction) =>
23
+ fakeAuthProvider.signout(() => {
24
+ setUser(null);
25
+ callback();
26
+ });
27
+
28
+ const value = { user, signin, signout };
29
+
30
+ return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;
31
+ }
32
+
33
+ export function useAuth() {
34
+ return React.useContext(AuthContext);
35
+ }
36
+
37
+ export function AuthStatus() {
38
+ const auth = useAuth();
39
+ console.log('auth', auth);
40
+ const navigate = useNavigate();
41
+
42
+ if (!auth.user) {
43
+ return <p>You are not logged in.</p>;
44
+ }
45
+
46
+ return (
47
+ <p>
48
+ Welcome {auth.user}!{' '}
49
+ <button
50
+ type="button"
51
+ onClick={() => {
52
+ auth.signout(() => navigate('/'));
53
+ }}
54
+ >
55
+ Sign out
56
+ </button>
57
+ </p>
58
+ );
59
+ }
60
+
61
+ export function RequireAuth({ children }: { children: JSX.Element }) {
62
+ const auth = useAuth();
63
+ const location = useLocation();
64
+
65
+ if (!auth.user) {
66
+ // Redirect them to the /login page, but save the current location they were
67
+ // trying to go to when they were redirected. This allows us to send them
68
+ // along to that page after they login, which is a nicer user experience
69
+ // than dropping them off on the home page.
70
+ return <Navigate to="/login" state={{ from: location }} replace />;
71
+ }
72
+
73
+ return children;
74
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This represents some generic auth provider API, like Firebase.
3
+ */
4
+ const fakeAuthProvider = {
5
+ isAuthenticated: false,
6
+ signin(callback: VoidFunction) {
7
+ fakeAuthProvider.isAuthenticated = true;
8
+ setTimeout(callback, 100); // fake async
9
+ },
10
+ signout(callback: VoidFunction) {
11
+ fakeAuthProvider.isAuthenticated = false;
12
+ setTimeout(callback, 100);
13
+ },
14
+ };
15
+
16
+ export { fakeAuthProvider };
@@ -0,0 +1,21 @@
1
+ import { Link, Outlet } from '@modern-js/runtime/router';
2
+ import { AuthProvider, AuthStatus } from './Auth';
3
+
4
+ export default function Layout() {
5
+ return (
6
+ <AuthProvider>
7
+ <AuthStatus />
8
+
9
+ <ul>
10
+ <li>
11
+ <Link to="/">Public Page</Link>
12
+ </li>
13
+ <li>
14
+ <Link to="/protected">Protected Page</Link>
15
+ </li>
16
+ </ul>
17
+
18
+ <Outlet />
19
+ </AuthProvider>
20
+ );
21
+ }
@@ -0,0 +1,40 @@
1
+ import { useLocation, useNavigate } from '@modern-js/runtime/router';
2
+ import { useAuth } from '../Auth';
3
+
4
+ export default function Login() {
5
+ const navigate = useNavigate();
6
+ const location = useLocation();
7
+ const auth = useAuth();
8
+
9
+ const from = location.state?.from?.pathname || '/';
10
+
11
+ function handleSubmit(event: React.FormEvent<HTMLFormElement>) {
12
+ event.preventDefault();
13
+
14
+ const formData = new FormData(event.currentTarget);
15
+ const username = formData.get('username') as string;
16
+
17
+ auth.signin(username, () => {
18
+ // Send them back to the page they tried to visit when they were
19
+ // redirected to the login page. Use { replace: true } so we don't create
20
+ // another entry in the history stack for the login page. This means that
21
+ // when they get to the protected page and click the back button, they
22
+ // won't end up back on the login page, which is also really nice for the
23
+ // user experience.
24
+ navigate(from, { replace: true });
25
+ });
26
+ }
27
+
28
+ return (
29
+ <div>
30
+ <p>You must log in to view the page at {from}</p>
31
+
32
+ <form onSubmit={handleSubmit}>
33
+ <label>
34
+ Username: <input name="username" type="text" />
35
+ </label>{' '}
36
+ <button type="submit">Login</button>
37
+ </form>
38
+ </div>
39
+ );
40
+ }
@@ -0,0 +1,17 @@
1
+ import { Helmet } from '@modern-js/runtime/head';
2
+ import './index.css';
3
+
4
+ const PublicPage = (): JSX.Element => (
5
+ <div className="container-box">
6
+ <Helmet>
7
+ <link
8
+ rel="icon"
9
+ type="image/x-icon"
10
+ href="https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupenuhf/favicon.ico"
11
+ />
12
+ </Helmet>
13
+ <h3>Public</h3>
14
+ </div>
15
+ );
16
+
17
+ export default PublicPage;
@@ -0,0 +1,11 @@
1
+ import { RequireAuth } from '../Auth';
2
+
3
+ export default function ProtectedPage() {
4
+ return (
5
+ <div className="container-box">
6
+ <RequireAuth>
7
+ <h3>Protected</h3>
8
+ </RequireAuth>
9
+ </div>
10
+ );
11
+ }
Binary file
@@ -0,0 +1 @@
1
+ <svg height='100px' width='100px' xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 60 60" version="1.1" x="0px" y="0px"><title>012 - Computer Thoughts</title><desc>Created with Sketch.</desc><g stroke="none" stroke-width="1" fill-rule="evenodd"><g fill-rule="nonzero"><path d="M0.36,33.859 C-0.0644455646,34.4700348 -0.114638064,35.2661705 0.229706222,35.9256738 C0.574050508,36.5851771 1.256013,36.999035 2,37 L3.5,37 C3.84480965,37.6090457 4.01763407,38.3003434 4,39 C4.00832504,39.5708401 3.89551058,40.1369574 3.669,40.661 C3.44824771,41.1785027 3.46468621,41.7666357 3.714,42.271 C3.96338828,42.7714899 4.42007781,43.137134 4.963,43.271 L5.579,43.421 C5.14242368,43.7839315 4.88992898,44.3222693 4.89,44.89 C4.88443005,45.6177159 5.29869331,46.2834962 5.954,46.6 C6.09022168,46.6659754 6.23964257,46.7001678 6.391,46.7 C6.47390786,46.7005316 6.54841728,46.7507147 6.58007291,46.8273431 C6.61172853,46.9039715 6.59436038,46.9921097 6.536,47.051 L5.536,48.051 C4.63859869,48.9528838 4.14792073,50.1818065 4.17736489,51.4537564 C4.20680905,52.7257063 4.75382719,53.9306076 5.692,54.79 C6.5850442,55.5883037 7.74633528,56.0203954 8.944,56 L16.66,56 C17.5757531,56.0018118 18.3740304,56.6235628 18.6,57.511 L19.029,59.241 C19.1397719,59.6870872 19.5403652,60.0002183 20,60 L49,60 C49.5522847,60 50,59.5522847 50,59 L50,48.922 C49.9896216,48.3582781 50.2246235,47.8178468 50.644,47.441 C59.3937487,39.8795169 62.3564822,27.5854205 58.0116633,16.8682997 C53.6668444,6.1511789 42.9793391,-0.608985674 31.4341999,0.0572645803 C19.8890606,0.723514834 10.0501485,8.66822387 6.967,19.814 C6.73213687,20.6750315 6.88167151,21.5955813 7.377,22.338 C7.49978882,22.5265547 7.56670111,22.7460131 7.57,22.971 C7.56981616,23.2019959 7.49821275,23.4272846 7.365,23.616 L0.36,33.859 Z M9.053,21.246 C8.87131435,20.9835158 8.8135842,20.6546731 8.895,20.346 C11.7439001,10.020168 20.8533359,2.65586434 31.5468792,2.03363446 C42.2404225,1.41140458 52.1425093,7.66947646 56.1697956,17.5952008 C60.1970819,27.5209251 57.4549085,38.9093084 49.351,45.914 L49.346,45.914 C48.1525251,46.9462055 46.8648887,47.8642239 45.5,48.656 C45.1091084,48.882748 44.9188594,49.3434704 45.0358789,49.7799534 C45.1528985,50.2164363 45.5481037,50.5202005 46,50.521 C46.1756138,50.5215641 46.3482044,50.4753098 46.5,50.387 C47.013,50.087 47.5,49.754 48,49.423 L48,58 L20.782,58 L20.539,57.021 C20.4434042,56.6623167 20.2983456,56.3186861 20.108,56 L28.528,56 C31.6526075,56.0126664 34.5122323,54.2465416 35.9,51.447 C36.1468713,50.9527051 35.9462949,50.3518713 35.452,50.105 C34.9577051,49.8581287 34.3568713,50.0587051 34.11,50.553 C33.059452,52.6729515 30.8939547,54.0101907 28.528,54 L17,54 C16.964,54 16.934,54.017 16.9,54.02 C16.819,54.015 16.742,54 16.66,54 L8.944,54 C8.24792803,54.0210532 7.56949661,53.7789603 7.044,53.322 C6.50509389,52.8323355 6.18964109,52.1437525 6.17075919,51.4158551 C6.15187728,50.6879578 6.43120571,49.983946 6.944,49.467 L7.944,48.467 C8.4905816,47.9237635 8.71422939,47.1347696 8.53401629,46.3855163 C8.35380319,45.6362629 7.79583012,45.0352673 7.062,44.8 C7.59086127,44.3301842 7.81619984,43.6062167 7.64739352,42.9192484 C7.47858719,42.23228 6.94337578,41.6951998 6.257,41.524 L5.548,41.352 C5.85389443,40.6059538 6.00757186,39.8062872 6,39 C6.00368008,38.3201389 5.89487824,37.6443512 5.678,37 L5.76,37 C6.28990234,37.0020592 6.79762077,37.2129797 7.173,37.587 L7.293,37.707 C7.68537889,38.0859722 8.30908478,38.0805524 8.69481858,37.6948186 C9.08055237,37.3090848 9.08597221,36.6853789 8.707,36.293 L8.587,36.173 C7.83583306,35.425083 6.82000884,35.0035896 5.76,35 L4,35 L2,34.995 L9.012,24.751 C9.37563739,24.2286835 9.57038906,23.6074326 9.57,22.971 C9.56690983,22.3582808 9.38742373,21.7594152 9.053,21.246 Z"></path><path d="M30,33 L38,33 C39.6568542,33 41,31.6568542 41,30 L41,22 C41,20.3431458 39.6568542,19 38,19 L30,19 C28.3431458,19 27,20.3431458 27,22 L27,30 C27,31.6568542 28.3431458,33 30,33 Z M29,22 C29,21.4477153 29.4477153,21 30,21 L38,21 C38.5522847,21 39,21.4477153 39,22 L39,30 C39,30.5522847 38.5522847,31 38,31 L30,31 C29.4477153,31 29,30.5522847 29,30 L29,22 Z"></path><path d="M19,33 C18.4477153,33 18,33.4477153 18,34 C18,34.5522847 18.4477153,35 19,35 L22.142,35 C22.5061725,36.4002987 23.5997013,37.4938275 25,37.858 L25,41 C25,41.5522847 25.4477153,42 26,42 C26.5522847,42 27,41.5522847 27,41 L27,38 L29,38 L29,41 C29,41.5522847 29.4477153,42 30,42 C30.5522847,42 31,41.5522847 31,41 L31,38 L33,38 L33,41 C33,41.5522847 33.4477153,42 34,42 C34.5522847,42 35,41.5522847 35,41 L35,38 L37,38 L37,41 C37,41.5522847 37.4477153,42 38,42 C38.5522847,42 39,41.5522847 39,41 L39,38 L41,38 L41,41 C41,41.5522847 41.4477153,42 42,42 C42.5522847,42 43,41.5522847 43,41 L43,37.858 C44.4002987,37.4938275 45.4938275,36.4002987 45.858,35 L49,35 C49.5522847,35 50,34.5522847 50,34 C50,33.4477153 49.5522847,33 49,33 L46,33 L46,31 L49,31 C49.5522847,31 50,30.5522847 50,30 C50,29.4477153 49.5522847,29 49,29 L46,29 L46,27 L49,27 C49.5522847,27 50,26.5522847 50,26 C50,25.4477153 49.5522847,25 49,25 L46,25 L46,23 L49,23 C49.5522847,23 50,22.5522847 50,22 C50,21.4477153 49.5522847,21 49,21 L46,21 L46,19 L49,19 C49.5522847,19 50,18.5522847 50,18 C50,17.4477153 49.5522847,17 49,17 L45.858,17 C45.4938275,15.5997013 44.4002987,14.5061725 43,14.142 L43,11 C43,10.4477153 42.5522847,10 42,10 C41.4477153,10 41,10.4477153 41,11 L41,14 L39,14 L39,11 C39,10.4477153 38.5522847,10 38,10 C37.4477153,10 37,10.4477153 37,11 L37,14 L35,14 L35,11 C35,10.4477153 34.5522847,10 34,10 C33.4477153,10 33,10.4477153 33,11 L33,14 L31,14 L31,11 C31,10.4477153 30.5522847,10 30,10 C29.4477153,10 29,10.4477153 29,11 L29,14 L27,14 L27,11 C27,10.4477153 26.5522847,10 26,10 C25.4477153,10 25,10.4477153 25,11 L25,14.142 C23.5997013,14.5061725 22.5061725,15.5997013 22.142,17 L19,17 C18.4477153,17 18,17.4477153 18,18 C18,18.5522847 18.4477153,19 19,19 L22,19 L22,21 L19,21 C18.4477153,21 18,21.4477153 18,22 C18,22.5522847 18.4477153,23 19,23 L22,23 L22,25 L19,25 C18.4477153,25 18,25.4477153 18,26 C18,26.5522847 18.4477153,27 19,27 L22,27 L22,29 L19,29 C18.4477153,29 18,29.4477153 18,30 C18,30.5522847 18.4477153,31 19,31 L22,31 L22,33 L19,33 Z M26,16 L42,16 C43.1045695,16 44,16.8954305 44,18 L44,34 C44,35.1045695 43.1045695,36 42,36 L26,36 C24.8954305,36 24,35.1045695 24,34 L24,18 C24,16.8954305 24.8954305,16 26,16 Z"></path><path d="M32,25 L33,25 C33.5522847,25 34,24.5522847 34,24 C34,23.4477153 33.5522847,23 33,23 L32,23 C31.4477153,23 31,23.4477153 31,24 C31,24.5522847 31.4477153,25 32,25 Z"></path><path d="M35,29 L36,29 C36.5522847,29 37,28.5522847 37,28 C37,27.4477153 36.5522847,27 36,27 L35,27 C34.4477153,27 34,27.4477153 34,28 C34,28.5522847 34.4477153,29 35,29 Z"></path></g></g></svg>
@@ -0,0 +1 @@
1
+ <svg height='100px' width='100px' fill="#000000" xmlns="http://www.w3.org/2000/svg" data-name="Слой 1" viewBox="0 0 128 128" x="0px" y="0px"><title>ic_api_gears</title><path d="M86,86a15.76,15.76,0,1,0,22.29,0A15.77,15.77,0,0,0,86,86ZM105.5,105.5a11.75,11.75,0,0,1-16.63,0,11.76,11.76,0,1,1,16.63,0Z"></path><path d="M126.65,99.51a2,2,0,0,0-1.25-1l-3.16-.85q0-.5,0-1l3.16-.85a2,2,0,0,0,1.25-1c.31-.58,1.82-3.57,1.2-5.89s-3.43-4.15-4-4.5a2,2,0,0,0-1.57-.23l-3.15.85c-.16-.29-.33-.58-.5-.86L121,81.92a2,2,0,0,0,.59-1.48c0-.65-.21-4-1.91-5.7s-5-1.88-5.7-1.9a1.92,1.92,0,0,0-1.47.58l-2.31,2.31-.86-.5.84-3.15a2,2,0,0,0-.23-1.57c-.34-.56-2.18-3.36-4.5-4s-5.31.89-5.89,1.2a2,2,0,0,0-1,1.24l-.85,3.16h-1L95.84,69a2,2,0,0,0-1-1.24c-.58-.31-3.57-1.83-5.89-1.2s-4.16,3.42-4.5,4a2,2,0,0,0-.23,1.57l.85,3.15-.86.5-2.31-2.31a2,2,0,0,0-1.48-.58c-.65,0-4,.2-5.7,1.9s-1.88,5.05-1.9,5.7a2,2,0,0,0,.58,1.48l2.31,2.31c-.17.28-.34.57-.5.86l-3.15-.85a2,2,0,0,0-1.57.23c-.56.35-3.36,2.18-4,4.5s.89,5.31,1.2,5.89a2,2,0,0,0,1.24,1l3.16.85q0,.5,0,1L69,98.53a2,2,0,0,0-1.24,1c-.31.58-1.83,3.57-1.21,5.89s3.43,4.16,4,4.5a2,2,0,0,0,1.57.23l3.15-.84c.16.29.33.57.5.86l-2.31,2.31a2,2,0,0,0-.58,1.47c0,.65.2,4,1.9,5.7s5.05,1.89,5.7,1.91a2,2,0,0,0,1.48-.59l2.31-2.31.86.5-.85,3.15a2,2,0,0,0,.23,1.57c.34.56,2.18,3.36,4.5,4a4.89,4.89,0,0,0,1.21.15,11.27,11.27,0,0,0,4.68-1.35,2,2,0,0,0,1-1.25l.85-3.16q.5,0,1,0l.85,3.16a2,2,0,0,0,1,1.25c.58.31,3.57,1.82,5.89,1.2s4.16-3.43,4.5-4a2,2,0,0,0,.23-1.57l-.84-3.15.86-.5,2.31,2.31a1.93,1.93,0,0,0,1.47.59c.65,0,4-.21,5.7-1.91s1.89-5,1.91-5.7a2,2,0,0,0-.59-1.47l-2.31-2.31c.17-.29.34-.57.5-.86l3.15.84a2,2,0,0,0,1.57-.23c.56-.34,3.36-2.18,4-4.5S127,100.09,126.65,99.51ZM124,104.37a5,5,0,0,1-1.55,1.66l-3.82-1a2,2,0,0,0-2.33,1.09,21.56,21.56,0,0,1-1.84,3.17,2,2,0,0,0,.22,2.57l2.81,2.8a5.06,5.06,0,0,1-.67,2.17,5,5,0,0,1-2.17.67l-2.8-2.81a2,2,0,0,0-2.57-.22,19.91,19.91,0,0,1-3.17,1.84,2,2,0,0,0-1.09,2.33l1,3.82a5,5,0,0,1-1.66,1.55,4.86,4.86,0,0,1-2.22-.51l-1-3.83A2,2,0,0,0,99,118.17a22.49,22.49,0,0,1-3.67,0,2,2,0,0,0-2.1,1.47l-1,3.83A5,5,0,0,1,90,124a4.9,4.9,0,0,1-1.67-1.55l1-3.82a2,2,0,0,0-1.09-2.33,20.36,20.36,0,0,1-3.17-1.84,2,2,0,0,0-2.56.22l-2.81,2.81a5.11,5.11,0,0,1-2.17-.67,5,5,0,0,1-.67-2.17l2.81-2.8a2,2,0,0,0,.22-2.57,21.05,21.05,0,0,1-1.84-3.17A2,2,0,0,0,75.76,105l-3.82,1a5.08,5.08,0,0,1-1.55-1.66,5,5,0,0,1,.51-2.22l3.83-1A2,2,0,0,0,76.21,99a20.45,20.45,0,0,1,0-3.67,2,2,0,0,0-1.48-2.1l-3.83-1A5,5,0,0,1,70.39,90a4.9,4.9,0,0,1,1.55-1.67l3.82,1a2,2,0,0,0,2.33-1.09,22.09,22.09,0,0,1,1.84-3.17,2,2,0,0,0-.22-2.56L76.9,79.74a5.11,5.11,0,0,1,.67-2.17,5,5,0,0,1,2.17-.67l2.81,2.81a2,2,0,0,0,2.56.22,22.09,22.09,0,0,1,3.17-1.84,2,2,0,0,0,1.09-2.33l-1-3.82A5,5,0,0,1,90,70.39a5,5,0,0,1,2.21.51l1,3.83a2,2,0,0,0,2.1,1.48,20.45,20.45,0,0,1,3.67,0,2,2,0,0,0,2.11-1.48l1-3.83a5.11,5.11,0,0,1,2.22-.51A5,5,0,0,1,106,71.94l-1,3.82a2,2,0,0,0,1.09,2.33,21.56,21.56,0,0,1,3.17,1.84,2,2,0,0,0,2.57-.22l2.8-2.81a5,5,0,0,1,2.17.67,4.86,4.86,0,0,1,.67,2.17l-2.81,2.81a2,2,0,0,0-.22,2.56,21.19,21.19,0,0,1,1.84,3.17,2,2,0,0,0,2.33,1.09l3.82-1A4.9,4.9,0,0,1,124,90a4.83,4.83,0,0,1-.51,2.21l-3.83,1a2,2,0,0,0-1.47,2.1,22.49,22.49,0,0,1,0,3.67,2,2,0,0,0,1.47,2.11l3.83,1A4.94,4.94,0,0,1,124,104.37Z"></path><path d="M69.71,74.69a2,2,0,0,0-.26-.76l-.91-1.59a35.88,35.88,0,0,0,3.8-3.8l1.59.91a2,2,0,0,0,.76.26c3.63.43,8.24.44,9.62-1.94s-1-6.37-3.14-9.3a2,2,0,0,0-.6-.53L79,57a35,35,0,0,0,1.39-5.2h1.83a2.14,2.14,0,0,0,.79-.16c3.36-1.44,7.36-3.74,7.36-6.49s-4-5-7.36-6.48a2,2,0,0,0-.79-.16H80.38A34.8,34.8,0,0,0,79,33.33l1.58-.91a1.91,1.91,0,0,0,.6-.53c2.19-2.93,4.51-6.92,3.14-9.3s-6-2.37-9.62-1.93a2,2,0,0,0-.76.25l-1.59.92A35.14,35.14,0,0,0,68.53,18l.92-1.59a2,2,0,0,0,.26-.76c.43-3.63.44-8.24-1.94-9.62s-6.37,1-9.3,3.14a2,2,0,0,0-.53.6L57,11.37A35,35,0,0,0,51.83,10V8.15a2.14,2.14,0,0,0-.16-.79C50.23,4,47.93,0,45.18,0s-5,4-6.48,7.36a2,2,0,0,0-.17.79V10a35,35,0,0,0-5.2,1.39l-.91-1.58a1.91,1.91,0,0,0-.53-.6C29,7,25,4.68,22.59,6.05s-2.37,6-1.93,9.62a1.85,1.85,0,0,0,.25.76L21.83,18A36.07,36.07,0,0,0,18,21.83l-1.59-.92a2,2,0,0,0-.76-.25c-3.63-.44-8.24-.45-9.62,1.93S7,29,9.19,31.89a1.91,1.91,0,0,0,.6.53l1.58.91A34.8,34.8,0,0,0,10,38.54H8.15a2,2,0,0,0-.79.16C4,40.14,0,42.43,0,45.18s4,5,7.36,6.49a2.14,2.14,0,0,0,.79.16H10A35,35,0,0,0,11.37,57l-1.58.91a2,2,0,0,0-.6.53C7,61.4,4.68,65.39,6.05,67.77s6,2.37,9.62,1.94a2,2,0,0,0,.76-.26L18,68.54a36,36,0,0,0,3.81,3.8l-.92,1.59a1.85,1.85,0,0,0-.25.76c-.44,3.63-.45,8.24,1.93,9.62s6.37-1,9.3-3.14a1.91,1.91,0,0,0,.53-.6L33.33,79a35,35,0,0,0,5.2,1.39v1.83a2,2,0,0,0,.17.79c1.44,3.36,3.73,7.36,6.48,7.36s5-4,6.49-7.36a2.14,2.14,0,0,0,.16-.79V80.38A34.36,34.36,0,0,0,57,79l.91,1.58a2,2,0,0,0,.53.6c2.93,2.19,6.92,4.51,9.3,3.14S70.14,78.32,69.71,74.69Zm-5-4.4a2,2,0,0,0-.5,2.58l1.56,2.69a18.23,18.23,0,0,1-.1,5.12,18,18,0,0,1-4.49-2.47l-1.55-2.69a2,2,0,0,0-2.48-.85,31.56,31.56,0,0,1-7.61,2,2,2,0,0,0-1.72,2v3.11a17.91,17.91,0,0,1-2.65,4.38,18.56,18.56,0,0,1-2.65-4.38V78.68a2,2,0,0,0-1.72-2,31.56,31.56,0,0,1-7.61-2,2,2,0,0,0-2.48.85l-1.55,2.69a18.12,18.12,0,0,1-4.48,2.47,17.78,17.78,0,0,1-.11-5.12l1.56-2.69a2,2,0,0,0-.5-2.58,31.92,31.92,0,0,1-5.57-5.57,2,2,0,0,0-2.58-.5L14.8,65.78a17.79,17.79,0,0,1-5.12-.11,18.12,18.12,0,0,1,2.47-4.48l2.69-1.55a2,2,0,0,0,.85-2.48,31.69,31.69,0,0,1-2-7.61,2,2,0,0,0-2-1.72H8.57a17.91,17.91,0,0,1-4.38-2.65,18.26,18.26,0,0,1,4.38-2.64h3.11a2,2,0,0,0,2-1.73,31.81,31.81,0,0,1,2-7.61,2,2,0,0,0-.85-2.48l-2.69-1.55a18.12,18.12,0,0,1-2.47-4.48,17.79,17.79,0,0,1,5.12-.11l2.69,1.56a2,2,0,0,0,2.58-.5,31.92,31.92,0,0,1,5.57-5.57,2,2,0,0,0,.5-2.58L24.58,14.8a17.79,17.79,0,0,1,.11-5.12,18.12,18.12,0,0,1,4.48,2.47l1.55,2.69a2,2,0,0,0,2.48.85,31.81,31.81,0,0,1,7.61-2,2,2,0,0,0,1.72-2V8.57a18.56,18.56,0,0,1,2.65-4.38,17.91,17.91,0,0,1,2.65,4.38v3.11a2,2,0,0,0,1.72,2,31.69,31.69,0,0,1,7.61,2,2,2,0,0,0,2.48-.85l1.55-2.69a18,18,0,0,1,4.49-2.47,18.24,18.24,0,0,1,.1,5.12l-1.56,2.69a2,2,0,0,0,.5,2.58,31.58,31.58,0,0,1,5.57,5.57,2,2,0,0,0,2.58.5l2.69-1.56a17.78,17.78,0,0,1,5.12.11,18.12,18.12,0,0,1-2.47,4.48l-2.69,1.55a2,2,0,0,0-.85,2.48,31.81,31.81,0,0,1,2,7.61,2,2,0,0,0,2,1.73h3.11a17.63,17.63,0,0,1,4.38,2.64,17.91,17.91,0,0,1-4.38,2.65H78.68a2,2,0,0,0-2,1.72,31.69,31.69,0,0,1-2,7.61,2,2,0,0,0,.85,2.48l2.69,1.55a18.12,18.12,0,0,1,2.47,4.48,17.78,17.78,0,0,1-5.12.11l-2.69-1.56a2,2,0,0,0-2.58.5A31.92,31.92,0,0,1,64.72,70.29Z"></path><path d="M72,54a2,2,0,0,0-2-2H68V36h2a2,2,0,0,0,0-4H62a2,2,0,0,0,0,4h2V52H62a2,2,0,0,0,0,4h8A2,2,0,0,0,72,54Z"></path><path d="M29.83,33.13A2,2,0,0,0,28,31.87h0a2,2,0,0,0-1.85,1.26l-8,20.17a2,2,0,0,0,1.12,2.6A1.94,1.94,0,0,0,20,56a2,2,0,0,0,1.86-1.26l2.24-5.67h7.79l2.25,5.67a2,2,0,0,0,3.72-1.48Zm-4.15,12L28,39.29l2.31,5.82Z"></path><path d="M49,32H44a2,2,0,0,0-2,2V54a2,2,0,0,0,4,0V49h3c5,0,9-3.73,9-8.5S54.05,32,49,32Zm0,13H46V36h3a4.72,4.72,0,0,1,5,4.5A4.72,4.72,0,0,1,49,45Z"></path></svg>