node/no-exports-assign スタイル
何を検出するか
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