-
Notifications
You must be signed in to change notification settings - Fork 238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RRFC] improving the workspaces symlinking experience #556
Comments
"linking myspace" is a very old-fashioned phrase I think |
@bnb did you mean |
yes fixed :) |
@bnb I'm also finding a very similar issue in I believe that there's a very good DX argument here to start running |
Adds a minimalistic reify step that updates the installed tree after a version change within one of the configured workspaces when using any of the workspaces config options. It's also possible to use the `--save` config option in order to auto update semver ranges of dependencies declarations accross dependent `package.json` files. Fixes: npm#3403 Relates to: npm/rfcs#556 Relates to: npm#3757 Relates to: npm#4193
Adds a minimalistic reify step that updates the installed tree after a version change within one of the configured workspaces when using any of the workspaces config options. It's also possible to use the `--save` config option in order to auto update semver ranges of dependencies declarations accross dependent `package.json` files. Fixes: npm#3403 Relates to: npm/rfcs#556 Relates to: npm#3757 Relates to: npm#4193
Adds a minimalistic reify step that updates the installed tree after a version change within one of the configured workspaces when using any of the workspaces config options. It's also possible to use the `--save` config option in order to auto update semver ranges of dependencies declarations accross dependent `package.json` files. Fixes: npm#3403 Relates to: npm/rfcs#556 Relates to: npm#3757 Relates to: npm#4193
Adds a minimalistic reify step that updates the installed tree after a version change within one of the configured workspaces when using any of the workspaces config options. It's also possible to use the `--save` config option in order to auto update semver ranges of dependencies declarations accross dependent `package.json` files. Fixes: #3403 Relates to: npm/rfcs#556 Relates to: #3757 Relates to: #4193
going to close this since it's been implemented :) |
Adds a minimalistic reify step that updates the installed tree after initializing a new workspace. Moved the shared update logic from `lib/commands/version.js` to a `lib/workspaces/update-workspaces.js` module that is reused between both `npm version` and `npm init`. Relates to: npm/rfcs#556 Relates to: npm#4588
Adds a minimalistic reify step that updates the installed tree after initializing a new workspace. Moved the shared update logic from `lib/commands/version.js` to a `lib/workspaces/update-workspaces.js` module that is reused between both `npm version` and `npm init`. Relates to: npm/rfcs#556 Relates to: npm#4588
Adds a minimalistic reify step that updates the installed tree after initializing a new workspace. Moved the shared update logic from `lib/commands/version.js` to a `lib/workspaces/update-workspaces.js` module that is reused between both `npm version` and `npm init`. Relates to: npm/rfcs#556 Relates to: npm#4588
Adds a minimalistic reify step that updates the installed tree after initializing a new workspace. Moved the shared update logic from `lib/commands/version.js` to a `lib/workspaces/update-workspaces.js` module that is reused between both `npm version` and `npm init`. Relates to: npm/rfcs#556 Relates to: #4588
Motivation ("The Why")
Personally as I began working with workspaces, one of the most confusing concepts was how to actually access one module from another. I've also heard this from other folks - extremely skilled engineers - I've talked to who were trying to pick up workspaces, prior to me using them. Upon reaching out to folks that I think most others wouldn't have available to them, I was able to understand that the modules were symlinked from node_modules. Great!
The one pain point with that is that it's not entirely obvious what the "correct" way to do this is. Sometimes it works magically, but other times it doesn't. This seems to be because this symlinking feature is hidden behind
npm install
, either at the root or in the new workspace you want to add (npm install -w myspace
).I'd like to request that this be improved in some way. Here are the ways I've thought of:
npm i -w lol
, symlinklol
. I assume this has to do with Arborist, so I'm not sure what the simplest way to do this is but ideally taking whatever path has the least perf impact would be ideal.npm install
might be useful (people who want to manually do everything, external tooling that does it but not the linking).npm ws link
or something like that.Example
How
Current Behaviour
npm init -w myspace npm install # it's unexpected that I have to do this!
Desired Behaviour
npm i -w myspace # automatically links on init!
References
The text was updated successfully, but these errors were encountered: