Skip to content

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 -D

Include 包含哪些依赖

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'
  }
})