This repository was archived by the owner on Jan 20, 2022. It is now read-only.
Closed
Conversation
4a3608c to
4224a20
Compare
1428d6b to
e8d9497
Compare
713e7e8 to
71d88a3
Compare
Introduces support to workspaces; adding ability to build an ideal tree that links defined workspaces, storing and reading lockfiles that contains workspaces info and also reifying installation trees properly symlinking nested workspaces into place. Handling of the config definitions is done via @npmcli/map-workspaces module added. refs: - https://github.com/npm/rfcs/blob/ea2d3024e6e149cd8c6366ed18373c9a566b1124/accepted/0026-workspaces.md - https://www.npmjs.com/package/@npmcli/map-workspaces - npm/rfcs#103
718ba67 to
ac9f4d8
Compare
isaacs
reviewed
May 1, 2020
| const assignParentage = Symbol('assignParentage') | ||
| const loadNode = Symbol('loadVirtualNode') | ||
| const loadLink = Symbol('loadVirtualLink') | ||
| const loadWorkspaces = Symbol('loadWorkspaces') |
Contributor
There was a problem hiding this comment.
I'm just noticing this now, not relevant to this PR, but we should make loadVirtual underscore its symbols like the other mixin classes.
isaacs
approved these changes
May 1, 2020
Contributor
isaacs
left a comment
There was a problem hiding this comment.
One minor nit that I'm pretty sure the hasWorkspaces option to the Node class in buildIdealTree isn't relevant. (Tests pass without that line?)
Other than that, this is great! For such a significant feature, it's impressive how little code actually needed to be changed or added to make it happen.
LGTM!
| optional: false, | ||
| global: this[_global], | ||
| legacyPeerDeps: this.legacyPeerDeps, | ||
| hasWorkspaces: !!pkg.workspaces, |
Contributor
There was a problem hiding this comment.
I don't see where this field is used, is it a leftover from something that changed?
Contributor
Author
There was a problem hiding this comment.
oh yeah def a leftover, will clean it up 😊
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Introduces support to workspaces; adding ability to build an ideal tree that links defined
workspaces, storing and reading lockfiles that containsworkspacesinfo and also reifying installation trees properly symlinking nestedworkspacesinto place.✏️ Changes
lib/arborist/build-ideal-tree.jsCreates trees that take into accountworkspacesdefinitionslib/arborist/load-virtual.jsAdded ability to readworkspacesdefinitionslib/edge.jsAdded check that aworkspaceedges are symlinkslib/node.jsAddedworkspacessetter that will properly create theedgesOutpointing to nested workspaceslib/shrinkwrap.jsAddworkspacesinfo to lockfile🔗 References