Eslint Config Super Opinionated
Clean Eslint config with Prettier, TypeScript, and absolute imports.
🚩 Table of Contents
🚀 Introduction
This is a Eslint Shareable Config that comes pre-configured with tons of stuff.
🎨 Features
🔧 Installation
- Install all peer dependencies:
npx install-peerdeps --yarn --dev eslint-config-superop
npx install-peerdeps --dev eslint-config-superop
- Install eslint-config-superop as a development dependecy of your project:
yarn add --dev eslint-config-superop
npm install --save-dev eslint-config-superop
📖 Usage
Shareable configs are designed to work with the extends
feature of .eslintrc
files. You can learn more about Shareable Configs on the official ESLint website.
This is all you need on your .eslintrc
file:
{
"extends": "eslint-config-superop"
}
And this string for the .prettierrc
file:
"eslint-config-superop/.prettierrc.js"
ESLint and Prettier both support ignore files, but they do not have an extend feature so you should copy and paste the following files inside your project folder:
Copy ignores to current folder:
cp -r node_modules/eslint-config-superop/.eslintignore .
cp -r node_modules/eslint-config-superop/.prettierignore .
This package also goes well with EditorConfig, just copy and paste .editorconfig inside your project folder.
Copy EditorConfig to current folder:
cp -r node_modules/eslint-config-superop/.editorconfig .
You might also want to copy and paste the following scripts from our package.json:
- eslint
- prettier
- lint
- lint-fix
Working with VS Code
To fix your files make sure you have the VS Code ESLint extension installed.
Add a .vscode
folder at the root of your project with this settings.json file.
The important parts are:
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
💬 Contributing
Would like to help make this package better? Please take a look at the contributing guidelines for a detailed explanation on how you can contribute.
❤️ Acknowledgments
I'd like thank my daily coffee!