Lesson 8 / 25

Advanced ESLint Configuration

Use environments, globals, and overrides for granular control.

Environments and globals

Environments define globals (browser, node, es2021). Globals tell ESLint which variables are predefined. Use overrides to apply different rules to different file patterns.

Using overrides

Apply stricter rules to source files but looser rules to tests.

{
  "env": { "browser": true, "es2021": true },
  "rules": { "no-console": "error" },
  "overrides": [
    {
      "files": ["**/*.test.js"],
      "env": { "jest": true },
      "rules": { "no-console": "off" }
    }
  ]
}

Output:

Overrides configured: stricter prod, lenient tests

Selective strictness

Test files and scripts often need looser rules. Use overrides to customize rules per directory or file pattern without duplicating your base config.

Quick check

Quick check: What do 'overrides' allow you to do?

  • Apply different rules to different files or directories.
  • Speed up ESLint.
  • Disable all rules at once.
Answer

Apply different rules to different files or directories. — 'overrides' is a powerful feature for file-specific configuration, perfect for testing different rule strictness levels.