Skip to main content

 ESLint plugin for modern JavaScript + TypeScript teams ï„ĩ

eslint-plugin-immutable-2

ESLint rules that enforce immutable data and functional constraints across JavaScript and TypeScript codebases. Start with the overview and pick a preset from the presets guide

Flat Config native

Drop-in config for ESLint v9+ and modern repos.

JavaScript + TypeScript

Works in JavaScript today and scales to type-aware analysis in TypeScript.

Actionable rule docs

Clear diagnostics with safe autofixes and practical migration guidance.

  • npm license
  • npm total downloads
  • latest GitHub release
  • GitHub stars
  • GitHub forks
  • GitHub open issues
  • mutation testing badge

 14 Core Rules

Core immutable and functional rules for everyday code.

 5 Presets

Start small, then scale to stricter coverage.

ó°Ļ Safe Autofix & Suggestions

Safe rewrites where semantics are preserved.

ï„ĩ

Get Started

Install the plugin, enable a preset, and start enforcing immutable patterns in JavaScript or TypeScript.

Open section →



Presets

Choose the right rollout path: functional-lite, functional, immutable, recommended, or all.

Open section →



Rule Reference

Browse every rule with concrete incorrect/correct examples and migration guidance.

Open section →