@modern-js/main-doc 2.22.0 → 2.22.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/docs/en/components/debug-app.mdx +1 -1
  3. package/docs/en/components/deploy.mdx +1 -0
  4. package/docs/en/components/entry-mode.mdx +0 -0
  5. package/docs/en/components/init-app.mdx +3 -7
  6. package/docs/en/components/release-note.mdx +1 -0
  7. package/docs/en/configure/app/output/css-modules.mdx +13 -0
  8. package/docs/en/configure/app/tools/swc.mdx +2 -16
  9. package/docs/en/guides/advanced-features/rspack-start.mdx +1 -2
  10. package/docs/en/guides/concept/builder.mdx +15 -15
  11. package/docs/en/guides/concept/entries.mdx +47 -46
  12. package/docs/en/guides/get-started/glossary.mdx +12 -12
  13. package/docs/en/guides/get-started/introduction.mdx +17 -20
  14. package/docs/en/guides/get-started/quick-start.mdx +21 -37
  15. package/docs/en/guides/get-started/upgrade.mdx +15 -13
  16. package/docs/en/guides/topic-detail/changesets/_category_.json +4 -0
  17. package/docs/en/guides/topic-detail/changesets/add.mdx +125 -0
  18. package/docs/en/guides/topic-detail/changesets/changelog.mdx +238 -0
  19. package/docs/en/guides/topic-detail/changesets/commit.mdx +269 -0
  20. package/docs/en/guides/topic-detail/changesets/config.mdx +147 -0
  21. package/docs/en/guides/topic-detail/changesets/github.mdx +175 -0
  22. package/docs/en/guides/topic-detail/changesets/introduce.mdx +56 -0
  23. package/docs/en/guides/topic-detail/changesets/release-note.mdx +273 -0
  24. package/docs/en/guides/topic-detail/changesets/release-pre.mdx +49 -0
  25. package/docs/en/guides/topic-detail/changesets/release.mdx +229 -0
  26. package/docs/en/guides/troubleshooting/builder.mdx +8 -0
  27. package/docs/zh/community/blog/v2-release-note.mdx +1 -1
  28. package/docs/zh/community/contributing-guide.mdx +1 -1
  29. package/docs/zh/components/entry-mode.mdx +0 -0
  30. package/docs/zh/components/init-app.mdx +5 -9
  31. package/docs/zh/configure/app/output/css-modules.mdx +13 -0
  32. package/docs/zh/configure/app/tools/swc.mdx +2 -16
  33. package/docs/zh/guides/advanced-features/rspack-start.mdx +1 -2
  34. package/docs/zh/guides/concept/builder.mdx +1 -1
  35. package/docs/zh/guides/concept/entries.mdx +18 -14
  36. package/docs/zh/guides/get-started/quick-start.mdx +7 -10
  37. package/docs/zh/guides/get-started/upgrade.mdx +1 -1
  38. package/docs/zh/guides/topic-detail/changesets/add.mdx +15 -13
  39. package/docs/zh/guides/topic-detail/changesets/changelog.mdx +20 -20
  40. package/docs/zh/guides/topic-detail/changesets/commit.mdx +12 -14
  41. package/docs/zh/guides/topic-detail/changesets/config.mdx +5 -5
  42. package/docs/zh/guides/topic-detail/changesets/github.mdx +38 -27
  43. package/docs/zh/guides/topic-detail/changesets/introduce.mdx +12 -12
  44. package/docs/zh/guides/topic-detail/changesets/release-note.mdx +84 -70
  45. package/docs/zh/guides/topic-detail/changesets/release-pre.mdx +9 -9
  46. package/docs/zh/guides/topic-detail/changesets/release.mdx +29 -29
  47. package/docs/zh/guides/troubleshooting/builder.mdx +8 -0
  48. package/package.json +5 -5
@@ -30,7 +30,7 @@ Modern.js 初始化的项目是单入口的(SPA),项目结构如下:
30
30
  └── tsconfig.json
31
31
  ```
32
32
 
33
- 在 Modern.js 项目中,你可以很方便的将单入口切换成多入口,直接在项目下执行 `pnpm run new`,通过生成器创建入口即可:
33
+ 在 Modern.js 项目中,你可以很方便的将单入口切换成多入口,直接在项目下执行 `pnpm run new`,根据提示创建入口即可:
34
34
 
35
35
  ```bash
36
36
  ? 请选择你想要的操作 创建工程元素
@@ -54,34 +54,38 @@ Modern.js 初始化的项目是单入口的(SPA),项目结构如下:
54
54
  └── page.tsx
