Skip to content
← Back to rules

node/no-exports-assign スタイル

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

何を検出するか

exports への代入を禁止します。

なぜ問題なのか

exports = {} を直接使用すると、exports オブジェクトの再代入によってモジュールのエクスポートが破壊される可能性があり、混乱や潜在的なバグを引き起こすことがあります。module.exports を直接使うか、exports と併用するのがより予測可能で明確です。

このルールは exports = {} の使用を禁止することを目的としていますが、n/exports-style ルールの allowBatchAssign オプションとの衝突を避けるため、module.exports = exports = {} の使用は許可されています。

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

js
exports = {};

このルールに準拠する 適切な 例:

js
module.exports.foo = 1;
exports.bar = 2;
module.exports = {};

// `module.exports =` と一緒に `exports = {}` は許可される
module.exports = exports = {};
exports = module.exports = {};

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、以下のいずれかを使用してください:

json
{
  "plugins": ["node"],
  "rules": {
    "node/no-exports-assign": "error"
  }
}
bash
oxlint --deny node/no-exports-assign --node-plugin

参照