Dependency grouping for npm install
- npm no longer auto installs
peerDependencies
- With
install-group
, you can define and install from custom dependency groups beyond the standarddependencies
,devDependencies
, andoptionalDependencies
- Supports dynamic dependency groups directly from your
package.json
- Zero dependencies
install-group
reads your package.json
, identifies all *Dependencies groups, and can selectively install any combination of these groups or all if no specific group is mentioned.
install-group [dependencies] --package [name] <options>
install-group dev,peer --package @ahmadnassri/build-essential --global
npm install --global @ahmadnassri/eslint-config@^1.1.1 @ahmadnassri/remark-config@^1.0.0 @ahmadnassri/semantic-release-config@^1.0.6 editorconfig-checker@^1.3.3 eslint@^5.7.0 install-peerdeps@^1.9.0 node-release-lines@^1.3.1 npm-run-all@^4.1.3 remark-cli@^6.0.0 semantic-release@^15.10.5 updated@^1.1.0
npm install install-group
use as a CLI
install-group [dependencies] --package [name] <options>
parameter | required | default | description |
---|---|---|---|
dependencies |
✅ | - |
Comma-separated list or single dependencies group to install from target package |
package |
❌ | - |
package name to pull from npm registry |
options |
❌ | - |
list of CLI parameters to pass to npm install |
Notes:
- if no
--package
parameter is provided,install-group
will scan the localpackage.json
file for all *Dependencies groupsdependencies
can be any value inpackage.json
that ends with 'Dependencies', regardless of whatnpm
officially supports
use as a module
argument | required | default | description |
---|---|---|---|
dependencies |
✅ | prod |
Comma-separated list or single dependencies group to scan from the target package |
package |
❌ | - |
package name to pull from npm registry |
cwd |
❌ | process.cwd() |
working directory, path to package.json |
Notes:
- if no
package
is provided,install-group
will scan the localpackage.json
for all *Dependencies groupsdependencies
can be any value inpackage.json
that ends with 'Dependencies', regardless of whatnpm
officially supports
const scan = require("install-group");
// scan local package.json for all *Dependencies
scan({ dependencies: "dev,optional" });
// scan a package from npm registry for specified dependencies
scan({ dependencies: "peer", package: "@ahmadnassri/build-essential" });
[
"@ahmadnassri/eslint-config@^1.1.1",
"@ahmadnassri/remark-config@^1.0.0",
"@ahmadnassri/semantic-release-config@^1.0.6",
"editorconfig-checker@^1.3.3",
"eslint@^5.7.0",
"install-peerdeps@^1.9.0",
"node-release-lines@^1.3.1",
"npm-run-all@^4.1.3",
"remark-cli@^6.0.0",
"semantic-release@^15.10.5",
"updated@^1.1.0"
]
Twitter: @AhmadNassri