microsoft / microsoft/TypeScript

project reference { "path": "" } is ignored

Offen
#63,848 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

Steps to reproduce

In every project folder I have a ./tsconfig.build.json which my build script finds and compiles.
In one project I have no subdirectories but only flat files, so I reference "the same directory".

./tsconfig.build.json

{
    "$schema": "http://json.schemastore.org/tsconfig",
    "references": [
        { "path": "" }
    ],
    "files": [],
    "include": []
}

The file ./tsconfig.json contains the final compile:

{
    "$schema": "http://json.schemastore.org/tsconfig",
    "extends": "../tsconfig_base",
    "include": ["./*.ts"]
}

Looks silly, but I also have ./tsconfig.build.json which have this:

    "references": [
        { "path": "Worker/" },
        { "path": "" },

Behavior with typescript@6.0

Compiles

> node_modules\.bin\tsc --build Folder/tsconfig.build.json --force --verbose
[17:36:53] Projects in this build:
    * Folder/tsconfig.json
    * Folder/tsconfig.build.json
...

Behavior with tsgo

> node_modules\.bin\tsgo --build Folder/tsconfig.build.json --force --verbose
[05:37:22 PM] Projects in this build:
    * Folder/tsconfig.build.json
...

When I change the file ./tsconfig.build.json to that:

{
    "$schema": "http://json.schemastore.org/tsconfig",
    "references": [
        { "path": "./" }
    ],
    "files": [],
    "include": []
}

It compiles like a charm, but still I wanted to report the compiler difference.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den Unterschied mit der gezeigten tsconfig.build.json und den Befehlen tsc --build und tsgo --build nachzubilden, und vergleiche ihre ausführlichen Projektlisten. Verfolge, wie jeder Befehl die references-Pfadwerte "" und "./" auflöst; abgeschlossen ist die Arbeit, wenn ein leerer Pfad konsistent mit dem Pfad des aktuellen Verzeichnisses behandelt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
go, typescript
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
62/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.