import js from '@eslint/js'; import prettier from 'eslint-config-prettier'; import reactHooks from 'eslint-plugin-react-hooks'; import globals from 'globals'; import tseslint from 'typescript-eslint'; export default tseslint.config( { ignores: ['dist', 'node_modules', 'src/api/schema.d.ts', 'src/design/icons.generated.ts'] }, { files: ['src/**/*.{ts,tsx}', 'vite.config.ts'], extends: [js.configs.recommended, ...tseslint.configs.strictTypeChecked, reactHooks.configs.flat.recommended], languageOptions: { globals: globals.browser, parserOptions: { projectService: true, tsconfigRootDir: import.meta.dirname }, }, rules: { '@typescript-eslint/no-non-null-assertion': 'error', '@typescript-eslint/restrict-template-expressions': ['error', { allowNumber: true }], 'no-console': 'error', }, }, { files: ['scripts/**/*.mjs', 'eslint.config.js'], extends: [js.configs.recommended], languageOptions: { globals: globals.node }, }, prettier, );