-
Notifications
You must be signed in to change notification settings - Fork 587
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
[rush] Design note: Subspace configuration improvements #4720
Comments
I am excited to see this improvement! I would like to put some thoughts here:
Is it say that the file-level absent? Or it means that property level absent in subspace's pnpm-config.json. For example,
strongly agree!
If a certain subspace is |
@william2958 seemed to think this was not a useful feature, at least in TikTok's monorepo where there are hundreds of subspaces. Although you could technically share logic using |
"in the case where
The (BTW it would be technically possible to support |
Yes. I've clarified the wording. |
@william2958 Here's how the docs update will look to reflect these changes: |
Today @william2958 and I chatted about some remaining design questions for the Subspace config files, related to his PR #4715:
subspaces.md
Here's a summary of the proposed changes:
The
rush init
template for.npmrc
needs a#
comment clearly explaining how the subspace.npmrc
gets merged withcommon/config/rush/.npmrc
The
subspaces/<name>/.pnpmfile-subspace.cjs
file (inherited from split workspaces) should get renamed to.pnpmfile.cjs
, since we forbidcomnmon/config/rush/.pnpmfile.cjs
when the feature is enabledcommon/config/rush/pnpm-config.json
should be treated as an all-or-nothing fallback in the case wheresubspaces/<name>/pnpm-config.json
is absent.ensureConsistentVersions
always applies within a subspace; there is no mode where it applies across all projects in the monorepoThe
ensureConsistentVersions
setting should be moved fromrush.json
tocommon-versions.json
so it is alongsideallowedAlternativeVersions
--subspace
is mandatory forrush check
when the feature is enabledrush version
,rush install
, etc always need to invokerush check
in a loop for each subspace withensureConsistentVersions=true
(or if we are optimizing, for the subset of subspaces affected by that operation).rush version
should NOT support the--subspace
parameter` since its operation isn't associated with any particular subspace@iclanton @chengcyber
The text was updated successfully, but these errors were encountered: