Skip to content

前端版本管理

  • singlerepo: npm
  • monorepo: lernarushchangesets

lerna

bash
lerna add-caching # 运行设置基本缓存选项的向导。
lerna changed # 列出自上次标记版本以来已更改的本地包
lerna clean # 从所有包中删除 node_modules 目录
lerna create # 创建一个新的 lerna 管理的包
lerna diff # 自上次发布以来比较所有包或单个包
lerna exec # 在每个包中执行任意命令
lerna import # 将包导入到具有提交历史记录的 monorepo 中
lerna info # 打印本地环境信息
lerna init # 创建新的 Lerna 存储库或将现有存储库升级到当前版本的 Lerna
lerna list # 列出本地包
lerna publish # 在当前项目中发布包
lerna repair # 更新配置文件以匹配当前安装的 lerna 版本
lerna run # 在包含该脚本的每个包中运行 npm 脚本
lerna version # 显示历史版本
lerna watch # 监视包内的更改并从存储库的根目录执行命令
lerna add-caching # 运行设置基本缓存选项的向导。
lerna changed # 列出自上次标记版本以来已更改的本地包
lerna clean # 从所有包中删除 node_modules 目录
lerna create # 创建一个新的 lerna 管理的包
lerna diff # 自上次发布以来比较所有包或单个包
lerna exec # 在每个包中执行任意命令
lerna import # 将包导入到具有提交历史记录的 monorepo 中
lerna info # 打印本地环境信息
lerna init # 创建新的 Lerna 存储库或将现有存储库升级到当前版本的 Lerna
lerna list # 列出本地包
lerna publish # 在当前项目中发布包
lerna repair # 更新配置文件以匹配当前安装的 lerna 版本
lerna run # 在包含该脚本的每个包中运行 npm 脚本
lerna version # 显示历史版本
lerna watch # 监视包内的更改并从存储库的根目录执行命令
bash
# 安装
npm i lerna -g # 全局安装后就可以直接使用 lerna 命令了
pnpm i lerna nx -wD # 项目安装
# 配置
# 创建 lerna.json 文件 (或执行 lerna init)
# {
# 	"$schema": "node_modules/lerna/schemas/lerna-schema.json",
# 	"version": "0.0.0",
# 	"npmClient": "pnpm" # 配合 pnpm-workspace 使用
#   "command": {
# 		"publish": {
# 			"allowBranch": "main",
# 			"conventionalCommits": true,
# 			"message": "feat: publish %s"
# 		}
# 	}
# }
# 配置构建缓存
lerna add-caching # 创建 nx.json 配置文件
lerna clean
pnpm i
lerna repair # 修复
lerna run build # 全量构建

# 发版
lerna publish --no-private

# 其他命令
lerna clean # 清除所有安装的依赖(清除所有 node_modules 文件)
lerna run build --scope=@pch1024/vite-react # 单包构建
lerna version # 查看版本变更
lerna init # 自动初始化(建议手动)

# 为了让 Nx 快速正确地运行任务,它创建了存储库中所有项目之间的依赖关系图。
# 直观地探索这个图有助于理解 Nx 为什么以某种方式表现,并获得代码体系结构的高级视图。
npx nx graph # 可视化依赖关系图
npx nx graph --file=graph.json # 数据化依赖关系图
# 安装
npm i lerna -g # 全局安装后就可以直接使用 lerna 命令了
pnpm i lerna nx -wD # 项目安装
# 配置
# 创建 lerna.json 文件 (或执行 lerna init)
# {
# 	"$schema": "node_modules/lerna/schemas/lerna-schema.json",
# 	"version": "0.0.0",
# 	"npmClient": "pnpm" # 配合 pnpm-workspace 使用
#   "command": {
# 		"publish": {
# 			"allowBranch": "main",
# 			"conventionalCommits": true,
# 			"message": "feat: publish %s"
# 		}
# 	}
# }
# 配置构建缓存
lerna add-caching # 创建 nx.json 配置文件
lerna clean
pnpm i
lerna repair # 修复
lerna run build # 全量构建

# 发版
lerna publish --no-private

# 其他命令
lerna clean # 清除所有安装的依赖(清除所有 node_modules 文件)
lerna run build --scope=@pch1024/vite-react # 单包构建
lerna version # 查看版本变更
lerna init # 自动初始化(建议手动)

# 为了让 Nx 快速正确地运行任务,它创建了存储库中所有项目之间的依赖关系图。
# 直观地探索这个图有助于理解 Nx 为什么以某种方式表现,并获得代码体系结构的高级视图。
npx nx graph # 可视化依赖关系图
npx nx graph --file=graph.json # 数据化依赖关系图

changesets (略)

rush (略)

参考资料

༼ つ/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿◕ _◕ ༽つ/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