如何在导入给定函数时(即使是间接导入)获得警告



在我当前的TypeScript/Node.js项目中,我们已经实现了一个内部缓存模块,我们正在逐步摆脱它。

为了实现这一点,我想逐步减少代码库中可以直接或间接导入该模块的部分。在开发过程中,只要我们违反了这一规则,就要受到警告。

示例:

  • 允许users.ts导入cache.ts
  • domain.ts导入users.ts,但不允许导入cache.ts(甚至通过users.ts(,因此我们需要注意这一点

您知道用TSC、Eslint或其他静态代码分析工具执行该规则的方法吗?

我所知道的最接近的是eslint插件边界项目。为缓存重构模块可能是值得的,这样您就可以使用其中的一些规则。

如果做不到这一点,那么编写一个自定义ESLint规则是相当简单的,只要你有一套可以应用于AST的规则。

由于要删除缓存模块,我建议使用@deprecatedjsdoc语句。这样,每次你想在新的开发中使用它时,都会收到警告。除此之外,您还可以使用ESLint插件来警告

相关内容

最新更新