JSPM

peerdep

0.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 12
  • Score
    100M100P100Q43520F
  • License MIT

An alternative peer dependency warning system

Package Exports

  • peerdep

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 (peerdep) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

peerdep

A warning system for peer dependencies.

peerDependencies may become removed from npm but that doesn't mean modules won't have peer dependencies. Any time a module accepts a plugin a peer dependency has been created. This library will help you warn users when they have not installed a compatible peer dependency.

NPM

usage

Install with npm install peerdep --save and then in your module/plugin's package.json, define your peerDependencies as normal but include this peerdep install script:

{
  "name": "my-plugin",
  "version": "0.1.0",
  "scripts": {
    "install": "peerdep"
  },
  "peerDependencies": {
    "grunt": "~0.4.1"
  },
  "dependencies": {
    "peerdep": "~0.1.0"
  }
}

Now when your plugin has been installed it will run the peerdep script to check if a compatible version of grunt@~0.4.1 has been installed. If it has not been installed or an incompatible version has been installed peerdep will log a warning to the user upon npm install:

WARN peerinvalid Peer my-plugin@0.1.0 wants grunt@~0.4.1 but found "grunt@0.3.0" installed.

Alternative peerDependencies key

The first argument of the peerdep script is an alternate key if you want to avoid conflicts with the existing peerDependencies key:

{
  "name": "my-plugin",
  "version": "0.1.0",
  "scripts": {
    "install": "peerdep myPeerDependencies"
  },
  "myPeerDependencies": {
    "grunt": "~0.4.1"
  },
  "dependencies": {
    "peerdep": "~0.1.0"
  }
}

Release History

  • 0.1.0 - initial release

License

Copyright (c) 2014 Kyle Robinson Young
Licensed under the MIT license.