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 --globalnpm 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.0npm install install-groupuse 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
--packageparameter is provided,install-groupwill scan the localpackage.jsonfile for all *Dependencies groupsdependenciescan be any value inpackage.jsonthat ends with 'Dependencies', regardless of whatnpmofficially 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
packageis provided,install-groupwill scan the localpackage.jsonfor all *Dependencies groupsdependenciescan be any value inpackage.jsonthat ends with 'Dependencies', regardless of whatnpmofficially 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