Skip to content

MuXiu1997/eslint-plugin

Repository files navigation

@muxiu1997/eslint-plugin

CI npm version LICENSE

MuXiu1997's personal ESLint rules.

📦 Install

npm install -D @muxiu1997/eslint-plugin

📖 Usage

Manual setup

Register the plugin and enable rules in your eslint.config.js:

import muxiu1997 from '@muxiu1997/eslint-plugin'

export default [
  {
    plugins: {
      muxiu1997,
    },
    rules: {
      'muxiu1997/if-empty-return-same-line': 'error',
      'muxiu1997/if-non-empty-return-new-line': 'error',
    },
  },
]

Preset (with @antfu/eslint-config)

If you use @antfu/eslint-config, the /preset subpath bundles the plugin, all rules, and turns off the conflicting antfu/if-newline rule:

import antfu from '@antfu/eslint-config'
import muxiu1997Preset from '@muxiu1997/eslint-plugin/preset'

export default antfu({ ... }).append(muxiu1997Preset)

📏 Rules

muxiu1997/if-empty-return-same-line

Enforces that an empty return (guard clause) stays on the same line as the if.

// ✅ Correct
if (condition) return

// ❌ Incorrect
if (condition)
  return

🔧 Auto-fixable.


muxiu1997/if-non-empty-return-new-line

Enforces that a non-empty statement after a braceless if is on a new line.

// ✅ Correct
if (condition)
  doSomething()

// ❌ Incorrect
if (condition) doSomething()

🔧 Auto-fixable.

🛠 Development

Prerequisites

Setup

git clone https://github.com/MuXiu1997/eslint-plugin.git
cd eslint-plugin
pnpm install

Scripts

  • pnpm run build — Build the plugin.
  • pnpm run dev — Build in watch mode.
  • pnpm run lint — Lint and auto-fix.
  • pnpm run test — Run tests.
  • pnpm run typecheck — Type-check without emitting.

📜 License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors