npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@morev/eslint-disable-autofix

v1.1.0

Published

Utility to disable autofix for specific ESLint rules

Readme

Stability of "master" branch License: MIT Last commit Release version GitHub Release Date Keywords

@morev/eslint-disable-autofix

This utility allows you to disable autofix for specific ESLint rules by using a custom prefix in your configurations.
It's useful when you want a rule to remain active for linting purposes but prevent ESLint from automatically fixing it.


[!NOTE] This is a temporary solution until this issue is resolved - after that the feature for disabling autofix for rules will be in the ESLint core.

I tried to get the RFC implemented, but was unsuccessful. Now there is another RFC: https://github.com/eslint/rfcs/pull/143

I'll probably be able to implement this package as a polyfill for the final solution, once RFC discussion reaches a consensus on a public API.


[!IMPORTANT]

  • Only works with ESLint v9 with flat config format or ESLint v10;
  • You have to restart ESLint server after adding/removing no-autofix/ prefix to take effect.

Why?

Some rules support autofixing, which is often convenient, but in certain cases the fixes may be broken, unsafe, or simply undesirable.
Ideally, unsafe autofixes should be treated as suggestions, and broken fixes should be reported.

However, ESLint is a large ecosystem, and some useful plugins are no longer actively maintained.
Even in actively maintained projects, users may want to disable autofixing for specific rules due to project-specific or personal preferences.

Installation

pnpm add -D @morev/eslint-disable-autofix
yarn add @morev/eslint-disable-autofix -D
npm install -D @morev/eslint-disable-autofix

Usage

Basic usage

In your eslint.config.js (only flat config is supported):

import { disableAutofix } from '@morev/eslint-disable-autofix';
import somePlugin from 'some-eslint-plugin';

export default disableAutofix([
  {
    plugins: {
      'some-plugin': somePlugin,
    },
    rules: {
      // Disable autofix for a core rule
      'no-autofix/no-var': 'error',
      // Disable autofix for a third-party rule
      'no-autofix/some-plugin/some-rule': 'warn',
    },
  },
]);

Custom prefix

If you'd prefer a custom prefix other than no-autofix/, use the factory:

import { createDisableAutofix } from '@morev/eslint-disable-autofix';

const disableAutofix = createDisableAutofix({
  prefix: 'disable-autofix',
});

export default disableAutofix([
  {
    rules: {
      'disable-autofix/no-var': 'error',
    },
  },
]);

How it works internally

  1. Scans passed ESLint configurations for rules with a specified prefix;
  2. Strips the prefix to keep the original name of the rule;
  3. Patches rules from ESLint core or third-party plugins directly to disable autofix.

[!CAUTION] Direct patching is quite risky and hacky, it relies on non-public ESLint API.
While it's currently the only way to access certain rule internals, it may break in future ESLint versions.