[rush-lib] Support access parameter for each project configuration #5100
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.
Summary
Restricts a package to be used according to its access restrictions.
Details
Package maintainers often need enhanced control and insight into their projects. By introducing a new parameter named access for rush projects, developers gain the ability to limit the visibility of their projects. This feature ensures that unauthorised developers do not install the projects when they are not supposed to.
Currently the parameter provides 3 values:
Example
P1 has protected access restrictions and is being used by P2 and P3. P1 and P2 belongs to the same subspace S1, while P3 belongs to the subspace S2. Since P1 is restricted to only be installed by packages from S1,
rush install
will fail.How it was tested
{ "access": "protected" }
for P1 configuration (or private)rush install --subspace S2
The error message will appear and the installation will fail:
Impacted documentation
https://rushjs.io/pages/configs/rush_json