deno lint
,代码检查器
命令行用法
deno lint [OPTIONS] [files]...
代码检查 JavaScript/TypeScript 源代码。
deno lint
deno lint myfile1.ts myfile2.js
以 JSON 格式打印结果
deno lint --json
从标准输入读取
cat file.ts | deno lint -
cat file.ts | deno lint --json -
列出可用规则
deno lint --rules
要忽略特定的诊断信息,你可以在前一行使用规则名称(或多个)编写忽略注释
// deno-lint-ignore no-explicit-any
// deno-lint-ignore require-await no-empty
要忽略整个文件的代码检查,你可以在文件顶部添加忽略注释
// deno-lint-ignore-file
代码检查选项 跳转到标题
--compact
跳转到标题
以紧凑格式输出代码检查结果。
--fix
跳转到标题
修复任何代码检查错误,适用于支持此功能的规则。
--ignore
跳转到标题
忽略特定源文件的代码检查。
--json
跳转到标题
以 JSON 格式输出代码检查结果。
--rules
跳转到标题
列出可用规则。
--rules-exclude
跳转到标题
排除代码检查规则。
--rules-include
跳转到标题
包含代码检查规则。
--rules-tags
跳转到标题
使用带有标签的规则集。
选项 跳转到标题
--allow-import
跳转到标题
短标记:-I
允许从远程主机导入。 可选地指定允许的 IP 地址和主机名,必要时可指定端口。 默认值:deno.land:443,jsr.io:443,esm.sh:443,cdn.jsdelivr.net:443,raw.githubusercontent.com:443,user.githubusercontent.com:443。
--config
跳转到标题
短标记:-c
配置 deno 的不同方面,包括 TypeScript、代码检查和代码格式化。 通常配置文件名为 deno.json
或 deno.jsonc
并自动检测; 在这种情况下,此标志不是必需的。
--ext
跳转到标题
指定从标准输入读取时要进行代码检查的文件扩展名。 例如,使用 jsx
来代码检查 JSX 文件,或使用 tsx
来代码检查 TSX 文件。 此参数是必要的,因为标准输入不会自动推断文件类型。 用法示例:`cat file.jsx | deno lint -` --ext=jsx.
--no-config
跳转到标题
禁用自动加载配置文件。
文件监视选项 跳转到标题
--no-clear-screen
跳转到标题
在监视模式下不清除终端屏幕。
--watch
跳转到标题
监视文件更改并自动重启进程。 仅监视来自入口点模块图的本地文件。
--watch-exclude
跳转到标题
从监视模式中排除提供的文件/模式。
可用规则 跳转到标题
有关支持规则的完整列表,请访问规则列表文档页面。
忽略指令 跳转到标题
文件级别 跳转到标题
要忽略整个文件,请在文件顶部使用 // deno-lint-ignore-file
// deno-lint-ignore-file
function foo(): any {
// ...
}
你也可以指定忽略文件的原因
// deno-lint-ignore-file -- reason for ignoring
function foo(): any {
// ...
}
忽略指令必须放在第一个语句或声明之前
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
/**
* Some JS doc
*/
// deno-lint-ignore-file
import { bar } from "./bar.js";
function foo(): any {
// ...
}
你也可以忽略整个文件中的某些诊断信息
// deno-lint-ignore-file no-explicit-any no-empty
function foo(): any {
// ...
}
如果有多个 // deno-lint-ignore-file
指令,则除第一个之外的所有指令都将被忽略
// This is effective
// deno-lint-ignore-file no-explicit-any no-empty
// But this is NOT effective
// deno-lint-ignore-file no-debugger
function foo(): any {
debugger; // not ignored!
}
行级别 跳转到标题
要忽略特定的诊断信息,请在违规行的前一行使用 // deno-lint-ignore <codes...>
。
// deno-lint-ignore no-explicit-any
function foo(): any {
// ...
}
// deno-lint-ignore no-explicit-any explicit-function-return-type
function bar(a: any) {
// ...
}
你必须指定要忽略的规则名称。
你也可以指定忽略诊断信息的原因
// deno-lint-ignore no-explicit-any -- reason for ignoring
function foo(): any {
// ...
}
忽略 ban-unused-ignore
自身 跳转到标题
deno lint
提供了 ban-unused-ignore
规则,它将检测从不抑制某些诊断信息的忽略指令。 当你想在重构代码后发现不再需要的忽略指令时,这非常有用。
然而,在少数情况下,你可能想要忽略 ban-unused-ignore
规则本身。 其中一个典型情况是处理自动生成的文件; 为某些规则添加文件级忽略指令是有意义的,并且在这种情况下几乎不需要通过 ban-unused-ignore
检测未使用的指令。
如果你想抑制整个文件的规则,你可以像往常一样使用 // deno-lint-ignore-file ban-unused-ignore
// deno-lint-ignore-file ban-unused-ignore no-explicit-any
// `no-explicit-any` isn't used but you'll get no diagnostics because of ignoring
// `ban-unused-ignore`
console.log(42);
请注意,忽略 ban-unused-ignore
自身仅通过文件级忽略指令起作用。 这意味着每行指令,例如 // deno-lint-ignore ban-unused-ignore
,根本不起作用。 如果你想出于某些特殊原因忽略 ban-unused-ignore
,请确保将其添加为文件级忽略指令。