[rush] Support pnpm `configDependencies` and `updateConfig` in pnpmfile
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- typescript
- Ambito
- build-system, tooling
Direzione di ricerca
Start by reading common/config/rush/pnpm-config.json and common/config/rush/.pnpmfile.cs, then compare the linked pnpm configDependencies and updateConfig documentation with Rush's existing pnpm configuration flow. Done means the supported configuration shape and hook behavior are defined, implemented, and covered by appropriate tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Feature Request: Support pnpm 10's configDependencies and updateConfig in pnpmfile
Summary
Rush currently does not provide a supported mechanism to declare pnpm configDependencies such as globalConfigDependencies.
pnpm supports configuration plugins via configDependencies and the new updateConfig hook in pnpmfile:
https://pnpm.io/config-dependencies
https://pnpm.io/pnpmfile#hooksupdateconfigconfig-config--promiseconfig
These are required for enabling pnpm plugins such as @pnpm/plugin-esm-node-path, which are used in pnpm’s global virtual store mode:
https://pnpm.io/11.x/global-virtual-store
Because Rush does not support these features, pnpm’s configuration plugin system cannot be used cleanly in Rush-managed repositories.
Problem
There is no Rush-supported way to:
- declare
configDependencies - use pnpmfile
updateConfighook in a supported way
As a result:
- pnpm
configDependenciescannot be installed in a structured way - global virtual store setups requiring pnpm plugins are blocked or require workarounds (
packageExtensions)
Proposed Solution
1. Support globalConfigDependencies
Introduce a Rush-level configuration field (e.g. in common/config/rush/pnpm-config.json):
{
"globalConfigDependencies": {
"@pnpm/plugin-esm-node-path": "0.1.2"
}
}
Or rush-pnpm add --config @pnpm/plugin-esm-node-path should add @pnpm/plugin-esm-node-path under configDependencies in common/temp/pnpm-workspace.yaml
2. Support updateConfig hook in common/config/rush/.pnpmfile.cs
module.exports = {
hooks: {
readPackage,
updateConifg, // new hook
}
};
- Lingua principale
- TypeScript
- Stelle
- 6.5k
- Fork
- 708
- Merge medio
- 4g 7h
- PR unite (30g)
- 61
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/rushstack
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
microsoft/rushstack#5971 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
microsoft/rushstack#5902 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
microsoft/rushstack#5839 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
microsoft/rushstack#5683 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/rushstack
Issue simili
-
Add: Digi World (Romania) SDApertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
Fission-AI/OpenSpec#1986 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
nestjs/docs.nestjs.com#3554 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
publicodes/publicodes#868 ·
-
namespace operations
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
EclipseFdn/open-vsx.org#13488 ·
I maintainer di solito rispondono entro 2 giorni