-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
Two important limitations with workspaces and lockfiles that have been brought by @jeanlauliac:
-
Let's say we have ten different packages. We want all of them to live in their own repository so that people can work on them independently if they want, but we also want to be able to link them together if we need to. To do this, we have a mega repository with a submodule for each package, and a package.json that references each of these submodule as a workspace.
-
First problem: If we run
yarn addinside a package from within this workspace, the lockfile will be created inside the workspace root. There won't be any lockfile inside the individual packages. Because of this, someone working on the individual package repository will not use the same dependencies as someone using the workspace. -
Second problem: This is actually the reverse problem. Someone adding a dependency from the individual package repository will add the dependency version to the individual lockfile. Because of this, users of the workspace might not use the same version (because their source of truth will be the workspace root's lockfile).
Not sure these problems are solvable. Just something to keep in mind, and maybe we can come up with some kind of smart solution.