sudongyuer / taze

🥦 A modern cli tool that keeps your deps fresh

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🥦 Taze

(/ta:zei/, fresh in Turkish)

A modern cli tool that keeps your deps fresh

npx taze

or recursively for monorepos

npx taze -r

Features

  • Built-in support for monorepos
  • No installation required - npx taze
  • Safe by default - updates in the version range your allowed

Usage

By default, taze will only bump versions in the ranges you specified in package.json (which is safe and the default behavior of npm install)

To ignore the ranges, if you explicitly set the maximum allowenace version changes.

For example taze major will check all changes and bump to the lastest stable changes including majors(breaking changes), or taze minor that bump to lastest minor changes within the same major version.


Check for major updates

Check up to minor updates

Check up to patch updates

Monorepo

taze has the built-in first-class monorepo support. Simply adding -r, it will scan the subdirectories that contains package.json and update them together. It will handles in local private packages automatically.

Configures

See taze --help for more details

Filters

You can filter out packages you want to check for upgrades by --include or --exclude, they accept string and regex, separate by command(,).

taze --include lodash,webpack
taze --include /react/ --exclude react-dom # regex is also supported

Config file

With taze.config.js file you can configure the same options the commands have.

import { defineConfig } from 'taze'

export default defineConfig({
  // ignore packages from bumpping
  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 bumpping
  install: true,
  // override with different dumpping mode for each package
  packageMode: {
    'typescript': 'major',
    'unocss': 'ignore',
    // regex starts and ends with '/'
    '/vue/': 'latest'
  }
})

Alternatives

taze is inspired from the following tools.

They work well but have different focuses and feature sets, try them out as well :)

Thanks

Great thanks to @sinoon who helped a lot on having idea brainstroming and feedback discussion.

License

MIT License © 2020 Anthony Fu

About

🥦 A modern cli tool that keeps your deps fresh

License:MIT License


Languages

Language:TypeScript 99.9%Language:JavaScript 0.1%