使用特定的第三方组件时警告开发人员



我们使用第三方库,其中大多数组件都是直接使用的。但也有一些被其他内部开发的组件所包裹。当开发人员试图使用我们包装的第三方库组件时,有没有办法警告他们?

我想象的是,对特定导入进行反编译时间检查,会引发构建错误。但理想情况下,这将是一个开发时间警告。

esint规则"无限制进口";允许您配置禁止的导入:https://eslint.org/docs/rules/no-restricted-imports.

开发人员的IDE和编译过程中都会出现错误。

据我所知,有两种方法可以利用这一点。

1.(是通过使用。无限制进口esint规则:https://eslint.org/docs/rules/no-restricted-imports

基本上,你可以在你的项目中添加lint(在构建时或预提交时(,这样他们就可以";警告";如果使用了某个导入,则通知开发人员。(这可以在IDE和构建警告中看到(:

将其添加到esint配置中(https://eslint.org/docs/user-guide/getting-started):

"no-restricted-imports": ["warn", "my-3rd-party-librarty", "my-other-3rd-party-library"]

2.(解决方案#1仅适用于静态导入库的情况。但是,如果它被另一个库用作依赖项,它不会出错/发出警告。如果您想要更精细的控制,可以使用Dependency Cruiser:https://www.npmjs.com/package/dependency-cruiser-你可以在它的配置中添加这样的内容:

{
"forbidden": [
{
"name": "no-3rd-party-library",
"comment": "Don't rely on this 3rd party library.",
"severity": "warn",
"from": {},
"to": { "path": "my-3rd-party-library" }
}
]
}

最新更新