TAZE(1)

NAME

taze🥦 A modern cli tool that keeps your deps fresh

SYNOPSIS

INFO

4.1k stars
132 forks
0 views
TypeScriptDeveloper Tools

DESCRIPTION

🥦 A modern cli tool that keeps your deps fresh

README

🥦 Taze

(/ta:zei/, fresh in Persian)

A modern cli tool that keeps your deps fresh

npx taze

or recursively for monorepos

npx taze -r

Recursive mode

Features

  • Built-in support for monorepos
  • No installation required — npx taze
  • Safe by default — updates in the version range you are 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)

Default mode

To ignore the ranges, explicitly set the maximum allowed version change.

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


Check for major updates
Major mode

Check up to minor updates
Minor mode

Check up to patch updates
Patch mode

Monorepo

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

Recursive mode default

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, separated by commas (,).

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

Locked Versions

Locked (fixed version without ^ or ~) packages are skipped by default, use taze --include-locked or taze -l to show them.

Peer Dependencies

Bumping version in peerDependencies is not enabled by default. Pass --peer option to include them in the update process.

taze --peer

Maturity Period

By default the most recent version of a dependency is used. You may choose to filter to versions that have been out longer by passing --maturity-period.

taze --maturity-period

The filter when using the maturity-period flag is 7 days. You may also want to pass a day value to have a longer or shorter number of days.

taze --maturity-period 14

[!NOTE] This kind of filtering is sometimes called cooldown or minimumReleaseAge by other tools.

Config file

With taze.config.js file, you can configure the same options the command has.

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/', ], // ignore package.json that in other workspaces (with their own .git,pnpm-workspace.yaml,etc.) ignoreOtherWorkspaces: true, // 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 } })

Alternatives

taze is inspired by 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 with idea brainstorming and feedback discussion.

License

MIT License © 2020 Anthony Fu

SEE ALSO

clihub3/4/2026TAZE(1)