@modern-js/main-doc 2.21.1 → 2.22.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +42 -0
- package/docs/en/apis/app/commands.mdx +5 -5
- package/docs/en/apis/app/hooks/api/api.mdx +80 -0
- package/docs/en/apis/app/hooks/api/app.mdx +12 -0
- package/docs/en/apis/app/hooks/api/lambda.mdx +57 -0
- package/docs/en/apis/app/hooks/api/test.mdx +1 -1
- package/docs/en/apis/app/hooks/config/html.mdx +2 -2
- package/docs/en/apis/app/hooks/config/icon.mdx +19 -19
- package/docs/en/apis/app/hooks/config/mock.mdx +1 -1
- package/docs/en/apis/app/hooks/config/public.mdx +10 -10
- package/docs/en/apis/app/hooks/config/storybook.mdx +3 -3
- package/docs/en/apis/app/hooks/config/upload.mdx +13 -13
- package/docs/en/apis/app/hooks/modern-config.mdx +4 -4
- package/docs/en/apis/app/hooks/server/index_.mdx +2 -9
- package/docs/en/apis/app/hooks/server/test.mdx +5 -2
- package/docs/en/apis/app/hooks/shared.mdx +1 -1
- package/docs/en/apis/app/hooks/src/app.mdx +17 -27
- package/docs/en/apis/app/hooks/src/index_.mdx +6 -6
- package/docs/en/apis/app/hooks/src/pages.mdx +41 -37
- package/docs/en/apis/app/hooks/src/routes.mdx +16 -36
- package/docs/en/apis/app/hooks/src/server.mdx +1 -1
- package/docs/en/apis/app/hooks/src/stories.mdx +6 -3
- package/docs/en/apis/app/hooks/src/test.mdx +4 -3
- package/docs/en/apis/app/runtime/core/use-runtime-context.mdx +5 -1
- package/docs/en/apis/app/runtime/web-server/hook.mdx +2 -2
- package/docs/en/apis/app/runtime/web-server/middleware.mdx +2 -2
- package/docs/en/components/debug-app.mdx +1 -1
- package/docs/en/components/deploy.mdx +1 -0
- package/docs/en/components/entry-mode.mdx +0 -0
- package/docs/en/components/init-app.mdx +6 -10
- package/docs/en/components/init-rspack-app.mdx +4 -4
- package/docs/en/components/language-config.mdx +9 -0
- package/docs/en/components/package-manager.mdx +11 -0
- package/docs/en/components/release-note.mdx +1 -0
- package/docs/en/components/ua-polyfill.mdx +2 -2
- package/docs/en/configure/app/output/css-modules.mdx +13 -0
- package/docs/en/configure/app/source/config-dir.mdx +1 -1
- package/docs/en/configure/app/source/design-system.mdx +67 -67
- package/docs/en/configure/app/source/disable-default-entries.mdx +6 -5
- package/docs/en/configure/app/source/disable-entry-dirs.mdx +5 -5
- package/docs/en/configure/app/source/enable-async-entry.mdx +9 -9
- package/docs/en/configure/app/source/entries-dir.mdx +3 -3
- package/docs/en/configure/app/source/entries.mdx +21 -19
- package/docs/en/configure/app/tools/swc.mdx +2 -16
- package/docs/en/guides/advanced-features/bff/frameworks.mdx +2 -2
- package/docs/en/guides/advanced-features/bff/function.mdx +4 -4
- package/docs/en/guides/advanced-features/bff/type.mdx +5 -5
- package/docs/en/guides/advanced-features/rspack-start.mdx +7 -8
- package/docs/en/guides/advanced-features/ssg.mdx +2 -2
- package/docs/en/guides/advanced-features/testing.mdx +2 -2
- package/docs/en/guides/advanced-features/web-server.mdx +2 -2
- package/docs/en/guides/basic-features/css.mdx +2 -2
- package/docs/en/guides/basic-features/mock.mdx +1 -1
- package/docs/en/guides/basic-features/routes.mdx +11 -7
- package/docs/en/guides/concept/builder.mdx +15 -15
- package/docs/en/guides/concept/entries.mdx +50 -49
- package/docs/en/guides/get-started/glossary.mdx +12 -12
- package/docs/en/guides/get-started/introduction.mdx +17 -20
- package/docs/en/guides/get-started/quick-start.mdx +21 -37
- package/docs/en/guides/get-started/upgrade.mdx +15 -13
- package/docs/en/guides/topic-detail/changesets/_category_.json +4 -0
- package/docs/en/guides/topic-detail/changesets/add.mdx +125 -0
- package/docs/en/guides/topic-detail/changesets/changelog.mdx +238 -0
- package/docs/en/guides/topic-detail/changesets/commit.mdx +269 -0
- package/docs/en/guides/topic-detail/changesets/config.mdx +147 -0
- package/docs/en/guides/topic-detail/changesets/github.mdx +175 -0
- package/docs/en/guides/topic-detail/changesets/introduce.mdx +56 -0
- package/docs/en/guides/topic-detail/changesets/release-note.mdx +273 -0
- package/docs/en/guides/topic-detail/changesets/release-pre.mdx +49 -0
- package/docs/en/guides/topic-detail/changesets/release.mdx +229 -0
- package/docs/en/guides/topic-detail/generator/create/_category_.json +4 -0
- package/docs/en/guides/topic-detail/generator/create/config.mdx +75 -0
- package/docs/en/guides/topic-detail/generator/create/option.md +151 -0
- package/docs/en/guides/topic-detail/generator/create/use.mdx +66 -0
- package/docs/en/guides/topic-detail/generator/new/_category_.json +4 -0
- package/docs/en/guides/topic-detail/generator/new/config.md +155 -0
- package/docs/en/guides/topic-detail/generator/new/option.md +67 -0
- package/docs/en/guides/topic-detail/generator/new/use.md +95 -0
- package/docs/en/guides/topic-detail/generator/plugin/_category_.json +2 -2
- package/docs/en/guides/topic-detail/generator/plugin/api/_category_.json +1 -1
- package/docs/en/guides/topic-detail/generator/plugin/api/afterForged.md +49 -0
- package/docs/en/guides/topic-detail/generator/plugin/api/context.md +184 -0
- package/docs/en/guides/topic-detail/generator/plugin/api/input.md +124 -0
- package/docs/en/guides/topic-detail/generator/plugin/api/onForged.md +310 -0
- package/docs/en/guides/topic-detail/generator/plugin/category.md +88 -0
- package/docs/en/guides/topic-detail/generator/plugin/context.md +104 -0
- package/docs/en/guides/topic-detail/generator/plugin/structure.md +106 -0
- package/docs/en/guides/topic-detail/generator/plugin/use.md +33 -0
- package/docs/en/guides/topic-detail/micro-frontend/c02-development.mdx +8 -8
- package/docs/en/guides/troubleshooting/builder.mdx +8 -0
- package/docs/en/tutorials/first-app/c03-css.mdx +2 -2
- package/docs/en/tutorials/first-app/c08-entries.mdx +3 -3
- package/docs/zh/apis/app/commands.mdx +3 -3
- package/docs/zh/apis/app/hooks/api/{functions/api.mdx → api.mdx} +4 -4
- package/docs/zh/apis/app/hooks/api/app.mdx +12 -0
- package/docs/zh/apis/app/hooks/api/{framework/lambda.mdx → lambda.mdx} +5 -5
- package/docs/zh/apis/app/hooks/api/test.mdx +3 -3
- package/docs/zh/apis/app/hooks/config/icon.mdx +15 -15
- package/docs/zh/apis/app/hooks/config/mock.mdx +1 -1
- package/docs/zh/apis/app/hooks/config/public.mdx +3 -3
- package/docs/zh/apis/app/hooks/config/upload.mdx +1 -1
- package/docs/zh/apis/app/hooks/modern-config.mdx +3 -3
- package/docs/zh/apis/app/hooks/server/index_.mdx +1 -6
- package/docs/zh/apis/app/hooks/shared.mdx +1 -1
- package/docs/zh/apis/app/hooks/src/app.mdx +15 -25
- package/docs/zh/apis/app/hooks/src/index_.mdx +6 -6
- package/docs/zh/apis/app/hooks/src/pages.mdx +7 -3
- package/docs/zh/apis/app/hooks/src/routes.mdx +4 -4
- package/docs/zh/apis/app/hooks/src/stories.mdx +1 -1
- package/docs/zh/apis/app/runtime/core/use-runtime-context.mdx +5 -1
- package/docs/zh/community/blog/v2-release-note.mdx +1 -1
- package/docs/zh/community/contributing-guide.mdx +1 -1
- package/docs/zh/components/entry-mode.mdx +0 -0
- package/docs/zh/components/init-app.mdx +5 -9
- package/docs/zh/components/language-config.mdx +9 -0
- package/docs/zh/components/package-manager.mdx +11 -0
- package/docs/zh/components/ua-polyfill.mdx +1 -1
- package/docs/zh/configure/app/output/css-modules.mdx +13 -0
- package/docs/zh/configure/app/source/design-system.mdx +3 -4
- package/docs/zh/configure/app/source/enable-async-entry.mdx +2 -5
- package/docs/zh/configure/app/source/entries.mdx +2 -2
- package/docs/zh/configure/app/tools/swc.mdx +2 -16
- package/docs/zh/guides/advanced-features/rspack-start.mdx +7 -8
- package/docs/zh/guides/advanced-features/ssg.mdx +1 -1
- package/docs/zh/guides/advanced-features/testing.mdx +2 -2
- package/docs/zh/guides/advanced-features/web-server.mdx +1 -1
- package/docs/zh/guides/basic-features/css.mdx +1 -1
- package/docs/zh/guides/basic-features/mock.mdx +1 -1
- package/docs/zh/guides/basic-features/routes.mdx +7 -4
- package/docs/zh/guides/concept/builder.mdx +1 -1
- package/docs/zh/guides/concept/entries.mdx +21 -17
- package/docs/zh/guides/get-started/quick-start.mdx +7 -10
- package/docs/zh/guides/get-started/upgrade.mdx +1 -1
- package/docs/zh/guides/topic-detail/changesets/add.mdx +15 -13
- package/docs/zh/guides/topic-detail/changesets/changelog.mdx +20 -20
- package/docs/zh/guides/topic-detail/changesets/commit.mdx +12 -14
- package/docs/zh/guides/topic-detail/changesets/config.mdx +5 -5
- package/docs/zh/guides/topic-detail/changesets/github.mdx +38 -27
- package/docs/zh/guides/topic-detail/changesets/introduce.mdx +12 -12
- package/docs/zh/guides/topic-detail/changesets/release-note.mdx +84 -70
- package/docs/zh/guides/topic-detail/changesets/release-pre.mdx +9 -9
- package/docs/zh/guides/topic-detail/changesets/release.mdx +29 -29
- package/docs/zh/guides/topic-detail/generator/create/_category_.json +4 -0
- package/docs/zh/guides/topic-detail/generator/create/config.mdx +76 -0
- package/docs/zh/guides/topic-detail/generator/create/option.md +151 -0
- package/docs/zh/guides/topic-detail/generator/create/use.mdx +66 -0
- package/docs/zh/guides/topic-detail/generator/new/_category_.json +4 -0
- package/docs/zh/guides/topic-detail/generator/new/config.md +153 -0
- package/docs/zh/guides/topic-detail/generator/new/option.md +67 -0
- package/docs/zh/guides/topic-detail/generator/new/use.md +94 -0
- package/docs/zh/guides/topic-detail/generator/plugin/_category_.json +2 -2
- package/docs/zh/guides/topic-detail/generator/plugin/api/_category_.json +1 -1
- package/docs/zh/guides/topic-detail/generator/plugin/api/afterForged.md +50 -0
- package/docs/zh/guides/topic-detail/generator/plugin/api/context.md +184 -0
- package/docs/zh/guides/topic-detail/generator/plugin/api/input.md +124 -0
- package/docs/zh/guides/topic-detail/generator/plugin/api/onForged.md +310 -0
- package/docs/zh/guides/topic-detail/generator/plugin/category.md +93 -0
- package/docs/zh/guides/topic-detail/generator/plugin/context.md +105 -0
- package/docs/zh/guides/topic-detail/generator/plugin/structure.md +106 -0
- package/docs/zh/guides/topic-detail/generator/plugin/use.md +33 -0
- package/docs/zh/guides/topic-detail/micro-frontend/c02-development.mdx +4 -4
- package/docs/zh/guides/topic-detail/model/test-model.mdx +1 -1
- package/docs/zh/guides/troubleshooting/builder.mdx +8 -0
- package/docs/zh/tutorials/first-app/c03-css.mdx +1 -1
- package/docs/zh/tutorials/first-app/c08-entries.mdx +1 -1
- package/package.json +5 -5
- package/docs/en/apis/app/hooks/api/framework/_category_.json +0 -4
- package/docs/en/apis/app/hooks/api/framework/lambda.mdx +0 -57
- package/docs/en/apis/app/hooks/api/functions/_category_.json +0 -4
- package/docs/en/apis/app/hooks/api/functions/api.mdx +0 -81
- package/docs/en/apis/app/hooks/api/functions/app.mdx +0 -12
- package/docs/en/apis/app/hooks/api/functions/common.mdx +0 -9
- package/docs/en/guides/topic-detail/generator/codesmith/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/codesmith/api/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/codesmith/api/app.mdx +0 -152
- package/docs/en/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -56
- package/docs/en/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -54
- package/docs/en/guides/topic-detail/generator/codesmith/api/git.mdx +0 -50
- package/docs/en/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -57
- package/docs/en/guides/topic-detail/generator/codesmith/api/json.mdx +0 -56
- package/docs/en/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -48
- package/docs/en/guides/topic-detail/generator/codesmith/develop.mdx +0 -53
- package/docs/en/guides/topic-detail/generator/codesmith/introduce.mdx +0 -47
- package/docs/en/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -47
- package/docs/en/guides/topic-detail/generator/codesmith/structure.mdx +0 -89
- package/docs/en/guides/topic-detail/generator/config/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/config/app.mdx +0 -82
- package/docs/en/guides/topic-detail/generator/config/common.mdx +0 -100
- package/docs/en/guides/topic-detail/generator/config/module.mdx +0 -42
- package/docs/en/guides/topic-detail/generator/config/monorepo.mdx +0 -28
- package/docs/en/guides/topic-detail/generator/plugin/abstract.mdx +0 -23
- package/docs/en/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -52
- package/docs/en/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -26
- package/docs/en/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -58
- package/docs/en/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -26
- package/docs/en/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -39
- package/docs/en/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -24
- package/docs/en/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -24
- package/docs/en/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -54
- package/docs/en/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -27
- package/docs/en/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -33
- package/docs/en/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -20
- package/docs/en/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -16
- package/docs/en/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -16
- package/docs/en/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -35
- package/docs/en/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -35
- package/docs/en/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -22
- package/docs/en/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -17
- package/docs/en/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -22
- package/docs/en/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -55
- package/docs/en/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -55
- package/docs/en/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -43
- package/docs/en/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -31
- package/docs/en/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -65
- package/docs/en/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -90
- package/docs/en/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -33
- package/docs/en/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -35
- package/docs/en/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -44
- package/docs/en/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -15
- package/docs/en/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -4
- package/docs/en/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -18
- package/docs/en/guides/topic-detail/generator/plugin/develop.mdx +0 -125
- package/docs/en/guides/topic-detail/generator/plugin/use.mdx +0 -61
- package/docs/en/guides/topic-detail/generator/project.mdx +0 -118
- package/docs/zh/apis/app/hooks/api/framework/_category_.json +0 -4
- package/docs/zh/apis/app/hooks/api/functions/_category_.json +0 -4
- package/docs/zh/apis/app/hooks/api/functions/app.mdx +0 -12
- package/docs/zh/apis/app/hooks/api/functions/common.mdx +0 -9
- package/docs/zh/guides/topic-detail/generator/codesmith/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/codesmith/api/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/codesmith/api/app.mdx +0 -152
- package/docs/zh/guides/topic-detail/generator/codesmith/api/ejs.mdx +0 -56
- package/docs/zh/guides/topic-detail/generator/codesmith/api/fs.mdx +0 -54
- package/docs/zh/guides/topic-detail/generator/codesmith/api/git.mdx +0 -49
- package/docs/zh/guides/topic-detail/generator/codesmith/api/handlebars.mdx +0 -56
- package/docs/zh/guides/topic-detail/generator/codesmith/api/json.mdx +0 -56
- package/docs/zh/guides/topic-detail/generator/codesmith/api/npm.mdx +0 -47
- package/docs/zh/guides/topic-detail/generator/codesmith/develop.mdx +0 -53
- package/docs/zh/guides/topic-detail/generator/codesmith/introduce.mdx +0 -59
- package/docs/zh/guides/topic-detail/generator/codesmith/run-in-js.mdx +0 -47
- package/docs/zh/guides/topic-detail/generator/codesmith/structure.mdx +0 -89
- package/docs/zh/guides/topic-detail/generator/config/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/config/app.mdx +0 -82
- package/docs/zh/guides/topic-detail/generator/config/common.mdx +0 -100
- package/docs/zh/guides/topic-detail/generator/config/module.mdx +0 -42
- package/docs/zh/guides/topic-detail/generator/config/monorepo.mdx +0 -28
- package/docs/zh/guides/topic-detail/generator/plugin/abstract.mdx +0 -23
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/addFile.mdx +0 -52
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/addHelper.mdx +0 -26
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/addManyFile.mdx +0 -55
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/addPartial.mdx +0 -26
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/introduce.mdx +0 -39
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/rmDir.mdx +0 -24
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/rmFile.mdx +0 -24
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateJSONFile.mdx +0 -54
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateModernConfig.mdx +0 -27
- package/docs/zh/guides/topic-detail/generator/plugin/api/file/updateTextRawFile.mdx +0 -33
- package/docs/zh/guides/topic-detail/generator/plugin/api/git/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/git/gitAddAndCommit.mdx +0 -20
- package/docs/zh/guides/topic-detail/generator/plugin/api/git/initGitRepo.mdx +0 -16
- package/docs/zh/guides/topic-detail/generator/plugin/api/git/isInGitRepo.mdx +0 -16
- package/docs/zh/guides/topic-detail/generator/plugin/api/hook/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/hook/afterForged.mdx +0 -35
- package/docs/zh/guides/topic-detail/generator/plugin/api/hook/onForged.mdx +0 -35
- package/docs/zh/guides/topic-detail/generator/plugin/api/info/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/info/isFileExit.mdx +0 -22
- package/docs/zh/guides/topic-detail/generator/plugin/api/info/locale.mdx +0 -17
- package/docs/zh/guides/topic-detail/generator/plugin/api/info/readDir.mdx +0 -22
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/addInputAfter.mdx +0 -57
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/addInputBefore.mdx +0 -56
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/setInput.mdx +0 -43
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/setInputValue.mdx +0 -29
- package/docs/zh/guides/topic-detail/generator/plugin/api/input/type.mdx +0 -65
- package/docs/zh/guides/topic-detail/generator/plugin/api/introduce.mdx +0 -92
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/createElement.mdx +0 -33
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/createSubProject.mdx +0 -35
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/enableFunc.mdx +0 -44
- package/docs/zh/guides/topic-detail/generator/plugin/api/new/introduce.mdx +0 -15
- package/docs/zh/guides/topic-detail/generator/plugin/api/npm/_category_.json +0 -4
- package/docs/zh/guides/topic-detail/generator/plugin/api/npm/install.mdx +0 -16
- package/docs/zh/guides/topic-detail/generator/plugin/develop.mdx +0 -125
- package/docs/zh/guides/topic-detail/generator/plugin/use.mdx +0 -61
- package/docs/zh/guides/topic-detail/generator/project.mdx +0 -118
@@ -0,0 +1,105 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 4
|
3
|
+
---
|
4
|
+
|
5
|
+
# Context
|
6
|
+
|
7
|
+
生成器插件默认会导出一个函数,函数参数为 `context`,在执行过程中 `context` 会自动注入到生成器插件中。
|
8
|
+
|
9
|
+
```ts title="src/index.ts"
|
10
|
+
import { IPluginContext, ForgedAPI } from '@modern-js/generator-plugin';
|
11
|
+
|
12
|
+
export default function (context: IPluginContext) {
|
13
|
+
context.onForged(async (_api: ForgedAPI, _input: Record<string, unknown>) => {
|
14
|
+
/**
|
15
|
+
* Todo
|
16
|
+
*/
|
17
|
+
});
|
18
|
+
}
|
19
|
+
```
|
20
|
+
|
21
|
+
`context` 提供了两类 API,分别用于自定义 Input 和定义生成器插件声明周期逻辑。
|
22
|
+
|
23
|
+
:::info
|
24
|
+
下面只对部分 API 做简单示例讲解,完整的 API 请移步 [生成器插件 API](/guides/topic-detail/generator/plugin/api/context.html) 查看。
|
25
|
+
:::
|
26
|
+
|
27
|
+
## 自定义 Input
|
28
|
+
|
29
|
+
Modern.js Web 应用和 Npm 模块工程方案都存在一些默认的 Input 交互,使用这里的 API 可以对这些 Input 进行添加、修改、隐藏、提供默认值等操作。
|
30
|
+
|
31
|
+
例如:
|
32
|
+
|
33
|
+
- 添加问题
|
34
|
+
|
35
|
+
```ts
|
36
|
+
context.addInputBefore('packageManager', {
|
37
|
+
type: 'object',
|
38
|
+
properties: {
|
39
|
+
'username': {
|
40
|
+
type: 'string',
|
41
|
+
title: '用户名',
|
42
|
+
},
|
43
|
+
},
|
44
|
+
});
|
45
|
+
```
|
46
|
+
|
47
|
+
- 通过设置 config 隐藏问题
|
48
|
+
|
49
|
+
```ts
|
50
|
+
context.setDefaultConfig({ langauge: 'ts' });
|
51
|
+
```
|
52
|
+
|
53
|
+
## 生命周期
|
54
|
+
|
55
|
+
生成器插件提供了两个生命周期钩子函数用于定义生成器插件行为:
|
56
|
+
|
57
|
+
- onForged:完成文件操作后的生命周期。
|
58
|
+
|
59
|
+
- afterForged:onForged 钩子函数执行完成后的生命周期。
|
60
|
+
|
61
|
+
## onForged
|
62
|
+
|
63
|
+
在 Modern.js 工程方案生成器完成文件操作之后的钩子函数,用于完成生成器插件中的文件操作,比如添加模板文件,覆盖现有文件,删除现有文件等。
|
64
|
+
|
65
|
+
对于扩展类型同时执行多个生成器插件时,将会按照声明顺序依次执行对应生成器插件的 `onForged` 操作。
|
66
|
+
|
67
|
+
`onForged` 函数参数为一个回调函数,参数为 `api` 和 `input`。
|
68
|
+
|
69
|
+
```ts
|
70
|
+
context.onForged(async (api: ForgedAPI, input: Record<string, unknown>) => {
|
71
|
+
const { language } = input;
|
72
|
+
api.addFile({
|
73
|
+
type: FileType.Text,
|
74
|
+
file: `src/index.${language as string}`,
|
75
|
+
templateFile: `index.${language as string}.handlebars`,
|
76
|
+
force: true,
|
77
|
+
});
|
78
|
+
})
|
79
|
+
```
|
80
|
+
|
81
|
+
`api` 上会提供生成器插件支持的文件操作相关方法。
|
82
|
+
|
83
|
+
`input` 为当前用户输入内容,包含 `--config` 参数定义的,默认工程方案交互的及生成器插件定义的用户输入。
|
84
|
+
|
85
|
+
当需要添加新的文件模板时,将模板文件定义到 `templates` 目录,然后通过上述 `api` 上方法进行操作即可,生成器插件默认对 `templates` 目录文件进行操作,无需再声明 `templates` 路径。
|
86
|
+
|
87
|
+
## afterForged
|
88
|
+
|
89
|
+
`onForged` 钩子函数执行完成后执行,这里主要用于进行安装依赖,Git 操作等。
|
90
|
+
|
91
|
+
默认 Modern.js 工程方案在完成文件操作后会默认执行安装依赖及 Git 初始化,Git 初次提交等,该钩子函数可以不使用。
|
92
|
+
|
93
|
+
对于自定义的生成器插件还支持 custom 类型,该类型只提供了少量最佳实践的项目配置,则需要在该钩子函数中完成安装依赖和 Git 初始化等操作。
|
94
|
+
|
95
|
+
`afterForged` 函数参数也为一个回调函数,参数为 `api` 和 `input`。
|
96
|
+
|
97
|
+
```ts
|
98
|
+
context.afterForged(
|
99
|
+
async (api: AfterForgedAPI, input: Record<string, unknown>) => {
|
100
|
+
const { packageManager } = input;
|
101
|
+
console.info('packageManager:', packageManager);
|
102
|
+
await api.install();
|
103
|
+
},
|
104
|
+
);
|
105
|
+
```
|
@@ -0,0 +1,106 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 1
|
3
|
+
---
|
4
|
+
|
5
|
+
# 介绍及创建项目
|
6
|
+
|
7
|
+
## 介绍
|
8
|
+
|
9
|
+
Modern.js 提供了 Web 应用、Npm 模块等工程方案,并通过使用 `@modern-js/create` 工具可以创建工程方案的初始项目模板,初始项目模板会提供基本的代码开发环境、简单的示例代码及配置等。
|
10
|
+
|
11
|
+
Modern.js 提供的初始化模板具有通用性,能满足一些通用的项目开发需求。
|
12
|
+
|
13
|
+
当你深度使用 Modern.js 时,必然会发现每次创建的项目都会进行一些针对自身项目的特定的相似改动,比如修改示例代码、增加一些配置、开启某些功能等。
|
14
|
+
|
15
|
+
生成器插件可以帮你将这些针对个人或团队特定的改动沉淀下来,在执行 `npx @modern-js/create@latest` 只需简单的带上 `--plugin` 参数即可避免每次创建完项目都需重复性修改项目的工作。
|
16
|
+
|
17
|
+
生成器插件是在 Modern.js 提供的初始化模板项目的基础上,提供对模板进行增加、删除、修改的方法,并通过快捷的方式修改 `package.json`、`modernConfig` 配置和开启功能等操作。
|
18
|
+
|
19
|
+
## 创建项目
|
20
|
+
|
21
|
+
使用 `@modern-js/create` 可直接创建生成器插件项目:
|
22
|
+
|
23
|
+
```bash
|
24
|
+
npx @modern-js/create@latest plugin --plugin @modern-js/generator-plugin-plugin
|
25
|
+
? 请选择你想创建的工程类型 Npm 模块
|
26
|
+
? 请选择项目场景 生成器插件
|
27
|
+
? 请输入生成器插件插件包名 plugin
|
28
|
+
? 请选择开发语言 TS
|
29
|
+
? 请选择包管理工具 pnpm
|
30
|
+
? 请选择插件类型 extend
|
31
|
+
? 请选择插件基础类型 Web 应用
|
32
|
+
```
|
33
|
+
|
34
|
+
创建完成后,我们可以看一下这个项目的目录结构:
|
35
|
+
|
36
|
+
```bash
|
37
|
+
.
|
38
|
+
├── .changeset
|
39
|
+
│ └── config.json
|
40
|
+
├── .eslintrc.js
|
41
|
+
├── .gitignore
|
42
|
+
├── .npmrc
|
43
|
+
├── .nvmrc
|
44
|
+
├── .prettierrc
|
45
|
+
├── README.md
|
46
|
+
├── modern.config.ts
|
47
|
+
├── package.json
|
48
|
+
├── src
|
49
|
+
│ ├── modern-app-env.d.ts
|
50
|
+
│ └── index.ts
|
51
|
+
├── templates
|
52
|
+
│ └── .gitkeep
|
53
|
+
└── tsconfig.json
|
54
|
+
```
|
55
|
+
|
56
|
+
项目是基于 Npm 模块项目创建的,核心是下面几个文件:
|
57
|
+
|
58
|
+
```bash
|
59
|
+
*
|
60
|
+
├── package.json
|
61
|
+
├── src
|
62
|
+
│ └── index.ts
|
63
|
+
├── templates
|
64
|
+
│ └── .gitkeep
|
65
|
+
```
|
66
|
+
|
67
|
+
## package.json
|
68
|
+
|
69
|
+
`package.json` 中除了正常的模块项目的字段外,提供了 meta 字段,用于描述生成器插件的信息。
|
70
|
+
|
71
|
+
生成器插件分为两类:扩展和自定义,具体分类定义可查看[类型](/guides/topic-detail/generator/plugin/category)。
|
72
|
+
|
73
|
+
```json title="package.json"
|
74
|
+
{
|
75
|
+
...,
|
76
|
+
"meta": {
|
77
|
+
"extend": "mwa"
|
78
|
+
}
|
79
|
+
}
|
80
|
+
```
|
81
|
+
|
82
|
+
## src/index.ts
|
83
|
+
|
84
|
+
该文件用于完成生成器插件的内容开发。
|
85
|
+
|
86
|
+
```js
|
87
|
+
import { IPluginContext, ForgedAPI } from '@modern-js/generator-plugin';
|
88
|
+
|
89
|
+
export default function (context: IPluginContext) {
|
90
|
+
context.onForged(async (_api: ForgedAPI, _input: Record<string, unknown>) => {
|
91
|
+
/**
|
92
|
+
* todo
|
93
|
+
*/
|
94
|
+
});
|
95
|
+
}
|
96
|
+
```
|
97
|
+
|
98
|
+
该文件默认导出一个函数,函数参数为 `context`,`context` 上提供了生成器插件支持的 API 方法,可用于实现生成器插件的逻辑。`context` 提供的能力可以参考 [context](/guides/topic-detail/generator/plugin/context)。
|
99
|
+
|
100
|
+
## templates
|
101
|
+
|
102
|
+
`templates` 目录存在当前定制化方式的模板文件,支持 [Handlebars](https://handlebarsjs.com/) 和 [EJS](https://ejs.co/) 格式,将根据模板文件后缀使用不同的渲染引擎就行渲染,如果无后缀,将会直接复制模板文件到目标目录。
|
103
|
+
|
104
|
+
如果模板文件为 `js`、`ts` 或者 `json` 文件,推荐直接使用 `.handlebars` 或者 `.ejs` 后缀,可避免项目 eslint 报错和在 Monorepo 中项目识别问题。
|
105
|
+
|
106
|
+
模板中 `.gitignore` 文件和 `.npmrc` 文件在发布 npm 包时会自动删除,需要使用 `.handlebars` 或者 `.ejs` 后缀将其保留。
|
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
sidebar_position: 3
|
3
|
+
---
|
4
|
+
|
5
|
+
# 使用
|
6
|
+
|
7
|
+
`@modern-js/create` 提供了 `--plugin` 参数用于运行生成器插件项目。
|
8
|
+
|
9
|
+
`--plugin` 支持三种格式:
|
10
|
+
|
11
|
+
## 绝对路径
|
12
|
+
|
13
|
+
适用于本地开发调试,开发完成后,在生成器插件执行 `npm run build` 构建项目,然后使用下面命令即可进行测试。
|
14
|
+
|
15
|
+
```bash
|
16
|
+
npx @modern-js/create@latest --plugin <pluginPath>
|
17
|
+
```
|
18
|
+
|
19
|
+
## 相对路径
|
20
|
+
|
21
|
+
适用于本地开发调试或者生成器插件项目和目标创建项目在同一个 Monorepo,无需发布 NPM 包,构建项目后,执行下面命令即可。
|
22
|
+
|
23
|
+
```bash
|
24
|
+
npx @modern-js/create@latest --plugin file:../<pluginPath>
|
25
|
+
```
|
26
|
+
|
27
|
+
## npm 包
|
28
|
+
|
29
|
+
适用于生成器插件发布于 npm 上,共享生成器插件场景。
|
30
|
+
|
31
|
+
```bash
|
32
|
+
npx @modern-js/create@latest --plugin <pluginPackage>
|
33
|
+
```
|
@@ -35,7 +35,7 @@ import DefaultMWAGenerate from "@site-docs/components/default-mwa-generate";
|
|
35
35
|
|
36
36
|
```bash
|
37
37
|
? 请选择你想要的操作 启用可选功能
|
38
|
-
?
|
38
|
+
? 请选择功能名称 启用「微前端」模式
|
39
39
|
```
|
40
40
|
|
41
41
|
接下来,让我们注册微前端插件并添加开启微前端主应用,并增加子应用列表:
|
@@ -115,7 +115,7 @@ npx @modern-js/create@latest
|
|
115
115
|
|
116
116
|
```bash
|
117
117
|
? 请选择你想要的操作 启用可选功能
|
118
|
-
?
|
118
|
+
? 请选择功能名称 启用「微前端」模式
|
119
119
|
```
|
120
120
|
|
121
121
|
接下来,让我们注册微前端插件并添加开启微前端主应用,并增加子应用列表:
|
@@ -145,7 +145,7 @@ npx @modern-js/create@latest
|
|
145
145
|
|
146
146
|
```bash
|
147
147
|
? 请选择你想要的操作 启用可选功能
|
148
|
-
?
|
148
|
+
? 请选择功能名称 启用「微前端」模式
|
149
149
|
```
|
150
150
|
|
151
151
|
接下来,让我们注册微前端插件并修改 `modern.config.ts`,添加微前端子应用的配置 `deploy.microFrontend`:
|
@@ -197,7 +197,7 @@ npx @modern-js/create@latest
|
|
197
197
|
|
198
198
|
```bash
|
199
199
|
? 请选择你想要的操作 启用可选功能
|
200
|
-
?
|
200
|
+
? 请选择功能名称 启用「微前端」模式
|
201
201
|
```
|
202
202
|
|
203
203
|
接下来,让我们注册微前端插件并修改 `modern.config.ts`,添加微前端子应用的配置 `deploy.microFrontend`:
|
@@ -29,3 +29,11 @@ sidebar_position: 3
|
|
29
29
|
- webpack 编译出现 'compilation' argument 报错?
|
30
30
|
- 编译时报错 `You may need additional loader`?
|
31
31
|
- 打开页面后报错,提示 `exports is not defined`?
|
32
|
+
|
33
|
+
## 热更新问题
|
34
|
+
|
35
|
+
请参考 [「Modern.js Builder - 热更新问题」](https://modernjs.dev/builder/guide/faq/hmr.html),比如:
|
36
|
+
|
37
|
+
- 打包时 external React 后,热更新不生效?
|
38
|
+
- 开发环境设置文件名的 hash 后,热更新不生效?
|
39
|
+
- React 组件的热更新无法生效?
|
package/package.json
CHANGED
@@ -15,13 +15,13 @@
|
|
15
15
|
"modern",
|
16
16
|
"modern.js"
|
17
17
|
],
|
18
|
-
"version": "2.
|
18
|
+
"version": "2.22.1",
|
19
19
|
"publishConfig": {
|
20
20
|
"registry": "https://registry.npmjs.org/",
|
21
21
|
"access": "public"
|
22
22
|
},
|
23
23
|
"peerDependencies": {
|
24
|
-
"@modern-js/builder-doc": "^2.
|
24
|
+
"@modern-js/builder-doc": "^2.22.1"
|
25
25
|
},
|
26
26
|
"devDependencies": {
|
27
27
|
"classnames": "^2",
|
@@ -33,9 +33,9 @@
|
|
33
33
|
"fs-extra": "^10",
|
34
34
|
"@types/node": "^16",
|
35
35
|
"@types/fs-extra": "^9",
|
36
|
-
"@modern-js/builder-doc": "2.
|
37
|
-
"@modern-js/doc-tools": "2.
|
38
|
-
"@modern-js/doc-plugin-auto-sidebar": "2.
|
36
|
+
"@modern-js/builder-doc": "2.22.1",
|
37
|
+
"@modern-js/doc-tools": "2.22.1",
|
38
|
+
"@modern-js/doc-plugin-auto-sidebar": "2.22.1"
|
39
39
|
},
|
40
40
|
"scripts": {
|
41
41
|
"dev": "modern dev",
|
@@ -1,57 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: lambda/*.[tj]s
|
3
|
-
sidebar_position: 1
|
4
|
-
---
|
5
|
-
# lambda/*.[tj]s
|
6
|
-
|
7
|
-
Declaring API routing in BFF framework mode. Except [some files](/apis/app/hooks/api/framework/lambda#allow-list), files in `api/` are registered as routes.
|
8
|
-
|
9
|
-
:::info
|
10
|
-
use `api/` need execute new command to enable the 「BFF」 feature.
|
11
|
-
|
12
|
-
:::
|
13
|
-
|
14
|
-
:::tip
|
15
|
-
this file supports the use `js` or `ts`, but the functions must be exported using the ESM syntax.
|
16
|
-
|
17
|
-
:::
|
18
|
-
|
19
|
-
## Routing Rule
|
20
|
-
|
21
|
-
### Default Route
|
22
|
-
|
23
|
-
The files named `index` will be upper level routing:
|
24
|
-
|
25
|
-
- `api/lambda/index.ts` -> `$BASENAME/`
|
26
|
-
- `api/lambda/user/index.ts` -> `$BASENAME/user`
|
27
|
-
|
28
|
-
### Multi Level Route
|
29
|
-
|
30
|
-
The routing system also supports parsing multiple levels of files. and if you create a folder, the files will still be automatically parsed in the same way.
|
31
|
-
|
32
|
-
- `api/lambda/hello.ts` -> `$BASENAME/hello`
|
33
|
-
- `api/lambda/user/list.ts` -> `$BASENAME/user/list`
|
34
|
-
|
35
|
-
### Dynamic Route
|
36
|
-
|
37
|
-
Dynamic named routing parameters can be supported by creating folders or files with `[xxx]`.
|
38
|
-
|
39
|
-
- `api/lambda/user/[username]/info.ts` -> `$BASENAME/user/:username/info`
|
40
|
-
- `api/lambda/user/[username]/delete.ts` -> `$BASENAME/user/:username/delete`
|
41
|
-
- `api/lambda/article/[id]/info.ts` -> `$BASENAME/article/:id/info`
|
42
|
-
|
43
|
-
the `$BASENAME` can be configured in `modern.config.js`, the default value is `/api`.
|
44
|
-
|
45
|
-
### Allow List
|
46
|
-
|
47
|
-
By default, all files in the `api/` will be parsed as BFF function. but we also set a allow list, and these files will not be parsed:
|
48
|
-
|
49
|
-
- file name start with `_`, for example: `_utils.ts`.
|
50
|
-
- files in directory that name start with `_`, for example: `_utils/index.ts`、`_utils/cp.ts`.
|
51
|
-
- test files, for example: `foo.test.ts`.
|
52
|
-
- TypeScript define files, for example: `hello.d.ts`.
|
53
|
-
- files in `node_module`.
|
54
|
-
|
55
|
-
## Define Function
|
56
|
-
|
57
|
-
the same as [Define Function](/apis/app/hooks/api/functions/api#define-function).
|
@@ -1,81 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: '**/*.[tj]s'
|
3
|
-
sidebar_position: 1
|
4
|
-
---
|
5
|
-
# **/*.[tj]s
|
6
|
-
|
7
|
-
Declaring API routing in BFF function mode. Except [some files](/apis/app/hooks/api/functions/api#allow-list), files in `api/` are registered as routes.
|
8
|
-
|
9
|
-
:::info
|
10
|
-
use `api/` need execute new command to enable the 「BFF」 feature.
|
11
|
-
|
12
|
-
:::
|
13
|
-
|
14
|
-
:::tip
|
15
|
-
this file supports the use `js` or `ts`, but the functions must be exported using the ESM syntax.
|
16
|
-
|
17
|
-
:::
|
18
|
-
|
19
|
-
## Routing Rule
|
20
|
-
|
21
|
-
### Default Route
|
22
|
-
|
23
|
-
The files named `index` will be upper level routing:
|
24
|
-
|
25
|
-
- `api/index.ts` -> `$BASENAME/`
|
26
|
-
- `api/user/index.ts` -> `$BASENAME/user`
|
27
|
-
|
28
|
-
### Multi Level Route
|
29
|
-
|
30
|
-
The routing system also supports parsing multiple levels of files. and if you create a folder, the files will still be automatically parsed in the same way.
|
31
|
-
|
32
|
-
- `api/hello.ts` -> `$BASENAME/hello`
|
33
|
-
- `api/user/list.ts` -> `$BASENAME/user/list`
|
34
|
-
|
35
|
-
### Dynamic Route
|
36
|
-
|
37
|
-
Dynamic named routing parameters can be supported by creating folders or files with `[xxx]`.
|
38
|
-
|
39
|
-
- `api/user/[username]/info.ts` -> `$BASENAME/user/:username/info`
|
40
|
-
- `api/user/[username]/delete.ts` -> `$BASENAME/user/:username/delete`
|
41
|
-
- `api/article/[id]/info.ts` -> `$BASENAME/article/:id/info`
|
42
|
-
|
43
|
-
the `$BASENAME` can be configured in `modern.config.js`, the default value is `/api`.
|
44
|
-
|
45
|
-
### Allow List
|
46
|
-
|
47
|
-
By default, all files in the `api/` will be parsed as BFF function. but we also set a allow list, and these files will not be parsed:
|
48
|
-
|
49
|
-
- file name start with `_`, for example: `_utils.ts`.
|
50
|
-
- files in directory that name start with `_`, for example: `_utils/index.ts`、`_utils/cp.ts`.
|
51
|
-
- test files, for example: `foo.test.ts`.
|
52
|
-
- TypeScript define files, for example: `hello.d.ts`.
|
53
|
-
- files in `node_module`.
|
54
|
-
|
55
|
-
## Define Function
|
56
|
-
|
57
|
-
In addition to the above routing rules, the function definition and export in the code also have conventions.
|
58
|
-
|
59
|
-
function need named exports, and the name of the exported function is the HTTP Method:
|
60
|
-
|
61
|
-
```ts
|
62
|
-
export const get = async () => {
|
63
|
-
return {
|
64
|
-
name: 'Modern.js',
|
65
|
-
desc: 'Modern web Solutions',
|
66
|
-
};
|
67
|
-
};
|
68
|
-
```
|
69
|
-
|
70
|
-
Export the function like above will generate a `POST` interface.
|
71
|
-
|
72
|
-
App support 9 Method definitions: `GET`、`POST`、`PUT`、`DELETE`、`CONNECT`、`TRACE`、`PATCH`、`OPTION`、`HEAD`. so App can use these name as function export nane.
|
73
|
-
|
74
|
-
The name is insensitive, whaterver `get`、`Get`、`GEt`、`GET`, can be accurately identified. And default export, `export default xxx` will be `Get` method.
|
75
|
-
|
76
|
-
because `delete` is a keyword in JavaScript, use `del` or `DELETE` instead.
|
77
|
-
|
78
|
-
Multiple functions of different Methods can be defined in one file, but if multiple functions of the same Method are defined, only the first can work.
|
79
|
-
|
80
|
-
:::info
|
81
|
-
It should be noted that the defined functions should be asynchronous, which is related to the type when the function is called.
|