easelint
A modern ESlint configuration for JavaScript, TypeScript and React that includes the Airbnb style guide, jsx-a11y to help with accessibility and Pettier to do some code formatting.
A bit of context
It's always a bit time consuming to create or maintain different ESlint configurations that works 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 that are constantly kept up-to-date.
Getting Started 🚀
Installing this packge is has as easy has any other packages. Simply use your favorite package manager. You'll need to install the required peer dependencies and than this packge.
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 version. Have a look at the peerDependencies
field in the package.json to know which one we support.
Install easelint
npm install easelint --save-dev
Setup the configuration file
Using any file formats supported by ESlint, youll 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,
jsxPragma: "react",
eslint: {
overrides: [
{
files: ["vite.config.ts"],
rules: {
"import/no-extraneous-dependencies": "off",
},
},
],
},
});
Voilà! Your project now uses a linter.
How to Contribute 🤝
Pull requests are welcome. If you'd like to contribute to easelint, that's awesome. Simply open an issue explaining what we should change, improve or fix. If we decide that a change is required we can open a pull request and once everything looks good I'll approve and merge the PR.
License
Licensed under the MIT license.