Microsoft/TypeScript

Source mappings are missing for serialized properties

开放

#60,004 创建于 2024年9月19日

 (0 条评论) (2 个反应) (0 位负责人)TypeScript (13,395 个派生)batch import
BugDomain: Declaration EmitHelp Wanted

仓库指标

星标
 (108,860 个星标)
PR 合并指标
 (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

贡献者指南