UNPKG

eslint-config-regiojet-typescript-react

Version:

Eslint Typescript rules for JS and TS React projects

46 lines (34 loc) 1.03 kB
import { a11y, react as basicReactConfig, hooks, reactStylistic, } from 'eslint-config-regiojet-vanilla-react'; const updateJsxFilenameExtensionRule = () => { const [{ name: ruleName, rules: baseReactRules, ...restReactConfig }] = basicReactConfig; const jsfRule = baseReactRules['react/jsx-filename-extension']; const [type, options] = jsfRule; if (!type || !options || typeof options === 'string') { return basicReactConfig; } const { extensions, ignoreFilesWithoutCode } = options; const updatedExtensions = [...extensions, 'tsx']; const newRule = [ type, { extensions: updatedExtensions, ignoreFilesWithoutCode, }, ]; baseReactRules['react/jsx-filename-extension'] = newRule; return [{ ...restReactConfig, name: `typescript-react/react extends from ${ruleName}`, rules: baseReactRules, }]; }; export const react = updateJsxFilenameExtensionRule(); const config = [ ...a11y, ...hooks, ...react, ...reactStylistic, ]; export default config;