Do you want to request a feature or report a bug?
Bug
Feature Request
What is the current behavior?
I would expect the following sequence to remove all development dependencies from the project but it does not.
yarn install
yarn install --production
If the current behavior is a bug, please provide the steps to reproduce.
git clone https://github.com/ajhool/yarn-dependency-behavior.git
cd yarn-dependency-behavior
yarn install //moduleD only has devDependencies so ./packages/moduleD/node_modules is populated.
yarn install --production // observe that ./packages/moduleD/node_modules is still populated despited only include devDependencies.
What is the expected behavior?
Yarn install && yarn install –production should be idempotent, it should not matter if I call yarn install
before yarn install --production
If the current behavior is expected, then perhaps an explicit statement in the yarn install --production
documentation or an execution-time warning would be helpful. A lot of people simply run yarn install --production
before zipping and deploying their code.
Please mention your node.js, yarn and operating system version.
Node 8.6.0
MacOS 10.12.6
Yarn 1.9.4
I believe that I closed it because
yarn install --production
is not designed to prune out dev dependencies. It is only supposed to install the production dependencies.yarn install --production
is a subset ofyarn install
and callingyarn install --production
after callingyarn install
should have no effect.Please don’t kill the messenger on this one, I believe that
yarn install --production
should prune out the dev dependencies, but I don’t believe that the yarn authors intended for that behavior.This thread might be helpful: #696
I will reopen it and describe this as a feature request instead of a bug.
Thanks for the clarification, I’ll just use
npm prune --production
for now…Does yarn have a way to prune package for production, though? For build scenarios it seems a fairly straightforward behaviour: install all dependencies (including dev for stuff like gulp or whatever), perform build, remove dev dependencies and voila.
For a 100%% yarn-based process, seems like this fairly basic behaviour is missing so I have a choice between either removing the folder and reinstall or replicating yarn configuration for npm as well to be able to prune (since in my case I’m installing to a custom folder specified in yarnrc which NPM doesn’t know about). In which I might as well just use npm.
I do think the behaviour described in the initial report is desirable.
If this is not a bug, then shouldnt this page be updated?
https://classic.yarnpkg.com/en/docs/cli/prune/
I would also really like the option to remove the dev dependencies from the node modules…
any way to prune dev dependencies using only yarn?
Closing as fixed in v2 where
yarn workspaces focus --production
only keeps dependencieshttps://yarnpkg.com/getting-started/migration
https://yarnpkg.com/cli/workspaces/focus