TypeScript 禁止在发出 .d.ts 文件时被剥离的地方使用 @ts-expect-error 和 @ts-ignore,

wwwo4jvm  于 10个月前  发布在  TypeScript
关注(0)|答案(3)|浏览(90)

建议

🔍 搜索词

ts-ignore ts-expect-error d.ts

✅ 可实现性检查清单

我的建议符合以下准则:

  • 这不会对现有的TypeScript/JavaScript代码造成破坏性的更改
  • 这不会改变现有JavaScript代码的运行时行为
  • 这可以在不根据表达式的类型生成不同的JS的情况下实现
  • 这不是一个运行时特性(例如库功能、带有JavaScript输出的非ECMAScript语法、JS的新语法糖等)
  • 这个特性将与 TypeScript's Design Goals 的其他部分保持一致。

⭐ 建议

@ts-ignore@ts-expect-error 在编译时会被剥离,导致下游错误在有人尝试使用您的包之前无法被检测到。参见 #38628 (评论)
如果能在类型定义和签名中禁止注解,并在需要在 .d.ts 文件中暴露它们的地方保留它们,那就太好了。

plupiseo

plupiseo1#

我想知道检查自己的 .d.ts 文件是否可行?这个建议是有道理的,但我认为我们还没有一个很好的检测机制来处理它。

mhd8tkvw

mhd8tkvw2#

这很困难,因为我经常不得不打开skipLibCheck,因为node_modules中的问题超出了我的控制范围。有没有办法只关闭编译器选项,仅针对我项目中的文件?

mnowg1ta

mnowg1ta3#

不,但我认为这也可能是一个之前的问题😆

相关问题