ESLint config for @kazupon
- Flat configuration via vite flavor
defineConfig
- Support built-in configurations
javascript
comments
typescript
jsdoc
regexp
promise
unicorn
prettier
jsonc
vue
,yml
toml
- Support primitive eslint flat configuration
- Support overrides for built-in configurations
rules
npm i -D @kazupon/eslint-config
Add create eslint.config.mjs
in your project root:
// eslint.config.mjs
import { defineConfig, javascript } from '@kazupon/eslint-config'
// You can put flat configurations (`Linter.FlatConfig | Linter.FlatConfig[]`)
export default defineConfig(
// built-in configurations
javascript({
// override rules
rules: {
'no-console': 'error'
}
}),
// You can put primitive flat configuration, and override it!
{
ignores: ['**/dist/**' /* something ignores ... */]
}
)
Important
Support flat configuration only, not supported Legacy style (.eslintrc
)
For example:
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix"
}
}
You can lint and auto fix.
Install VS Code ESLint extension.
Add the following settings to your .vscode/settings.json
:
{
// Auto fix
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
// Enable eslint for supported languages
"eslint.validate": ["javascript", "typescript", "json", "jsonc", "json5", "vue", "yaml", "toml"],
// Enable flat configuration
"eslint.useFlatConfig": true
}
The following built-in configurations are supported:
Configuration | Powered by eslint plugin or package | Need to install eslint plugin or package? |
---|---|---|
javascript |
@eslint/js |
no (built-in) |
comments |
@eslint-community/eslint-plugin-eslint-comments |
no (built-in) |
typescript |
typescript-eslint |
yes |
jsdoc |
eslint-plugin-jsdoc |
yes |
regexp |
eslint-plugin-regexp |
yes |
promise |
eslint-plugin-promise |
yes |
unicorn |
eslint-plugin-unicorn |
yes |
prettier |
eslint-config-prettier |
yes |
jsonc |
eslint-plugin-jsonc |
yes |
vue |
eslint-plugin-vue |
yes |
yml |
eslint-plugin-yml |
yes |
toml |
eslint-plugin-toml |
yes |
You can use import
syntax:
import { defineConfig, javascript, typescript } from '@kazupon/eslint-config'
export default defineConfig(
javascript(/* ... */),
typescript(/* ... */)
// ...
)
⚖️ Comparing to @antfu/eslint-config
and others
- Respect the recommended config by the eslint plugin in built-in configurations
- Customization is overriding it only
This eslint config is inspired by:
@antfu/eslint-config
, created by Anthony Fu@sxzz/eslint-config
, created by Kevin Deng 三咲智子- Vite, created by Evan You and Vite community
Thank you! ❤️