// @ts-check import js from '@eslint/js' import tseslint from 'typescript-eslint' import simpleImportSort from 'eslint-plugin-simple-import-sort' import globals from 'globals' export default tseslint.config( // Global ignores { ignores: ['dist/**', 'node_modules/**'], }, // Base JS recommended rules js.configs.recommended, // TypeScript rules with type checking ...tseslint.configs.recommendedTypeChecked, // Main configuration { files: ['**/*.{js,jsx,ts,tsx}'], plugins: { 'simple-import-sort': simpleImportSort, }, languageOptions: { ecmaVersion: 'latest', sourceType: 'module', globals: { ...globals.browser, }, parserOptions: { projectService: true, tsconfigRootDir: import.meta.dirname, }, }, rules: { 'simple-import-sort/imports': 'warn', 'simple-import-sort/exports': 'warn', 'no-else-return': 'off', '@typescript-eslint/no-require-imports': 'off', '@typescript-eslint/no-unused-vars': [ 'error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_.+', caughtErrors: 'none', ignoreRestSiblings: true, }, ], }, }, )