A highly opinionated, sharable config of ESLint rules to produce beautiful, readable JavaScript.
JavaScript
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets
src
.editorconfig
.eslintrc.js
.gitattributes
.gitignore
.npmrc
.nvmrc
.prettierignore
.prettierrc.js
.travis.yml
LICENSE
README.md
index.js
package.json
yarn.lock

README.md

eslint-config-get-off-my-lawn Build Status

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.

Install

$ 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
    }
};

Usage With Prettier

eslint-config-get-off-my-lawn can work seamlessly with prettier with the help of eslint-config-prettier.

$ yarn add eslint-config-prettier --dev

Then all that is needed is a slight adjustment to your ESLint config in your package.json or .eslintrc.js file.

package.json

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

.eslintrc.js

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

Related

License

MIT © Michael Novotny