@modern-js/main-doc 2.8.0 → 2.9.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +10 -0
- package/README.md +15 -18
- package/docs/en/apis/app/hooks/api/framework/lambda.mdx +57 -0
- package/docs/en/apis/app/hooks/api/functions/api.mdx +81 -0
- package/docs/en/apis/app/hooks/src/routes.mdx +90 -0
- package/docs/en/apis/app/hooks/src/server.mdx +34 -0
- package/docs/en/apis/app/runtime/router/router.mdx +262 -0
- package/docs/en/apis/app/runtime/web-server/hook.mdx +133 -0
- package/docs/en/apis/app/runtime/web-server/middleware.mdx +134 -0
- package/docs/en/components/enable-bff.mdx +31 -0
- package/docs/en/components/init-app.mdx +43 -0
- package/docs/en/components/init-rspack-app.mdx +7 -0
- package/docs/en/components/prerequisites.mdx +18 -0
- package/docs/en/configure/app/dev/asset-prefix.mdx +13 -0
- package/docs/en/configure/app/dev/before-start-url.mdx +13 -0
- package/docs/en/configure/app/dev/hmr.mdx +13 -0
- package/docs/en/configure/app/dev/host.mdx +13 -0
- package/docs/en/configure/app/dev/https.mdx +13 -0
- package/docs/en/configure/app/dev/port.mdx +13 -0
- package/docs/en/configure/app/dev/progress-bar.mdx +13 -0
- package/docs/en/configure/app/dev/start-url.mdx +13 -0
- package/docs/en/configure/app/experiments/lazy-compilation.mdx +13 -0
- package/docs/en/configure/app/html/app-icon.mdx +13 -0
- package/docs/en/configure/app/html/crossorigin.mdx +13 -0
- package/docs/en/configure/app/html/disable-html-folder.mdx +13 -0
- package/docs/en/configure/app/html/favicon-by-entries.mdx +13 -0
- package/docs/en/configure/app/html/favicon.mdx +13 -0
- package/docs/en/configure/app/html/inject-by-entries.mdx +13 -0
- package/docs/en/configure/app/html/inject.mdx +13 -0
- package/docs/en/configure/app/html/meta-by-entries.mdx +13 -0
- package/docs/en/configure/app/html/meta.mdx +13 -0
- package/docs/en/configure/app/html/mount-id.mdx +13 -0
- package/docs/en/configure/app/html/tags-by-entries.mdx +13 -0
- package/docs/en/configure/app/html/tags.mdx +13 -0
- package/docs/en/configure/app/html/template-by-entries.mdx +13 -0
- package/docs/en/configure/app/html/template-parameters-by-entries.mdx +13 -0
- package/docs/en/configure/app/html/template-parameters.mdx +13 -0
- package/docs/en/configure/app/html/template.mdx +13 -0
- package/docs/en/configure/app/html/title-by-entries.mdx +13 -0
- package/docs/en/configure/app/html/title.mdx +13 -0
- package/docs/en/configure/app/output/asset-prefix.mdx +13 -0
- package/docs/en/configure/app/output/assets-retry.mdx +13 -0
- package/docs/en/configure/app/output/charset.mdx +13 -0
- package/docs/en/configure/app/output/clean-dist-path.mdx +13 -0
- package/docs/en/configure/app/output/convert-to-rem.mdx +13 -0
- package/docs/en/configure/app/output/copy.mdx +13 -0
- package/docs/en/configure/app/output/css-module-local-ident-name.mdx +13 -0
- package/docs/en/configure/app/output/data-uri-limit.mdx +13 -0
- package/docs/en/configure/app/output/disable-css-extract.mdx +13 -0
- package/docs/en/configure/app/output/disable-css-module-extension.mdx +13 -0
- package/docs/en/configure/app/output/disable-filename-hash.mdx +13 -0
- package/docs/en/configure/app/output/disable-inline-runtime-chunk.mdx +13 -0
- package/docs/en/configure/app/output/disable-minimize.mdx +13 -0
- package/docs/en/configure/app/output/disable-source-map.mdx +13 -0
- package/docs/en/configure/app/output/disable-ts-checker.mdx +13 -0
- package/docs/en/configure/app/output/dist-path.mdx +13 -0
- package/docs/en/configure/app/output/enable-asset-fallback.mdx +13 -0
- package/docs/en/configure/app/output/enable-asset-manifest.mdx +13 -0
- package/docs/en/configure/app/output/enable-css-module-tsdeclaration.mdx +13 -0
- package/docs/en/configure/app/output/enable-inline-scripts.mdx +13 -0
- package/docs/en/configure/app/output/enable-inline-styles.mdx +13 -0
- package/docs/en/configure/app/output/enable-latest-decorators.mdx +13 -0
- package/docs/en/configure/app/output/externals.mdx +13 -0
- package/docs/en/configure/app/output/filename.mdx +13 -0
- package/docs/en/configure/app/output/legal-comments.mdx +13 -0
- package/docs/en/configure/app/output/override-browserslist.mdx +13 -0
- package/docs/en/configure/app/output/polyfill.mdx +13 -0
- package/docs/en/configure/app/output/ssg.mdx +196 -0
- package/docs/en/configure/app/output/svg-default-export.mdx +13 -0
- package/docs/en/configure/app/performance/build-cache.mdx +13 -0
- package/docs/en/configure/app/performance/bundle-analyze.mdx +13 -0
- package/docs/en/configure/app/performance/chunk-split.mdx +13 -0
- package/docs/en/configure/app/performance/print-file-size.mdx +13 -0
- package/docs/en/configure/app/performance/profile.mdx +13 -0
- package/docs/en/configure/app/performance/remove-console.mdx +13 -0
- package/docs/en/configure/app/performance/remove-moment-locale.mdx +13 -0
- package/docs/en/configure/app/security/check-syntax.mdx +13 -0
- package/docs/en/configure/app/security/sri.mdx +13 -0
- package/docs/en/configure/app/server/public-routes.mdx +26 -0
- package/docs/en/configure/app/server/ssr.mdx +38 -0
- package/docs/en/configure/app/source/alias.mdx +13 -0
- package/docs/en/configure/app/source/compile-js-data-uri.mdx +13 -0
- package/docs/en/configure/app/source/define.mdx +13 -0
- package/docs/en/configure/app/source/design-system.mdx +1175 -0
- package/docs/en/configure/app/source/disable-entry-dirs.mdx +39 -0
- package/docs/en/configure/app/source/entries.mdx +123 -0
- package/docs/en/configure/app/source/exclude.mdx +13 -0
- package/docs/en/configure/app/source/global-vars.mdx +13 -0
- package/docs/en/configure/app/source/include.mdx +13 -0
- package/docs/en/configure/app/source/module-scopes.mdx +13 -0
- package/docs/en/configure/app/source/pre-entry.mdx +13 -0
- package/docs/en/configure/app/source/resolve-extension-prefix.mdx +13 -0
- package/docs/en/configure/app/source/resolve-main-fields.mdx +13 -0
- package/docs/en/configure/app/tools/autoprefixer.mdx +13 -0
- package/docs/en/configure/app/tools/babel.mdx +13 -0
- package/docs/en/configure/app/tools/css-extract.mdx +13 -0
- package/docs/en/configure/app/tools/css-loader.mdx +13 -0
- package/docs/en/configure/app/tools/dev-server.mdx +13 -0
- package/docs/en/configure/app/tools/html-plugin.mdx +13 -0
- package/docs/en/configure/app/tools/inspector.mdx +13 -0
- package/docs/en/configure/app/tools/less.mdx +13 -0
- package/docs/en/configure/app/tools/minify-css.mdx +13 -0
- package/docs/en/configure/app/tools/postcss.mdx +13 -0
- package/docs/en/configure/app/tools/pug.mdx +13 -0
- package/docs/en/configure/app/tools/rspack.mdx +13 -0
- package/docs/en/configure/app/tools/sass.mdx +13 -0
- package/docs/en/configure/app/tools/style-loader.mdx +13 -0
- package/docs/en/configure/app/tools/styled-components.mdx +13 -0
- package/docs/en/configure/app/tools/terser.mdx +13 -0
- package/docs/en/configure/app/tools/ts-checker.mdx +13 -0
- package/docs/en/configure/app/tools/ts-loader.mdx +13 -0
- package/docs/en/configure/app/tools/webpack-chain.mdx +13 -0
- package/docs/en/configure/app/tools/webpack.mdx +13 -0
- package/docs/en/guides/advanced-features/code-split.mdx +80 -0
- package/docs/en/guides/advanced-features/compatibility.mdx +78 -0
- package/docs/en/guides/advanced-features/eslint.mdx +148 -0
- package/docs/en/guides/advanced-features/rspack-start.mdx +61 -0
- package/docs/en/guides/advanced-features/ssg.mdx +116 -0
- package/docs/en/guides/advanced-features/ssr.mdx +518 -0
- package/docs/en/guides/advanced-features/testing.mdx +46 -0
- package/docs/en/guides/advanced-features/web-server.mdx +124 -0
- package/docs/en/guides/basic-features/data-fetch.mdx +404 -0
- package/docs/en/guides/basic-features/env-vars.mdx +174 -0
- package/docs/en/guides/basic-features/html.mdx +247 -0
- package/docs/en/guides/basic-features/proxy.mdx +61 -0
- package/docs/en/guides/get-started/introduction.mdx +50 -0
- package/docs/en/guides/get-started/quick-start.mdx +162 -0
- package/docs/en/guides/topic-detail/framework-plugin/extend.mdx +164 -0
- package/docs/en/guides/topic-detail/framework-plugin/hook-list.mdx +827 -0
- package/docs/en/guides/topic-detail/framework-plugin/hook.mdx +188 -0
- package/docs/en/guides/topic-detail/framework-plugin/implement.mdx +246 -0
- package/docs/en/guides/topic-detail/framework-plugin/relationship.mdx +119 -0
- package/docs/en/guides/topic-detail/generator/codesmith/api/npm.mdx +48 -0
- package/docs/en/guides/topic-detail/generator/codesmith/develop.mdx +53 -0
- package/docs/en/guides/topic-detail/generator/config/app.mdx +82 -0
- package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +55 -0
- package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +55 -0
- package/docs/en/guides/topic-detail/generator/plugin/api/npm/install.mdx +18 -0
- package/docs/en/guides/topic-detail/generator/plugin/develop.mdx +125 -0
- package/docs/en/guides/topic-detail/generator/project.mdx +118 -0
- package/docs/en/guides/topic-detail/micro-frontend/c03-main-app.mdx +282 -0
- package/docs/en/guides/topic-detail/micro-frontend/c04-communicate.mdx +57 -0
- package/docs/en/guides/topic-detail/model/computed-state.mdx +153 -0
- package/docs/en/guides/troubleshooting/cli.mdx +63 -0
- package/docs/en/tutorials/first-app/c03-css.mdx +323 -0
- package/docs/zh/apis/monorepo/commands/new.mdx +39 -0
- package/docs/zh/components/default-mwa-generate.mdx +5 -0
- package/docs/zh/components/init-app.mdx +44 -0
- package/docs/zh/components/init-rspack-app.mdx +7 -0
- package/docs/zh/components/prerequisites.mdx +18 -0
- package/docs/zh/configure/app/dev/asset-prefix.mdx +13 -0
- package/docs/zh/configure/app/dev/before-start-url.mdx +13 -0
- package/docs/zh/configure/app/dev/hmr.mdx +13 -0
- package/docs/zh/configure/app/dev/host.mdx +13 -0
- package/docs/zh/configure/app/dev/https.mdx +13 -0
- package/docs/zh/configure/app/dev/port.mdx +13 -0
- package/docs/zh/configure/app/dev/progress-bar.mdx +13 -0
- package/docs/zh/configure/app/dev/start-url.mdx +13 -0
- package/docs/zh/configure/app/experiments/lazy-compilation.mdx +13 -0
- package/docs/zh/configure/app/html/app-icon.mdx +13 -0
- package/docs/zh/configure/app/html/crossorigin.mdx +13 -0
- package/docs/zh/configure/app/html/disable-html-folder.mdx +13 -0
- package/docs/zh/configure/app/html/favicon-by-entries.mdx +13 -0
- package/docs/zh/configure/app/html/favicon.mdx +13 -0
- package/docs/zh/configure/app/html/inject-by-entries.mdx +13 -0
- package/docs/zh/configure/app/html/inject.mdx +13 -0
- package/docs/zh/configure/app/html/meta-by-entries.mdx +13 -0
- package/docs/zh/configure/app/html/meta.mdx +13 -0
- package/docs/zh/configure/app/html/mount-id.mdx +13 -0
- package/docs/zh/configure/app/html/tags-by-entries.mdx +13 -0
- package/docs/zh/configure/app/html/tags.mdx +13 -0
- package/docs/zh/configure/app/html/template-by-entries.mdx +13 -0
- package/docs/zh/configure/app/html/template-parameters-by-entries.mdx +13 -0
- package/docs/zh/configure/app/html/template-parameters.mdx +13 -0
- package/docs/zh/configure/app/html/template.mdx +13 -0
- package/docs/zh/configure/app/html/title-by-entries.mdx +13 -0
- package/docs/zh/configure/app/html/title.mdx +13 -0
- package/docs/zh/configure/app/output/asset-prefix.mdx +13 -0
- package/docs/zh/configure/app/output/assets-retry.mdx +13 -0
- package/docs/zh/configure/app/output/charset.mdx +13 -0
- package/docs/zh/configure/app/output/clean-dist-path.mdx +13 -0
- package/docs/zh/configure/app/output/convert-to-rem.mdx +13 -0
- package/docs/zh/configure/app/output/copy.mdx +13 -0
- package/docs/zh/configure/app/output/css-module-local-ident-name.mdx +13 -0
- package/docs/zh/configure/app/output/data-uri-limit.mdx +13 -0
- package/docs/zh/configure/app/output/disable-css-extract.mdx +13 -0
- package/docs/zh/configure/app/output/disable-css-module-extension.mdx +13 -0
- package/docs/zh/configure/app/output/disable-filename-hash.mdx +13 -0
- package/docs/zh/configure/app/output/disable-inline-runtime-chunk.mdx +13 -0
- package/docs/zh/configure/app/output/disable-minimize.mdx +13 -0
- package/docs/zh/configure/app/output/disable-source-map.mdx +13 -0
- package/docs/zh/configure/app/output/disable-ts-checker.mdx +13 -0
- package/docs/zh/configure/app/output/dist-path.mdx +13 -0
- package/docs/zh/configure/app/output/enable-asset-fallback.mdx +13 -0
- package/docs/zh/configure/app/output/enable-asset-manifest.mdx +13 -0
- package/docs/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +13 -0
- package/docs/zh/configure/app/output/enable-inline-scripts.mdx +13 -0
- package/docs/zh/configure/app/output/enable-inline-styles.mdx +13 -0
- package/docs/zh/configure/app/output/enable-latest-decorators.mdx +13 -0
- package/docs/zh/configure/app/output/externals.mdx +13 -0
- package/docs/zh/configure/app/output/filename.mdx +13 -0
- package/docs/zh/configure/app/output/legal-comments.mdx +13 -0
- package/docs/zh/configure/app/output/override-browserslist.mdx +13 -0
- package/docs/zh/configure/app/output/polyfill.mdx +13 -0
- package/docs/zh/configure/app/output/svg-default-export.mdx +13 -0
- package/docs/zh/configure/app/performance/build-cache.mdx +13 -0
- package/docs/zh/configure/app/performance/bundle-analyze.mdx +13 -0
- package/docs/zh/configure/app/performance/chunk-split.mdx +13 -0
- package/docs/zh/configure/app/performance/print-file-size.mdx +13 -0
- package/docs/zh/configure/app/performance/profile.mdx +13 -0
- package/docs/zh/configure/app/performance/remove-console.mdx +13 -0
- package/docs/zh/configure/app/performance/remove-moment-locale.mdx +13 -0
- package/docs/zh/configure/app/security/check-syntax.mdx +13 -0
- package/docs/zh/configure/app/security/sri.mdx +13 -0
- package/docs/zh/configure/app/source/alias.mdx +13 -0
- package/docs/zh/configure/app/source/compile-js-data-uri.mdx +13 -0
- package/docs/zh/configure/app/source/define.mdx +13 -0
- package/docs/zh/configure/app/source/exclude.mdx +13 -0
- package/docs/zh/configure/app/source/global-vars.mdx +13 -0
- package/docs/zh/configure/app/source/include.mdx +13 -0
- package/docs/zh/configure/app/source/module-scopes.mdx +13 -0
- package/docs/zh/configure/app/source/pre-entry.mdx +13 -0
- package/docs/zh/configure/app/source/resolve-extension-prefix.mdx +13 -0
- package/docs/zh/configure/app/source/resolve-main-fields.mdx +13 -0
- package/docs/zh/configure/app/tools/autoprefixer.mdx +13 -0
- package/docs/zh/configure/app/tools/babel.mdx +13 -0
- package/docs/zh/configure/app/tools/css-extract.mdx +13 -0
- package/docs/zh/configure/app/tools/css-loader.mdx +13 -0
- package/docs/zh/configure/app/tools/dev-server.mdx +13 -0
- package/docs/zh/configure/app/tools/html-plugin.mdx +13 -0
- package/docs/zh/configure/app/tools/inspector.mdx +13 -0
- package/docs/zh/configure/app/tools/less.mdx +13 -0
- package/docs/zh/configure/app/tools/minify-css.mdx +13 -0
- package/docs/zh/configure/app/tools/postcss.mdx +13 -0
- package/docs/zh/configure/app/tools/pug.mdx +13 -0
- package/docs/zh/configure/app/tools/rspack.mdx +13 -0
- package/docs/zh/configure/app/tools/sass.mdx +13 -0
- package/docs/zh/configure/app/tools/style-loader.mdx +13 -0
- package/docs/zh/configure/app/tools/styled-components.mdx +13 -0
- package/docs/zh/configure/app/tools/terser.mdx +13 -0
- package/docs/zh/configure/app/tools/ts-checker.mdx +13 -0
- package/docs/zh/configure/app/tools/ts-loader.mdx +13 -0
- package/docs/zh/configure/app/tools/webpack-chain.mdx +13 -0
- package/docs/zh/configure/app/tools/webpack.mdx +13 -0
- package/docs/zh/guides/advanced-features/rspack-start.mdx +62 -0
- package/docs/zh/guides/advanced-features/ssr.mdx +507 -0
- package/docs/zh/guides/basic-features/mock.mdx +99 -0
- package/docs/zh/guides/get-started/introduction.mdx +47 -0
- package/docs/zh/guides/topic-detail/changesets/changelog.mdx +238 -0
- package/docs/zh/guides/topic-detail/changesets/commit.mdx +271 -0
- package/docs/zh/guides/topic-detail/changesets/release-note.mdx +259 -0
- package/docs/zh/guides/topic-detail/generator/plugin/develop.mdx +125 -0
- package/docs/zh/guides/topic-detail/monorepo/create-sub-project.mdx +67 -0
- package/docs/zh/guides/topic-detail/monorepo/sub-project-interface.mdx +179 -0
- package/docs/zh/index.md +4 -0
- package/en/configure/app/dev/asset-prefix.mdx +1 -1
- package/en/configure/app/dev/before-start-url.mdx +1 -1
- package/en/configure/app/dev/hmr.mdx +1 -1
- package/en/configure/app/dev/host.mdx +1 -1
- package/en/configure/app/dev/https.mdx +1 -1
- package/en/configure/app/dev/port.mdx +1 -1
- package/en/configure/app/dev/progress-bar.mdx +1 -1
- package/en/configure/app/dev/start-url.mdx +1 -1
- package/en/configure/app/experiments/lazy-compilation.mdx +1 -1
- package/en/configure/app/html/app-icon.mdx +1 -1
- package/en/configure/app/html/crossorigin.mdx +1 -1
- package/en/configure/app/html/disable-html-folder.mdx +1 -1
- package/en/configure/app/html/favicon-by-entries.mdx +1 -1
- package/en/configure/app/html/favicon.mdx +1 -1
- package/en/configure/app/html/inject-by-entries.mdx +1 -1
- package/en/configure/app/html/inject.mdx +1 -1
- package/en/configure/app/html/meta-by-entries.mdx +1 -1
- package/en/configure/app/html/meta.mdx +1 -1
- package/en/configure/app/html/mount-id.mdx +1 -1
- package/en/configure/app/html/tags-by-entries.mdx +1 -1
- package/en/configure/app/html/tags.mdx +1 -1
- package/en/configure/app/html/template-by-entries.mdx +1 -1
- package/en/configure/app/html/template-parameters-by-entries.mdx +1 -1
- package/en/configure/app/html/template-parameters.mdx +1 -1
- package/en/configure/app/html/template.mdx +1 -1
- package/en/configure/app/html/title-by-entries.mdx +1 -1
- package/en/configure/app/html/title.mdx +1 -1
- package/en/configure/app/output/asset-prefix.mdx +1 -1
- package/en/configure/app/output/assets-retry.mdx +1 -1
- package/en/configure/app/output/charset.mdx +1 -1
- package/en/configure/app/output/clean-dist-path.mdx +1 -1
- package/en/configure/app/output/convert-to-rem.mdx +1 -1
- package/en/configure/app/output/copy.mdx +1 -1
- package/en/configure/app/output/css-module-local-ident-name.mdx +1 -1
- package/en/configure/app/output/data-uri-limit.mdx +1 -1
- package/en/configure/app/output/disable-css-extract.mdx +1 -1
- package/en/configure/app/output/disable-css-module-extension.mdx +1 -1
- package/en/configure/app/output/disable-filename-hash.mdx +1 -1
- package/en/configure/app/output/disable-inline-runtime-chunk.mdx +1 -1
- package/en/configure/app/output/disable-minimize.mdx +1 -1
- package/en/configure/app/output/disable-source-map.mdx +1 -1
- package/en/configure/app/output/disable-ts-checker.mdx +1 -1
- package/en/configure/app/output/dist-path.mdx +1 -1
- package/en/configure/app/output/enable-asset-fallback.mdx +1 -1
- package/en/configure/app/output/enable-asset-manifest.mdx +1 -1
- package/en/configure/app/output/enable-css-module-tsdeclaration.mdx +1 -1
- package/en/configure/app/output/enable-inline-scripts.mdx +1 -1
- package/en/configure/app/output/enable-inline-styles.mdx +1 -1
- package/en/configure/app/output/enable-latest-decorators.mdx +1 -1
- package/en/configure/app/output/externals.mdx +1 -1
- package/en/configure/app/output/filename.mdx +1 -1
- package/en/configure/app/output/legal-comments.mdx +1 -1
- package/en/configure/app/output/override-browserslist.mdx +1 -1
- package/en/configure/app/output/polyfill.mdx +1 -1
- package/en/configure/app/output/svg-default-export.mdx +1 -1
- package/en/configure/app/performance/build-cache.mdx +1 -1
- package/en/configure/app/performance/bundle-analyze.mdx +1 -1
- package/en/configure/app/performance/chunk-split.mdx +1 -1
- package/en/configure/app/performance/print-file-size.mdx +1 -1
- package/en/configure/app/performance/profile.mdx +1 -1
- package/en/configure/app/performance/remove-console.mdx +1 -1
- package/en/configure/app/performance/remove-moment-locale.mdx +1 -1
- package/en/configure/app/security/check-syntax.mdx +1 -1
- package/en/configure/app/security/sri.mdx +1 -1
- package/en/configure/app/source/alias.mdx +1 -1
- package/en/configure/app/source/compile-js-data-uri.mdx +1 -1
- package/en/configure/app/source/define.mdx +1 -1
- package/en/configure/app/source/exclude.mdx +1 -1
- package/en/configure/app/source/global-vars.mdx +1 -1
- package/en/configure/app/source/include.mdx +1 -1
- package/en/configure/app/source/module-scopes.mdx +1 -1
- package/en/configure/app/source/pre-entry.mdx +1 -1
- package/en/configure/app/source/resolve-extension-prefix.mdx +1 -1
- package/en/configure/app/source/resolve-main-fields.mdx +1 -1
- package/en/configure/app/tools/autoprefixer.mdx +1 -1
- package/en/configure/app/tools/babel.mdx +1 -1
- package/en/configure/app/tools/css-extract.mdx +1 -1
- package/en/configure/app/tools/css-loader.mdx +1 -1
- package/en/configure/app/tools/dev-server.mdx +1 -1
- package/en/configure/app/tools/html-plugin.mdx +1 -1
- package/en/configure/app/tools/inspector.mdx +1 -1
- package/en/configure/app/tools/less.mdx +1 -1
- package/en/configure/app/tools/minify-css.mdx +1 -1
- package/en/configure/app/tools/postcss.mdx +1 -1
- package/en/configure/app/tools/pug.mdx +1 -1
- package/en/configure/app/tools/rspack.mdx +1 -1
- package/en/configure/app/tools/sass.mdx +1 -1
- package/en/configure/app/tools/style-loader.mdx +1 -1
- package/en/configure/app/tools/styled-components.mdx +1 -1
- package/en/configure/app/tools/terser.mdx +1 -1
- package/en/configure/app/tools/ts-checker.mdx +1 -1
- package/en/configure/app/tools/ts-loader.mdx +1 -1
- package/en/configure/app/tools/webpack-chain.mdx +1 -1
- package/en/configure/app/tools/webpack.mdx +1 -1
- package/modern.config.ts +157 -0
- package/package.json +14 -5
- package/src/components/ContentCard/index.module.scss +61 -0
- package/src/components/ContentCard/index.tsx +25 -0
- package/src/components/FeatureLayout/index.module.css +8 -0
- package/src/components/FeatureLayout/index.tsx +8 -0
- package/src/components/Footer/index.tsx +131 -0
- package/src/components/Footer/styles.module.scss +49 -0
- package/src/components/ListCard/index.module.css +58 -0
- package/src/components/ListCard/index.tsx +26 -0
- package/src/components/SecondaryTitle/index.module.css +14 -0
- package/src/components/SecondaryTitle/index.tsx +15 -0
- package/src/global.d.ts +28 -0
- package/src/i18n/enUS.ts +50 -0
- package/src/i18n/index.ts +18 -0
- package/src/i18n/zhCN.ts +50 -0
- package/src/index.ts +9 -0
- package/src/pages/index.module.scss +238 -0
- package/src/pages/index.tsx +162 -0
- package/static/img/favicon.ico +0 -0
- package/static/img/features/ai.svg +1 -0
- package/static/img/features/api.svg +1 -0
- package/static/img/features/app.svg +1 -0
- package/static/img/features/blocks.svg +1 -0
- package/static/img/features/browser.svg +12 -0
- package/static/img/features/cloud.svg +1 -0
- package/static/img/features/coding-backend.svg +1 -0
- package/static/img/features/compiler.svg +1 -0
- package/static/img/features/css-file.svg +1 -0
- package/static/img/features/customize.svg +1 -0
- package/static/img/features/developer.svg +1 -0
- package/static/img/features/dynamic.svg +1 -0
- package/static/img/features/editor.svg +1 -0
- package/static/img/features/framework-config.svg +1 -0
- package/static/img/features/framework.svg +1 -0
- package/static/img/features/frameworks.svg +1 -0
- package/static/img/features/html.svg +1 -0
- package/static/img/features/icon2.svg +1 -0
- package/static/img/features/javascript.svg +1 -0
- package/static/img/features/monorepo.svg +1 -0
- package/static/img/features/product.svg +1 -0
- package/static/img/features/server-network.svg +1 -0
- package/static/img/features/serverless.svg +1 -0
- package/static/img/features/test.svg +1 -0
- package/static/img/features/trinity.svg +1 -0
- package/static/img/features/unity.svg +1 -0
- package/static/img/features/url.svg +1 -0
- package/static/img/features/visual.svg +1 -0
- package/static/img/features/web-server.svg +1 -0
- package/zh/configure/app/dev/asset-prefix.mdx +1 -1
- package/zh/configure/app/dev/before-start-url.mdx +1 -1
- package/zh/configure/app/dev/hmr.mdx +1 -1
- package/zh/configure/app/dev/host.mdx +1 -1
- package/zh/configure/app/dev/https.mdx +1 -1
- package/zh/configure/app/dev/port.mdx +1 -1
- package/zh/configure/app/dev/progress-bar.mdx +1 -1
- package/zh/configure/app/dev/start-url.mdx +1 -1
- package/zh/configure/app/experiments/lazy-compilation.mdx +1 -1
- package/zh/configure/app/html/app-icon.mdx +1 -1
- package/zh/configure/app/html/crossorigin.mdx +1 -1
- package/zh/configure/app/html/disable-html-folder.mdx +1 -1
- package/zh/configure/app/html/favicon-by-entries.mdx +1 -1
- package/zh/configure/app/html/favicon.mdx +1 -1
- package/zh/configure/app/html/inject-by-entries.mdx +1 -1
- package/zh/configure/app/html/inject.mdx +1 -1
- package/zh/configure/app/html/meta-by-entries.mdx +1 -1
- package/zh/configure/app/html/meta.mdx +1 -1
- package/zh/configure/app/html/mount-id.mdx +1 -1
- package/zh/configure/app/html/tags-by-entries.mdx +1 -1
- package/zh/configure/app/html/tags.mdx +1 -1
- package/zh/configure/app/html/template-by-entries.mdx +1 -1
- package/zh/configure/app/html/template-parameters-by-entries.mdx +1 -1
- package/zh/configure/app/html/template-parameters.mdx +1 -1
- package/zh/configure/app/html/template.mdx +1 -1
- package/zh/configure/app/html/title-by-entries.mdx +1 -1
- package/zh/configure/app/html/title.mdx +1 -1
- package/zh/configure/app/output/asset-prefix.mdx +1 -1
- package/zh/configure/app/output/assets-retry.mdx +1 -1
- package/zh/configure/app/output/charset.mdx +1 -1
- package/zh/configure/app/output/clean-dist-path.mdx +1 -1
- package/zh/configure/app/output/convert-to-rem.mdx +1 -1
- package/zh/configure/app/output/copy.mdx +1 -1
- package/zh/configure/app/output/css-module-local-ident-name.mdx +1 -1
- package/zh/configure/app/output/data-uri-limit.mdx +1 -1
- package/zh/configure/app/output/disable-css-extract.mdx +1 -1
- package/zh/configure/app/output/disable-css-module-extension.mdx +1 -1
- package/zh/configure/app/output/disable-filename-hash.mdx +1 -1
- package/zh/configure/app/output/disable-inline-runtime-chunk.mdx +1 -1
- package/zh/configure/app/output/disable-minimize.mdx +1 -1
- package/zh/configure/app/output/disable-source-map.mdx +1 -1
- package/zh/configure/app/output/disable-ts-checker.mdx +1 -1
- package/zh/configure/app/output/dist-path.mdx +1 -1
- package/zh/configure/app/output/enable-asset-fallback.mdx +1 -1
- package/zh/configure/app/output/enable-asset-manifest.mdx +1 -1
- package/zh/configure/app/output/enable-css-module-tsdeclaration.mdx +1 -1
- package/zh/configure/app/output/enable-inline-scripts.mdx +1 -1
- package/zh/configure/app/output/enable-inline-styles.mdx +1 -1
- package/zh/configure/app/output/enable-latest-decorators.mdx +1 -1
- package/zh/configure/app/output/externals.mdx +1 -1
- package/zh/configure/app/output/filename.mdx +1 -1
- package/zh/configure/app/output/legal-comments.mdx +1 -1
- package/zh/configure/app/output/override-browserslist.mdx +1 -1
- package/zh/configure/app/output/polyfill.mdx +1 -1
- package/zh/configure/app/output/svg-default-export.mdx +1 -1
- package/zh/configure/app/performance/build-cache.mdx +1 -1
- package/zh/configure/app/performance/bundle-analyze.mdx +1 -1
- package/zh/configure/app/performance/chunk-split.mdx +1 -1
- package/zh/configure/app/performance/print-file-size.mdx +1 -1
- package/zh/configure/app/performance/profile.mdx +1 -1
- package/zh/configure/app/performance/remove-console.mdx +1 -1
- package/zh/configure/app/performance/remove-moment-locale.mdx +1 -1
- package/zh/configure/app/security/check-syntax.mdx +1 -1
- package/zh/configure/app/security/sri.mdx +1 -1
- package/zh/configure/app/source/alias.mdx +1 -1
- package/zh/configure/app/source/compile-js-data-uri.mdx +1 -1
- package/zh/configure/app/source/define.mdx +1 -1
- package/zh/configure/app/source/exclude.mdx +1 -1
- package/zh/configure/app/source/global-vars.mdx +1 -1
- package/zh/configure/app/source/include.mdx +1 -1
- package/zh/configure/app/source/module-scopes.mdx +1 -1
- package/zh/configure/app/source/pre-entry.mdx +1 -1
- package/zh/configure/app/source/resolve-extension-prefix.mdx +1 -1
- package/zh/configure/app/source/resolve-main-fields.mdx +1 -1
- package/zh/configure/app/tools/autoprefixer.mdx +1 -1
- package/zh/configure/app/tools/babel.mdx +1 -1
- package/zh/configure/app/tools/css-extract.mdx +1 -1
- package/zh/configure/app/tools/css-loader.mdx +1 -1
- package/zh/configure/app/tools/dev-server.mdx +1 -1
- package/zh/configure/app/tools/html-plugin.mdx +1 -1
- package/zh/configure/app/tools/inspector.mdx +1 -1
- package/zh/configure/app/tools/less.mdx +1 -1
- package/zh/configure/app/tools/minify-css.mdx +1 -1
- package/zh/configure/app/tools/postcss.mdx +1 -1
- package/zh/configure/app/tools/pug.mdx +1 -1
- package/zh/configure/app/tools/rspack.mdx +1 -1
- package/zh/configure/app/tools/sass.mdx +1 -1
- package/zh/configure/app/tools/style-loader.mdx +1 -1
- package/zh/configure/app/tools/styled-components.mdx +1 -1
- package/zh/configure/app/tools/terser.mdx +1 -1
- package/zh/configure/app/tools/ts-checker.mdx +1 -1
- package/zh/configure/app/tools/ts-loader.mdx +1 -1
- package/zh/configure/app/tools/webpack-chain.mdx +1 -1
- package/zh/configure/app/tools/webpack.mdx +1 -1
- package/.eslintrc.js +0 -12
- package/.turbo/turbo-build.log +0 -4
- package/en/apis/app/hooks/api/framework/lambda.mdx +0 -57
- package/en/apis/app/hooks/api/functions/api.mdx +0 -81
- package/en/apis/app/hooks/src/routes.mdx +0 -90
- package/en/apis/app/hooks/src/server.mdx +0 -34
- package/en/apis/app/runtime/router/router.mdx +0 -262
- package/en/apis/app/runtime/web-server/hook.mdx +0 -133
- package/en/apis/app/runtime/web-server/middleware.mdx +0 -134
- package/en/components/enable-bff.mdx +0 -31
- package/en/components/init-app.mdx +0 -43
- package/en/components/init-rspack-app.mdx +0 -7
- package/en/components/prerequisites.mdx +0 -20
- package/en/configure/app/output/ssg.mdx +0 -196
- package/en/configure/app/server/public-routes.mdx +0 -26
- package/en/configure/app/server/ssr.mdx +0 -38
- package/en/configure/app/source/design-system.mdx +0 -1175
- package/en/configure/app/source/disable-entry-dirs.mdx +0 -39
- package/en/configure/app/source/entries.mdx +0 -123
- package/en/guides/advanced-features/code-split.mdx +0 -80
- package/en/guides/advanced-features/compatibility.mdx +0 -78
- package/en/guides/advanced-features/eslint.mdx +0 -148
- package/en/guides/advanced-features/rspack-start.mdx +0 -65
- package/en/guides/advanced-features/ssg.mdx +0 -116
- package/en/guides/advanced-features/ssr.mdx +0 -513
- package/en/guides/advanced-features/testing.mdx +0 -46
- package/en/guides/advanced-features/web-server.mdx +0 -124
- package/en/guides/basic-features/data-fetch.mdx +0 -404
- package/en/guides/basic-features/env-vars.mdx +0 -174
- package/en/guides/basic-features/html.mdx +0 -247
- package/en/guides/basic-features/proxy.mdx +0 -61
- package/en/guides/get-started/introduction.mdx +0 -34
- package/en/guides/get-started/quick-start.mdx +0 -162
- package/en/guides/topic-detail/framework-plugin/extend.mdx +0 -164
- package/en/guides/topic-detail/framework-plugin/hook-list.mdx +0 -829
- package/en/guides/topic-detail/framework-plugin/hook.mdx +0 -188
- package/en/guides/topic-detail/framework-plugin/implement.mdx +0 -246
- package/en/guides/topic-detail/framework-plugin/relationship.mdx +0 -119
- package/en/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -48
- package/en/guides/topic-detail/generator/codesmith/develop.mdx +0 -53
- package/en/guides/topic-detail/generator/config/app.mdx +0 -82
- package/en/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -55
- package/en/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -55
- package/en/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -18
- package/en/guides/topic-detail/generator/plugin/develop.mdx +0 -125
- package/en/guides/topic-detail/generator/project.mdx +0 -118
- package/en/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -282
- package/en/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -57
- package/en/guides/topic-detail/model/computed-state.mdx +0 -153
- package/en/guides/troubleshooting/cli.mdx +0 -63
- package/en/tutorials/first-app/c03-css.mdx +0 -323
- package/scripts/config.ts +0 -96
- package/scripts/summary.en.json +0 -1
- package/scripts/summary.zh.json +0 -1
- package/scripts/sync.ts +0 -57
- package/tsconfig.json +0 -7
- package/zh/apis/monorepo/commands/new.mdx +0 -39
- package/zh/components/default-mwa-generate.mdx +0 -5
- package/zh/components/init-app.mdx +0 -44
- package/zh/components/init-rspack-app.mdx +0 -7
- package/zh/components/prerequisites.mdx +0 -20
- package/zh/guides/advanced-features/rspack-start.mdx +0 -65
- package/zh/guides/advanced-features/ssr.mdx +0 -501
- package/zh/guides/basic-features/mock.mdx +0 -99
- package/zh/guides/get-started/introduction.mdx +0 -31
- package/zh/guides/topic-detail/changesets/changelog.mdx +0 -238
- package/zh/guides/topic-detail/changesets/commit.mdx +0 -271
- package/zh/guides/topic-detail/changesets/release-note.mdx +0 -259
- package/zh/guides/topic-detail/generator/plugin/develop.mdx +0 -125
- package/zh/guides/topic-detail/monorepo/create-sub-project.mdx +0 -67
- package/zh/guides/topic-detail/monorepo/sub-project-interface.mdx +0 -179
- package/zh/index.md +0 -4
- /package/{en → docs/en}/apis/app/commands.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/hooks/api/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/hooks/api/framework/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/hooks/api/functions/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/hooks/api/functions/app.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/api/functions/common.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/api/test.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/config/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/hooks/config/html.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/config/icon.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/config/mock.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/config/public.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/config/storybook.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/config/upload.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/modern-config.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/server/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/hooks/server/index_.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/server/test.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/shared.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/src/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/hooks/src/app.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/src/index_.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/src/pages.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/src/stories.mdx +0 -0
- /package/{en → docs/en}/apis/app/hooks/src/test.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/runtime/app/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/runtime/app/define-config.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/bff/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/runtime/bff/hook.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/bff/use-context.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/core/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/runtime/core/bootstrap.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/core/create-app.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/core/use-loader.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/core/use-module-apps.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/core/use-runtime-context.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/Provider.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/auto-actions.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/connect.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/create-app.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/create-store.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/handle-effect.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/model_.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/use-local-model.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/use-model.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/use-static-model.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/model/use-store.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/router/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/runtime/ssr/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/runtime/ssr/no-ssr.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/ssr/pre-render.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/testing/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/runtime/testing/act.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/testing/cleanup.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/testing/render.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/testing/renderApp.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/utility/_category_.json +0 -0
- /package/{en → docs/en}/apis/app/runtime/utility/css-in-js.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/utility/head.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/utility/loadable.mdx +0 -0
- /package/{en → docs/en}/apis/app/runtime/web-server/_category_.json +0 -0
- /package/{en → docs/en}/components/debug-app.mdx +0 -0
- /package/{en → docs/en}/components/enable-micro-frontend.mdx +0 -0
- /package/{en → docs/en}/components/global-proxy-config.mdx +0 -0
- /package/{en → docs/en}/components/global-proxy.mdx +0 -0
- /package/{en → docs/en}/components/micro-master-manifest-config.mdx +0 -0
- /package/{en → docs/en}/components/micro-runtime-config.mdx +0 -0
- /package/{en → docs/en}/components/reduck-migration.mdx +0 -0
- /package/{en → docs/en}/components/reduck-tip.mdx +0 -0
- /package/{en → docs/en}/components/router-legacy-tip.mdx +0 -0
- /package/{en → docs/en}/configure/app/auto-load-plugin.mdx +0 -0
- /package/{en → docs/en}/configure/app/bff/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/bff/enable-handle-web.mdx +0 -0
- /package/{en → docs/en}/configure/app/bff/prefix.mdx +0 -0
- /package/{en → docs/en}/configure/app/bff/proxy.mdx +0 -0
- /package/{en → docs/en}/configure/app/builder-plugins.mdx +0 -0
- /package/{en → docs/en}/configure/app/deploy/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/deploy/microFrontend.mdx +0 -0
- /package/{en → docs/en}/configure/app/dev/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/dev/proxy.mdx +0 -0
- /package/{en → docs/en}/configure/app/experiments/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/html/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/output/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/output/disable-node-polyfill.mdx +0 -0
- /package/{en → docs/en}/configure/app/performance/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/plugins.mdx +0 -0
- /package/{en → docs/en}/configure/app/runtime/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/runtime/intro.mdx +0 -0
- /package/{en → docs/en}/configure/app/runtime/master-app.mdx +0 -0
- /package/{en → docs/en}/configure/app/runtime/router.mdx +0 -0
- /package/{en → docs/en}/configure/app/runtime/state.mdx +0 -0
- /package/{en → docs/en}/configure/app/security/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/server/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/server/base-url.mdx +0 -0
- /package/{en → docs/en}/configure/app/server/enable-framework-ext.mdx +0 -0
- /package/{en → docs/en}/configure/app/server/port.mdx +0 -0
- /package/{en → docs/en}/configure/app/server/routes.mdx +0 -0
- /package/{en → docs/en}/configure/app/server/ssr-by-entries.mdx +0 -0
- /package/{en → docs/en}/configure/app/source/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/source/config-dir.mdx +0 -0
- /package/{en → docs/en}/configure/app/source/disable-default-entries.mdx +0 -0
- /package/{en → docs/en}/configure/app/source/enable-async-entry.mdx +0 -0
- /package/{en → docs/en}/configure/app/source/entries-dir.mdx +0 -0
- /package/{en → docs/en}/configure/app/testing/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/testing/transformer.mdx +0 -0
- /package/{en → docs/en}/configure/app/tools/_category_.json +0 -0
- /package/{en → docs/en}/configure/app/tools/esbuild.mdx +0 -0
- /package/{en → docs/en}/configure/app/tools/jest.mdx +0 -0
- /package/{en → docs/en}/configure/app/tools/swc.mdx +0 -0
- /package/{en → docs/en}/configure/app/tools/tailwindcss.mdx +0 -0
- /package/{en → docs/en}/configure/app/usage.mdx +0 -0
- /package/{en → docs/en}/guides/advanced-features/_category_.json +0 -0
- /package/{en → docs/en}/guides/advanced-features/bff/_category_.json +0 -0
- /package/{en → docs/en}/guides/advanced-features/bff/bff-proxy.mdx +0 -0
- /package/{en → docs/en}/guides/advanced-features/bff/frameworks.mdx +0 -0
- /package/{en → docs/en}/guides/advanced-features/bff/function.mdx +0 -0
- /package/{en → docs/en}/guides/advanced-features/bff/index.mdx +0 -0
- /package/{en → docs/en}/guides/advanced-features/bff/type.mdx +0 -0
- /package/{en → docs/en}/guides/advanced-features/low-level.mdx +0 -0
- /package/{en → docs/en}/guides/basic-features/_category_.json +0 -0
- /package/{en → docs/en}/guides/basic-features/alias.mdx +0 -0
- /package/{en → docs/en}/guides/basic-features/css.mdx +0 -0
- /package/{en → docs/en}/guides/basic-features/mock.mdx +0 -0
- /package/{en → docs/en}/guides/basic-features/routes.mdx +0 -0
- /package/{en → docs/en}/guides/concept/_category_.json +0 -0
- /package/{en → docs/en}/guides/concept/builder.mdx +0 -0
- /package/{en → docs/en}/guides/concept/entries.mdx +0 -0
- /package/{en → docs/en}/guides/get-started/_category_.json +0 -0
- /package/{en → docs/en}/guides/get-started/upgrade.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/framework-plugin/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/framework-plugin/introduction.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/framework-plugin/lifecycle.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/framework-plugin/plugin-api.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/api/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/api/app.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/api/git.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/api/json.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/introduce.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/codesmith/structure.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/config/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/config/common.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/config/module.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/config/monorepo.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/abstract.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/generator/plugin/use.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/micro-frontend/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/micro-frontend/c02-development.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/_category_.json +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/auto-actions.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/define-model.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/faq.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/manage-effects.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/model-communicate.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/performance.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/quick-start.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/redux-integration.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/test-model.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/typescript-best-practice.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/use-model.mdx +0 -0
- /package/{en → docs/en}/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -0
- /package/{en → docs/en}/guides/troubleshooting/_category_.json +0 -0
- /package/{en → docs/en}/index.md +0 -0
- /package/{en → docs/en}/tutorials/first-app/_category_.json +0 -0
- /package/{en → docs/en}/tutorials/first-app/c01-start.mdx +0 -0
- /package/{en → docs/en}/tutorials/first-app/c02-component.mdx +0 -0
- /package/{en → docs/en}/tutorials/first-app/c04-routes.mdx +0 -0
- /package/{en → docs/en}/tutorials/first-app/c05-loader.mdx +0 -0
- /package/{en → docs/en}/tutorials/first-app/c06-model.mdx +0 -0
- /package/{en → docs/en}/tutorials/first-app/c07-container.mdx +0 -0
- /package/{en → docs/en}/tutorials/first-app/c08-entries.mdx +0 -0
- /package/{en → docs/en}/tutorials/foundations/_category_.json +0 -0
- /package/{en → docs/en}/tutorials/foundations/introduction.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/commands.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/api/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/api/framework/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/api/framework/lambda.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/api/functions/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/api/functions/api.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/api/functions/app.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/api/functions/common.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/api/test.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/config/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/config/html.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/config/icon.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/config/mock.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/config/public.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/config/storybook.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/config/upload.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/modern-config.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/server/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/server/index_.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/server/test.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/shared.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/src/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/src/app.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/src/index_.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/src/pages.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/src/routes.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/src/server.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/src/stories.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/hooks/src/test.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/app/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/app/define-config.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/bff/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/bff/hook.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/bff/use-context.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/core/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/core/bootstrap.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/core/create-app.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/core/use-loader.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/core/use-module-apps.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/core/use-runtime-context.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/Provider.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/auto-actions.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/connect.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/create-app.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/create-store.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/handle-effect.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/model_.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/use-local-model.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/use-model.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/use-static-model.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/model/use-store.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/router/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/router/router.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/ssr/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/ssr/no-ssr.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/ssr/pre-render.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/testing/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/testing/act.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/testing/cleanup.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/testing/render.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/testing/renderApp.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/utility/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/utility/css-in-js.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/utility/head.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/utility/loadable.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/web-server/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/web-server/hook.mdx +0 -0
- /package/{zh → docs/zh}/apis/app/runtime/web-server/middleware.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/bump.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/change.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/clear.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/deploy.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/gen-release-note.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/index.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/lint.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/pre.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/release.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/commands/upgrade.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/hooks/_category_.json +0 -0
- /package/{zh → docs/zh}/apis/monorepo/hooks/apps.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/hooks/code-workspace.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/hooks/examples.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/hooks/features.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/hooks/index.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/hooks/packages.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/hooks/pnpm-workspace.mdx +0 -0
- /package/{zh → docs/zh}/apis/monorepo/hooks/pnpmfile.mdx +0 -0
- /package/{zh → docs/zh}/blog/index.md +0 -0
- /package/{zh → docs/zh}/community/index.mdx +0 -0
- /package/{zh → docs/zh}/components/custom-router-micro-frontend.mdx +0 -0
- /package/{zh → docs/zh}/components/debug-app.mdx +0 -0
- /package/{zh → docs/zh}/components/deploy.mdx +0 -0
- /package/{zh → docs/zh}/components/enable-bff.mdx +0 -0
- /package/{zh → docs/zh}/components/enable-micro-frontend.mdx +0 -0
- /package/{zh → docs/zh}/components/global-proxy-config.mdx +0 -0
- /package/{zh → docs/zh}/components/global-proxy.mdx +0 -0
- /package/{zh → docs/zh}/components/micro-master-manifest-config.mdx +0 -0
- /package/{zh → docs/zh}/components/micro-runtime-config.mdx +0 -0
- /package/{zh → docs/zh}/components/reduck-migration.mdx +0 -0
- /package/{zh → docs/zh}/components/reduck-tip.mdx +0 -0
- /package/{zh → docs/zh}/components/release-note.mdx +0 -0
- /package/{zh → docs/zh}/components/router-legacy-tip.mdx +0 -0
- /package/{zh → docs/zh}/components/self-route-example.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/auto-load-plugin.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/bff/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/bff/enable-handle-web.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/bff/prefix.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/bff/proxy.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/builder-plugins.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/deploy/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/deploy/microFrontend.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/dev/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/dev/proxy.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/experiments/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/html/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/output/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/output/disable-node-polyfill.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/output/ssg.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/performance/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/plugins.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/runtime/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/runtime/intro.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/runtime/master-app.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/runtime/router.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/runtime/state.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/security/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/server/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/server/base-url.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/server/enable-framework-ext.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/server/port.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/server/public-routes.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/server/routes.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/server/ssr-by-entries.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/server/ssr.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/source/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/source/config-dir.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/source/design-system.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/source/disable-default-entries.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/source/disable-entry-dirs.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/source/enable-async-entry.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/source/entries-dir.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/source/entries.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/testing/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/testing/transformer.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/tools/_category_.json +0 -0
- /package/{zh → docs/zh}/configure/app/tools/esbuild.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/tools/jest.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/tools/swc.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/tools/tailwindcss.mdx +0 -0
- /package/{zh → docs/zh}/configure/app/usage.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/bff/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/bff/bff-proxy.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/bff/frameworks.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/bff/function.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/bff/index.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/bff/type.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/code-split.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/compatibility.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/eslint.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/low-level.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/ssg.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/testing.mdx +0 -0
- /package/{zh → docs/zh}/guides/advanced-features/web-server.mdx +0 -0
- /package/{zh → docs/zh}/guides/basic-features/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/basic-features/alias.mdx +0 -0
- /package/{zh → docs/zh}/guides/basic-features/css.mdx +0 -0
- /package/{zh → docs/zh}/guides/basic-features/data-fetch.mdx +0 -0
- /package/{zh → docs/zh}/guides/basic-features/env-vars.mdx +0 -0
- /package/{zh → docs/zh}/guides/basic-features/html.mdx +0 -0
- /package/{zh → docs/zh}/guides/basic-features/proxy.mdx +0 -0
- /package/{zh → docs/zh}/guides/basic-features/routes.mdx +0 -0
- /package/{zh → docs/zh}/guides/concept/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/concept/builder.mdx +0 -0
- /package/{zh → docs/zh}/guides/concept/entries.mdx +0 -0
- /package/{zh → docs/zh}/guides/get-started/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/get-started/quick-start.mdx +0 -0
- /package/{zh → docs/zh}/guides/get-started/upgrade.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/changesets/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/changesets/add.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/changesets/config.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/changesets/github.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/changesets/introduce.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/changesets/release-pre.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/changesets/release.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/framework-plugin/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/framework-plugin/extend.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/framework-plugin/hook-list.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/framework-plugin/hook.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/framework-plugin/implement.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/framework-plugin/introduction.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/framework-plugin/lifecycle.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/framework-plugin/plugin-api.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/framework-plugin/relationship.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/api/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/api/app.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/api/git.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/api/json.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/develop.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/introduce.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/codesmith/structure.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/config/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/config/app.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/config/common.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/config/module.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/config/monorepo.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/abstract.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/plugin/use.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/generator/project.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/micro-frontend/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/micro-frontend/c01-introduction.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/micro-frontend/c02-development.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/micro-frontend/c03-main-app.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/micro-frontend/c04-communicate.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/micro-frontend/c05-mixed-stack.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/auto-actions.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/computed-state.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/define-model.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/faq.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/manage-effects.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/model-communicate.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/performance.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/quick-start.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/redux-integration.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/test-model.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/typescript-best-practice.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/use-model.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/model/use-out-of-modernjs.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/monorepo/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/monorepo/intro.mdx +0 -0
- /package/{zh → docs/zh}/guides/topic-detail/monorepo/publish.mdx +0 -0
- /package/{zh → docs/zh}/guides/troubleshooting/_category_.json +0 -0
- /package/{zh → docs/zh}/guides/troubleshooting/cli.mdx +0 -0
- /package/{zh → docs/zh}/guides/troubleshooting/dependencies.mdx +0 -0
- /package/{zh → docs/zh}/tutorials/first-app/_category_.json +0 -0
- /package/{zh → docs/zh}/tutorials/first-app/c01-start.mdx +0 -0
- /package/{zh → docs/zh}/tutorials/first-app/c02-component.mdx +0 -0
- /package/{zh → docs/zh}/tutorials/first-app/c03-css.mdx +0 -0
- /package/{zh → docs/zh}/tutorials/first-app/c04-routes.mdx +0 -0
- /package/{zh → docs/zh}/tutorials/first-app/c05-loader.mdx +0 -0
- /package/{zh → docs/zh}/tutorials/first-app/c06-model.mdx +0 -0
- /package/{zh → docs/zh}/tutorials/first-app/c07-container.mdx +0 -0
- /package/{zh → docs/zh}/tutorials/first-app/c08-entries.mdx +0 -0
- /package/{zh → docs/zh}/tutorials/foundations/_category_.json +0 -0
- /package/{zh → docs/zh}/tutorials/foundations/introduction.mdx +0 -0
@@ -1,188 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Hook Model
|
3
|
-
sidebar_position: 2
|
4
|
-
---
|
5
|
-
# Hook Model
|
6
|
-
|
7
|
-
First, let's introduce some content about the basic plugin system in Modern.js, including the working mode of the Hook model, the operating mode of each Hook model, and the working mode of the Manager.
|
8
|
-
|
9
|
-
Each Hook model is independent and can manage running functions independently.
|
10
|
-
|
11
|
-
## Basic Working Mode
|
12
|
-
|
13
|
-
Taking the Pipeline as an example, let's briefly introduce the working mode of the Hook model. Let's take a look at a simple example:
|
14
|
-
|
15
|
-
|
16
|
-
```ts
|
17
|
-
import { createPipeline } from '@modern-js/plugin';
|
18
|
-
|
19
|
-
// 1. create
|
20
|
-
const pipeline = createPipeline<number, number>();
|
21
|
-
|
22
|
-
// 2. add function
|
23
|
-
pipeline.use((count, next) => {
|
24
|
-
return next(count + 1);
|
25
|
-
});
|
26
|
-
pipeline.use((count, next) => {
|
27
|
-
return count * 2;
|
28
|
-
});
|
29
|
-
|
30
|
-
// 3. exec
|
31
|
-
pipeline.run(1); // 4
|
32
|
-
pipeline.run(5); // 12
|
33
|
-
```
|
34
|
-
|
35
|
-
In this example, a `Pipeline<number, number>` is created on line 3. This means that when you run it, you need to pass in a `number`, and you will get a `number` as a result,the type is:
|
36
|
-
|
37
|
-
```ts
|
38
|
-
(count: number, next: (nextCount: number) => number) => number;
|
39
|
-
```
|
40
|
-
|
41
|
-
The reason why there are only `number`s here is because we created a `Pipeline<number, number>`. If we had created a `Pipeline<number, string>`, then when we run it, we would pass in a `number` and get back a `string`. the type is:
|
42
|
-
|
43
|
-
```ts
|
44
|
-
(count: number, next: (nextCount: number) => string) => string;
|
45
|
-
```
|
46
|
-
|
47
|
-
After creating a Pipeline, you can add functions using the `use` method (lines 5 and 8). It is important to note that the order in which you add the functions is the order in which they will run by default.
|
48
|
-
|
49
|
-
Within these functions, you can manipulate the `count` value and return a value. If you call the `next` function, the next function in the pipeline will run. For example, if you add three functions: `A`, `B`, and `C`, and you call `next` in function `A`, then function `B` will run. Similarly, if you call `next` in function `B`, then function `C` will run.
|
50
|
-
|
51
|
-
In the example above, the first function added on line 5 calls `next`, which causes the second function added on line 8 to run. The return value of this function is the return value of the entire pipeline. If the first function does not call `next` and simply returns a value, then the pipeline will return that value without running any other functions.
|
52
|
-
|
53
|
-
For example:
|
54
|
-
|
55
|
-
```ts
|
56
|
-
import { createPipeline } from '@modern-js/plugin';
|
57
|
-
|
58
|
-
// 1. create
|
59
|
-
const pipeline = createPipeline<number, number>();
|
60
|
-
|
61
|
-
// 2. add function
|
62
|
-
pipeline.use((count, next) => {
|
63
|
-
return count + 1;
|
64
|
-
});
|
65
|
-
pipeline.use((count, next) => {
|
66
|
-
return count * 2;
|
67
|
-
});
|
68
|
-
|
69
|
-
// 3. 执行
|
70
|
-
pipeline.run(1); // 2
|
71
|
-
pipeline.run(5); // 6
|
72
|
-
```
|
73
|
-
|
74
|
-
If the first function does not call `next`, the second function will not run and the return value of the pipeline will be the return value of the first function.
|
75
|
-
|
76
|
-
Finally, the way to run the Pipeline is simply to call `pipeline.run()`.
|
77
|
-
|
78
|
-
|
79
|
-
## Differences between different Hook models
|
80
|
-
|
81
|
-
The above section describes the general working mode of the Pipeline, and the working modes of other Hook models are similar. The main differences lie in the function type, execution order, and parameters.
|
82
|
-
|
83
|
-
### Pipeline
|
84
|
-
|
85
|
-
The example above describes the Pipeline, so we won't go into details here. In the Pipeline category, there are two subcategories: Sync and Async, which manage functions of either Sync or Async type, respectively.
|
86
|
-
|
87
|
-
:::info
|
88
|
-
If there are no functions in the Pipeline or all functions have called the `next` function, then you need to provide a value when running the Pipeline.
|
89
|
-
:::
|
90
|
-
|
91
|
-
|
92
|
-
```ts
|
93
|
-
pipeline(
|
94
|
-
{},
|
95
|
-
{
|
96
|
-
onLast: () => {
|
97
|
-
// do something
|
98
|
-
},
|
99
|
-
},
|
100
|
-
);
|
101
|
-
```
|
102
|
-
|
103
|
-
:::
|
104
|
-
|
105
|
-
### Waterfall
|
106
|
-
|
107
|
-
This model, as the name suggests, is characterized by the sequential passing of parameters, where the return value of the previous function becomes the input parameter of the next function. Let's look at an example::
|
108
|
-
|
109
|
-
```ts
|
110
|
-
import { createWaterfall } from '@modern-js/plugin';
|
111
|
-
|
112
|
-
// 1. create
|
113
|
-
const waterfall = createWaterfall<number>();
|
114
|
-
|
115
|
-
// 2. add function
|
116
|
-
waterfall.use(count => {
|
117
|
-
return count + 1;
|
118
|
-
});
|
119
|
-
waterfall.use(count => {
|
120
|
-
return count * 2;
|
121
|
-
});
|
122
|
-
|
123
|
-
// 3. exec
|
124
|
-
waterfall.run(1); // 4
|
125
|
-
waterfall.run(5); // 12
|
126
|
-
```
|
127
|
-
|
128
|
-
In this example, a `Waterfall<number>` type is created, which means that the input and output types of this model are the same. In this case, both the input and output types are `number`, the type is:
|
129
|
-
|
130
|
-
```ts
|
131
|
-
(count: number) => number;
|
132
|
-
```
|
133
|
-
|
134
|
-
At first glance, this example may seem to have the same functionality as the Pipeline above, but there are some important differences to note. Firstly, the functions managed by Waterfall do not have a `next` function as the second argument, so they cannot modify the execution order by calling `next` within the function. Secondly, the input and output types of the functions must be the same (unlike in the Pipeline where they can be different).
|
135
|
-
|
136
|
-
Similarly to Pipeline, Waterfall has Sync and Async subcategories that respectively manage Sync and Async functions.
|
137
|
-
|
138
|
-
### Workflow
|
139
|
-
|
140
|
-
This Hook model is different from the two Hook models above in that there is no strong concept of passing parameters and return values in a sequential order. In this model, each function runs independently based on the same input parameter.
|
141
|
-
|
142
|
-
for example:
|
143
|
-
|
144
|
-
```ts
|
145
|
-
import { createWorkflow } from '@modern-js/plugin';
|
146
|
-
|
147
|
-
// 1. create
|
148
|
-
const workflow = createWorkflow<number, number>();
|
149
|
-
|
150
|
-
// 2. add plugin
|
151
|
-
workflow.use(count => {
|
152
|
-
return count + 1;
|
153
|
-
});
|
154
|
-
workflow.use(count => {
|
155
|
-
return count * 2;
|
156
|
-
});
|
157
|
-
|
158
|
-
// 3. 执行
|
159
|
-
workflow.run(1); // [2, 2]
|
160
|
-
workflow.run(5); // [6, 10]
|
161
|
-
```
|
162
|
-
|
163
|
-
In this example, two functions are added to the Workflow, so the result of running the Workflow is an array of the results of these two functions.
|
164
|
-
|
165
|
-
Although there is no strong concept of passing parameters and return values in a sequential order in this model, there are still differences in the execution order. In the Workflow category, there are three subcategories: Sync, Async, and Parallel.
|
166
|
-
|
167
|
-
The difference between them lies in the execution order of the functions. By default, they are all executed in the order they are added, but in Sync and Async mode, the execution order is strictly based on the order in which they are added, while in Parallel mode, a variant of Async mode, `Promise.all` is used to execute all the functions, while in Async mode, `await` is used to wait for the previous function to finish running.
|
168
|
-
|
169
|
-
## Comparison of Hook models
|
170
|
-
|
171
|
-
|
172
|
-
<div style={{ width: "100%", overflowX: "scroll" }}>
|
173
|
-
<div style={{ width: "150%" }}>
|
174
|
-
|
175
|
-
| | Function Type | Execution Order | Source of Function Parameters | Source of Execution Returns | Preferred Task Type | Function TS Type |
|
176
|
-
| ---------------- | ------------- | ------------------------------------------------------------ | -------------------------------------------------------------------------------------------- | --------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------ |
|
177
|
-
| Pipeline | Sync | Executes the first added function by default, can execute subsequent functions through `next` | The parameters of the first function come from the input, while the parameters of subsequent functions come from the parameters passed to `next` | Returns from the first function | <ul><li>Needs to modify initial parameters</li><li>Needs to modify function execution order</li></ul> | `(input: I, next: Next<I, O>) => O` |
|
178
|
-
| AsyncPipeline | Sync/Async | Executes the first added function by default, can execute subsequent functions through `next` | The parameters of the first function come from the input, while the parameters of subsequent functions come from the parameters passed to `next` | Returns from the first function | <ul><li>Needs to modify initial parameters</li><li>Needs to modify function execution order</li></ul> | `(input: I, next: AsyncNext<I, O>) => O | Promise<O>` |
|
179
|
-
| Waterfall | Sync | Executes functions in order | The parameters of the first function come from the input, while the parameters of subsequent functions come from the return value of the previous function | Returns from the last function | <ul><li>Needs to modify initial parameters</li><li>Does not need to modify function execution order</li></ul> | `(I: I) => I` |
|
180
|
-
| AsyncWaterfall | Sync/Async | Executes functions in order | The parameters of the first function come from the input, while the parameters of subsequent functions come from the return value of the previous function | Returns from the last function | <ul><li>Needs to modify initial parameters</li><li>Does not need to modify function execution order</li></ul> | `(I: I) => I | Promise<I>` |
|
181
|
-
| Workflow | Sync | Executes functions in order | All function parameters come from the input | An array of all function returns | <ul><li>Does not need to modify initial parameters</li><li>Does not need to modify function execution order</li></ul> | `(I: I) => O` |
|
182
|
-
| AsyncWorkflow | Sync/Async | Executes functions in order | All function parameters come from the input | An array of all function returns | <ul><li>Does not need to modify initial parameters</li><li>Does not need to modify function execution order</li></ul> | `(I: I) => O | Promise<O>` |
|
183
|
-
| ParallelWorkFlow | Sync/Async | Executes functions asynchronously | All function parameters come from the input | An array of all function returns | <ul><li>Does not need to modify initial parameters</li><li>Does not care about function execution order</li></ul> | `(I: I) => O | Promise<O>` |
|
184
|
-
|
185
|
-
</div>
|
186
|
-
</div>
|
187
|
-
|
188
|
-
"Workflow" and "Waterfall" are actually variants of the "Pipeline" model. While it's possible to implement "Workflow" and "Waterfall" using a specific writing style with "Pipeline", it can be more complicated with many implicit conventions. To make it easier to use, these two variants are provided to satisfy specific use cases.
|
@@ -1,246 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Write Plugins
|
3
|
-
sidebar_position: 3
|
4
|
-
---
|
5
|
-
# How to Write Plugins
|
6
|
-
|
7
|
-
The previous section introduced the Hook models used by Modern.js plugins, while this section describes how to write plugins.
|
8
|
-
|
9
|
-
## Implementing a Plugin
|
10
|
-
|
11
|
-
A Modern.js plugin is an object that includes the following properties:
|
12
|
-
|
13
|
-
- `name`: The name of the plugin, a unique identifier.
|
14
|
-
- `setup`: The initialization function for the plugin, which only runs once. The `setup` function can return a Hooks object, which Modern.js executes at specific times.
|
15
|
-
|
16
|
-
```ts
|
17
|
-
const myPlugin = {
|
18
|
-
name: 'my-plugin',
|
19
|
-
|
20
|
-
setup() {
|
21
|
-
const foo = '1';
|
22
|
-
|
23
|
-
// return hook object
|
24
|
-
return {
|
25
|
-
afterBuild: () => {
|
26
|
-
},
|
27
|
-
};
|
28
|
-
},
|
29
|
-
};
|
30
|
-
```
|
31
|
-
|
32
|
-
In addition, plugins allow configuration of the execution order with other plugins. For more information, please refer to [Plugin Relationship](/guides/topic-detail/framework-plugin/relationship).
|
33
|
-
|
34
|
-
### Plugin Types
|
35
|
-
|
36
|
-
Modern.js supports various types of project development, such as application development (`app-tools`), module development (`module-tools`), etc.
|
37
|
-
|
38
|
-
To balance the differences and commonalities between various types of project development, Modern.js organizes plugins as shown in the following figure:
|
39
|
-
|
40
|
-