55
55
  ```
56
56
 
57
- 原本的代码被移动到了和 `package.json` 中 `name` 同名的目录下,并创建了新的目录。
57
+ 原本的入口代码被移动到了和 `package.json` 中 `name` 同名的目录下,并创建了 `new-entry` 入口目录。
58
58
 
59
59
  执行 `pnpm run dev` 后,可以看到新增了一条名为 `/new-entry` 的路由,并且被迁移的代码路由并未发生变化。
60
60
 
61
61
  :::tip
62
- Modern.js 会将与 package.json 文件中 `name` 字段同名的入口作为主入口,主入口的路由为 `/`,其他入口的路由为 `/{entryName}`。
62
+ Modern.js 会将与 `package.json` 文件中 `name` 字段同名的入口作为主入口,主入口的路由为 `/`,其他入口的路由为 `/{entryName}`。
63
63
 
64
- 比如,package.json 中的 `name` 为 `myapp` 时,`src/myapp` 会作为项目的主入口。
64
+ 比如,`package.json` 中的 `name` 为 `myapp` 时,`src/myapp` 会作为项目的主入口。
65
65
 
66
66
  :::
67
67
 
68
68
  ## 入口类型
69
69
 
70
- 不同的入口类型具有不同的编译和运行时行为。在 Modern.js 创建项目时,开发者可以手动选择创建**框架模式**或是**构建模式**的项目。完成创建后,可以看到不同模式的项目样板文件是不同的。
70
+ 不同的入口类型具有不同的编译和运行时行为。
71
+
72
+ import EntryMode from '@site-docs/components/entry-mode.mdx';
73
+
74
+ <EntryMode />
71
75
 
72
76
  默认情况下,Modern.js 启动项目前会对 `src/` 下的文件进行扫描,识别入口,并生成对应的服务端路由。
73
77
 
74
78
  :::tip
75
- 可以通过 [source.entriesDir](/configure/app/source/entries-dir) 更改入口目录为其他目录。
79
+ 可以通过 [source.entriesDir](/configure/app/source/entries-dir) 修改页面的入口识别目录。
76
80
 
77
81
  :::
78
82
 
79
83
  并非 `src/` 下所有的一级目录都会成为项目入口, 入口所在目录必须满足以下四个条件之一:
80
84
 
81
- 1. 具有 `routes/` 目录
82
- 2. 具有 `App.[jt]sx?` 文件
83
- 3. 具有 `index.[jt]sx?` 文件
84
- 4. 具有 `pages/` 目录(兼容 Modern.js 1.0
85
+ 1. 具有 `routes/` 目录。
86
+ 2. 具有 `App.[jt]sx?` 文件。
87
+ 3. 具有 `index.[jt]sx?` 文件。
88
+ 4. 具有 `pages/` 目录(兼容 Modern.js 1.0)。
85
89
 
86
90
  当 `src/` 目录满足入口特征时,Modern.js 会认为当前项目为单入口应用。
87
91
 
@@ -94,7 +98,7 @@ Modern.js 会将与 package.json 文件中 `name` 字段同名的入口作为主
94
98
 
95
99
  ### 框架模式入口
96
100
 
97
- 框架模式指需要使用 Modern.js 框架能力,例如 Router、SSR、一体化调用等。这类入口约定下,开发者定义的入口并不是真正的 Webpack 编译入口。Modern.js 在启动时会生成一个封装过的入口,可以在 `node_modules/.modern/{entryName}/index.js` 找到真正的入口。
101
+ 框架模式指需要使用 Modern.js 框架能力,例如 Router、SSR、一体化调用等。这类入口约定下,开发者定义的入口并不是真正的 webpack 编译入口。Modern.js 在启动时会生成一个封装过的入口,可以在 `node_modules/.modern/{entryName}/index.js` 找到真正的入口。
98
102
 
99
103
  #### 约定式路由
100
104
 
@@ -135,7 +139,7 @@ export default () => {
135
139
 
136
140
  #### 自定义 Bootstrap
137
141
 
138
- 如果入口中存在 `index.[jt]sx` 文件,并且当文件默认导出函数时,Modern.js 会将默认的 bootstrap 函数作为入参传入,并用导出的函数替代默认的 bootstrap,这样开发者可以自定义将组件挂载到 DOM 节点上,或在挂载前添加自定义行为。例如:
142
+ 如果入口中存在 `index.[jt]sx` 文件,并且当文件默认导出函数时,Modern.js 会将默认的 `bootstrap` 函数作为入参传入,并用导出的函数替代默认的 `bootstrap`,这样开发者可以自定义将组件挂载到 DOM 节点上,或在挂载前添加自定义行为。例如:
139
143
 
140
144
  ```tsx
