// @ts-check import eslint from '@eslint/js'; import prettier from 'eslint-config-prettier'; import simpleImportSort from 'eslint-plugin-simple-import-sort'; import globals from 'globals'; import tseslint from 'typescript-eslint'; export default tseslint.config( { languageOptions: { globals: globals.browser } }, eslint.configs.recommended, ...tseslint.configs.recommended, { plugins: { 'simple-import-sort': simpleImportSort, }, rules: { 'simple-import-sort/exports': 'off', 'simple-import-sort/imports': 'error', 'no-case-declarations': 'off', '@typescript-eslint/no-explicit-any': 'off', 'no-constant-condition': ['error', { checkLoops: false }], '@typescript-eslint/no-unused-vars': [ 'error', { args: 'all', argsIgnorePattern: '^_', caughtErrors: 'all', caughtErrorsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_', varsIgnorePattern: '^_', }, ], '@typescript-eslint/no-floating-promises': 'error', '@typescript-eslint/no-misused-promises': 'error', 'object-shorthand': 'error', '@typescript-eslint/consistent-type-imports': 'error', '@typescript-eslint/explicit-function-return-type': [ 'error', { allowExpressions: true }, ], '@typescript-eslint/strict-boolean-expressions': 'error', }, languageOptions: { parserOptions: { project: './tsconfig.json', }, }, }, prettier, );