The ultimate ESLint plugin.
// Make your code look like this!
import 👈 from 'left-pad'
import 🎭 from 'is-even'
let ✋ = '1'
let 🔥 = +👈(✋++, ✋)
let 🌈 = 🔥++ + ++✋ + +🎭(++🔥)
let 🌯 = 🌈 + 🔥 * 🖐️
// 12% of the people can't solve this! 😂
console.log(👈(✋, 🌯, 🌈) + 1)
npm i -D eslint-plugin-ninja
{
"plugins": ["ninja"],
"extends": ["plugin:ninja/recommended"],
"rules": {
"ninja/align": 2,
"ninja/prefer-emoji": 1
}
}
🔧 Automatically fixable by the
--fix
CLI option.
Name | Description | 🔧 |
---|---|---|
align | enforce elegant text alignment | 🔧 |
declare-keyword | enforce variable names to include their type | 🔧 |
justify | enforce comments explaining code | 🔧 |
justify2 | enforce text to be justified | 🔧 |
lottery | require luck | |
monopoly | disallow bad eslint configs | 🔧 |
no | disallow everything | |
no-avoidable-loop | disallow useless for loops |
🔧 |
no-ci | disallow running on CI lol | |
no-no-plusplus | enforce the unary operators ++ and -- | 🔧 |
no-object | disallow object literals, prefer Map | 🔧 |
no-overtime | disallow overwork | |
no-random | disallow non-deterministic randomness | 🔧 |
no-rush | enforce a delay | |
no-ts | disallow gymnastics needed to please the TS compiler | 🔧 |
no-woof | disallow woof! | 🔧 |
no-xkcd | disallow xkcd references | 🔧 |
optimize-string-ternary | disallow repetition when building strings with ternaries | 🔧 |
prefer-emoji | require variables and properties to be named using emojis | 🔧 |
prefer-npm | require from npm instead of using JS builtins | 🔧 |
prefer-tab | require word separators to be tabs, not spaces | 🔧 |
quine | enforce quine | |
yes | enforce nothing |
MIT © Azat S.