141
145
  export default (App: React.ComponentType, bootstrap: () => void) => {
@@ -178,9 +182,9 @@ export default AppWrapper;
178
182
 
179
183
  ### 构建模式入口
180
184
 
181
- 构建模式是指不使用任何 Modern.js 运行时的能力,完全由开发者自己定义项目 Webpack 的入口。
185
+ 构建模式是指不使用任何 Modern.js 运行时的能力,完全由开发者自己定义项目 webpack 的入口。
182
186
 
183
- 如果入口中存在 `index.[jt]sx` ,并且没有默认导出函数时,这时候该文件就是真正的 Webpack 入口文件。这里和 [Create React App](https://github.com/facebook/create-react-app) 类似,需要自己将组件挂载到 DOM 节点、添加热更新代码等。例如:
187
+ 如果入口中存在 `index.[jt]sx` ,并且没有默认导出函数时,这时候该文件就是真正的 webpack 入口文件。这里和 [Create React App](https://github.com/facebook/create-react-app) 类似,需要自己将组件挂载到 DOM 节点、添加热更新代码等。例如:
184
188
 
185
189
  ```js title=src/index.jsx
186
190
  import React from 'react';
@@ -12,9 +12,9 @@ import Prerequisites from "@site-docs/components/prerequisites"
12
12
 
13
13
  ## 安装
14
14
 
15
- Modern.js 提供了 `@modern-js/create` 生成器来创建项目,不要全局安装,使用 `npx` 按需运行。
15
+ Modern.js 提供了 `@modern-js/create` 工具来创建项目,不要全局安装,使用 `npx` 按需运行。
16
16
 
17
- 可以使用已有的空目录来创建项目:
17
+ 可以在已有的空目录来创建项目:
18
18
 
19
19
  ```bash
20
20
  mkdir myapp && cd myapp
@@ -41,9 +41,9 @@ import DebugApp from "@site-docs/components/debug-app"
41
41
 
42
42
  ## 使用配置
43
43
 
44
- 通过生成器创建的 Modern.js 项目中,存在 `modern.config.ts` 文件。
44
+ 通过 `@modern-js/create` 创建的 Modern.js 项目中,会默认生成 `modern.config.ts` 文件。
45
45
 
46
- 可以通过配置文件来开启功能,或覆盖 Modern.js 的默认行为。例如添加如下配置,开启 SSR:
46
+ 可以通过该配置文件修改配置,覆盖 Modern.js 的默认行为。例如添加如下配置,开启 SSR:
47
47
 
48
48
  ```ts title="modern.config.ts"
49
49
  import appTools, { defineConfig } from '@modern-js/app-tools';
@@ -51,7 +51,6 @@ import appTools, { defineConfig } from '@modern-js/app-tools';
51
51
  export default defineConfig({
52
52
  runtime: {
53
53
  router: true,
54
- state: true,
55
54
  },
56
55
  server: {
57
56
  ssr: true,
@@ -93,14 +92,12 @@ info File sizes after production build:
93
92
  构建产物默认生成到 `dist/`,目录结构如下:
94
93
 
95
94
  ```
96
- .
97
- ├── asset-manifest.json
95
+ dist
98
96
  ├── html
99
- └── main
100
- ├── loader-routes
101
- │ └── main
97
+    └── main
102
98
  ├── modern.config.json
103
99
  ├── route.json
100
+ ├── routes-manifest.json
104
101
  └── static
105
102
  ├── css
106
103
  └── js
@@ -16,7 +16,7 @@ $ pnpm run upgrade
16
16
 
17
17
  > modern upgrade
18
18
 
19
- [INFO] [项目类型]: 应用
19
+ [INFO] [项目类型]: Web 应用
20
20
  [INFO] [Modern.js 最新版本]: 2.0.0
21
21
  [INFO] 已更新 Modern.js 依赖至最新版本!
22
22
  ```
@@ -2,9 +2,9 @@
2
2
  sidebar_position: 2
3
3
  ---
4
4
 
5
- # 添加一个 changeset
5
+ # 添加 Changesets
6
6
 
7
- 当我们开发完成一个功能时,需要添加一个 changeset 用于声明当前功能,用于后续版本发布。
7
+ 当我们开发完成时,需要添加一个 changeset 声明当前变更,用于后续版本发布。
8
8
 
9
9
  ## 信息
10
10
 
@@ -14,7 +14,7 @@ sidebar_position: 2
14
14
 
15
15
  - 本次变更需要升级的版本号类型,类型符合 [semver](https://semver.org/) 规范。
16
16
 
17
- - 本次变更的 Changelog 信息。
17
+ - 本次变更的 changelog 信息。
18
18
 
19
19
  ## 步骤
20
20
 
@@ -25,17 +25,17 @@ sidebar_position: 2
25
25
 
26
26
  ### 模块工程方案
27
27
 
28
- #### 在根目录执行以下命令:
28
+ #### 在根目录执行 change 命令
29
29
 
30
30
  ```bash
31
31
  pnpm run change
32
32
  ```
33
33
 
34
- #### 选择本次变更需要升级的版本号类型,点击回车:
34
+ #### 选择本次变更需要升级的版本号类型
35
35
 
36
36
  ![选择版本类型](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/changeset-select-version.png)
37
37
 
38
- #### 填入 Changelog 信息,并点击两次回车:
38
+ #### 填入 changelog 信息,并点击两次回车:
39
39
 
40
40
  ![写入变更信息](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/changeset-input-changelog.png)
41
41
 
@@ -55,13 +55,13 @@ feat: test module solution changeset
55
55
 
56
56
  我们假设 monorepo 中存在三个模块包,分别为 `module-1`,`module-2`,`module-3`。
57
57
 
58
- #### 在根目录执行以下命令:
58
+ #### 在根目录执行 change 命令
59
59
 
60
60
  ```bash
61
61
  pnpm run change
62
62
  ```
63
63
 
64
- #### 选择本次需要升级的包列表:
64
+ #### 选择本次需要升级的包列表
65
65
 
66
66
  Changesets 会根据当前代码变更(`git diff Head...baseBranch`),将 Monorepo 中的 package 分为两类,`changed packages` 和 `unchanged packages`,方便用户进行选择。
67
67
 
@@ -69,11 +69,13 @@ Changesets 会根据当前代码变更(`git diff Head...baseBranch`),将 Monor
69
69
 
70
70
  ![选择升级包](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/changeset-select-packages.png)
71
71
 
72
- #### 分别选择不同版本类型对应的包,changeset 会询问 `major` 和 `minor` 类型,如果存在包未选择这两种类型,将会默认使用 `patch` 类型:
72
+ #### 分别选择不同版本类型对应的包
73
+
74
+ changeset 会询问 `major` 和 `minor` 类型,如果存在包未选择这两种类型,将会默认使用 `patch` 类型。
73
75
 
74
76
  ![选择升级包版本类型](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/changeset-auto-select-patch.png)
75
77
 
76
- #### 填入 Changelog 信息,并点击两次回车:
78
+ #### 填入 changelog 信息
77
79
 
78
80
  ![写入变更信息](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/changeset-input-changelog-monorepo.png)
79
81
 
@@ -94,10 +96,10 @@ feat: test-changeset
94
96
 
95
97
  change 命令支持以下参数:
96
98
 
97
- - `--empty` 添加一个空的 changeset。
99
+ - `--empty`: 添加一个空的 changeset。
98
100
 
99
101
  ```bash
100
- pnpm run change -- --empty
102
+ pnpm run change --empty
101
103
  ```
102
104
 
103
105
  执行完成后,将在项目的 `.changeset` 目录创建空的 changeset 文件,文件内容如下:
@@ -107,7 +109,7 @@ pnpm run change -- --empty
107
109
  ---
108
110
  ```
109
111
 
110
- - `--open` 使用该参数时,在填写 Changelog 步骤会打开系统默认编辑器进行填写。
112
+ - `--open`: 使用该参数时,在填写 changelog 步骤会打开系统默认编辑器进行填写。
111
113
 
112
114
  ## 注意事项
113
115
 
@@ -2,15 +2,15 @@
2
2
  sidebar_position: 6
3
3
  ---
4
4
 
5
- # 自定义 Changelog 生成
5
+ # 自定义 changelog 生成
6
6
 
7
- Changesets 默认会使用 `@changesets/cli/changelog` 生成 Changelog 信息,如果默认的 Changelog 信息不能满足需求,可以自定义 Changelog 的生成。
7
+ Changesets 默认会使用 `@changesets/cli/changelog` 生成 Changelog 信息,如果默认的 changelog 信息不能满足需求,可以自定义 changelog 的生成。
8
8
 
9
- ## 自定义 Changlog 内容
9
+ ## 自定义 changelog 内容
10
10
 
11
- Changelog 信息主要包含以下两种信息:
11
+ changelog 信息主要包含以下两种信息:
12
12
 
13
- - changeset 中写入的 Changelog 信息。
13
+ - changeset 中写入的 changelog 信息。
14
14
 
15
15
  - 本次版本升级关联包的版本变更信息。
16
16
 
@@ -41,7 +41,7 @@ export type Changeset = {
41
41
 
42
42
  #### 返回值
43
43
 
44
- Changelog 内容。
44
+ changelog 内容。
45
45
 
46
46
  #### 默认实现
47
47
 
@@ -91,7 +91,7 @@ type DependenciesUpdated = ModCompWithPackage[];
91
91
 
92
92
  #### 返回值
93
93
 
94
- Changelog 内容。
94
+ changelog 内容。
95
95
 
96
96
  #### 默认实现
97
97
 
@@ -128,11 +128,11 @@ async function getDependencyReleaseLine(changesets, dependenciesUpdated) {
128
128
 
129
129
  ## 配置
130
130
 
131
- Changesets 配置文件中 `changelog` 字段,该字段用于标记 Changelog 信息的获取途径。
131
+ Changesets 配置文件中 `changelog` 字段用于标记 changelog 信息的获取途径。
132
132
 
133
- 该配置可以为字符串,直接声明获取 Changelog 信息模块的模块名称或者路径。
133
+ 该配置可以为字符串,直接声明获取 changelog 信息模块的模块名称或者路径。
134
134
 
135
- 该配置还支持配置数组,数组中第一个元素为获取 Changelog 信息模块的模块名称或者路径,第二个元素为传入对应函数的参数值,会作为 `getReleaseLine` 和 `getDependencyReleaseLine` 函数的第三个参数传入。
135
+ 该配置还支持配置数组,数组中第一个元素为获取 changelog 信息模块的模块名称或者路径,第二个元素为传入对应函数的参数值,会作为 `getReleaseLine` 和 `getDependencyReleaseLine` 函数的第三个参数传入。
136
136
 
137
137
  ### 配置相对路径
138
138
 
@@ -162,9 +162,9 @@ module.exports = {
162
162
 
163
163
  ### 使用模块工程方案
164
164
 
165
- 自定义 Changelog 还可以使用模块工程方案进行管理,提供通用方案。
165
+ 自定义 changelog 还可以使用模块工程方案进行管理,提供通用方案。
166
166
 
167
- #### 使用 `npx @modern-js/create@latest` 创建模块工程方案。
167
+ #### 使用 `npx @modern-js/create@latest` 创建模块工程方案
168
168
 
169
169
  ```md
170
170
  ? 请选择你想创建的工程类型:Npm 模块
@@ -173,7 +173,7 @@ module.exports = {
173
173
  ? 请选择包管理工具:pnpm
174
174
  ```
175
175
 
176
- #### 实现自定义内容。
176
+ #### 实现自定义内容
177
177
 
178
178
  ```ts title="src/index.ts"
179
179
  export async function getReleaseLine() {}
@@ -181,11 +181,11 @@ export async function getReleaseLine() {}
181
181
  export async function getDependencyReleaseLine() {}
182
182
  ```
183
183
 
184
- #### 将模块发布到 NPM
184
+ #### 将模块发布到 NPM
185
185
 
186
- #### 在目标仓库根目录安装对应模块,例如 `custom-changelog`。
186
+ #### 在目标仓库根目录安装对应模块,例如 `custom-changelog`
187
187
 
188
- #### 配置 changeset 的 changelog 配置为包名称。
188
+ #### 配置 changeset 的 changelog 配置为包名称
189
189
 
190
190
  ```json title=".changesets/config.json"
191
191
  {
@@ -198,7 +198,7 @@ export async function getDependencyReleaseLine() {}
198
198
 
199
199
  如果你当前仓库为 Monorepo 工程方案,可以直接使用模块子项目进行管理。
200
200
 
201
- #### 执行 `pnpm run new` 创建模块子项目。
201
+ #### 执行 `pnpm run new` 创建模块子项目
202
202
 
203
203
  ```md
204
204
  ? 请选择你想创建的工程类型:Npm 模块
@@ -207,7 +207,7 @@ export async function getDependencyReleaseLine() {}
207
207
  ? 请选择开发语言:TS
208
208
  ```
209
209
 
210
- #### 实现自定义内容。
210
+ #### 实现自定义内容
211
211
 
212
212
  ```ts title="src/index.ts"
213
213
  export async function getReleaseLine() {}
@@ -215,7 +215,7 @@ export async function getReleaseLine() {}
215
215
  export async function getDependencyReleaseLine() {}
216
216
  ```
217
217
 
218
- #### 在 Monorepo 根目录添加子项目模块依赖,例如 `custom-changelog`。
218
+ #### 在 Monorepo 根目录添加子项目模块依赖,例如 `custom-changelog`
219
219
 
220
220
  ```json title="package.json"
221
221
  {
@@ -226,7 +226,7 @@ export async function getDependencyReleaseLine() {}
226
226
  }
227
227
  ```
228
228
 
229
- #### 配置 changeset 的 changelog 配置为包名称。
229
+ #### 配置 changeset 的 changelog 配置为包名称
230
230
 
231
231
  ```json title=".changesets/config.json"
232
232
  {
@@ -118,7 +118,7 @@ type ReleasePlan = {
118
118
 
119
119
  - options
120
120
 
121
- 配置 commit 时的配置信息。
121
+ 配置 commit 时的其他参数。
122
122
 
123
123
  > commit 配置为数组时,第二个参数支持传入默认的配置信息,会对应的使用该参数传递。
124
124
 
@@ -169,7 +169,7 @@ Changesets 配置文件中 `commit` 字段,该字段用于标记是否需要
169
169
 
170
170
  commit 配置如果为相对路径为 `.changesets` 目录下的相对路径。
171
171
 
172
- 例如创建 .changeset/my-commit-config.js 文件,定义如下内容:
172
+ 例如创建 `.changeset/my-commit-config.js` 文件,定义如下内容:
173
173
 
174
174
  ```js title=".changeset/my-commit-config.js"
175
175
  async function getAddMessage(changeset, options) {}
@@ -195,9 +195,7 @@ commit 配置为 ./my-commit-config.js 即可:
195
195
 
196
196
  自定义 commit 还可以使用模块工程方案进行管理,提供通用方案。
197
197
 
198
- 自定义 Changelog 还可以使用模块工程方案进行管理,提供通用方案。
199
-
200
- #### 使用 `npx @modern-js/create@latest` 创建模块工程方案。
198
+ #### 使用 `npx @modern-js/create@latest` 创建模块工程方案
201
199
 
202
200
  ```md
203
201
  ? 请选择你想创建的工程类型:Npm 模块
@@ -206,7 +204,7 @@ commit 配置为 ./my-commit-config.js 即可:
206
204
  ? 请选择包管理工具:pnpm
207
205
  ```
208
206
 
209
- #### 实现自定义内容。
207
+ #### 实现自定义内容
210
208
 
211
209
  ```ts title="src/index.ts"
212
210
  export async function getAddMessage() {}
@@ -214,15 +212,15 @@ export async function getAddMessage() {}
214
212
  export async function getVersionMessage() {}
215
213
  ```
216
214
 
217
- #### 将模块发布到 NPM
215
+ #### 将模块发布到 NPM
218
216
 
219
- #### 在目标仓库根目录安装对应模块,例如 custom-commit
217
+ #### 在目标仓库根目录安装对应模块,例如 `custom-commit`
220
218
 
221
- #### 配置 changeset 的 commit 配置为包名称。
219
+ #### 配置 changeset 的 commit 配置为包名称
222
220
 
223
221
  ```json title="package.json"
224
222
  {
225
- "changelog": "custom-commit",
223
+ "commit": "custom-commit",
226
224
  ...
227
225
  }
228
226
  ```
@@ -231,7 +229,7 @@ export async function getVersionMessage() {}
231
229
 
232
230
  如果你当前仓库为 Monorepo 工程方案,可以直接使用模块子项目进行管理。
233
231
 
234
- #### 执行 `pnpm run new` 创建模块子项目。
232
+ #### 执行 `pnpm run new` 创建模块子项目
235
233
 
236
234
  ```md
237
235
  ? 请选择你想创建的工程类型:Npm 模块
@@ -240,7 +238,7 @@ export async function getVersionMessage() {}
240
238
  ? 请选择开发语言:TS
241
239
  ```
242
240
 
243
- #### 实现自定义内容。
241
+ #### 实现自定义内容
244
242
 
245
243
  ```ts title="src/index.ts"
246
244
  export async function getAddMessage() {}
@@ -248,7 +246,7 @@ export async function getAddMessage() {}
248
246
  export async function getVersionMessage() {}
249
247
  ```
250
248
 
251
- #### 在 Monorepo 根目录添加子项目模块依赖,例如 custom-commit
249
+ #### 在 Monorepo 根目录添加子项目模块依赖,例如 `custom-commit`
252
250
 
253
251
  ```json title="package.json"
254
252
  {
@@ -259,7 +257,7 @@ export async function getVersionMessage() {}
259
257
  }
260
258
  ```
261
259
 
262
- #### 配置 changeset 的 commit 配置为包名称。
260
+ #### 配置 changeset 的 commit 配置为包名称
263
261
 
264
262
  ```json title=".changesets/config.json"
265
263
  {
@@ -4,7 +4,7 @@ sidebar_position: 5
4
4
 
5
5
  # Changesets 配置文件
6
6
 
7
- 我们前面了解到,初始化 Modern.js 仓库时,会默认初始化 Changesets 的配置文件,即 `.changeset/config.json` 文件,下面我们将详细了解一下该文件中支持哪些配置。
7
+ 我们前面了解到,初始化 Modern.js 仓库时,会默认初始化 changesets 的配置文件,即 `.changeset/config.json` 文件,下面我们将详细了解一下该文件中支持哪些配置。
8
8
 
9
9
  ## 配置介绍
10
10
 
@@ -106,15 +106,15 @@ pkg-b @ version 1.0.0
106
106
 
107
107
  默认值:`@changesets/cli/changelog`
108
108
 
109
- 生成 Changelog 规则。
109
+ 生成 changelog 规则。
110
110
 
111
- 配置为 `false` 时,执行 bump 命令时,在 `CHANGELOG.md` 文件中只声明版本号,不声明其他 Changelog 信息。
111
+ 配置为 `false` 时,执行 bump 命令时,在 `CHANGELOG.md` 文件中只声明版本号,不声明其他 changelog 信息。
112
112
 
113
113
  ![关闭 changelog 配置](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/changeset-empty-changelog.png)
114
114
 
115
- 配置为 `@changesets/cli/changelog` 将使用官方提供的 Changlog 生成规则,将 changeset 信息转换为 Changlog 内容。
115
+ 配置为 `@changesets/cli/changelog` 将使用官方提供的 changlog 生成规则,将 changeset 信息转换为 changlog 内容。
116
116
 
117
- 配置为数组时,第一个参数为自定义 NPM 包或者路径,第二个参数为需要传入的默认参数配置,自定义格式我们将在后续[自定义 Changelog](/guides/topic-detail/changesets/changelog) 章节讲解。
117
+ 配置为数组时,第一个参数为自定义 NPM 包或者路径,第二个参数为需要传入的默认参数配置,自定义格式我们将在后续[自定义 changelog](/guides/topic-detail/changesets/changelog) 章节讲解。
118
118
 
119
119
  ### \_\_\_experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH
120
120
 
@@ -6,7 +6,7 @@ sidebar_position: 9
6
6
 
7
7
  ## BOT
8
8
 
9
- 在 Github 上,Changesets 提供了机器人用于检测当前 Pull Request 是否存在 changeset,并提供了 UI 界面添加和修改 changeset。
9
+ 在 Github 上,changesets 提供了机器人用于检测当前 Pull Request 是否存在 changeset,并提供了 UI 界面添加和修改 changeset。
10
10
 
11
11
  ### 安装
12
12
 
@@ -46,9 +46,9 @@ sidebar_position: 9
46
46
 
47
47
  Modern.js 提供了自动创建发版 Pull Request 的 Github Action,提供基于选择的分支自动执行 bump 操作,更新 lock 文件及创建 Pull Request 操作。
48
48
 
49
- ### 使用
49
+ #### 使用
50
50
 
51
- 在仓库中创建 `.github/workflows/release-pull-request.yml` 文件,填入以下内容:
51
+ - 在仓库中创建 `.github/workflows/release-pull-request.yml` 文件,填入以下内容:
52
52
 
53
53
  ```yaml
54
54
  name: Release Pull Request
@@ -57,8 +57,15 @@ on:
57
57
  workflow_dispatch:
58
58
  inputs:
59
59
  version:
60
- description: 'Release Version(v1.0.0)'
60
+ type: choice
61
+ description: 'Release Type(canary, beta, alpha, latest)'
61
62
  required: true
63
+ default: 'latest'
64
+ options:
65
+ - canary
66
+ - beta
67
+ - alpha
68
+ - latest
62
69
 
63
70
  jobs:
64
71
  release:
@@ -71,37 +78,40 @@ jobs:
71
78
  # This makes Actions fetch only one branch to release
72
79
  fetch-depth: 100
73
80
 
81
+ - ... # install dependencies and build repo package
74
82
  - name: Create Release Pull Request
75
- uses: web-infra-dev/actions@main
83
+ uses: web-infra-dev/actions@v2
76
84
  with:
77
- # this expects you to have a script called release which does a build for your packages and calls changeset publish
78
- versionNumber: ${{ github.event.inputs.version }}
85
+ version: ${{ github.event.inputs.version }}
86
+ versionNumber: 'auto'
79
87
  type: 'pull request'
88
+ tools: 'modern'
80
89
  env:
81
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
90
+ GITHUB_TOKEN: ${{ secrets.REPO_SCOPED_TOKEN }}
91
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
82
92
  REPOSITORY: ${{ github.repository }}
83
93
  REF: ${{ github.ref }}
84
94
  ```
85
95
 
86
- 将 Workflow 合并到主分支后,进入 Github 仓库对应的 Action 页面,选择 Release Pull Request:
96
+ - 将 Workflow 合并到主分支后,进入 Github 仓库对应的 Action 页面,选择 Release Pull Request:
87
97
 
88
98
  ![Release Pull Request Action](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/action-pull-request.png)
89
99
 
90
- 选择本次发布的分支并填入版本号,版本号格式推荐 v1.0.0,点击 Run workflow 按钮:
100
+ - 选择本次发布类型,点击 Run workflow 按钮:
91
101
 
92
- ![Run Release Pull Request](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/run-pull-request-action.png)
102
+ ![Run Release Pull Request](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/action-pull-request.jpeg)
93
103
 
94
- workflow 运行完成后将自动创建 `Release-${version}` 的 Pull Request,自动完成 `bump` changeset 相关版本号并更新 lock 文件,Pull Request 的内容为执行 `gen-release-note` 命令自动生成的 Release Note。
104
+ - Workflow 运行完成后将自动创建 `Release-${version}` 的 Pull Request,自动完成 `bump` changeset 相关版本号并更新 lock 文件,Pull Request 的内容为执行 `gen-release-note` 命令自动生成的 Release Note。
95
105
 
96
- ![Release Pull Request](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/release-pull-request.png)
106
+ ![Release Pull Request](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/release-pull-request.jpeg)
97
107
 
98
108
  ### 自动 Release
99
109
 
100
- Modern.js 提供了自动创建发版 Pull Request 的 Github Action,提供基于选择的分支自动执行 release 操作,将包发布到 NPM 上。
110
+ Modern.js 提供了自动发布版本 的 Github Action,提供基于选择的分支自动执行 release 操作,将包发布到 NPM 上。
101
111
 
102
112
  #### 使用
103
113
 
104
- 在仓库中创建 `.github/workflows/release.yml` 文件,填入以下内容:
114
+ - 在仓库中创建 `.github/workflows/release.yml` 文件,填入以下内容:
105
115
 
106
116
  ```yaml
107
117
  name: Release
@@ -111,14 +121,14 @@ on:
111
121
  inputs:
112
122
  version:
113
123
  type: choice
114
- description: 'Release Version(canary, alpha, pre, latest)'
124
+ description: 'Release Version(canary, beta, alpha, latest)'
115
125
  required: true
116
- default: 'canary'
126
+ default: 'next'
117
127
  options:
118
- - canary
119
- - alpha
120
- - pre
121
- - latest
128
+ - canary
129
+ - beta
130
+ - alpha
131
+ - latest
122
132
  branch:
123
133
  description: 'Release Branch(confirm release branch)'
124
134
  required: true
@@ -135,13 +145,14 @@ jobs:
135
145
  # This makes Actions fetch only one branch to release
136
146
  fetch-depth: 1
137
147
 
148
+ - ... # install dependencies and build repo package
138
149
  - name: Release
139
- uses: web-infra-dev/actions@main
150
+ uses: web-infra-dev/actions@v2
140
151
  with:
141
- # this expects you to have a script called release which does a build for your packages and calls changeset publish
142
152
  version: ${{ github.event.inputs.version }}
143
153
  branch: ${{ github.event.inputs.branch }}
144
154
  type: 'release'
155
+ tools: 'modern'
145
156
  env:
146
157
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
147
158
  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -149,16 +160,16 @@ jobs:
149
160
  REF: ${{ github.ref }}
150
161
  ```
151
162
 
152
- 配置仓库的 NPM_TOKEN:
163
+ - 配置仓库的 NPM_TOKEN:
153
164
 
154
165
  ![配置 Token](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/github-set-npm-token.png)
155
166
 
156
- 将 Workflow 合并到主分支后,进入 Github 仓库对应的 Action 页面,选择 Release:
167
+ - 将 Workflow 合并到主分支后,进入 Github 仓库对应的 Action 页面,选择 Release:
157
168
 
158
169
  ![Release Action](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/release-action.png)
159
170
 
160
- 选择分支名称和发布版本类型,点击 Run workflow 按钮:
171
+ - 选择分支名称和发布版本类型,点击 Run workflow 按钮:
161
172
 
162
173
  ![Run Release Action](https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/run-release-workflow.png)
163
174
 
164
- Workflow 将自动完成仓库 build 和发布到 NPM 流程。
175
+ - Workflow 将自动完成仓库 build 和发布到 NPM 流程。