[Typescript Library] Navigate to Source Files instead of Declaration Files
The solution is to modify the tsconfig.json
file to enable declarationMap
under the compilerOptions
.
// inside tsconfig.json
{
"compilerOptions": {
"declaration": true,
"declarationMap": true
// ...
By enabling declarationMap
, TypeScript will generate a .d.ts.map
file in your dist
directory. This file serves as a bridge between the .d.ts
files and the source files.
With this configuration, inside of VS Code when you CMD+click
on myFunc
, you will be directed to its definition in the source file instead the .d.ts
file.
export const myFunc = (input: string) => {};
This can save a substantial amount of time while debugging or grasping the functionality of a function.
When to Include Declaration Maps
It's important to recognize when including declaration maps is beneficial and when it's not. If you're distributing your code to npm, chances are you're not including the source files. So, in this case, a declaration map isn't required since your users will be utilizing the built code, not the source code.
On the other hand, in a monorepo where changes to the source code directly impact the built code, declaration maps can prove to be highly valuable.
To summarize, declaration maps enable you to navigate directly to the source code, bypassing the .d.ts
files. To use them, enable declarationMap
in your tsconfig.json
.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2023-09-02 [Typescript] DistributiveOmit
2022-09-02 [Node.js] Setup a Node.js CLI
2022-09-02 [Typescript Challenges] 10. Medium - Include
2022-09-02 [Typescript Challenges] 9. Easy - Concat
2022-09-02 [Typescript Challenges] 8. Easy - If
2022-09-02 [Typescript Challenges] 7. Easy - Awaited
2022-09-02 [Typescript Challenges] 6 Easy - Exclude