Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 1.29 KB

no-exports-assign.md

File metadata and controls

47 lines (31 loc) · 1.29 KB

Disallow the assignment to exports (n/no-exports-assign)

💼 This rule is enabled in the following configs: ☑️ flat/recommended, 🟢 flat/recommended-module, ✅ flat/recommended-script, ☑️ recommended, 🟢 recommended-module, ✅ recommended-script.

To assign to exports variable would not work as expected.

// This assigned object is not exported.
// You need to use `module.exports = { ... }`.
exports = {
    foo: 1
}

📖 Rule Details

This rule is aimed at disallowing exports = {}, but allows module.exports = exports = {} to avoid conflict with n/exports-style rule's allowBatchAssign option.

👍 Examples of correct code for this rule:

/*eslint n/no-exports-assign: error */

module.exports.foo = 1
exports.bar = 2

module.exports = {}

// allows `exports = {}` if along with `module.exports =`
module.exports = exports = {}
exports = module.exports = {}

👎 Examples of incorrect code for this rule:

/*eslint n/no-exports-assign: error */

exports = {}

🔎 Implementation