UNPKG

eslint-config-regiojet-typescript-react

Version:

Eslint Typescript rules for JS and TS React projects

62 lines (53 loc) 1.76 kB
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;