change
Usage: modern change [options]
创建变更集
Options:
--empty 创建空变更集 (default: false)
--open 使用编辑器中打开创建的变更集 (default: false)
-h, --help display help for command
注
change
、pre
、bump
、release
命令集成了工具 changesets
管理版本变更和 Changelog。
modern change
命令添加 changeset:
$ npx modern change
🦋 Which packages would you like to include? · package-a, package-b
🦋 Which packages should have a major bump? · No items were selected
🦋 Which packages should have a minor bump? · No items were selected
🦋 The following packages will be patch bumped:
🦋 package-a@0.1.0
🦋 package-b@0.1.0
🦋 Please enter a summary for this change (this will be in the changelogs). Submit empty line to open external editor
🦋 Summary · test publish
🦋 === Releasing the following packages ===
🦋 [Patch]
🦋 package-a, package-b
🦋 ╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
🦋 ║ ========= NOTE ======== ║
🦋 ║All dependents of these packages that will be incompatible with the new version will be patch bumped when this changeset is applied.║
🦋 ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
🦋 Is this your desired changeset? (Y/n) · true
🦋 Changeset added! - you can now commit it
🦋
🦋 If you want to modify or expand on the changeset summary, you can find it here
🦋 info /xxxx/monorepo/.changeset/long-lizards-talk.md
上面我们给 package-a
和 package-b
都选择了 patch
变更,具体的变更信息在 monorepo 根目录下的 .changeset/long-lizards-talk.md
中:
---
"package-a": patch
"package-b": patch
---
test publish
提示
Yarn 和 pnpm 调用命令时接收参数的方式不同,例如,在如下 package.json
配置中:
{
"scripts": {
"command": "modern command"
}
}
当需要执行 modern command --option
:
使用 Yarn 时,需要执行 yarn command --option
。
使用 pnpm 时,需要执行 pnpm run command -- --option
。
这是因为 pnpm 对于命令参数的处理与 Yarn 并不相同,但是与 npm 类似:在不加 --
字符串的时候,传递的是 pnpm 的参数;在使用 --
字符串的时候,传递的是执行脚本的参数。
在上述例子里参数 --option
传递给了 modern command
。如果执行 pnpm run command --option
,则参数 --option
将传递给 pnpm。
总结来说:
在使用 pnpm 时,如果传递的参数给 pnpm,不需要加 --
;如果传递的参数是给脚本使用,需要增加 --
字符串。