nextjs/no-assign-module-variable 正しさ
何を行うか
Next.js アプリケーション内で module という名前の変数の代入または宣言を禁止します。
なぜ問題か
変数名 module は、Next.js の内部用途およびモジュールシステム機能のために予約されています。独自に module 変数を宣言すると、Next.js 内部のモジュールシステムと競合し、アプリケーションで予期しない動作を引き起こす可能性があり、コード分割やホットモジュールリプレース(HMR)に問題が生じる恐れがあります。
例
このルールに違反する誤ったコードの例:
javascript
// module 変数の宣言
let module = {};
// module を変数宣言で使用
const module = {
exports: {},
};
// module への代入
module = { id: "my-module" };このルールに準拠する正しいコードの例:
javascript
// 別の変数名を使用
let myModule = {};
// より説明的な名前を使用
const customModule = {
exports: {},
};
// 実際のモジュールオブジェクトにアクセス(利用可能な場合)
console.log(module.exports);使い方
このルールを設定ファイルまたは CLI で有効化するには、以下の方法が利用可能です:
json
{
"plugins": ["nextjs"],
"rules": {
"nextjs/no-assign-module-variable": "error"
}
}bash
oxlint --deny nextjs/no-assign-module-variable --nextjs-plugin