yarn workspaces
适用于多个项目互相依赖或者有共同依赖。
package.json
{
"private": true,
"workspaces": ["workspace-a", "workspace-b"]
}
cli
-
yarn workspace <workspace_name> <command>
指定workspace_name执行command -
yarn workspaces info [--json]
展示依赖信息 -
yarn workspaces run <command>
所有的workspaces执行command -
yarn <command> -W
在workspaces根目录执行command
lerna
前端monorepo项目管理工具。
lerna.json 配置相关。
两种模式
- fixed 所有package使用一个版本号,每次发布时候,如果package有变动则更新版本号。缺点是当任意package的major版本变动时,所有的packge的major版本都会跟着变化。
- independent 每个package单独版本号。
cli
-
publish
发布版本。 -
version
类似npm version。 -
bootstrap
安装依赖,link相互依赖。 -
list
列出所有package。 -
changed
列出有变化的package。 -
diff
类似git diff。 -
exec
在package目录内执行shell命令。 -
run
执行package的scripts脚本。 -
init
初始化或更新lerna repo。 -
add
为package添加依赖,类似yarn workspace <workspace_name> add
。 -
clean
删除所有的node_modules。 -
import
导入已有的git项目。 -
link
将所有相互依赖的package链接在一起。 -
create
创建新package,类似npm init。 -
info
查看当前环境信息。
网友评论