Mozilla ESLint 插件¶
这是 Mozilla ESLint 插件的文档。
环境¶
该插件实现了以下环境
规则¶
该插件实现了以下规则
- 避免使用 Date 进行计时
- 避免使用 removeChild
- 监听器平衡
- 观察者平衡
- 导入浏览器窗口全局变量
- 导入内容任务全局变量
- 导入全局变量
- 从指定位置导入全局变量
- 导入 headjs 全局变量
- 延迟获取器对象名称
- 标记已导出符号为已使用
- 标记测试函数为已使用
- 禁止使用 aArgs
- 禁止使用 addtask 设置
- 禁止使用任意 setTimeout
- 禁止在工具包中使用浏览器引用
- 禁止与布尔字面量进行比较
- 禁止在 ok 中进行比较或赋值
- 禁止使用 cu.reportError
- 禁止定义 cc 等
- 禁止使用更多全局变量
- 禁止使用 import 自动修复重新声明
- 禁止抛出 cr 字面量
- 禁止使用无用的参数
- 禁止使用无用的 removeEventListener
- 禁止使用无用的 run-test
- 优先使用布尔长度检查
- 优先使用 formatValues
- 拒绝使用 addtask only
- 拒绝导入 chromeutils
- 拒绝 chromeutils 导入参数
- 拒绝在延迟获取器中使用急切模块
- 拒绝使用全局 this
- 拒绝修改全局 this
- 拒绝从非系统模块导入系统模块
- 拒绝导入全局属性
- 拒绝将延迟导入引入全局变量
- 拒绝混合急切和延迟
- 拒绝使用多个 await
- 拒绝使用多个获取器调用
- 拒绝使用相对路径 require
- 拒绝 require await
- 拒绝使用 ScriptableUnicodeConverter
- 拒绝某些 require
- 拒绝使用顶层 await
- 使用 cc 等
- 使用 chromeutils.definelazygetter
- 使用 chromeutils.generateqi
- 使用 chromeutils 导入
- 使用 console.createInstance
- 使用默认首选项值
- 使用 includes 代替 indexOf
- 使用 isInstance
- 使用 ownerGlobal
- 使用 returnValue
- 使用服务
- 使用静态导入
- 有效的 ci 用法
- 有效的延迟
- 有效的服务
- 有效的服务属性
- 仅在顶层使用 var
测试¶
eslint-plugin-mozilla 的测试是通过 mochajs 在 node 之上运行的。大多数测试使用 ESLint 规则单元测试框架。
运行测试¶
eslint-plugin-mozilla 的测试是通过 mochajs 在 node 之上运行的。大多数测试使用 ESLint 规则单元测试框架。
这些规则有一些自测,可以通过以下方式运行:
$ cd tools/lint/eslint/eslint-plugin-mozilla
$ npm install
$ npm run test
禁用测试¶
在极少数情况下需要禁用测试时,目前唯一的方法是注释掉。如果您必须这样做,请提交错误。错误应在“测试”产品下的“代码风格检查”中提交。