ESLint config for TypeScript + Vue.js projects
npm install @vue/eslint-config-typescriptESLint configuration for Vue 3 + TypeScript projects.
See @typescript-eslint/eslint-plugin for available rules.
This config is specifically designed to be used by create-vue setups
and is not meant for outside use (it can be used but some adaptations
on the user side might be needed - for details see the config file).
A part of its design is that this config may implicitly depend on
other parts of create-vue setups, such as eslint-plugin-vue being
extended in the same resulting config.
> [!NOTE]
> The current version doesn't support the legacy .eslintrc* configuration format. For that you need to use version 13 or earlier. See the corresponding README for more usage instructions.
``sh`
npm add --dev @vue/eslint-config-typescript
Please also make sure that you have typescript and eslint installed.
Because of the complexity of the configurations, this package exports several utilities:
- defineConfigWithVueTs, a utility function whose type signature is the same as the config function from typescript-eslint, but will modify the given ESLint config to work with Vue.js + TypeScript.vueTsConfigs
- , contains all the shared configurations from typescript-eslint (in camelCase, e.g. vueTsConfigs.recommendedTypeChecked), and applies to .vue files in addition to TypeScript files.configureVueProject({ scriptLangs, rootDir })
- a Vue-specific config factory: . More info below.
`js
// eslint.config.mjs
import pluginVue from 'eslint-plugin-vue'
import {
defineConfigWithVueTs,
vueTsConfigs,
} from '@vue/eslint-config-typescript'
export default defineConfigWithVueTs(
pluginVue.configs['flat/essential'],
vueTsConfigs.recommended,
)
`
The above configuration enables the essential rules for Vue 3 and the recommended rules for TypeScript.
All the