Batch modify the NPM dependent CLI tools, simplify the module uninstall and migration operations. 中文文档
$ npx voy rm <match-rule> [options]
$ npx voy mg <match-rule> [options]
Examples:
$ npx voy rm ^eslint -D # remove package which's name start with `eslint` in `devDependencies`
$ npx voy mg '^(?!react)' # remove package which's name not start with `react` in `dependencies`
$ npx voy rm loader$ -D # remove package which's name end with `loader` in `devDependencies`
Name: match-rule
Type: RegExp|string
Options: all
Module corresponding to name matching, Can be regular expressions or the string that matching all modules.
Name: options
Type: string
Options: -D
Whether it works on the devDependencies
field in package.json
, which is consistent with the npm I package -D
in NPM.
Batch deletion uses the voy rm
command to receive a regular expression or a string valued at all
as a parameter. Such as:
$ npx voy rm babel
The above command delete all the module in the package.json
dependencies
which's name including the babel
. If you want to delete the module in devDependencies
, you need to add a -D
parameter. Such as:
$ npx voy rm babel -D
If you want to uninstall all the modules in the dependencies
, you can do it directly through the all
command.
$ npx voy rm all
Module migration refers to the switch between dependencies
and devDependencies
locations that depend on package.json
. For example, when the eject
command is executed in the create-react-app
generated project, all the modules will exist in the dependencies
module. Execution at this time:
$ npx voy mg '^(?!react)'
You can transfer all the dependencies
modules which' name don't start with React
to the devDependencies
field.
Of course, you can transfer all modules from devDependencies
to the dependencies
field.
$ npx voy mg all -D
$ npm i voy -S
Name: filter
Type: RegExp
Name: field
Type: string
Options: dep|dev
const voy = require('voy')
voy({ filter: /loader$/, field: 'dep' }).rm()
voy({ filter: /vue/ }).mg()
Copyright (c) 2017-present, Army-U