Skip to content

A modern ESlint configuration for JavaScript, TypeScript and React that includes the Airbnb style guide, jsx-a11y to help with accessibility and Prettier to do some code formatting.

License

Notifications You must be signed in to change notification settings

100terres/easelint

Repository files navigation

easelint

A modern ESlint configuration for JavaScript, TypeScript and React that includes the Airbnb style guide, jsx-a11y to help with accessibility and Prettier to do some code formatting.

easelint is released under the MIT license. PRs welcome!

A bit of context

It's always a bit time consuming to create or maintain different ESlint configurations that work with different languages and libraries such as TypeScript and React. The goal of this package is to have different configurations that just work out-of-the-box and are constantly kept up-to-date.

Getting Started 🚀

Installing this package is as easy as any other packages. Simply use your favorite package manager. Keep in mind you'll need to install the required peer dependencies first.

Install ESlint and Prettier peer dependencies

Install ESlint and Prettier either locally or globally. Note that locally per project is strongly preferred.

npm install eslint@8 --save-dev
npm install prettier@2 --save-dev --save-exact

If you use TypeScript or React you'll also need to install them, but let's assume they're already installed. We'll only support most recent versions. Have a look at the peerDependencies field in the package.json file to know which versions are supported.

Install easelint

npm install easelint --save-dev

Setup the configuration file

Using any file formats supported by ESlint, you'll need to add "100terres" in the "extends" value of the configuration. Here's an example using a .eslintrc.js file.

Using the full configuration with JavaScript, TypeScript and React

const easelint = require("easelint");

module.exports = easelint({
  javascript: true,
  typescript: true,

  // we currently only support React
  jsxPragma: "react",

  eslint: {
    // any eslint configuration e.g.
    overrides: [
      {
        files: ["vite.config.ts"],
        rules: {
          "import/no-extraneous-dependencies": "off",
        },
      },
    ],
  },
});

Voilà! Your project now uses a linter.

How to Contribute 🤝

Pull requests are welcomed. If you'd like to contribute to easelint, that's awesome. Simply open an issue explaining what should be changed, improved or fixed. If we decide that a change is required, we can open a pull request. Once everything looks good, I'll approve and merge the PR.

License

Licensed under the MIT license.

About

A modern ESlint configuration for JavaScript, TypeScript and React that includes the Airbnb style guide, jsx-a11y to help with accessibility and Prettier to do some code formatting.

Topics

Resources

License

Stars

Watchers

Forks