|
41
|
-
|
42
|
-
As shown in the figure, Modern.js roughly divides plugins into two categories:
|
43
|
-
|
44
|
-
1. Common plugins: Plugins that only include some basic Hooks.
|
45
|
-
|
46
|
-
2. Project plugins: Different project developments will extend their own Hooks, Config, etc. on the basis of common plugins.
|
47
|
-
|
48
|
-
When using TypeScript, you can import built-in types such as `CliPlugin` to provide correct type inference for plugins.
|
49
|
-
|
50
|
-
```ts
|
51
|
-
import type { CliPlugin } from '@modern-js/core';
|
52
|
-
|
53
|
-
const myPlugin: CliPlugin = {
|
54
|
-
name: 'my-plugin',
|
55
|
-
|
56
|
-
setup() {
|
57
|
-
const foo = '1';
|
58
|
-
|
59
|
-
return {
|
60
|
-
afterBuild: () => {
|
61
|
-
},
|
62
|
-
};
|
63
|
-
},
|
64
|
-
};
|
65
|
-
```
|
66
|
-
|
67
|
-
The above code is a general-purpose plugin, containing only some basic Hooks. Modern.js supports extending the definition of plugins through generics:
|
68
|
-
|
69
|
-
```ts
|
70
|
-
import type { CliPlugin, AppTools } from '@modern-js/app-tools';
|
71
|
-
|
72
|
-
const myPlugin: CliPlugin<AppTools> = {
|
73
|
-
name: 'my-plugin',
|
74
|
-
|
75
|
-
setup() {
|
76
|
-
const foo = '1';
|
77
|
-
|
78
|
-
return {
|
79
|
-
afterBuild: () => {
|
80
|
-
},
|
81
|
-
};
|
82
|
-
},
|
83
|
-
};
|
84
|
-
```
|
85
|
-
|
86
|
-
If you look closely at the type `AppTools`, you can see that `AppTools` consists of 3 types.
|
87
|
-
|
88
|
-
```ts
|
89
|
-
type AppTools = {
|
90
|
-
hooks: AppToolsHooks;
|
91
|
-
userConfig: AppToolsUserConfig;
|
92
|
-
normalizedConfig: AppToolsNormalizedConfig;
|
93
|
-
};
|
94
|
-
```
|
95
|
-
|
96
|
-
When writing plugins, plugins extend their own types like Hooks on different bases through generic extensions:
|
97
|
-
|
98
|
-
```ts
|
99
|
-
// common plugin
|
100
|
-
import type { CliPlugin } from '@modern-js/core';
|
101
|
-
import type { MyPluginHook } from 'xxx';
|
102
|
-
|
103
|
-
const myPlugin: CliPlugin<{ hooks: MyPluginHook }> = {};
|
104
|
-
```
|
105
|
-
|
106
|
-
```ts
|
107
|
-
// extend from app-tools hook
|
108
|
-
import type { CliPlugin, AppTools } from '@modern-js/app-tools';
|
109
|
-
import type { MyPluginHook } from 'xxx';
|
110
|
-
|
111
|
-
const myPlugin: CliPlugin<AppTools & { hooks: MyPluginHook }> = {};
|
112
|
-
```
|
113
|
-
|
114
|
-
Please refer to [Extending Hooks](/guides/topic-detail/framework-plugin/extend) for detailed explanations.
|
115
|
-
|
116
|
-
### Plugin Configuration
|
117
|
-
|
118
|
-
**It is recommended to write plugins in the form of functions**, so that plugins can receive configuration options through function parameters:
|
119
|
-
|
120
|
-
```ts
|
121
|
-
import type { CliPlugin } from '@modern-js/core';
|
122
|
-
|
123
|
-
type MyPluginOptions = {
|
124
|
-
foo: string;
|
125
|
-
};
|
126
|
-
|
127
|
-
const myPlugin = (options: MyPluginOptions): CliPlugin => ({
|
128
|
-
name: 'my-plugin',
|
129
|
-
|
130
|
-
setup() {
|
131
|
-
console.log(options.foo);
|
132
|
-
},
|
133
|
-
});
|
134
|
-
```
|
135
|
-
|
136
|
-
### Plugin API
|
137
|
-
|
138
|
-
The `setup` function of a plugin receives an `api` parameter, and you can call some methods provided on the `api` to get configuration, application context, and other information.
|
139
|
-
|
140
|
-
|
141
|
-
```ts
|
142
|
-
import type { CliPlugin } from '@modern-js/core';
|
143
|
-
|
144
|
-
export default (): CliPlugin => ({
|
145
|
-
name: 'my-plugin',
|
146
|
-
|
147
|
-
setup(api) {
|
148
|
-
// get user set config
|
149
|
-
const config = api.useConfigContext();
|
150
|
-
// get context
|
151
|
-
const appContext = api.useAppContext();
|
152
|
-
// get final config
|
153
|
-
const resolvedConfig = api.useResolvedConfigContext();
|
154
|
-
},
|
155
|
-
});
|
156
|
-
```
|
157
|
-
|
158
|
-
For more detail [Plugin API](/guides/topic-detail/framework-plugin/plugin-api)。
|
159
|
-
|
160
|
-
### Async setup
|
161
|
-
|
162
|
-
The `setup` function of a CLI plugin can be an asynchronous function, which can execute asynchronous logic during the initialization process.
|
163
|
-
|
164
|
-
|
165
|
-
```ts
|
166
|
-
import type { CliPlugin } from '@modern-js/core';
|
167
|
-
|
168
|
-
export default (): CliPlugin => ({
|
169
|
-
name: 'my-plugin',
|
170
|
-
|
171
|
-
async setup(api) {
|
172
|
-
await doSomething();
|
173
|
-
},
|
174
|
-
});
|
175
|
-
```
|
176
|
-
|
177
|
-
## Adding Plugins
|
178
|
-
|
179
|
-
Custom plugins can be used by following the instructions in the [plugins](/configure/app/plugins) section of the documentation. Below is the recommended way to implement plugins in Modern.js.
|
180
|
-
|
181
|
-
### Developing Local Plugins
|
182
|
-
|
183
|
-
It is recommended to write local plugins in the `config/plugin` directory and export them using `export default`:
|
184
|
-
|
185
|
-
```ts title=config/plugin/myPlugin.ts
|
186
|
-
import type { CliPlugin } from '@modern-js/core';
|
187
|
-
|
188
|
-
export default (): CliPlugin => ({
|
189
|
-
name: 'my-plugin',
|
190
|
-
|
191
|
-
setup() {
|
192
|
-
// init plugin
|
193
|
-
},
|
194
|
-
});
|
195
|
-
```
|
196
|
-
|
197
|
-
register plugin in `modern.config.ts`:
|
198
|
-
|
199
|
-
```ts title="modern.config.ts"
|
200
|
-
import { defineConfig } from '@modern-js/app-tools';
|
201
|
-
import myPlugin from './config/plugin/myPlugin';
|
202
|
-
|
203
|
-
export default defineConfig({
|
204
|
-
plugins: [myPlugin()],
|
205
|
-
});
|
206
|
-
```
|
207
|
-
|
208
|
-
### Publishing a Plugin on npm
|
209
|
-
|
210
|
-
If you want to publish your Modern.js plugin on npm, it's recommended to use the module project solution provided by Modern.js to manage and build the plugin.
|
211
|
-
|
212
|
-
First, create an empty module project solution and adjust the package name:
|
213
|
-
|
214
|
-
```json
|
215
|
-
{
|
216
|
-
"name": "my-plugin"
|
217
|
-
...
|
218
|
-
}
|
219
|
-
```
|
220
|
-
|
221
|
-
create plugin main file:
|
222
|
-
|
223
|
-
```ts title=src/index.ts
|
224
|
-
import type { CliPlugin } from '@modern-js/core';
|
225
|
-
|
226
|
-
export default (): CliPlugin => ({
|
227
|
-
name: 'my-plugin',
|
228
|
-
|
229
|
-
setup() {
|
230
|
-
// plugin init
|
231
|
-
},
|
232
|
-
});
|
233
|
-
```
|
234
|
-
|
235
|
-
After publishing, install it to the project you need to use `pnpm add my-plugin`, take an application project as an example, and then add it in `modern.config.ts`:
|
236
|
-
|
237
|
-
```ts title="modern.config.ts"
|
238
|
-
import { defineConfig } from '@modern-js/app-tools';
|
239
|
-
import myPlugin from 'my-plugin';
|
240
|
-
|
241
|
-
export default defineConfig({
|
242
|
-
plugins: [myPlugin()],
|
243
|
-
});
|
244
|
-
```
|
245
|
-
|
246
|
-
If you find that there are currently unsatisfactory scenarios in Modern.js, welcome to build the Modern.js ecosystem together by **writing custom plugins**.
|
@@ -1,119 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Relationship
|
3
|
-
sidebar_position: 4
|
4
|
-
---
|
5
|
-
# Relationship between Plugins
|
6
|
-
|
7
|
-
The plugin configuration object in Modern.js provides a series of fields to control plugin order, mutual exclusion, and other capabilities. The available fields are as follows:
|
8
|
-
|
9
|
-
- `name`: `string`, sets the name of the current plugin.
|
10
|
-
- `pre`: `string[]`, these plugins will be adjusted to be executed before the current plugin.
|
11
|
-
- `post`: `string[]`, these plugins will be adjusted to be executed after the current plugin.
|
12
|
-
- `rivals`: `string[]`, mutually exclusive plugins, an error will be thrown when encountering these plugins.
|
13
|
-
- `required`: `string[]`, required plugins, an error will be thrown when the corresponding plugin is not found in the plugin list.
|
14
|
-
- `usePlugin`: `CliPlugin[]`, registers other plugins.
|
15
|
-
|
16
|
-
The above parameters can be used to achieve plugin front, back, mutual exclusion, and mandatory logic.
|
17
|
-
|
18
|
-
## Plugin Sorting
|
19
|
-
|
20
|
-
Modern.js plugins achieve plugin sorting functionality through the `pre` and `post` parameters.
|
21
|
-
|
22
|
-
### Pre
|
23
|
-
|
24
|
-
By default, plugins are executed in the order they are added. You can declare preceding plugins to be executed by using the `pre` field.
|
25
|
-
|
26
|
-
For example, there are the following two plugins:
|
27
|
-
|
28
|
-
```ts title=foo.ts
|
29
|
-
const foo = {
|
30
|
-
name: 'plugin-foo',
|
31
|
-
};
|
32
|
-
```
|
33
|
-
|
34
|
-
```ts title=bar.ts
|
35
|
-
const bar = {
|
36
|
-
name: 'plugin-bar',
|
37
|
-
pre: ['plugin-foo'],
|
38
|
-
};
|
39
|
-
```
|
40
|
-
|
41
|
-
The `bar` plugin configures the `foo` plugin in the `pre` field, so the'foo' plugin must be executed before the `bar` plugin.
|
42
|
-
|
43
|
-
### Post
|
44
|
-
|
45
|
-
Declare succeeding plugins to be executed by using the `post` field.
|
46
|
-
|
47
|
-
```ts title=foo.ts
|
48
|
-
const foo = {
|
49
|
-
name: 'plugin-foo',
|
50
|
-
};
|
51
|
-
```
|
52
|
-
|
53
|
-
```ts title=bar.ts
|
54
|
-
const bar = {
|
55
|
-
name: 'plugin-bar',
|
56
|
-
post: ['plugin-foo'],
|
57
|
-
};
|
58
|
-
```
|
59
|
-
|
60
|
-
If you use the `post` parameter in the `bar` plugin's configuration and set it to `['foo']`, then the `foo` plugin will be executed after the `bar` plugin.
|
61
|
-
|
62
|
-
## rivals
|
63
|
-
|
64
|
-
The rivals field can be used to declare a mutual exclusion relationship between plugins.
|
65
|
-
|
66
|
-
there are two plugin:
|
67
|
-
|
68
|
-
```ts title=foo.ts
|
69
|
-
const foo = {
|
70
|
-
name: 'plugin-foo',
|
71
|
-
};
|
72
|
-
```
|
73
|
-
|
74
|
-
```ts title=bar.ts
|
75
|
-
const bar = {
|
76
|
-
name: 'plugin-bar',
|
77
|
-
rivals: ['plugin-foo'],
|
78
|
-
};
|
79
|
-
```
|
80
|
-
|
81
|
-
The `bar` plugin has been configured with the `foo` plugin in the `rivals` field, therefore an error will be thrown if both the `foo` and `bar` plugins are added simultaneously.
|
82
|
-
|
83
|
-
## required
|
84
|
-
|
85
|
-
The `required` field can be used to declare a dependency relationship between plugins.
|
86
|
-
|
87
|
-
there are two plugin:
|
88
|
-
|
89
|
-
```ts title=foo.ts
|
90
|
-
const foo = {
|
91
|
-
name: 'plugin-foo',
|
92
|
-
};
|
93
|
-
```
|
94
|
-
|
95
|
-
```ts title=bar.ts
|
96
|
-
const bar = {
|
97
|
-
name: 'plugin-bar',
|
98
|
-
required: ['plugin-foo'],
|
99
|
-
};
|
100
|
-
```
|
101
|
-
|
102
|
-
The `bar` plugin has been configured with the `foo` plugin in the `required` field. Therefore, an error will be thrown when using the `bar` plugin if the `foo` plugin is not configured.
|
103
|
-
|
104
|
-
## Register Plugin
|
105
|
-
|
106
|
-
When there is a dependency relationship between plugins, we can also actively register another plugin in a plugin by using `usePlugin`.
|
107
|
-
|
108
|
-
```ts title=foo.ts
|
109
|
-
const foo = () => ({
|
110
|
-
name: 'plugin-foo',
|
111
|
-
});
|
112
|
-
|
113
|
-
const bar = () => ({
|
114
|
-
name: 'plugin-bar',
|
115
|
-
usePlugin: [foo()],
|
116
|
-
});
|
117
|
-
```
|
118
|
-
|
119
|
-
When the user configures the `bar` plugin, the foo plugin will also be automatically registered and activated. The user does not need to register the `foo` plugin separately.
|
@@ -1,48 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 7
|
3
|
-
---
|
4
|
-
|
5
|
-
# @modern-js/codesmith-api-npm
|
6
|
-
|
7
|
-
The NPM API encapsulation in the microgenerator provides a common method for installing dependencies of different NPM package management tools.
|
8
|
-
|
9
|
-
## Use
|
10
|
-
|
11
|
-
```ts
|
12
|
-
import { NpmAPI } from '@modern-js/codesmith-api-npm';
|
13
|
-
|
14
|
-
export default async (context: GeneratorContext, generator: GeneratorCore) => {
|
15
|
-
const npmApi = new NpmAPI(generator);
|
16
|
-
await npmApi.pnpmInstall();
|
17
|
-
};
|
18
|
-
```
|
19
|
-
|
20
|
-
- Create NpmAPI instance, the parameter is the generator of the microgenerator function parameter, please see the composition of the microgenerator project for details.
|
21
|
-
|
22
|
-
- Just call the API on its example.
|
23
|
-
|
24
|
-
## API
|
25
|
-
|
26
|
-
### npmInstall
|
27
|
-
|
28
|
-
Install dependency using npm.
|
29
|
-
|
30
|
-
Parameter:
|
31
|
-
|
32
|
-
- cwd?: `string`. The execution directory of the install command, the default is microgenerator `outputPath`.
|
33
|
-
|
34
|
-
### yarnInstall
|
35
|
-
|
36
|
-
Install dependency using yarn.
|
37
|
-
|
38
|
-
Parameter:
|
39
|
-
|
40
|
-
- cwd?: `string`. The execution directory of the install command, the default is microgenerator `outputPath`.
|
41
|
-
|
42
|
-
### pnpmInstall
|
43
|
-
|
44
|
-
Install dependency using pnpm.
|
45
|
-
|
46
|
-
Parameter:
|
47
|
-
|
48
|
-
- cwd?: `string`. The execution directory of the install command, the default is microgenerator `outputPath`.
|
@@ -1,53 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 3
|
3
|
-
---
|
4
|
-
|
5
|
-
# Develop a microgenerator project
|
6
|
-
|
7
|
-
## Create project
|
8
|
-
|
9
|
-
Modern.js provides a microgenerator to create a microgenerator project, you can directly create a microgenerator project with the following commands:
|
10
|
-
|
11
|
-
```bash
|
12
|
-
$ mkdir <projectDir>
|
13
|
-
$ npx @modern-js/codesmith-cli @modern-js/generator-generator
|
14
|
-
|
15
|
-
? Package Name <generatorName>
|
16
|
-
? Package Management Tool pnpm
|
17
|
-
? Development Language TS
|
18
|
-
```
|
19
|
-
|
20
|
-
## Add template file
|
21
|
-
|
22
|
-
In the templates folder of the project directory, it is used to store the template files required by the generator. If there is no template file, this step can be skipped.
|
23
|
-
|
24
|
-
## Develop generator core logic
|
25
|
-
|
26
|
-
In the project generated by default, it has been implemented to directly copy the templates directory file to the target project, and the core logic development of the generator can be completed directly in the `handleTemplateFile` function.
|
27
|
-
|
28
|
-
## Test microgenerator
|
29
|
-
|
30
|
-
After the development of the microgenerator is completed, you need to execute `pnpm run build` to compile the code. In development mode, you can use `pnpm run build --watch`.
|
31
|
-
|
32
|
-
Codesmith provides the cli tool for running and testing the microgenerator. Execute it in the target directory with the following command:
|
33
|
-
|
34
|
-
```bash
|
35
|
-
npx @modern-js/codesmith-cli <generatorPath>
|
36
|
-
```
|
37
|
-
|
38
|
-
Where `generatorPath` is the absolute path of the above generator project.
|
39
|
-
|
40
|
-
## Run the microgenerator
|
41
|
-
|
42
|
-
After the generator publishes to npm, use the following command to execute:
|
43
|
-
|
44
|
-
```bash
|
45
|
-
npx @modern-js/codesmith-cli <generatorName>
|
46
|
-
```
|
47
|
-
|
48
|
-
Where generatorName is the generator package name.
|
49
|
-
|
50
|
-
:::info
|
51
|
-
`@modern-js/create` also supports running micro-generators, you can use `npx @modern-js/create --generator <generatorName>` to run customized micro-generators.
|
52
|
-
|
53
|
-
:::
|