53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
import globals from 'globals';
|
|
import pluginJs from '@eslint/js';
|
|
import tseslint from 'typescript-eslint';
|
|
import pluginReact from 'eslint-plugin-react';
|
|
import stylistic from '@stylistic/eslint-plugin';
|
|
import pluginImport from 'eslint-plugin-import';
|
|
|
|
export default [
|
|
{ files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'] },
|
|
|
|
{ languageOptions: { globals: globals.browser } },
|
|
pluginJs.configs.recommended,
|
|
...tseslint.configs.recommended,
|
|
pluginReact.configs.flat.recommended,
|
|
{
|
|
plugins: {
|
|
'@stylistic': stylistic,
|
|
import: pluginImport,
|
|
},
|
|
rules: {
|
|
'no-unused-vars': 'off',
|
|
'@typescript-eslint/no-unused-vars': [
|
|
'warn', // or "error"
|
|
{
|
|
argsIgnorePattern: '^_',
|
|
varsIgnorePattern: '^_',
|
|
caughtErrorsIgnorePattern: '^_',
|
|
},
|
|
],
|
|
'sort-imports': ['off'],
|
|
'import/order': [
|
|
'error',
|
|
{
|
|
groups: [
|
|
'builtin',
|
|
'external',
|
|
'internal',
|
|
'parent',
|
|
['sibling', 'index'],
|
|
],
|
|
'newlines-between': 'always',
|
|
},
|
|
],
|
|
semi: ['error', 'always'],
|
|
'@stylistic/indent': ['error', 2],
|
|
'react/prop-types': 'off',
|
|
},
|
|
},
|
|
{
|
|
ignores: ['babel.config.js'],
|
|
},
|
|
];
|