Skip to content
← Back to rules

typescript/triple-slash-reference 正しさ

This rule is turned on by default.

何を行うか

特定の三スラッシュディレクティブの使用を禁止し、エコノミックスクリプトモジュールのインポート宣言に代える。

なぜこれは良くないのか

三スラッシュリファレンス型ディレクティブの使用は、通常、ECMAScript モジュールのインポート宣言に優先されるべきである。

このルールに違反する不適切なコードの例:

ts
/// <reference lib="code" />
globalThis.value;

設定

このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。

lib

type: "always" | "never"

default: "always"

/// <reference lib="..." /> リファレンスに対して強制する内容。

"always"

三スラッシュ lib リファレンスを許可する。

"never"

三スラッシュ lib リファレンスを禁止する。

path

type: "always" | "never"

default: "never"

/// <reference path="..." /> リファレンスに対して強制する内容。

"always"

三スラッシュ path リファレンスを許可する。

"never"

三スラッシュ path リファレンスを禁止する。

types

type: "always" | "never" | "prefer-import"

default: "prefer-import"

/// <reference types="..." /> リファレンスに対して強制する内容。

"always"

三スラッシュ types リファレンスを許可する。

"never"

三スラッシュ types リファレンスを禁止する。

"prefer-import"

ESモジュールのインポート宣言を三スラッシュ types リファレンスよりも優先する。 このオプションは、同じモジュールに対する既存の import 宣言がある場合にのみ報告する。

たとえば、prefer-import を使用すると、次のコードは警告として報告される:

ts
/// <reference types="foo" />
import { bar } from "foo";

使用方法

このルールを設定ファイルまたは CLI で有効化するには、次のようにします:

json
{
  "rules": {
    "typescript/triple-slash-reference": "error"
  }
}
bash
oxlint --deny typescript/triple-slash-reference

参照