27 lines
994 B
JavaScript
27 lines
994 B
JavaScript
import eslint from '@eslint/js';
|
|
import globals from 'globals';
|
|
import reactHooks from 'eslint-plugin-react-hooks';
|
|
import reactRefresh from 'eslint-plugin-react-refresh';
|
|
import tseslint from 'typescript-eslint';
|
|
|
|
export default tseslint.config(
|
|
{ ignores: ['**/dist/**', '**/node_modules/**', '**/coverage/**', 'api/vendor/**'] },
|
|
eslint.configs.recommended,
|
|
...tseslint.configs.recommended,
|
|
{
|
|
files: ['src/**/*.{ts,tsx}', 'tools/**/*.mjs'],
|
|
languageOptions: { globals: { ...globals.browser, ...globals.node } },
|
|
plugins: { 'react-hooks': reactHooks, 'react-refresh': reactRefresh },
|
|
rules: {
|
|
...reactHooks.configs.recommended.rules,
|
|
'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],
|
|
'@typescript-eslint/no-explicit-any': 'warn',
|
|
},
|
|
},
|
|
{
|
|
files: ['api/src/**/*.ts'],
|
|
languageOptions: { globals: { ...globals.node, ...globals.jest } },
|
|
rules: { '@typescript-eslint/no-explicit-any': 'warn' },
|
|
},
|
|
);
|