yarnpkg/yarn

feature: workspaces: ability to install in a workspace in isolation

Open

#4,099 opened on Aug 4, 2017

View on GitHub
 (20 comments) (113 reactions) (0 assignees)JavaScript (41,514 stars) (2,731 forks)batch import
cat-featurehelp wantedhigh-priorityneeds-discussiontriaged

Description

Do you want to request a feature or report a bug? feature

What is the current behavior?

Running yarn install anywhere in a workspaced project will install node_modules in the root with hoisting and symlinking.

But sometimes one needs to test a single workspace installation in isolation from other workspaces.

Example:

I want to check if jest/packages/jest-haste-map has all dependencies listed correctly and I want to install all required node_modules inside jest/packages/jest-haste-map/node_modules.

Solution:

Introduce a new installation flag --ignore-workspaces, when you run yarn install --ignore-workspaces Yarn would not go up the folder tree and will not find the workspace root and will treet the current CWD as a single project.

Questions:

  1. Should we go completely e2e here or still symlink other workspaces if they are in dependencies?

  2. Should we remove node_modules from the root so that it does not affect Node.js module resolution?

Contributor guide