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.
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.