Skip to content

lzear/eslint-plugin-ninja

Β 
Β 

Repository files navigation

ESLint Plugin Ninja

Version GitHub license

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)

πŸš€ Install

npm i -D eslint-plugin-ninja
{
  "plugins": ["ninja"],
  "extends": ["plugin:ninja/recommended"],
  "rules": {
    "ninja/align": 2,
    "ninja/prefer-emoji": 1
  }
}

βœ… Rules

πŸ”§ 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 πŸ”§
yes enforce nothing

πŸ”’ License

MIT Β© Azat S.

Packages

No packages published

Languages

  • TypeScript 80.7%
  • Vue 15.9%
  • CSS 2.7%
  • JavaScript 0.7%