For production applications, it is recommended to enable type-aware lint rules by replacing tseslint.configs.recommended with one of the following in your ESLint configuration:
tseslint.configs.recommendedTypeChecked: Standard recommended type-aware rules.tseslint.configs.strictTypeChecked: Stricter type-aware rules.tseslint.configs.stylisticTypeChecked: Adds stylistic type-aware rules.
When enabling these, you must configure languageOptions.parserOptions to include your project (e.g., ./tsconfig.app.json) and tsconfigRootDir so the parser can access type information.
export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Replace tseslint.configs.recommended with:
tseslint.configs.recommendedTypeChecked,
// Or for stricter rules:
// tseslinter.configs.strictTypeChecked,
// Or for stylistic rules:
// tseslint.configs.stylisticTypeChecked,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
},
},
])