microsoft / microsoft/TypeScript
Resolve project references from root
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
Search Terms
Project reference root resolve.
Suggestion
Resolve project reference paths from root directory of a mono repository.
Use Cases
We have a large mono-repository with 1000s of sub-packages we want to convert to TS projects. Currently the references between them must be defined as relative paths, leading to configuration like:
"references": [
{
"path": "../../../base"
},
{
"path": "../colors"
},
{
"path": "../device_capabilities"
}
],
Which is:
- Hard to read and reason about
- Creates noisy diffs when moving packages
Ideally project references could be resolved from the root of the mono-repo project, e.g. rootDir or baseUrl options.
E.g.:
"references": [
{
"path": "base"
},
{
"path": "ui/base/colors"
},
{
"path": "ui/base/device_capabilities"
}
],
Checklist
My suggestion meets these guidelines:
- This wouldn't be a breaking change in existing TypeScript/JavaScript code
- This wouldn't change the runtime behavior of existing JavaScript code
- This could be implemented without emitting different JS based on the types of the expressions
- This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
- This feature would agree with the rest of TypeScript's Design Goals.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Im Issue werden keine Quelldateien, Tests oder Einstiegspunkte genannt. Beginne damit, project-reference path resolution zu finden und zu prüfen, wie rootDir und baseUrl mit dem vorgeschlagenen Verhalten zusammenhängen; abgeschlossen ist die Aufgabe, wenn du dich auf root-relative references geeinigt und sie implementiert hast und dabei das bestehende Verhalten für relative Pfade beibehältst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- build-system, compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100