Ctrl K
ComunidadGuías…

frontend/eslint.config.cjs

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
const { defineConfig, globalIgnores } = require('eslint/config');
const i18N = require('eslint-plugin-i18n');
const simpleImportSort = require('eslint-plugin-simple-import-sort');
const react = require('eslint-plugin-react');
const { FlatCompat } = require('@eslint/eslintrc');
const js = require('@eslint/js');
const typescriptEslint = require('@typescript-eslint/eslint-plugin');
const tsParser = require('@typescript-eslint/parser');

const compat = new FlatCompat({
    baseDirectory: __dirname,
    recommendedConfig: js.configs.recommended,
    allConfig: js.configs.all,
});

const BASE_CONFIG = {
    extends: compat.extends(
        'eslint:recommended',
        'plugin:@typescript-eslint/eslint-recommended',
        'plugin:@typescript-eslint/recommended',
        'prettier',
        'plugin:prettier/recommended',
        'plugin:react/recommended',
    ),

    plugins: {
        '@typescript-eslint': typescriptEslint,
        i18n: i18N,
        'simple-import-sort': simpleImportSort,
        react: react,
    },

    languageOptions: {
        parser: tsParser,
    },
    settings: {},

    rules: {
        'react/jsx-no-target-blank': 'off',
        'react/no-unescaped-entities': 'off',
        'i18n/no-russian-character': 1,

        'simple-import-sort/imports': [
            'error',
            {
                groups: [
                    ['^react', 'lodash', '^\\w', '^@?\\w'],
                    ['^components', '^layouts'],
                    ['^consts', '^hooks', '^libs', '^routes', '^services', '^types'],
                    ['^App', '^pages'],
                    ['^\\./(?=.*/)(?!/?$)', '^\\.(?!/?$)', '^\\./?$'],
                    ['./constants/.'],
                    ['./definitions/.', './types'],
                    ['^.+\\.svg', '^.+\\.png$', '^.+\\.jpg', '^.+\\.s?css$'],
                ],
            },
        ],
    },
};

module.exports = defineConfig([
    globalIgnores([
        'node_modules',
        'build',
        'server.js',
        'src/locale',
        'src/types',
        'src/setupProxy.js',
        'webpack/**/*',
        'webpack/env.js',
        'webpack/prod.js',
        'public',
        'staticServer.js',
        'webpack.config.js',
    ]),
    { ...BASE_CONFIG },
]);