eslint-config-regiojet-typescript-react
Version:
Eslint Typescript rules for JS and TS React projects
62 lines (53 loc) • 1.76 kB
JavaScript
import getConfig, {
ignores, mapFiles, plugins as tsVanillaPlugins,
} from 'eslint-config-regiojet-typescript';
import {
reactPlugins as baseReactPlugins,
perfectionist,
refreshFiles as reactRefreshFiles,
refresh,
} from 'eslint-config-regiojet-vanilla-react';
import baseDir from './directory.mjs';
import {
defaultImportExtensions,
defaultImportExtensionsRuleGranularOption,
defaultImportNoExtraneousDependenciesDevDependencies,
defaultImportResolverNodeExtensions,
} from './rules/imports.mjs';
import reactConfigs from './rules/react.mjs';
import reactTsOff from './rules/reactTsOff.mjs';
const dineddd = defaultImportNoExtraneousDependenciesDevDependencies;
const diergo = defaultImportExtensionsRuleGranularOption;
export const files = ['**/*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}'];
export const refreshFiles = [
...reactRefreshFiles,
'**/*.tsx',
];
export const tsFiles = ['**/*.{cts,mts,ts,tsx}'];
export const plugins = {
...tsVanillaPlugins,
...baseReactPlugins,
};
const defaultOptions = {
files,
importExtensions: defaultImportExtensions,
importExtensionsRuleGranularOption: diergo,
importNoExtraneousDependenciesDevDependencies: dineddd,
importResolverNodeExtensions: defaultImportResolverNodeExtensions,
plugins,
tsFiles,
};
const tsConfigs = getConfig(baseDir, defaultOptions);
const reactConfigsWithFiles = mapFiles(reactConfigs, files);
const refreshConfigsWithFiles = mapFiles(refresh, refreshFiles);
const perfectionistWithFiles = mapFiles(perfectionist, files);
const offWithFiles = mapFiles(reactTsOff, tsFiles);
const config = [
...tsConfigs,
...reactConfigsWithFiles,
...refreshConfigsWithFiles,
...perfectionistWithFiles,
...offWithFiles,
...ignores,
];
export default config;