Multiple versions of same peerDependency required

A peer dependency means that a package is applicable to used with a particular version of the dependency & wouldn't work as intended if you exceed the specified version.

In your case [email protected] requires a version of React less than 16.4.0, [email protected] requires any version of React 15 and the same for [email protected].

You would need to downgrade from React 16.7.0, but that can break your application if you are using 16.7.0 features, or you could remove the packages and use another one or write the package's logic from start yourself.

Tip: always make sure to read package dependencies on npm website before actually considering to use a package for your project.


Taking Danyal's answer further, you can upgrade formsy-react and remove react-tap-event-plugin:

  1. Update formsy-react to latest version: (1.1.5 at time of writing), the latest version of this package supports react ^16.
  2. react-tap-event-plugin supports react version upto version 16.4. You have a few options here:
    1. Downgrade react: downgrading to 16.4 will remove all the warnings, but will restrict your ability to upgrade in the future
    2. Remove react-tap-event-plugin: According to the documentation https://www.npmjs.com/package/react-tap-event-plugin. This module is actually deprecated thanks to fixes made to later browsers. Check the blog post for info.
    3. Fork react-tap-event-plugin: I wouldn't do this myself, but you could fork the plugin and publish it yourself with the updated react peerDependency.