microsoft / microsoft/TypeScript

Typescript gets confused when renaming by only changing filename case of imported file on Windows

Offen
#60,756 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Domain: Module Resolution Needs Human Review Needs More Info
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

🔎 Search Terms

windows rename already included

🕗 Version & Regression Information
  • This is the behavior in every version I tried, and I reviewed the FAQ for entries about _________
  • I was unable to test this on prior versions because _______
⏯ Playground Link

No response

💻 Code

file src/vector.js

export default class Vector {}

file test/vector.test.js

import Vector from '../src/vector.js'
new Vector();

now rename the file

mv src/vector.js src/Vector.js

and update the file test/vector.test.js

import Vector from '../src/Vector.js'
new Vector();
🙁 Actual behavior

There is an error message:
Image

🙂 Expected behavior

No error message, as the imported file name matches the actual file name.

Additional information about the issue

tsconfig.json

{
    "compilerOptions": {
      "target": "ES2017",
      "module": "commonjs",
      "lib": ["es2017", "dom", "DOM.Iterable"],
      "allowJs": true,
      "checkJs": true,
      "skipLibCheck": true,
      "declaration": true,
      "noEmit": true,
      "strict": true,
      "baseUrl": ".",
      "typeRoots": [
        "./node_modules/@types",
      ],
      "esModuleInterop": true
    },
    "include": [
      "src/**/*.js",
      "test/**/*.js",
    ]
}

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 mit der Reproduktion unter Verwendung von src/vector.js, test/vector.test.js, der Umbenennung, die sich nur in der Groß-/Kleinschreibung unterscheidet, zu src/Vector.js und der bereitgestellten tsconfig.json unter Windows. Verfolge, wie der Compiler den aktualisierten Import verarbeitet, und überprüfe, dass der Import mit übereinstimmender Groß-/Kleinschreibung nach der Umbenennung keinen Fehler erzeugt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, typescript
Bereich
compilers, operating-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

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