-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
Do you want to request a feature or report a bug?
bug
What is the current behavior?
Currently, when there are resolutions defined, --ignore-optional
is ignored and the optional dependencies are installed anyway.
You can test it with a simple package.json:
{
"name": "test-optional",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"optionalDependencies": {
"fsevents": "^1.0.0"
},
"resolutions": {
"fsevents": "^1.2.4"
}
}
on yarn install --ignore-optional
the above will lead to fsevents being installed nonetheless.
On Linux (Ubuntu Xenial) for example, this would fail the yarn install due to:
error [email protected]: The platform "linux" is incompatible with this module.
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
yarn install --ignore-optional
works as expected with:
{
"name": "test-optional",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"optionalDependencies": {
"fsevents": "^1.0.0"
}
}
and does not install fsevents
.
What is the expected behavior?
No optional dependencies to be installed with --ignore-optional
, no matter whether they are mentioned in resolutions
or not.
Please mention your node.js, yarn and operating system version.
yarn 1.7.0
Node 10.5.0
OSX High Sierra and Debian Xenial