deno lint
,linter
Deno 內建 JavaScript 和 TypeScript 的程式碼 linter。
# lint all JS/TS files in the current directory and subdirectories
deno lint
# lint specific files
deno lint myfile1.ts myfile2.ts
# lint all JS/TS files in specified directory and subdirectories
deno lint src/
# print result as JSON
deno lint --json
# read from stdin
cat file.ts | deno lint -
如需更多詳細資訊,請執行 deno lint --help
。
可用的規則
如需支援規則的完整清單,請參閱 deno_lint 規則文件。
忽略指令
檔案
若要忽略整個檔案,應將 // deno-lint-ignore-file
指令置於檔案的最上方
// deno-lint-ignore-file
function foo(): any {
// ...
}
或
// deno-lint-ignore-file -- reason for ignoring
function foo(): any {
// ...
}
忽略指令必須置於第一個陳述式或宣告之前
// Copyright 2020 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 <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 {
// ...
}
設定
從 Deno v1.14 開始,可以使用 設定檔 或下列 CLI 標記自訂 linter
-
--rules-tags
- 將執行之標籤名稱清單。空白清單會停用所有標籤,且僅會使用include
中的規則。預設為「建議」。 -
--rules-exclude
- 將從已設定標籤組中排除的規則名稱清單。即使相同規則在include
中,也會被排除;換句話說,--rules-exclude
優先於--rules-include
。 -
--rules-include
- 將執行的規則名稱清單。如果相同規則在exclude
中,則會被排除。