在我当前的TypeScript/Node.js项目中,我们已经实现了一个内部缓存模块,我们正在逐步摆脱它。
为了实现这一点,我想逐步减少代码库中可以直接或间接导入该模块的部分。在开发过程中,只要我们违反了这一规则,就要受到警告。
示例:
- 允许
users.ts
导入cache.ts
domain.ts
导入users.ts
,但不允许导入cache.ts
(甚至通过users.ts
(,因此我们需要注意这一点
您知道用TSC、Eslint或其他静态代码分析工具执行该规则的方法吗?
我所知道的最接近的是eslint插件边界项目。为缓存重构模块可能是值得的,这样您就可以使用其中的一些规则。
如果做不到这一点,那么编写一个自定义ESLint规则是相当简单的,只要你有一套可以应用于AST的规则。
由于要删除缓存模块,我建议使用@deprecated
jsdoc语句。这样,每次你想在新的开发中使用它时,都会收到警告。除此之外,您还可以使用ESLint插件来警告