All Projects → manovotny → eslint-config-get-off-my-lawn

manovotny / eslint-config-get-off-my-lawn

Licence: MIT License
A highly opinionated, sharable config of ESLint rules to produce beautiful, readable JavaScript.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to eslint-config-get-off-my-lawn

Eslint Plugin Unicorn
Various awesome ESLint rules
Stars: ✭ 2,157 (+4802.27%)
Mutual labels:  eslint, eslint-plugin, eslint-config, eslint-rules
eslint-plugin
Enforcing best practices for Effector
Stars: ✭ 69 (+56.82%)
Mutual labels:  eslint, eslint-plugin, eslint-config
Xo
❤️ JavaScript/TypeScript linter (ESLint wrapper) with great defaults
Stars: ✭ 6,277 (+14165.91%)
Mutual labels:  eslint, eslint-plugin, eslint-rules
eslint-config-hardcore
The most strict (yet practical) ESLint config. 34 plugins. 1047 rules.
Stars: ✭ 168 (+281.82%)
Mutual labels:  eslint, eslint-config
eslint-plugin-total-functions
An ESLint plugin to enforce the use of total functions (and prevent the use of partial functions) in TypeScript.
Stars: ✭ 72 (+63.64%)
Mutual labels:  eslint, eslint-plugin
eslint-plugin-tailwind
ESLint rules for Tailwind CSS
Stars: ✭ 97 (+120.45%)
Mutual labels:  eslint, eslint-rules
eslint-plugin-react-hook-form
ESLint plugin for react-hook-form
Stars: ✭ 27 (-38.64%)
Mutual labels:  eslint, eslint-plugin
eslint-plugin-decorator-position
ESLint plugin for enforcing decorator position
Stars: ✭ 32 (-27.27%)
Mutual labels:  eslint, eslint-plugin
eslint-plugin-strict-vue
Vue eslint plugin with rules to make you code stricter: enforce jsdoc, restrict rootGetters, rootState and more.
Stars: ✭ 28 (-36.36%)
Mutual labels:  eslint-plugin, eslint-rules
eslint-define-config
Provide a defineConfig function for .eslintrc.js files
Stars: ✭ 61 (+38.64%)
Mutual labels:  eslint, eslint-config
eslint-plugin-expect-type
ESLint plugin with $ExpectType, $ExpectError, and $ExpectTypeSnapshot type assertions
Stars: ✭ 27 (-38.64%)
Mutual labels:  eslint, eslint-plugin
eslint-config
ClearTax's ESLint Config
Stars: ✭ 27 (-38.64%)
Mutual labels:  eslint, eslint-config
eslint-plugin-sql
SQL linting rules for ESLint.
Stars: ✭ 56 (+27.27%)
Mutual labels:  eslint, eslint-plugin
eslint-plugin-layout-shift
ESLint plugin to force responsive media elements to set the width/height attributes
Stars: ✭ 15 (-65.91%)
Mutual labels:  eslint, eslint-plugin
eslint-plugin
autofix some errors reported by eslint rules.
Stars: ✭ 74 (+68.18%)
Mutual labels:  eslint, eslint-plugin
eslint-plugin-ban
Ban some methods and functions
Stars: ✭ 23 (-47.73%)
Mutual labels:  eslint, eslint-plugin
eslint-config
My shared ESLint & Prettier configuration for projects
Stars: ✭ 12 (-72.73%)
Mutual labels:  eslint, eslint-config
eslint-plugin
😎 基于 @lint-md,提供 eslint-plugin,让 lint-md 玩家在 IDE 中得到愉悦的文档编写体验。
Stars: ✭ 22 (-50%)
Mutual labels:  eslint, eslint-plugin
eslint-plugin-disable
Disable ESLint plugins using file path patterns and inline comments
Stars: ✭ 51 (+15.91%)
Mutual labels:  eslint, eslint-plugin
eslint-plugin-svelte
ESLint plugin for Svelte using AST
Stars: ✭ 22 (-50%)
Mutual labels:  eslint, eslint-plugin

eslint-config-get-off-my-lawn

A highly opinionated, sharable config of ESLint rules to produce beautiful, readable JavaScript.

eslint-config-get-off-my-lawn

As developers, we spend more time reading code than writing it. These rules aim to make reading JavaScript a priority.

That means some rules will feel oppressive or "over the top" for many developers, which is fine. If you don't like it, you can get off my lawn! ... Or extend the rules and override them with the ones that bother you. Either way. 😊

This config also comes with the following plugins, and corresponding rules, baked in.

Each and every single rule has been meticulously poured over and purposefully hand picked or excluded.

eslint-config-get-off-my-lawn will automatically enable and disable plugins (and thus rules) based on your package.json dependencies. Not using React? Cool. eslint-plugin-jsx-a11y, eslint-plugin-react, eslint-plugin-react-hooks, and eslint-plugin-react-native won't be included. Not using a React version that supports hooks? eslint-plugin-react-hooks will be disabled. Not a React Native project? No problem. Those rules won't be included. I think you get the idea... 😉

Install

NPM

$ npm i eslint eslint-config-get-off-my-lawn --save-dev

Yarn

$ yarn add eslint eslint-config-get-off-my-lawn --dev

Usage

Create an ESLint config in your package.json or .eslintrc.js file.

package.json

{
    "name": "my-awesome-project",
    "eslintConfig": {
        "extends": "get-off-my-lawn",
        "rules": {
            // enable additional rules, override rule options, or disable rules
        }
    }
}

.eslintrc.js

module.exports = {
    extends: 'get-off-my-lawn',
    rules: {
        // enable additional rules, override rule options, or disable rules
    },
};

Once your rules are configured, we recommend running the following command in your package.json as an npm script.

eslint . --ext .js,.json

Supported extensions:

  • .js
  • .jsx
  • .json
  • .json5
  • .jsonc
  • .ts
  • .tsx

Usage With Prettier

Love eslint-config-get-off-my-lawn? Love prettier? Well you're in luck!

eslint-config-get-off-my-lawn will automatically detect if your project is using prettier and it will apply eslint-config-prettier to turn off all rules that are unnecessary or might conflict with prettier.

Usage With TypeScript

But what about TypeScript? Don't worry, we got you!

eslint-config-get-off-my-lawn will automatically detect if your project is using TypeScript and it will configure and enable @typescript-eslint/eslint-plugin for you. How's that for handy?

Related

License

MIT © Michael Novotny

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].