ESLint plugin that wraps any rule to disable its autofix behavior, allowing rules to report warnings without automatically fixing them. Current stable version is 2.1.0, released September 2024. Requires Node >= 18 and ESLint >= 8. The plugin supports all ESLint core rules and third-party plugin rules by simply prefixing the rule name with 'no-autofix/'. It is particularly useful for teams that want to enforce certain rules (like prefer-const) but avoid automatic code modifications that might conflict with other tools or team conventions. Unlike alternatives (e.g., using eslint --no-fix), this provides per-rule granularity.
npm install eslint-plugin-no-autofixVerified import paths — ran on the pinned version, not inferred.
Demonstrates how to configure eslint-plugin-no-autofix with flat config, disabling the original rule and enabling the no-autofix variant for core and plugin rules.
Upgrade to Node >= 18 and ESLint >= 8. If using .eslintrc, stay on v1.x or migrate to flat config.
Always set the original rule to 'off' when using the no-autofix variant to avoid duplicate warnings.
Add 'no-autofix' to the plugins array in your ESLint config.
Migrate to eslint.config.js with flat config as shown in Quickstart.
Run 'npm install eslint-plugin-no-autofix --save-dev' and verify the spelling in your config.
Use import syntax (ESM) or downgrade to v1.x with require() and Node < 18.
Make sure to add 'no-autofix' to the plugins list in your ESLint config.