62 lines
1.8 KiB
JavaScript
Executable File
62 lines
1.8 KiB
JavaScript
Executable File
import prettierConfig from 'eslint-config-prettier';
|
|
import reactHooks from 'eslint-plugin-react-hooks';
|
|
import reactRefresh from 'eslint-plugin-react-refresh';
|
|
import globals from 'globals';
|
|
import tseslint from 'typescript-eslint';
|
|
|
|
const cleanGlobals = Object.fromEntries(
|
|
Object.entries(globals.browser).map(([key, value]) => [key.trim(), value])
|
|
);
|
|
|
|
export default tseslint.config(
|
|
{ ignores: ['dist'] },
|
|
{
|
|
extends: [...tseslint.configs.recommended, prettierConfig],
|
|
files: ['**/*.{ts,tsx}'],
|
|
languageOptions: {
|
|
ecmaVersion: 2020,
|
|
globals: cleanGlobals
|
|
},
|
|
plugins: {
|
|
'react-hooks': reactHooks,
|
|
'react-refresh': reactRefresh
|
|
},
|
|
rules: {
|
|
...reactHooks.configs.recommended.rules,
|
|
'@typescript-eslint/no-unused-vars': [
|
|
'warn',
|
|
{
|
|
/*
|
|
* Check all function arguments for usage
|
|
**/
|
|
args: 'all',
|
|
/*
|
|
* Ignore function arguments that start with "_" (e.g., `_arg`)
|
|
**/
|
|
argsIgnorePattern: '^_',
|
|
/*
|
|
* Check all caught error variables in try/catch
|
|
**/
|
|
caughtErrors: 'all',
|
|
/*
|
|
*Ignore caught errors that start with "_" (e.g., `catch (_err)`)
|
|
**/
|
|
caughtErrorsIgnorePattern: '^_',
|
|
/*
|
|
* Ignore unused elements in array destructuring if they start with "_"
|
|
**/
|
|
destructuredArrayIgnorePattern: '^_',
|
|
/*
|
|
* Ignore variables declared but not used if they start with "_"
|
|
**/
|
|
varsIgnorePattern: '^_',
|
|
/*
|
|
* Ignore unused variables when using object rest spread (e.g., `const { a, ...rest } = obj;`)
|
|
**/
|
|
ignoreRestSiblings: true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
);
|