(/ta:zei/, fresco em persa)
Uma ferramenta CLI moderna que mantém suas dependências atualizadas
npx taze
ou recursivamente para monorepos
npx taze -r
npx taze
Por padrão, taze
irá apenas atualizar versões nos intervalos especificados em package.json
(que é seguro e o comportamento padrão de npm install
)
Para ignorar os intervalos, defina explicitamente a alteração máxima de versão permitida.
Por exemplo, taze major
verificará todas as alterações e acessará as alterações estáveis mais recentes, incluindo as principais (alterações importantes), ou taze minor
, que acessará as alterações secundárias mais recentes dentro da mesma versão principal.
Verifique se há atualizações importantes
Verifique pequenas atualizações
Verifique as atualizações de patch
taze
tem suporte monorepo integrado de primeira classe. Basta adicionar -r
para verificar os subdiretórios que contêm package.json
e atualizá-los juntos. Ele irá lidar com pacotes privados locais automaticamente.
Veja taze --help
para mais detalhes
Você pode filtrar os pacotes que deseja verificar se há atualizações por --include
ou --exclude
; eles aceitam string e regex, separados por vírgulas (,).
taze --include lodash,webpack
taze --include /react/ --exclude react-dom # regex is also supported
Pacotes bloqueados (versão fixa sem ^
ou ~
) são ignorados por padrão, use taze --include-locked
ou taze -l
para mostrá-los.
Com o arquivo taze.config.js
, você pode configurar as mesmas opções que o comando possui.
import { defineConfig } from 'taze'
export default defineConfig ( {
// ignore packages from bumping
exclude : [
'webpack'
] ,
// fetch latest package info from registry without cache
force : true ,
// write to package.json
write : true ,
// run `npm install` or `yarn install` right after bumping
install : true ,
// ignore paths for looking for package.json in monorepo
ignorePaths : [
'**/node_modules/**' ,
'**/test/**' ,
] ,
// override with different bumping mode for each package
packageMode : {
'typescript' : 'major' ,
'unocss' : 'ignore' ,
// regex starts and ends with '/'
'/vue/' : 'latest'
} ,
// disable checking for "overrides" package.json field
depFields : {
overrides : false
}
} )
taze
é inspirado nas seguintes ferramentas.
Eles funcionam bem, mas têm focos e conjuntos de recursos diferentes, experimente-os também :)
Muito obrigado a @sinoon que ajudou muito no brainstorming de ideias e na discussão de feedback.
Licença MIT © 2020 Anthony Fu