0.3.0 • Published 5 years ago
@esvelo/eslint-config v0.3.0
@esvelo/eslint-config
Suggested defaults for both ESlint and Prettier. Feel free to customize it on project-by-project basis.
How to install
1️⃣. Add dependencies to your project
yarn add -D @esvelo/eslint-config eslint prettier2️⃣. Create or extend config files
See .eslintrc.js, .prettierrc.js and tsconfig.json in monorepository root.
Adding .editorconfig and .prettierignore is also strongly encouraged.
3️⃣. Add lint to scripts in package.json
{
"scripts": {
…
"lint": "prettier --write . && eslint --fix --ext .js,.ts,.tsx,.json .",
"test:lint": "prettier --check . && eslint --ext .js,.ts,.tsx,.json ."
}
}Customize rules
ESlint
It's easy to change or override rules.
⚠️ If you change monorepository org, adjust:
{
settings: {
'import/internal-regex': '^@your-custom-org-name/',
},
}Prettier
Options are available on prettier.io/docs/en/options.html
// .prettierrc.js
const config = require('@esvelo/eslint-config/prettier')
module.exports = {
...config,
semi: true,
}🧭 Plans for the future
🔌 Plugins to add or evaluate
- ❓
eslint-plugin-node - ❓
eslint-plugin-security eslint-plugin-eslint-comments- ❓
eslint-plugin-react-native
🛠️ Custom rules
ESlint plugins are based on AST parsing. In case you find any atypical case where eslint could help, there is a possibility to change this config into plugin with custom rules.