microsoft / microsoft/TypeScript
Source mappings are missing for serialized properties
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
🔎 Search Terms
source map declaration map properties symbols navigation definition goto
🕗 Version & Regression Information
- This is the behavior in every version I tried
⏯ Playground Link
N/A
💻 Code
// api.ts
type ValidateShape<T> = {
[K in keyof T]: T[K];
};
function test<T>(arg: ValidateShape<T>) {
function createCaller<T>(arg: T): () => {
[K in keyof T]: () => T[K];
} {
return null as any;
}
return {
createCaller: createCaller(arg),
};
}
const api = test({
foo/*target*/: 1,
bar: "",
});
export const createCaller = api.createCaller;
// main.ts
import { createCaller } from "./api";
const caller = createCaller();
caller.foo/*source*/;
🙁 Actual behavior
Please consider the 2 files above as 2 separate projects.
When those files are in the same project we can successfully go from the source marker to the target marker with "go to definition" and others like it. The same works with project references on.
However, when api.ts gets compiled with declaration maps and consumed through that then this navigation no longer works correctly.
🙂 Expected behavior
I'd expect this navigation to continue to work
Additional information about the issue
No response
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
Beginne damit, den Fall mit zwei Projekten anhand von api.ts und main.ts zu reproduzieren, indem du api.ts mit declaration maps kompilierst und es aus main.ts verwendest. Verfolge das Verhalten von source-map und go-to-definition von caller.foo bis zur foo-Eigenschaft und betrachte das Issue als abgeschlossen, wenn die Navigation über die generierten Deklarationen hinweg den target marker erreicht.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100