JSPM

  • Created
  • Published
  • Downloads 13764
  • Score
    100M100P100Q176964F
  • License MIT

CLI to automatically install peerDeps

Package Exports

  • install-peerdeps

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (install-peerdeps) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

install-peerdeps

As seen on the README of Airbnb's ESLint config!

Disclaimer: Airbnb is not affiliated with, and does not endorse, this CLI tool

Build Status npm version Dependency Status devDependency Status

https://nodei.co/npm/install-peerdeps.png?downloads=true&downloadRank=true&stars=true

A command-line interface to install an NPM package and its peer dependencies automatically.

Starting with NPM v3.0, peer dependencies are not automatically installed on npm install, and it can be a hassle to install them all manually. The install-peerdeps tool makes the process fast and easy.

Also works with Yarn.

Quick Start

# If you're using npm
npm install -g install-peerdeps

# If you're using yarn
yarn global add install-peerdeps

cd my-project-directory

install-peerdeps <package>[@<version>]

The specified package along with its peer dependencies will be installed.

Why

It's true that on Linux you can run something like this to automatically install peerDeps (taken from AirBnb's eslint config repo):

(
  export PKG=eslint-config-airbnb;
  npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)

However, the above solution is hard to remember, and doesn't work on Windows. This tool aims to solve both of these problems.

Usage

Usage: install-peerdeps <package>[@<version>], default version is 'latest'

Installs the specified package along with correct peerDeps.

Options:
 
  -h, --help        output usage information
  -V, --version     output the version number
  -d, --dev         Install the package as a devDependency
  -o, --only-peers  Install only peerDependencies of the package
  -S, --silent      If using npm, don't save in package.json
  -Y, --yarn        Install with yarn

Examples

eslint-config-airbnb

This package requires quite a few peer dependencies. Here's what you'd do to install them all:

install-peerdeps eslint-config-airbnb --dev

install-peerdeps will automatically detect whether you're using Yarn. If you are, it'll prompt you as to whether you want to use Yarn or npm to install the packages.

# If you're using npm
npm install eslint-config-airbnb eslint@^3.9.1 eslint-plugin-jsx-a11y@^2.2.3 eslint-plugin-import@^2.1.0 eslint-plugin
-react@^6.6.0 --save-dev

# If you're using yarn
yarn add eslint-config-airbnb eslint@^3.9.1 eslint-plugin-jsx-a11y@^2.2.3 eslint-plugin-import@^2.1.0 eslint-plugin
-react@^6.6.0 --dev

@angular/core

Angular also requires a few peer dependencies.

install-peerdeps @angular/core should do the trick.

What if you want to try a beta version? Run install-peerdeps @angular/core@next.

This tool will automatically install the version corresponding to the tag, as well as its peer dependencies:

...
Installing peerdeps for @angular/core@4.0.0-beta.1.
yarn add @angular/core rxjs@^5.0.1 zone.js@^0.7.2

yarn add v0.18.1
...

Contributing

See CONTRIBUTING.md

License

MIT