@3yourmind/eslint-config
Usage
import tseslint from 'typescript-eslint'
import eslintConfig3YD from '@3yourmind/eslint-config'
const config = tseslint.config(
{
ignores: ['**/dist/**', '**/.nuxt/**', '**/.turbo/**'],
},
...eslintConfig3YD.configs.global,
{
languageOptions: {
ecmaVersion: 2022,
parserOptions: {
project: [
'./tsconfig.json',
],
tsconfigRootDir: 'FIXME: You may want to specify this directory',
},
sourceType: 'module',
},
},
...eslintConfig3YD.configs.default.map((config) => ({
...config,
files: ['packages/**/*.ts', 'packages/**/*.tsx'],
})),
...eslintConfig3YD.configs.untyped,
...eslintConfig3YD.configs.json,
...eslintConfig3YD.configs.tests.map((config) => ({
...config,
files: [
...config.files,
],
})),
...eslintConfig3YD.configs.vue,
{
rules: {
},
},
)
export default config
Installation & Requirements
@3yourmind/eslint-config requires eslint>=9 and its new FlatConfig format
npm install --save-dev @3yourmind/eslint-config
yarn add --dev @3yourmind/eslint-config
Configurations
eslintConfig3YD.configs.default
- Should be used on .ts and .tsx files. This enables rules that rely on type checking.
eslintConfig3YD.configs.global
- Registers plugins and settings that should be globally enabled.
eslintConfig3YD.configs.json
- Should be used only on JSON files. Treats some files (e.g. tsconfig) as jsonc.
eslintConfig3YD.configs.tests
- Should be used on test files. It includes vitest-specific rules and turns off rules that would be unhelpful/annoying when writing tests.
eslintConfig3YD.configs.untyped
- Enables basic rules for javascript files. Use a more specific config if possible
Custom Rules