/ eslint.config.mjs
eslint.config.mjs
 1  import js from '@eslint/js';
 2  import tseslint from 'typescript-eslint';
 3  import prettierConfig from 'eslint-config-prettier';
 4  
 5  export default tseslint.config(
 6    js.configs.recommended,
 7    ...tseslint.configs.strictTypeChecked,
 8    prettierConfig,
 9    {
10      languageOptions: {
11        parserOptions: {
12          project: true,
13          tsconfigRootDir: import.meta.dirname,
14        },
15      },
16      rules: {
17        '@typescript-eslint/restrict-template-expressions': ['error', { allowNumber: true }],
18        '@typescript-eslint/no-confusing-void-expression': ['error', { ignoreArrowShorthand: true }],
19        '@typescript-eslint/no-misused-promises': ['error', { checksVoidReturn: { attributes: false } }],
20      },
21    },
22    {
23      files: ['**/*.mjs'],
24      ...tseslint.configs.disableTypeChecked,
25    },
26    {
27      ignores: ['.vite/**', 'out/**', 'build/**', 'dist/**'],
28    }
29  );