import { Linter } from "eslint" ; import { ESLintOverrider } from "generator/types" ; export const typescriptBaseEslintConfig = { extends : [ "plugin:@typescript-eslint/recommended" ] , parser : "@typescript-eslint/parser" , parserOptions : { project : "tsconfig.json" , } , rules : { "@typescript-eslint/prefer-optional-chain" : "error" , "no-shadow" : "off" , "@typescript-eslint/no-shadow" : "error" , } , } ; export const typescriptTypeEslintConfig = { extends : [ "plugin:@typescript-eslint/recommended-requiring-type-checking" ] , rules : { "@typescript-eslint/prefer-nullish-coalescing" : "error" , "@typescript-eslint/strict-boolean-expressions" : [ "error" , { allowString : false , allowNumber : false , allowNullableObject : true , } , ] , "@typescript-eslint/no-unnecessary-boolean-literal-compare" : "error" , "@typescript-eslint/no-unnecessary-condition" : "error" , "@typescript-eslint/no-unnecessary-type-arguments" : "error" , "@typescript-eslint/prefer-string-starts-ends-with" : "error" , "@typescript-eslint/switch-exhaustiveness-check" : "error" , } , } ; export const tsOverrider = { files : [ "**/*.ts?(x)" ] , } ; export const typescriptESLintDependencies = [ "@typescript-eslint/parser" , "@typescript-eslint/eslint-plugin" ] ;