@alint-js/plugin-js (英语)
模型支持的 JavaScript 和 TypeScript 审查规则 alint。 。 。 .
包默认导出是插件定义. 个别规则的定义也可作为已命名的出口品提供.
规则
捆绑起来 recommended 配置可以在 js 插件名称 :
js/inline-miniature-normalizer报告组成一个私人阅读器或缩小工具包的本地帮助者集群.js/no-config-file-tests报告独立测试,以重述仓库配置,而不是验证行为。 它在呼叫模型前跳过非测试文件,但files:glob 必须包含测试,被忽略的文件仍然被排除在外.js/no-mixed-layers-without-abstraction报告消耗了自己独立再利用的外部整合责任而不具有稳定接口的特性.js/no-private-schema-toolkit报告构成临时计划或有效载荷正常化工具包的当地帮助者集群.js/no-redundant-binding报告本地绑定只重命名一个不变的值或引用而不添加有用的边界.js/no-redundant-jsdoc主要重申有文件记载的声明、签署或执行的联署文件.js/no-trivial-wrapper-stack浅层包装链,没有增加有意义的政策或运行时间界限.js/no-vacuous-function报告功能,其浅层执行没有获得单独的运行时间界限.
js/no-vacuous-function 仍然是当地可缓存的模式审查。 存储器全局的测试用法由单独的选入规则处理,这样使一个代理不会改变推荐规则的行为或缓存性.
登记了5个存储处意识规则,但因 recommended数字 :
js/no-duplicated-knowledge发现政策或机制知识在两个地点编码一个必须共同改变的决定时,文件之间重复。 一个小型的,全能的克隆通常更适合simplicity/no-duplicated-helper。 。 。 .js/no-redundant-catch找到一个外出出错的常态化捕获被被被调用者证明的域-错误后条件所冗余.js/no-single-use-materialization当生产者和消费者能够安全地融为一体时,立即发现生产一次和消费一次的收藏。 它比当地大js/no-redundant-binding检查未变异名.js/no-test-only-production-wrapper发现一种在生产中申报的浅薄包装器,但仅通过试验加以参考,而且无法通过包装出口得到.js/no-overlapping-entrypoints发现相竞的套件公开入站点,在实质上暴露出同一种符号表面,并具有不明确的犬类所有权. 这不是替代js/no-trivial-wrapper-stack,它审查浅的本地呼叫链.
仓库意识审查要求
五项选入规则既需要配置的模型,也需要能够调用工具的代理适配器. 他们重用标准 @alint-js/tools-fs 列表、搜索和读取工具,并要求代理商将存储器证据包含在每个发现中.
js/no-config-file-tests 它不会意识到寄存器, 不需要代理适配器 : 它会判断它交给的测试文件, 因此配置的模型就足够了 .
如何使用
使用默认导出 js 插件名, 因为捆绑的预设指的是 js/* 规则ID.
建议的预设
import jsPlugin from '@alint-js/plugin-js'
import { defineConfig } from '@alint-js/cli'
export default defineConfig([
{
extends: ['js/recommended'],
files: ['**/*.{js,jsx,ts,tsx,mjs,cjs,mts,cts}'],
plugins: {
js: jsPlugin,
},
},
])
选择到寄存器意识规则
在您中配置代理和工具调用模式 alint 运行时间,然后启用寄存器识别规则:
import jsPlugin from '@alint-js/plugin-js'
import { defineConfig } from '@alint-js/cli'
export default defineConfig([
{
files: ['**/*.{js,jsx,ts,tsx,mjs,cjs,mts,cts}'],
plugins: {
js: jsPlugin,
},
rules: {
'js/no-duplicated-knowledge': 'warn',
'js/no-overlapping-entrypoints': 'warn',
'js/no-redundant-catch': 'warn',
'js/no-single-use-materialization': 'warn',
'js/no-test-only-production-wrapper': 'warn',
},
},
])
何时使用
- 使用推荐的预设用于模型辅助JavaScript和TypeScript设计审查.
- 当交叉文件所有权、软件包表面或控制/数据流合同需要调查时,即可进入存储器-意识规则.
- 在程序上构建另一个插件定义时使用命名规则导出 .
不使用时
- 不要用模型支撑的规则来决定语法意识的用法.
- 不要启用只使用一代模式或没有代理适配器的寄存器-意识规则.
- 不使用
js/no-config-file-tests当配置模块拥有逻辑时,寄存器必须验证,例如自定义的 lint 规则,自定义的捆绑器插件,或者合并或正常化的帮助器. 把这个逻辑移入自己的模块,然后测试模块. - 不使用
js/no-duplicated-knowledge用于不编码一个共享决定的偶联字形或克隆. - 不使用
js/no-overlapping-entrypoints用于记录的相容性别名或有条件/只类型导出. - 不使用
js/no-redundant-catch当外部抓取改变清理,可观察性,错误元数据,原因,身份,或取消行为时. - 不使用
js/no-single-use-materialization当核聚变会改变验证命令,评价,身份,副作用,货币,或者另一种可观察到的行为.