MuXiu1997's personal ESLint rules.
npm install -D @muxiu1997/eslint-pluginRegister 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',
},
},
]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)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.
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.
git clone https://github.com/MuXiu1997/eslint-plugin.git
cd eslint-plugin
pnpm installpnpm 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.
This project is licensed under the MIT License.