Skip to content
← Back to rules

jest/no-deprecated-functions スタイル

🛠️ An auto-fix is available for this rule.

何を行うか

長年にわたり、Jestにはいくつかのコード上の負債が蓄積されてきました。これは、明確さのために関数名が変更されたり、より強力なAPIに置き換えられた関数を指します。

このルールは、これらの非推奨関数の多くを自動修正( autofix )できるようになっています。

jest.resetModuleRegistry

Jest 15 で resetModules にリネームされ、Jest 27 で削除されました。

jest.addMatchers

Jest 17 で expect.extend に置き換えられ、Jest 27 で削除されました。

require.requireActual および require.requireMock

Jest 21 で置き換えられ、Jest 26 で削除されました。

当初、requireActual および requireMock 関数は require 関数に配置されていました。

その後、型チェックツールとの互換性を高めるために、これらの関数は jest オブジェクトに移動され、require を通じた使用は非推奨となりました。最終的に、Jest 26 のリリースにより、これらは require 関数から完全に削除されました。

jest.runTimersToTime

Jest 22 で advanceTimersByTime にリネームされ、Jest 27 で削除されました。

jest.genMockFromModule

Jest 26 で createMockFromModule にリネームされ、Jest 30 で削除予定です。

なぜ問題なのか

通常、これらの非推奨関数は複数のメジャーバージョンにわたってコードベースに残されるものの、最終的には完全に削除されます。

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

javascript
jest.resetModuleRegistry; // Jest 15 以降
jest.addMatchers; // Jest 17 以降

設定

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

jest

type: object

Jest の設定オプション。

jest.version

type: string

default: "29"

使用している Jest のバージョン。

使用方法

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

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/no-deprecated-functions": "error"
  }
}
bash
oxlint --deny jest/no-deprecated-functions --jest-plugin

参照