Check the latest versions of dependencies on npm gracefully, and do whatever you want.
npm install npm-upnpm-up
======
Check the latest versions of dependencies on npm gracefully, and do whatever you want.





bash
npm i npm-up -g
`Features
- Much faseter than npm.
- Do not depend on a local npm, much smaller.
- Check the latest versions of dependencies either locally or gloablly, and update package.json.
+ dependencies
+ devDependencies
+ optionalDependencies
- Install latest modules.
- Reasonable warnings for inconsistency.
- Use a mirror registy to speed up, especially for Chinese users.
- Cache to speed up repeated operations.
- Designed for OCD.Usage
1. Run npm-up [options] in a project directory with a package.json file. For example: npm-up -iw.
If no options are configured, it will only check the latest version and do nothing but display.2. Run
npm-up -g to check globally npm packages.3. Run
npm-up -A to check all projects in sub directories.
#### commands:
`
clean clean cache
dump dump cache
`#### Options:
`
-V, --version output the version number
-g, --global Check global packages
-A, --All Check all projects in sub directories, depth is 1
-w, --writeBack Write updated version back to package.json
-i, --install Install the latest version of the packages
-l, --lock Use specific versions in package.json, with no ranges. (except *)
--lock-all Lock, even for * version
-a, --all Shortcut for -wil
-m, --mirror Use a mirror registry host
--no-cache Disable version cache
--no-warning Disable warning
-d, --dep Check dependencies only
-D, --dev Check devDependencies only
-O, --optional Check optionalDependencies only
-c, --cwd Set current working directory
-L, --logLevel Set loglevel for npm, default is error
-t, --tag Dist-tag used as the version to be updated
-e, --exclude Excluded packages list, split by comma or space
-o, --only Included packages list, split by comma or space
-p --exclude-locked Exclude all locked packages
-h, --help output usage information
`Use a mirror registry
First of all, You can use something like
`
npm config set registry http://registry.npm.taobao.org
`
to set a npm registry globally to speed up npm's requests, such as version searching and package downloading, especially for Chinese users.
However, it may cause some trouble (you can't publish unless using
-reg every time, because a mirror is usually read-only).In npm-up
- You can use a built-in host with name:
`bash
npm-up -m taobao # also suport cnpmjs, npm (official)
`
- or give a specific hostname
`bash
npm-up -m http://registry.npm.taobao.org
npm-up -m registry.npm.taobao.org # http:// is optional
`> For Chinese users, use
-m taobao to fly up!Version Patterns
Fully support semantic versions and tags. Eg:
`
*
^1.5.4
~2.3.0
>= 4.4.5
0.9.7
0.5.0-alpha1
'' //regard as *
latest // dist-tag
`Notice that a ranges version may be overridden by Caret Ranges(^) when written back, and will be updated only when the latest version is greater than all the versions possible in the range.
`
>= 1.0.0 <= 1.5.4 // Version Range
1.2 - 2.3.4 // Hyphen Ranges
1.x // X-Ranges
`
- [OCD design] However, the semantic meaning of the ranges may somehow be ignored, because I just want the latest version.
- If the version declared in the package.json is not recognizable, the corresponding package will be excluded.
- More info about _version_: semverRules
0. Take 3 versions about one package into consideration:
- Version declared in package.json.
- Version of the package installed.
- The latest version of the package.0. If a package is not installed, only
package.json will be updated, and the package itself won't be installed.0. If the version declared is
*, it will not be overwritten, even when the flag --lock is set. If you really want to change it, use --lock-all flag.0. The prefix, such as
^ ~ > <, of the version will be preserved when written back, unless flag --lock` is set.0. If an installed package's version is different from the version declared, there comes a warning.
0. Installed version is preferred.