Yarn seems to only detect one of the entries in a dependency's package.json when determining which dependency versions to specify during yarn.lock generation.
If the current behavior is a bug, please provide the steps to reproduce.
Observe that yarn check fails with error "poet#jade#uglify-js@^2.4.19" doesn't satisfy found match of "uglify-js@2.2.5"
Taking a closer look, yarn.lock only specifies uglify-js@~2.2.5 per transformers's uglify-js dependency. node_modules/jade/package.json specifies "uglify-js": "*" in devDependencies but "uglify-js": "^2.4.19" in dependencies, so we'd expect ^2.4.19 to be satisfied in yarn.lock, but it is not.
My guess is that the yarn.lock-generation does not take multiple dependency versions into account, but yarn check does (or the ordering is just lucky in yarn check to catch the issue).
What is the expected behavior?
Yarn installs multiple versions of uglify-js in order to satisfy both transformers and jade.
Please mention your node.js, yarn and operating system version.
Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Yarn seems to only detect one of the entries in a dependency's
package.json
when determining which dependency versions to specify duringyarn.lock
generation.If the current behavior is a bug, please provide the steps to reproduce.
yarn check
fails witherror "poet#jade#uglify-js@^2.4.19" doesn't satisfy found match of "uglify-js@2.2.5"
Taking a closer look,
yarn.lock
only specifiesuglify-js@~2.2.5
pertransformers
'suglify-js
dependency.node_modules/jade/package.json
specifies"uglify-js": "*"
indevDependencies
but"uglify-js": "^2.4.19"
independencies
, so we'd expect^2.4.19
to be satisfied inyarn.lock
, but it is not.My guess is that the
yarn.lock
-generation does not take multiple dependency versions into account, butyarn check
does (or the ordering is just lucky inyarn check
to catch the issue).What is the expected behavior?
Yarn installs multiple versions of
uglify-js
in order to satisfy bothtransformers
andjade
.Please mention your node.js, yarn and operating system version.