With the newest update to v2.7.3, NPM now warns about how NPM 3+ will no longer automatically install peer dependencies. The top-level application has to manually define them in its own package.json. If this doesn't make enough sense, please try it out on your own on NPM v2.7.3 and read the warnings.
In the context of this repository, this expected breaking change particularly becomes an issue when the top-level application defines font-awesome-webpack and the newest less-loader simultaneously in its package.json. font-awesome-webpack expects less-loader@~0.7.7, which defines a peer dependency of less@^1.5. Meanwhile, the top-level less-loader@2.1.0 defines a peer dependency of less@^2.3.1. Since NPM doesn't allow two versions of the same repository, the top-level application must choose either. But choosing either will break the other peer dependency, because ^1.5 and ^2.3.1 are incompatible.
My proposed solution to this problem is to have font-awesome-webpack expect less-loader@>=0.7.7 instead of @~0.7.7. I just tested this solution in my fork, and things seem to work fine, probably because less-loader's API hasn't changed much.
With the newest update to v2.7.3, NPM now warns about how NPM 3+ will no longer automatically install peer dependencies. The top-level application has to manually define them in its own
package.json
. If this doesn't make enough sense, please try it out on your own on NPM v2.7.3 and read the warnings.In the context of this repository, this expected breaking change particularly becomes an issue when the top-level application defines
font-awesome-webpack
and the newestless-loader
simultaneously in its package.json.font-awesome-webpack
expectsless-loader@~0.7.7
, which defines a peer dependency ofless@^1.5
. Meanwhile, the top-levelless-loader@2.1.0
defines a peer dependency ofless@^2.3.1
. Since NPM doesn't allow two versions of the same repository, the top-level application must choose either. But choosing either will break the other peer dependency, because^1.5
and^2.3.1
are incompatible.My proposed solution to this problem is to have
font-awesome-webpack
expectless-loader@>=0.7.7
instead of@~0.7.7
. I just tested this solution in my fork, and things seem to work fine, probably becauseless-loader
's API hasn't changed much.Please correct me if there's anything wrong.
EDIT: added the word "simultaneously"