Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 28 days 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 (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-12T02:38:03.000Z (6 months ago)
- Last Synced: 2024-05-20T02:15:33.683Z (6 months ago)
- Topics: cli-tool, dependencies, updates
- Language: TypeScript
- Homepage:
- Size: 2.69 MB
- Stars: 2,355
- Watchers: 7
- Forks: 76
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
🥦 Taze
(/ta:zei/, fresh in Persian)
A modern cli tool that keeps your deps fresh
npx tazeor 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.
## 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 (,).
```bash
taze --include lodash,webpack
taze --include /react/ --exclude react-dom # regex is also supported
```### Lockedversion
Locked (fixed version without `^` or `~`) packages are skipped by default, use `taze --include-locked` or `taze -l` to show them.
### 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/**',
],
// 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)