规则列表
这些 lint 规则由 deno lint
命令提供。
Recommended
Fresh
JSX
React
JSR
要求重载签名彼此相邻。 Details about undefined
禁止在没有注释的情况下使用 Typescript 指令。 Details about undefined
禁止使用原始包装对象(例如
String
对象是string
原始类型的包装器),以及非显式的Function
类型和被误解的Object
类型。 Details about undefined警告在忽略指令中使用未知规则代码的情况。 Details about undefined
需要将
deno-lint-ignore
注释与一个或多个规则名称一起使用。 Details about undefined要求 TODOs 必须使用用户标签(
@user
)或问题引用(#issue
)进行注释。 Details about undefined警告未使用的忽略指令。 Details about undefined
检查
<button>
JSX 元素是否具有有效的type
属性。默认值为"submit"
,这通常不是期望的行为。 Details about undefined强制在变量名中使用 camelCase。 Details about undefined
验证构造函数和
super()
调用的正确使用。 Details about undefined强制将默认参数放在函数签名的最后。 Details about undefined
强制使用类型安全的相等运算符
===
和!==
,而不是更容易出错的==
和!=
运算符。 Details about undefined要求所有函数都具有显式的返回类型。 Details about undefined
要求所有模块导出都具有完全类型化的声明。 Details about undefined
要求
for
循环控制变量以正确的方向递增。 Details about undefined检查命名正确的 fresh middleware 导出。 Details about undefined
禁止在 fresh 服务器组件中使用事件处理程序。 Details about undefined
要求所有属性 getter 函数必须返回一个值。 Details about undefined
要求
for-in
循环包含一个if
语句。 Details about undefined强制一致的 JSX 布尔值风格。使用简写语法时,可以省略传递
true
作为布尔值。 Details about undefined强制
<button>
元素具有type
属性。如果<button>
被放置在<form>
元素内,默认情况下它将作为提交按钮,这可能是意料之外的。 Details about undefined确保在 JSX 表达式中一致地使用花括号。 Details about undefined
在将可迭代对象传递到 JSX 时,确保
key
属性存在。它允许框架优化检查元素的顺序。 Details about undefined将子元素作为 JSX 子元素传递,而不是作为属性。 Details about undefined
在 JSX 中,文本节点内的 JavaScript 注释会被渲染为纯文本。这通常是出乎意料的。 Details about undefined
禁止重复的 JSX 属性。后面的属性总是会覆盖前面的属性,通常会导致意外的结果。 Details about undefined
在 JSX 中留下
>
或}
字符通常是不希望的,并且难以发现。强制要求这些字符必须作为字符串传递。 Details about undefinedFragments 仅在 JSX "块" 的顶部且存在多个子元素时才需要。在其他场景中不需要使用 Fragments。 Details about undefined
重复展开相同的表达式通常是一个错误,会导致不必要的计算。 Details about undefined
确保 HTML 中的空元素没有任何子元素,因为这是无效的 HTML。有关更多信息,请参阅 MDN 上的
Void element
文章。 Details about undefined强制使用数组构造的常规用法。 Details about undefined
要求不使用异步的 Promise 执行器函数。 Details about undefined
要求
await
不在 for 循环体中使用。 Details about undefined禁止在非异步函数中使用
await
关键字。 Details about undefined要求所有使用任意数量的
boolean
字面量作为参数的函数,使用自解释的常量来代替。 Details about undefined要求在
switch
的case
或default
子句中的词法声明(let
、const
、function
和class
)必须用大括号限定作用域。 Details about undefined禁止修改类声明中的变量。 Details about undefined
禁止与负零 (
-0
) 进行比较。 Details about undefined禁止在条件语句中使用赋值运算符
=
。 Details about undefined禁止使用
console
全局对象。 Details about undefined禁止修改声明为
const
的变量。 Details about undefined禁止在条件测试中使用常量表达式。 Details about undefined
禁止在正则表达式中使用 ASCII 控制字符。 Details about undefined
禁止使用
debugger
语句。 Details about undefined禁止删除变量。 Details about undefined
警告使用已弃用的 Deno API。 Details about undefined
禁止在函数签名中多次使用相同的参数名称。 Details about undefined
禁止在类中多次使用相同的成员函数名称。 Details about undefined
禁止在
if
/else if
语句中重复使用相同的条件。 Details about undefined禁止在对象字面量中使用重复的键。 Details about undefined
禁止在
switch
语句中多次使用相同的case
子句。 Details about undefined禁止使用空的块语句。 Details about undefined
禁止在正则表达式中使用空字符类。 Details about undefined
禁止声明空枚举。 Details about undefined
禁止声明空接口。 Details about undefined
禁止在解构中使用空模式。 Details about undefined
禁止使用
eval
。 Details about undefined禁止重新分配异常参数。 Details about undefined
禁止使用
any
类型。 Details about undefined禁止使用外部导入。 Details about undefined
禁止不必要的布尔类型转换。 Details about undefined
禁止不必要非空断言。 Details about undefined
禁止 case 语句的隐式贯穿。 Details about undefined
禁止覆盖/重新分配现有函数。 Details about undefined
禁止对原生 JavaScript 对象进行赋值。 Details about undefined
禁止在 ["ambient" 命名空间] 中使用隐式导出。 Details about undefined
禁止在导入属性中使用
assert
关键字。 Details about undefined禁止重新分配导入的模块绑定。 Details about undefined
禁止使用易于推断的类型。 Details about undefined
禁止在嵌套块中定义变量或函数。 Details about undefined
禁止在 RegExp 构造函数中指定无效的正则表达式。 Details about undefined
警告三斜杠引用指令的错误用法。 Details about undefined
禁止使用非空格或非制表符的空白字符。 Details about undefined
禁止在接口中定义
constructor
或在类中定义new
方法 Details about undefined禁止在 TypeScript 代码中使用
namespace
和module
关键字。 Details about undefined禁止使用
new
操作符与内置的Symbol
一起使用。 Details about undefined禁止使用 NodeJS 全局对象。 Details about undefined
禁止在可选链表达式后使用非空断言。 Details about undefined
禁止使用
!
后缀运算符进行非空断言。 Details about undefined禁止像函数一样调用内置的全局对象。 Details about undefined
禁止通过以
0
开头的数字字面量表示八进制数。 Details about undefined禁止使用 NodeJS 的
process
全局变量。 Details about undefined禁止直接使用
Object.prototype
内置方法。 Details about undefined禁止使用相同名称重新声明变量、函数、参数。 Details about undefined
禁止在正则表达式字面量中使用多个空格。 Details about undefined
禁止自我赋值。 Details about undefined
禁止在比较的两边完全相同的情况下进行比较。 Details about undefined
禁止从 setter 中返回值。 Details about undefined
禁止对受限名称进行遮蔽。 Details about undefined
强制要求在模块说明符中明确指定路径引用。 Details about undefined
强制使用明确或可以简单推断的类型。 Details about undefined
禁止使用稀疏数组。 Details about undefined
禁止在异步函数中使用同步函数。 Details about undefined
禁止将变量赋值为
this
。 Details about undefined禁止在构造函数中调用
super()
之前使用this
或super
。 Details about undefined禁止将字面量作为异常抛出。 Details about undefined
禁止使用顶层 await 表达式。 Details about undefined
禁止使用未声明的变量。 Details about undefined
禁止在控制流语句后出现无法到达的代码。 Details about undefined
禁止在
finally
块中使用控制流语句。 Details about undefined禁止将否定运算符
!
作为关系运算符的左操作数使用。 Details about undefined禁止未使用的标签。 Details about undefined
强制所有变量至少被使用一次。 Details about undefined
禁止无用的重命名操作,其中原始名称和新名称完全相同。这通常是重构过程中的遗留物,可以安全地移除。 Details about undefined
强制使用块作用域变量,而不是更容易出错的功能作用域变量。块作用域变量使用
const
和let
关键字定义。 Details about undefined禁止使用
window
对象。 Details about undefined禁止通过
window
对象使用 Web API。 Details about undefined禁止使用
with
语句。 Details about undefined建议使用 const 断言(
as const
)而不是显式指定字面量类型或使用类型断言。 Details about undefined确保代码完全由 ASCII 字符编写。 Details about undefined
推荐使用 [
const
] 而不是 [let
] 来声明变量。 Details about undefined建议在声明 TypeScript 模块时使用
namespace
关键字而非module
关键字。 Details about undefined建议使用来自
primordials
的冻结内置对象,而不是默认的全局对象。 Details about undefined防止使用
dangerouslySetInnerHTML
,如果使用不当可能导致 XSS 漏洞。 Details about undefined将 JSX 子元素与
dangerouslySetInnerHTML
一起使用是无效的,因为它们将被忽略。 Details about undefined确保在 React/Preact 组件中正确调用 hooks。它们必须在组件的顶层调用,而不是在条件语句或循环内部。 Details about undefined
禁止没有 await 表达式或 await using 声明的异步函数。 Details about undefined
禁止使用没有
yield
的生成器函数。 Details about undefined禁止在同一声明语句中定义多个变量。 Details about undefined
禁止使用某些三斜杠指令,推荐使用 ES6 风格的 import 声明。 Details about undefined
禁止与
NaN
进行比较。 Details about undefined限制
typeof
操作符的使用,使其仅能与一组特定的字符串字面量进行比较。 Details about undefined强制将类型导入声明为类型导入。 Details about undefined