BugDomain: Declaration EmitHelp Wanted
仓库指标
- Star
- (48,455 star)
- PR 合并指标
- (平均合并 6天 17小时) (30 天内合并 9 个 PR)
描述
🔎 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