UNPKG

@perfective/eslint-config

Version:
46 lines 1.46 kB
import { flatConfigs } from 'eslint-plugin-import'; import { javascriptFiles, typescriptFiles } from "../../linter/glob.js"; import { javascriptLanguageOptions, typescriptLanguageOptions } from "../../linter/language-options.js"; import { helpfulWarningsRules } from "./helpful-warnings-rules.js"; import { moduleSystemsRules } from "./module-systems-rules.js"; import { staticAnalysisRules } from "./static-analysis-rules.js"; import { styleGuideRules } from "./style-guide-rules.js"; export function importConfig() { return { plugins: { import: flatConfigs.recommended.plugins.import }, rules: Object.assign(Object.assign(Object.assign(Object.assign({}, staticAnalysisRules), helpfulWarningsRules), moduleSystemsRules), styleGuideRules) }; } export function importJavascriptConfig() { return { files: javascriptFiles, languageOptions: javascriptLanguageOptions(), plugins: {}, settings: { 'import/extensions': ['.js', '.jsx'] }, rules: { 'import/no-commonjs': 'off', 'import/unambiguous': 'off' } }; } export function importTypescriptConfig() { return { files: typescriptFiles, languageOptions: typescriptLanguageOptions(), settings: { 'import/parsers': { '@typescript-eslint/parser': ['.ts', '.tsx'] }, 'import/resolver': { typescript: { alwaysTryTypes: true, project: './tsconfig.json' } } } }; }