lerna 笔记

此文作为 monorepo 项目管理模式:lerna 工具的使用笔记。

全局安装 lerna

1
npm i lerna -g

初始化 lerna

1
lerna init

创建 package

1
2
lerna create app1
lerna create app2

添加依赖

1
2
3
lerna add b --scope=app1
lerna add c --scope=app2
lerna add app1 --scope=app2

发布到 npm

1
2
3
git add .
git commit -m "feat: publish" //会根据commit规范自动生成规范的版本号
lerna publish

其他注意的点

  1. 默认统一版本号。如果分开管理独立版本号,则: lerna init --independent
  2. lerna boostrap 安装所有 packages 的依赖项并且连接本地包的交叉依赖项(symlink)。
  3. private 不会被发布。
  4. lernalerna versionchangelog 生成都依赖于 Conventional Commits。需要保证 commit msg 符合规范。

json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"lerna": "2.11.0",
"npmClient": "yarn",
"packages": [
"packages/*"
],
"useWorkspaces": true // 使用yarn workspaces
"conventionalCommits": true,
"version": "independent",
"command": {
"publish": {
"message": "chore: Publish"
}
}
}