2024-08-30 16:34:35 -04:00
|
|
|
// @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',
|
2024-09-10 16:40:45 -04:00
|
|
|
'@typescript-eslint/explicit-function-return-type': [
|
|
|
|
'error',
|
|
|
|
{ allowExpressions: true },
|
|
|
|
],
|
|
|
|
'@typescript-eslint/strict-boolean-expressions': 'error',
|
2024-08-30 16:34:35 -04:00
|
|
|
},
|
|
|
|
languageOptions: {
|
|
|
|
parserOptions: {
|
|
|
|
project: './tsconfig.json',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
prettier,
|
|
|
|
);
|