GithubHelp home page GithubHelp logo

manovotny / eslint-config-get-off-my-lawn Goto Github PK

View Code? Open in Web Editor NEW
55.0 4.0 8.0 1.31 MB

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

License: MIT License

JavaScript 100.00%
eslint eslint-config eslint-rules eslint-plugin

eslint-config-get-off-my-lawn's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.