https://github.com/antfu-collective/taze
🥦 A modern cli tool that keeps your deps fresh
https://github.com/antfu-collective/taze
cli-tool dependencies updates
Last synced: about 1 month ago
JSON representation
🥦 A modern cli tool that keeps your deps fresh
- Host: GitHub
- URL: https://github.com/antfu-collective/taze
- Owner: antfu-collective
- License: mit
- Created: 2020-07-22T05:48:15.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2026-05-15T02:09:29.000Z (about 1 month ago)
- Last Synced: 2026-05-15T03:37:18.327Z (about 1 month ago)
- Topics: cli-tool, dependencies, updates
- Language: TypeScript
- Homepage:
- Size: 3.07 MB
- Stars: 4,168
- Watchers: 5
- Forks: 140
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-e18e - taze - CLI tool for keeping dependencies up to date. (Utilities / Project Tools)
- awesome - antfu-collective/taze - 🥦 A modern cli tool that keeps your deps fresh (TypeScript)
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
## 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`)*
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
Check up to minor updates
Check up to patch updates
### 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.
## Configuration
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 (,).
```bash
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.
```bash
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`.
```bash
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.
```bash
taze --maturity-period 14
```
If you want stable releases only while still honoring the maturity period, use `stable` mode.
```bash
taze stable --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.
```js
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.
- [npm-check-updates](https://github.com/raineorshine/npm-check-updates)
- [npm-check](https://github.com/dylang/npm-check)
They work well but have different focuses and feature sets, try them out as well :)
## Thanks
Great thanks to [@sinoon](https://github.com/sinoon) who helped a lot with idea brainstorming and feedback discussion.
## License
MIT License © 2020 [Anthony Fu](https://github.com/antfu)