@modern-js/main-doc 2.21.0 → 2.22.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +24 -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/global-proxy.mdx +7 -7
- package/docs/en/components/init-app.mdx +3 -3
- 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/ua-polyfill.mdx +2 -2
- 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 -2
- 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 +6 -6
- 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/proxy.mdx +4 -5
- package/docs/en/guides/basic-features/routes.mdx +11 -7
- package/docs/en/guides/concept/entries.mdx +3 -3
- 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/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/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/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 -2
- package/docs/zh/guides/advanced-features/rspack-start.mdx +6 -6
- 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/entries.mdx +3 -3
- 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/tutorials/first-app/c03-css.mdx +1 -1
- package/docs/zh/tutorials/first-app/c08-entries.mdx +1 -1
- package/modern.config.ts +2 -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
@@ -1,54 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 3
|
3
|
-
---
|
4
|
-
|
5
|
-
# @modern-js/codesmith-api-fs
|
6
|
-
|
7
|
-
微生成器中文件操作的 API 封装,提供渲染单个模板文件和文件夹的方法。FsAPI 通常用于处理二进制文件或者不能使用 handlebars、ejs 处理的模板文件。
|
8
|
-
|
9
|
-
## 使用姿势
|
10
|
-
|
11
|
-
```ts
|
12
|
-
import { FsAPI } from '@modern-js/codesmith-api-fs';
|
13
|
-
|
14
|
-
export default async (context: GeneratorContext, generator: GeneratorCore) => {
|
15
|
-
const fsApi = new FsAPI(generator);
|
16
|
-
await fsApi.renderFile(
|
17
|
-
material.get('templates/a.js'),
|
18
|
-
target: 'b.js'
|
19
|
-
);
|
20
|
-
}
|
21
|
-
```
|
22
|
-
|
23
|
-
- 创建 FsAPI 实例,参数为微生成器函数参数的 generator,具体介绍请看微生成器项目组成 。
|
24
|
-
- 调用其实例上 API 即可。
|
25
|
-
|
26
|
-
## API
|
27
|
-
|
28
|
-
### renderFile
|
29
|
-
|
30
|
-
渲染单个模板文件。
|
31
|
-
|
32
|
-
参数:
|
33
|
-
|
34
|
-
- resource: `FsResource` 模板文件资源,通过 `context.materials.get(<filename>)` 使用。
|
35
|
-
- target: `string` 目标文件路径名称。
|
36
|
-
|
37
|
-
### renderDir
|
38
|
-
|
39
|
-
渲染模板文件夹。
|
40
|
-
|
41
|
-
参数:
|
42
|
-
|
43
|
-
- material: `FsMaterial` 当前微生成器执行的 material 上下文。
|
44
|
-
- findGlob: `string` 模板文件匹配正则。
|
45
|
-
- target: `(globMatch: string) => string` 目标文件路径生成函数,参数为 `resourceKey。`
|
46
|
-
- options?: `RenderTemplateDirOptions` glob 查找文件配置,具体函数可查看这里 [glob](https://www.npmjs.com/package/glob)。
|
47
|
-
|
48
|
-
```ts
|
49
|
-
type RenderTemplateDirOptions = {
|
50
|
-
nodir?: boolean;
|
51
|
-
dot?: boolean;
|
52
|
-
ignore?: string | readonly string[];
|
53
|
-
};
|
54
|
-
```
|
@@ -1,49 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 4
|
3
|
-
---
|
4
|
-
|
5
|
-
# @modern-js/codesmith-api-git
|
6
|
-
|
7
|
-
微生成器中使用 git 相关操作的 API 封装,提供判断 git 仓库,初始化及提交代码等方法。
|
8
|
-
|
9
|
-
## 使用姿势
|
10
|
-
|
11
|
-
```ts
|
12
|
-
import { GitAPI } from '@modern-js/codesmith-api-git';
|
13
|
-
|
14
|
-
export default async (context: GeneratorContext, generator: GeneratorCore) => {
|
15
|
-
const gitApi = new GitAPI(generatorCore, generatorContext);
|
16
|
-
await gitApi.initGitRepo();
|
17
|
-
};
|
18
|
-
```
|
19
|
-
|
20
|
-
- 创建 GitAPI 实例,参数和微生成器函数参数一致,为 context 和 generator,具体介绍请看微生成器项目组成
|
21
|
-
- 调用其实例上 API 即可。
|
22
|
-
|
23
|
-
## API
|
24
|
-
|
25
|
-
### isInGitRepo
|
26
|
-
|
27
|
-
当前目录是否为 git 仓库。
|
28
|
-
|
29
|
-
参数:
|
30
|
-
|
31
|
-
- cwd?: `string` git 命令的执行目录,默认为微生成器 `outputPath`。
|
32
|
-
|
33
|
-
### initGitRepo
|
34
|
-
|
35
|
-
初始化为 git 仓库。init 的默认分支名可通过生成器 config 中的 defaultBranch 进行配置。
|
36
|
-
|
37
|
-
参数:
|
38
|
-
|
39
|
-
- cwd?: `string` git 命令的执行目录,默认为微生成器 `outputPath`。
|
40
|
-
- force?: `boolean` 当前目录已经为 git 仓库时使用该参数会强制执行 git init。
|
41
|
-
|
42
|
-
### addAndCommit
|
43
|
-
|
44
|
-
执行 `git add .` 和 `git commit` 提交当前变更。
|
45
|
-
|
46
|
-
参数:
|
47
|
-
|
48
|
-
- commitMessage: `string` commit 信息。
|
49
|
-
- cwd?: `string` git 命令的执行目录,默认为微生成器 `outputPath`。
|
@@ -1,56 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 5
|
3
|
-
---
|
4
|
-
|
5
|
-
# @modern-js/codesmith-api-handlebars
|
6
|
-
|
7
|
-
微生成器中使用 [handlebars](https://handlebarsjs.com/) 进行文件操作的 API 封装,提供渲染单个模板文件和文件夹的方法。
|
8
|
-
|
9
|
-
## 使用姿势
|
10
|
-
|
11
|
-
```ts
|
12
|
-
import { HandlebarsAPI } from '@modern-js/codesmith-api-handlebars';
|
13
|
-
|
14
|
-
export default async (context: GeneratorContext, generator: GeneratorCore) => {
|
15
|
-
const handlebarApi = new HandlebarsAPI(generator);
|
16
|
-
await handlebarsAPI.renderTemplate(
|
17
|
-
material.get('templates/a.js'),
|
18
|
-
target: 'b.js',
|
19
|
-
{ data: "data" }
|
20
|
-
);
|
21
|
-
}
|
22
|
-
```
|
23
|
-
|
24
|
-
- 创建 HandlebarsAPI 实例,参数为微生成器函数参数的 generator,具体介绍请看微生成器项目组成 。
|
25
|
-
- 调用其实例上 API 即可。
|
26
|
-
|
27
|
-
## API
|
28
|
-
|
29
|
-
### renderTemplate
|
30
|
-
|
31
|
-
渲染单个模板文件。
|
32
|
-
|
33
|
-
参数:
|
34
|
-
|
35
|
-
- templateResource: `FsResource` 模板文件资源,通过 `context.materials.get(<filename>)` 使用。
|
36
|
-
- target: `string` 目标文件路径名称。
|
37
|
-
- parameters?: `Record<string, string>` 渲染参数。
|
38
|
-
|
39
|
-
### renderTemplateDir
|
40
|
-
|
41
|
-
渲染模板文件夹。
|
42
|
-
|
43
|
-
参数:
|
44
|
-
|
45
|
-
- material: `FsMaterial` 当前微生成器执行的 material 上下文。
|
46
|
-
- findGlob: `string` 模板文件匹配正则。
|
47
|
-
- target: `(globMatch: string) => string` 目标文件路径生成函数,参数为 `resourceKey。`
|
48
|
-
- options?: `RenderTemplateDirOptions` glob 查找文件配置,具体函数可查看这里 [glob](https://www.npmjs.com/package/glob)。
|
49
|
-
|
50
|
-
```ts
|
51
|
-
type RenderTemplateDirOptions = {
|
52
|
-
nodir?: boolean;
|
53
|
-
dot?: boolean;
|
54
|
-
ignore?: string | readonly string[];
|
55
|
-
};
|
56
|
-
```
|
@@ -1,56 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 2
|
3
|
-
---
|
4
|
-
|
5
|
-
# @modern-js/codesmith-api-json
|
6
|
-
|
7
|
-
微生成器中 JSON API 封装,提供常见的 JSON 文件操作方法。
|
8
|
-
|
9
|
-
## 使用姿势
|
10
|
-
|
11
|
-
```ts
|
12
|
-
import { JsonAPI } from '@modern-js/codesmith-api-json';
|
13
|
-
|
14
|
-
export default async (context: GeneratorContext, generator: GeneratorCore) => {
|
15
|
-
const jsonAPI = new JsonAPI(generator);
|
16
|
-
await jsonAPI.update(context.materials.default.get('package.json'), {
|
17
|
-
query: {},
|
18
|
-
update: {
|
19
|
-
$set: {
|
20
|
-
'dependencies.@modern-js/plugin-bff': `^2.0.0`,
|
21
|
-
},
|
22
|
-
},
|
23
|
-
});
|
24
|
-
};
|
25
|
-
```
|
26
|
-
|
27
|
-
- 创建 JsonAPI 实例,参数为微生成器函数参数的 generator,具体介绍请看[微生成器项目组成](/guides/topic-detail/generator/codesmith/structure)。
|
28
|
-
- 调用其实例上 API 即可。
|
29
|
-
|
30
|
-
## API
|
31
|
-
|
32
|
-
### get
|
33
|
-
|
34
|
-
获取 JSON 文件内容。
|
35
|
-
|
36
|
-
参数:
|
37
|
-
|
38
|
-
- resource: `FsResource`,文件资源,通过 `context.materials.default.get(<filename>)` 获取。
|
39
|
-
|
40
|
-
### extend
|
41
|
-
|
42
|
-
合并对象至 JSON 文件。
|
43
|
-
|
44
|
-
参数:
|
45
|
-
|
46
|
-
- resource: `FsResource` 通过 `context.materials.default.get(<filename>)` 获取。
|
47
|
-
- obj: `Record<string, any>` 需合并对象。
|
48
|
-
|
49
|
-
### update
|
50
|
-
|
51
|
-
更新对象字段至 JSON 文件。
|
52
|
-
|
53
|
-
参数:
|
54
|
-
|
55
|
-
- resource: `FsResource` 通过 `context.materials.default.get(<filename>)` 获取。
|
56
|
-
- operation: `{ query: Record<string, any>; update: Record<string, any> }` 更新操作,详细使用姿势查看 [declaration-update](https://www.npmjs.com/package/declaration-update)。
|
@@ -1,47 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 7
|
3
|
-
---
|
4
|
-
|
5
|
-
# @modern-js/codesmith-api-npm
|
6
|
-
|
7
|
-
微生成器中 NPM API 封装,提供常见的 NPM 不同包管理工具安装依赖的方法。
|
8
|
-
|
9
|
-
## 使用姿势
|
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
|
-
- 创建 NpmAPI 实例,参数为微生成器函数参数的 generator,具体介绍请看微生成器项目组成 。
|
21
|
-
- 调用其实例上 API 即可。
|
22
|
-
|
23
|
-
## API
|
24
|
-
|
25
|
-
### npmInstall
|
26
|
-
|
27
|
-
使用 npm 安装依赖。
|
28
|
-
|
29
|
-
参数:
|
30
|
-
|
31
|
-
- cwd?: `string` install 命令的执行目录,默认为微生成器 `outputPath`。
|
32
|
-
|
33
|
-
### yarnInstall
|
34
|
-
|
35
|
-
使用 yarn 安装依赖。
|
36
|
-
|
37
|
-
参数:
|
38
|
-
|
39
|
-
- cwd?: `string` install 命令的执行目录,默认为微生成器 `outputPath`。
|
40
|
-
|
41
|
-
### pnpmInstall
|
42
|
-
|
43
|
-
使用 pnpm 安装依赖。
|
44
|
-
|
45
|
-
参数:
|
46
|
-
|
47
|
-
- cwd?: `string` install 命令的执行目录,默认为微生成器 `outputPath`。
|
@@ -1,53 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 3
|
3
|
-
---
|
4
|
-
|
5
|
-
# 开发微生成器项目
|
6
|
-
|
7
|
-
## 创建项目
|
8
|
-
|
9
|
-
Modern.js 提供了创建微生成器项目的微生成器,可以直接通过以下命令创建微生成器项目:
|
10
|
-
|
11
|
-
```bash
|
12
|
-
$ mkdir <projectDir>
|
13
|
-
$ npx @modern-js/codesmith-cli @modern-js/generator-generator
|
14
|
-
|
15
|
-
? 请填写项目名称 <generatorName>
|
16
|
-
? 请选择包管理工具 pnpm
|
17
|
-
? 请选择开发语言 TS
|
18
|
-
```
|
19
|
-
|
20
|
-
## 添加模板文件
|
21
|
-
|
22
|
-
在项目目录的 templates 文件夹,用于存放生成器需要的模板文件,如果没有模板文件,该步骤可跳过。
|
23
|
-
|
24
|
-
## 开发生成器核心逻辑
|
25
|
-
|
26
|
-
默认生成的的项目中,已经实现直接拷贝 templates 目录文件至目标项目,可直接在 `handleTemplateFile` 函数中完成生成器的核心逻辑开发。
|
27
|
-
|
28
|
-
## 测试微生成器
|
29
|
-
|
30
|
-
微生成器开发完成后,需要执行 `pnpm run build` 对代码进行编译,在开发模式下可以使用 `pnpm run build --watch`
|
31
|
-
|
32
|
-
codesmith 提供了 cli 工具用于运行和测试微生成器,在目标目录执行使用如下命令执行即可:
|
33
|
-
|
34
|
-
```bash
|
35
|
-
npx @modern-js/codesmith-cli <generatorPath>
|
36
|
-
```
|
37
|
-
|
38
|
-
其中 generatorPath 为上述生成器项目的绝对路径。
|
39
|
-
|
40
|
-
## 运行微生成器
|
41
|
-
|
42
|
-
生成器发布 npm 包之后,使用如下命令执行:
|
43
|
-
|
44
|
-
```bash
|
45
|
-
npx @modern-js/codesmith-cli <generatorName>
|
46
|
-
```
|
47
|
-
|
48
|
-
其中 generatorName 为生成器包名。
|
49
|
-
|
50
|
-
:::info
|
51
|
-
`@modern-js/create` 也支持运行微生成器,可以使用 `npx @modern-js/create@latest --generator <generatorName>` 运行自定义的微生成器。
|
52
|
-
|
53
|
-
:::
|
@@ -1,59 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 1
|
3
|
-
---
|
4
|
-
|
5
|
-
# 什么是微生成器
|
6
|
-
|
7
|
-
Modern.js 提供了 `@modern-js/create` 工具和 `new` 命令分别用于初始化创建项目和提供开启一些插件功能的能力,这些工具都是基于微生成器也就是 codesmith 实现的。
|
8
|
-
|
9
|
-
codesmith 致力于提供一套微生成器的运行机制,并维护微生成器执行过程中的上下文信息,从而实现各种基于文件、命令等操作,完成复杂的操作。
|
10
|
-
|
11
|
-
codesmith 还将常用的方法进行了封装,可以直接使用其提供的 API 函数,可以更方便的实现自身的微生成器。
|
12
|
-
|
13
|
-
## 核心概念
|
14
|
-
|
15
|
-
### GeneratorCore
|
16
|
-
|
17
|
-
GeneratorCore 是 codesmith 运行生成器的核心,维护这生成器执行过程中的上下文及运行方法。
|
18
|
-
|
19
|
-
```ts
|
20
|
-
class GeneratorCore {
|
21
|
-
logger: ILogger; // 日志
|
22
|
-
materialsManager: MaterialsManager; // 资源
|
23
|
-
outputPath: string; // 输出路径
|
24
|
-
output: {
|
25
|
-
// 输出方法
|
26
|
-
fs: (
|
27
|
-
file: string | number,
|
28
|
-
data: any,
|
29
|
-
options?: fs.WriteFileOptions | string,
|
30
|
-
) => Promise<void>;
|
31
|
-
};
|
32
|
-
_context: GeneratorContext; // 上下文信息
|
33
|
-
addMaterial(key: string, material: FsMaterial): void; // 添加资源
|
34
|
-
runGenerator(
|
35
|
-
generator: string,
|
36
|
-
config?: Record<string, unknown>,
|
37
|
-
): Promise<void>; // 运行生成器
|
38
|
-
runSubGenerator(
|
39
|
-
subGenerator: string,
|
40
|
-
relativePwdPath?: string,
|
41
|
-
config?: Record<string, any>,
|
42
|
-
): Promise<void>; // 运行子生成器
|
43
|
-
}
|
44
|
-
```
|
45
|
-
|
46
|
-
### Materials
|
47
|
-
|
48
|
-
微生成器资源信息,目前只包含文件资源(fsMaterials),通过该字段可以获取到生成器执行过程中的 template 资源,并通过 API 对其进行操作。
|
49
|
-
|
50
|
-
```ts
|
51
|
-
class MaterialsManager {
|
52
|
-
materialMap: {
|
53
|
-
// 资源映射关系
|
54
|
-
[materialUri: string]: FsMaterial;
|
55
|
-
};
|
56
|
-
loadLocalGenerator(generator: string): Promise<FsMaterial>; // 加载本地生成器资源(绝对路径)
|
57
|
-
loadRemoteGenerator(generator: string): Promise<FsMaterial>; // 加载远程生成器资源(npm 包)
|
58
|
-
}
|
59
|
-
```
|
@@ -1,47 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 4
|
3
|
-
---
|
4
|
-
|
5
|
-
# 使用 JS 代码执行微生成器
|
6
|
-
|
7
|
-
除了使用 cli 的方式执行微生成器,我们免不了需要在代码中执行微生成器,下面就介绍在 js 代码中如何执行微生成器。
|
8
|
-
|
9
|
-
## 安装 codesmith 依赖
|
10
|
-
|
11
|
-
```bash
|
12
|
-
pnpm add @modern-js/codesmith
|
13
|
-
```
|
14
|
-
|
15
|
-
## 创建 codesmith 实例
|
16
|
-
|
17
|
-
```ts
|
18
|
-
import { CodeSmith, Logger } from '@modern-js/codesmith';
|
19
|
-
|
20
|
-
const smith = new CodeSmith({
|
21
|
-
debug: false, // 是否开启 debug 模式,为 true 时会展示生成器中的 debug 信息
|
22
|
-
});
|
23
|
-
```
|
24
|
-
|
25
|
-
## 调用 forge 方法执行生成器
|
26
|
-
|
27
|
-
```ts
|
28
|
-
type RunnerTask = Array<{
|
29
|
-
name: string;
|
30
|
-
config: Record<string, any>;
|
31
|
-
}>;
|
32
|
-
|
33
|
-
const task: RunnerTask = [
|
34
|
-
{
|
35
|
-
name: 'generator', // 生成器 npm 包名称
|
36
|
-
config: {}, // 生成器执行的默认配置
|
37
|
-
},
|
38
|
-
];
|
39
|
-
|
40
|
-
await smith.forge({
|
41
|
-
tasks: task.map(runner => ({
|
42
|
-
generator: runner.name,
|
43
|
-
config: runner.config,
|
44
|
-
})),
|
45
|
-
pwd: '.', // 生成器执行路径
|
46
|
-
});
|
47
|
-
```
|
@@ -1,89 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 2
|
3
|
-
---
|
4
|
-
|
5
|
-
# 微生成器的组成
|
6
|
-
|
7
|
-
一个微生成器项目为一个模块项目或者一个 Npm 包,包中包含几个基本部分:
|
8
|
-
|
9
|
-
## package.json
|
10
|
-
|
11
|
-
npm 包描述信息,包含 name、version、main 等字段。
|
12
|
-
|
13
|
-
## 入口文件
|
14
|
-
|
15
|
-
上述 main 字段对应的 js 文件。文件为默认导出一个生成器函数,函数格式如下:
|
16
|
-
|
17
|
-
```ts
|
18
|
-
export default async (
|
19
|
-
context: GeneratorContext,
|
20
|
-
generator: GeneratorCore,
|
21
|
-
) => {};
|
22
|
-
```
|
23
|
-
|
24
|
-
该函数参数为 context 和 generator:
|
25
|
-
|
26
|
-
### context
|
27
|
-
|
28
|
-
context 提供 codesmith 运行时维护的上下文信息。其类型定义为:
|
29
|
-
|
30
|
-
```ts
|
31
|
-
interface GeneratorContext {
|
32
|
-
materials: Record<string, FsMaterial>; // 资源
|
33
|
-
config: Record<string, any>; // 用户 config 配置
|
34
|
-
data?: Record<string, any>; // 用户 data 配置
|
35
|
-
current: { material: FsMaterial } | null; // 当前生成器运行可获取的文件资源
|
36
|
-
[key: string]: any; // 其他补充字段
|
37
|
-
}
|
38
|
-
```
|
39
|
-
|
40
|
-
materials 是 codesmith 的抽象文件系统,维护这生成器名称和可操作文件的映射关系。
|
41
|
-
|
42
|
-
materials 中还维护这一个 default 的映射关系,用于维护当前生成器执行目录的资源信息,通过该字段可以对目标项目资源进行操作。
|
43
|
-
|
44
|
-
例如当需要修改当前项目的 `package.json` 中的字段:
|
45
|
-
|
46
|
-
```ts
|
47
|
-
const resource = context.materials.default.get(
|
48
|
-
path.join(appDir, 'package.json'),
|
49
|
-
);
|
50
|
-
```
|
51
|
-
|
52
|
-
将获取到的 resource 传递给 codesmith 提供的 JSON API 即可实现 json 操作。
|
53
|
-
|
54
|
-
GeneratorContext 的 current 字段上维护这当前运行的生成器文件资源,可以通过 `current.material` 获取到当前的 `FsMaterial`.
|
55
|
-
|
56
|
-
FsMaterial 中提供了 get 方法用于获取资源文件并将资源文件传给生成器支持的 API 即可对模板文件进行处理。
|
57
|
-
|
58
|
-
例如:
|
59
|
-
|
60
|
-
```ts
|
61
|
-
const resourceMap = await material.find('templates/**/*');
|
62
|
-
```
|
63
|
-
|
64
|
-
通过上述方式可以获取到生成器中符合 `templates/**/*` 规则的所有模板文件,遍历该对象即可对资源文件进行操作。
|
65
|
-
|
66
|
-
### generator
|
67
|
-
|
68
|
-
generator 提供 codesmith 运行时的函数方法。其类型定义为:
|
69
|
-
|
70
|
-
```ts
|
71
|
-
interface GeneratorCore {
|
72
|
-
logger: Logger; // log 函数,支持 info、warning、debug、error、verbose、stream
|
73
|
-
outputPath: string; // 输出文件路径
|
74
|
-
output: {
|
75
|
-
fs: (file: string | number, data: any, options?: string | fs.WriteFileOptions | undefined) => Promise<void>
|
76
|
-
}; // 写文件方法
|
77
|
-
runSubGenerator: (subGenerator: string, relativePwdPath?: string | undefined, config?: Record<string, any> | undefined): Promise<void> // 运行子生成器
|
78
|
-
}
|
79
|
-
```
|
80
|
-
|
81
|
-
其中 outputPath 和 context 中的 `materials.default` 指向相同的目录,outputPath 用于直接计算目标路径并操作,`materials.default` 用于获取资源文件。
|
82
|
-
|
83
|
-
runSubGenerator 提供了在一个微生成器中去运行其他微生成器的方法,该方法将自动更新和维护新的 context 上下文信息。
|
84
|
-
|
85
|
-
## Template 文件
|
86
|
-
|
87
|
-
生成器模板文件。
|
88
|
-
|
89
|
-
推荐在项目根目录创建一个 templates 目录,用于维护该微生成器的模板文件,微生成器执行过程中只能使用自身的模板文件,对于需要共用的模板文件,建议通过共用子生成器实现。
|
@@ -1,82 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 2
|
3
|
-
---
|
4
|
-
|
5
|
-
# Web 应用
|
6
|
-
|
7
|
-
## 项目创建
|
8
|
-
|
9
|
-
创建项目时配置,`@modern-js/create` 使用 `--config` 参数时使用的配置,也是在生成器插件中修改和添加 input 时使用的配置。
|
10
|
-
|
11
|
-
应用项目创建参数都为[通用配置](/guides/topic-detail/generator/config/common)。
|
12
|
-
|
13
|
-
## New 命令
|
14
|
-
|
15
|
-
应用项目中 new 命令配置, 可以在执行 new 命令时通过 `--config` 参数配置,也可在生成器插件中创建元素和启用功能时使用。
|
16
|
-
|
17
|
-
### actionType
|
18
|
-
|
19
|
-
New 命令的操作类型(actionType),类型支持两种:
|
20
|
-
|
21
|
-
- element 创建工程元素
|
22
|
-
|
23
|
-
- function 启用功能
|
24
|
-
|
25
|
-
:::info
|
26
|
-
在生成器插件中使用启用功能和创建元素时不需要该参数,生成器插件中自动添加该参数。
|
27
|
-
|
28
|
-
:::
|
29
|
-
|
30
|
-
### element
|
31
|
-
|
32
|
-
元素名称(element),支持两个选项:
|
33
|
-
|
34
|
-
- 创建应用入口(entry)
|
35
|
-
|
36
|
-
- 新建自定义 Web Serve 源码目录(server)
|
37
|
-
|
38
|
-
入口还需要配置具体的配合使用,介绍如下:
|
39
|
-
|
40
|
-
#### name
|
41
|
-
|
42
|
-
入口名称(name), 字符串类型。
|
43
|
-
|
44
|
-
### function
|
45
|
-
|
46
|
-
可选功能名称(function),支持如下选项:
|
47
|
-
|
48
|
-
- Tailwind CSS(tailwindcss)
|
49
|
-
|
50
|
-
- BFF(bff)
|
51
|
-
|
52
|
-
- SSG(ssg)
|
53
|
-
|
54
|
-
- 微前端(micro_frontend)
|
55
|
-
|
56
|
-
- 单元测试(test)
|
57
|
-
|
58
|
-
- Storybook(mwa_storybook)
|
59
|
-
|
60
|
-
- 启用「基于 UA 的 Polyfill」功能(polyfill)
|
61
|
-
|
62
|
-
- 启用「全局代理」(proxy)
|
63
|
-
|
64
|
-
`bff` 和还需要配置具体的配合使用,介绍如下:
|
65
|
-
|
66
|
-
#### BFF 相关参数
|
67
|
-
|
68
|
-
##### bffType
|
69
|
-
|
70
|
-
BFF 类型(bffType),支持两个选项:
|
71
|
-
|
72
|
-
- 函数模式(function)
|
73
|
-
|
74
|
-
- 框架模式(framework)
|
75
|
-
|
76
|
-
##### framework
|
77
|
-
|
78
|
-
BFF 运行时框架(framework),支持两个选项:
|
79
|
-
|
80
|
-
- Express(express)
|
81
|
-
|
82
|
-
- Koa(koa)
|
@@ -1,100 +0,0 @@
|
|
1
|
-
---
|
2
|
-
sidebar_position: 1
|
3
|
-
---
|
4
|
-
|
5
|
-
# 通用配置
|
6
|
-
|
7
|
-
### solution
|
8
|
-
|
9
|
-
工程方案类型(solution),选项如下:
|
10
|
-
|
11
|
-
- 应用(mwa)
|
12
|
-
|
13
|
-
- 模块(module)
|
14
|
-
|
15
|
-
- Monorepo
|
16
|
-
|
17
|
-
:::info
|
18
|
-
solution 配置只能在 `@modern-js/create` 的 `--config` 参数中使用,不能在生成器插件中通过设置输入默认值的方式使用。
|
19
|
-
|
20
|
-
:::
|
21
|
-
|
22
|
-
### scenes
|
23
|
-
|
24
|
-
项目场景(scenes),当使用创建工程方案场景类型的生成器插件时,该值为对应生成器插件的 key 值。
|
25
|
-
|
26
|
-
:::info
|
27
|
-
scenes 配置只能在 `@modern-js/create` 的 `--config` 参数中使用,不能在生成器插件中通过设置输入默认值的方式使用。
|
28
|
-
|
29
|
-
:::
|
30
|
-
|
31
|
-
### language
|
32
|
-
|
33
|
-
开发语言(language),选项如下:
|
34
|
-
|
35
|
-
- TS(ts)
|
36
|
-
|
37
|
-
- ES6+(js)
|
38
|
-
|
39
|
-
### packageManager
|
40
|
-
|
41
|
-
包管理工具(packageManager),选项如下:
|
42
|
-
|
43
|
-
- pnpm(pnpm)
|
44
|
-
|
45
|
-
- Yarn(yarn)
|
46
|
-
|
47
|
-
:::info
|
48
|
-
在生成器插件创建工程方案场景的自定义类型(custom)中,默认只提供了 `packageManager` 配置。
|
49
|
-
|
50
|
-
:::
|
51
|
-
|
52
|
-
## 其他配置
|
53
|
-
|
54
|
-
### noNeedInstall
|
55
|
-
|
56
|
-
- **类型:** `boolean`
|
57
|
-
- **默认值:** `false`
|
58
|
-
|
59
|
-
是否跳过依赖安装。
|
60
|
-
|
61
|
-
### noNeedGit
|
62
|
-
|
63
|
-
- **类型:** `boolean`
|
64
|
-
- **默认值:** `false`
|
65
|
-
|
66
|
-
是否跳过 git 初始化和提交初始 commit。
|
67
|
-
|
68
|
-
### successInfo
|
69
|
-
|
70
|
-
- **类型:** `string`
|
71
|
-
- **默认值:** 不同工程方案的命令操作提示
|
72
|
-
|
73
|
-
自定义创建项目成功的提示信息。
|
74
|
-
|
75
|
-
### isMonorepoSubProject
|
76
|
-
|
77
|
-
- **类型:** `boolean`
|
78
|
-
- **默认值:** `false`
|
79
|
-
|
80
|
-
是否为 Monorepo 子项目。
|
81
|
-
|
82
|
-
### isTest
|
83
|
-
|
84
|
-
- **类型:** `boolean`
|
85
|
-
- **默认值:** `false`
|
86
|
-
|
87
|
-
作用于应用项目,标识是否为测试项目。
|
88
|
-
|
89
|
-
- `true`: 创建到路径 `examples/`
|
90
|
-
- `false`: 创建到路径 `apps/`
|
91
|
-
|
92
|
-
### isPublic
|
93
|
-
|
94
|
-
- **类型:** `boolean`
|
95
|
-
- **默认值:** `false`
|
96
|
-
|
97
|
-
作用于模块 (Module) 项目,标识是否需要对外发布。
|
98
|
-
|
99
|
-
- `true`: 创建到路径 `packages/`
|
100
|
-
- `false`: 创建到路径 `features/`
|