Forked from @antfu/eslint-config
Support vue, svelte, js, ts, markdown, json...
pnpm add -D eslint @vtrbo/eslint-config{
"extends": "@vtrbo"
}You don't need
.eslintignorenormally as it has been provided by the preset.
For example:
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix"
}
}Install VS Code ESLint extension
Add the following settings to your settings.json:
Type aware rules are enabled when a tsconfig.eslint.json is found in the project root, which will introduce some stricter rules into your project. If you want to enable it while have no tsconfig.eslint.json in the project root, you can change tsconfig name by modifying ESLINT_TSCONFIG env.
// .eslintrc.js
const process = require('node:process')
process.env.ESLINT_TSCONFIG = 'tsconfig.json'
module.exports = {
extends: '@vtrbo'
}If you want to apply lint and auto-fix before every commit, you can add the following to your package.json:
{
"simple-git-hooks": {
"pre-commit": "pnpm lint-staged"
},
"lint-staged": {
"*": "eslint --fix"
}
}and then
pnpm add -D lint-staged simple-git-hooks
{ "prettier.enable": false, "editor.formatOnSave": false, "editor.codeActionsOnSave": { "source.fixAll.eslint": true, "source.organizeImports": false }, // The following is optional. // It's better to put under project setting `.vscode/settings.json` // to avoid conflicts with working with different eslint configs // that does not support all formats. "eslint.validate": [ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue", "svelte", "html", "markdown", "json", "jsonc", "yaml" ] }