taze 的使用
在制作 cli 的时候,想实现一个更新依赖的功能,本来想使用
npm-check-updates这个包的,但是又搜到了taze这个由antfu大佬开源的包,优化了check这个包的缺点,所以还是用新的吧
npm-check-upadtes的缺点
由于历史的原因,check包有如下的缺点:
- 不支持
monorepo - 无法在
major/minor/patch模式之间切换
taze安装
A modern cli tool that keeps your deps fresh 一个现代的 cli 工具,让您的部门保持新鲜感
bash
npm i taze -g常用的命令
非 monorepo 模式
Taze
Taze 默认只匹配 minor/patch,也就是主版本号是不会匹配的

我们可以看到打印的信息是非常全面的,包含了当前版本是多少年以前的,最新的 minor 版本是多少时间以前更新的,最新的大版本是多少等等。
Taze major
匹配 major 版本的更新记录

Taze minor
匹配 minor 版本的更新记录

Taze patch
匹配 patch 的更新记录

更新依赖
以上的几个命令都只是查看依赖的更新状况,如果要执行更新的话,只需在各个命令后面加上 -w 即可。

Monorepo 模式
检查依赖更新
命令只需后面追加
-r即可
bash
taze major -r执行更新
后面追加 -w 即可
bash
taze major -r -w选择更新哪些依赖
上下+空格键切换选择
bash
taze -I只匹配 dependencies
bash
taze -P只匹配 devDependencies
bash
taze -DInclude 包含哪些依赖
bash
taze major -n vue去除哪些依赖
bash
taze major -x eslint更新 package.Json 后立即安装
bash
taze -w -i配置文件
javascript
import { defineConfig } from 'taze'
export default defineConfig({
// 忽略某个包
exclude: ['webpack'],
// 获取最新的包信息,而不是从缓存中
force: true,
// 修改package.json
write: true,
// 修改后使用npm install 或yarn install立即安装
install: true,
// 为每个包使用不同的更新模式
packageMode: {
typescript: 'major',
unocss: 'ignore',
'/vue/': 'latest'
}
})