跳至主要內容

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 中,則會被排除。