Repository Analysis

typescript-eslint/typescript-eslint

:sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript

1.3 Likely human-written View on GitHub
1.3
Adjusted Score
1.3
Raw Score
100%
Time Factor
2026-05-30
Last Push
16,266
Stars
TypeScript
Language
365,300
Lines of Code
1559
Files
370
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 4HIGH 2MEDIUM 2LOW 362

Pattern Findings

370 matches across 7 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers333 hits · 340 pts
SeverityFileLineSnippet
LOW…project-service/src/getParsedConfigFileFromTSServer.ts5export function getParsedConfigFileFromTSServer(
LOWpackages/rule-tester/tests/RuleTester.test.ts2787 function generateIncompatibleValidTestCase(): ValidTestCase<unknown[]> {
LOWpackages/rule-tester/tests/RuleTester.test.ts2801 function generateIncompatibleInvalidTestCase(): InvalidTestCase<
LOWpackages/rule-tester/src/RuleTester.ts150function getUnsubstitutedMessagePlaceholders(
LOWpackages/rule-tester/src/utils/SourceCodeFixer.ts16function compareMessagesByFixRange(
LOWpackages/rule-tester/src/utils/SourceCodeFixer.ts27function compareMessagesByLocation(a: LintMessage, b: LintMessage): number {
LOWpackages/rule-tester/src/utils/serialization.ts4function isSerializablePrimitiveOrPlainObject(val: unknown): boolean {
LOWpackages/rule-tester/src/utils/dependencyConstraints.ts12function satisfiesDependencyConstraint(
LOWpackages/rule-tester/src/utils/dependencyConstraints.ts33export function satisfiesAllDependencyConstraints(
LOWpackages/rule-tester/src/utils/validationHelpers.ts88 function defineStartEndAsErrorInTree(
LOWpackages/rule-tester/src/utils/flat-config-schema.ts515function createEslintrcErrorSchema(key: string): ObjectPropertySchema {
LOWpackages/rule-tester/src/utils/severity.ts10export function normalizeSeverityToString(
LOWpackages/rule-tester/src/utils/severity.ts30export function normalizeSeverityToNumber(
LOW…es/rule-tester/src/utils/omitCustomConfigProperties.ts3export function omitCustomConfigProperties(
LOW…s/typescript-eslint/src/getTSConfigRootDirFromStack.ts11export function getTSConfigRootDirFromStack(): string | undefined {
LOW…kages/typescript-estree/tests/test-utils/test-utils.ts8export function parseCodeAndGenerateServices(
LOWpackages/typescript-estree/src/node-utils.ts385export function findFirstMatchingAncestor(
LOWpackages/typescript-estree/src/node-utils.ts411export function unescapeStringLiteralText(text: string): string {
LOWpackages/typescript-estree/src/node-utils.ts458export function isChildUnwrappableOptionalChain(
LOWpackages/typescript-estree/src/node-utils.ts831function isPropertyAccessEntityNameExpression(
LOWpackages/typescript-estree/src/parser.ts45export function clearDefaultProjectMatchedFiles(): void {
LOWpackages/typescript-estree/src/parser.ts154export function clearParseAndGenerateServicesCalls(): void {
LOW…/typescript-estree/src/semantic-or-syntactic-errors.ts21export function getFirstSemanticOrSyntacticError(
LOW…/typescript-estree/src/semantic-or-syntactic-errors.ts61function allowlistSupportedDiagnostics(
LOW…/typescript-estree/src/semantic-or-syntactic-errors.ts112function convertDiagnosticToSemanticOrSyntacticError(
LOW…/typescript-estree/src/useProgramFromProjectService.ts54function openClientFileFromProjectService(
LOW…/typescript-estree/src/useProgramFromProjectService.ts159 function openClientFileAndMaybeReload(): ts.server.OpenConfiguredProjectResult {
LOW…/typescript-estree/src/useProgramFromProjectService.ts185function createNoProgramWithProjectService(
LOW…/typescript-estree/src/useProgramFromProjectService.ts234export function useProgramFromProjectService(
LOW…/typescript-estree/src/useProgramFromProjectService.ts240export function useProgramFromProjectService(
LOW…/typescript-estree/src/useProgramFromProjectService.ts246export function useProgramFromProjectService(
LOW…/typescript-estree/src/useProgramFromProjectService.ts252export function useProgramFromProjectService(
LOWpackages/typescript-estree/src/check-syntax-errors.ts637function checkForStatementDeclaration(
LOWpackages/typescript-estree/src/check-modifiers.ts412function checkObjectPropertyModifier(node: ts.Node, modifier: ts.Modifier) {
LOW…estree/src/create-program/createProjectProgramError.ts10export function createProjectProgramError(
LOWpackages/typescript-estree/src/create-program/shared.ts40export function createDefaultCompilerOptionsFromExtra(
LOW…c/create-program/validateDefaultProjectForFilesGlob.ts8export function validateDefaultProjectForFilesGlob(
LOW…cript-estree/src/create-program/useProvidedPrograms.ts62export function createProgramFromConfigFile(
LOW…tree/src/create-program/getWatchProgramsForProjects.ts130export function getWatchProgramsForProjects(
LOW…script-estree/src/parseSettings/createParseSettings.ts255export function clearTSServerProjectService(): void {
LOW…-estree/src/parseSettings/candidateTSConfigRootDirs.ts3export function addCandidateTSConfigRootDir(candidate: string): void {
LOW…-estree/src/parseSettings/candidateTSConfigRootDirs.ts7export function clearCandidateTSConfigRootDirs(): void {
LOW…-estree/src/parseSettings/candidateTSConfigRootDirs.ts11export function getInferredTSConfigRootDir(): string {
LOW…s/generated-rule-docs/addESLintHashToCodeBlocksMeta.ts17export function addESLintHashToCodeBlocksMeta(
LOW…ns/generated-rule-docs/insertions/insertRuleOptions.ts89function findCommentIndexForOption(
LOW…-24-consistent-type-exports-and-imports-why-and-how.md113export function getAndLogValue(getter: GetString) {
LOW…-24-consistent-type-exports-and-imports-why-and-how.md125export function getAndLogValue(getter: GetString) {
LOWpackages/website/src/components/lib/jsonSchema.ts24export function getRuleJsonSchemaWithErrorLevel(
LOW…te/src/components/editor/createProvideTwoslashInlay.ts16export function createTwoslashInlayProvider(
LOW…ges/website/src/theme/MDXComponents/RuleAttributes.tsx58export function getRecommendationWithEmoji(
LOW…kages/integration-tests/tools/integration-test-base.ts93export function typescriptIntegrationTest(
LOW…nt-plugin-internal/src/rules/plugin-test-formatting.ts462 function checkForUnnecessaryNoFormat(
LOW…nt-plugin-internal/src/rules/plugin-test-formatting.ts485 function checkTaggedTemplateExpression(
LOW…ugin-internal/src/rules/no-multiple-lines-of-errors.ts41 function checkInvalidTestCaseErrors(node: TSESTree.ArrayExpression) {
LOW…ckages/rule-schema-to-typescript-types/src/printAST.ts156function printAndMaybeParenthesise(ast: SchemaAST): CodeWithComments {
LOWpackages/utils/src/ts-eslint/eslint/LegacyESLint.ts18function throwMissingLegacyESLintError(): never {
LOWpackages/type-utils/src/isSymbolFromDefaultLibrary.ts3export function isSymbolFromDefaultLibrary(
LOWpackages/type-utils/src/builtinSymbolLikes.ts147export function isBuiltinSymbolLikeRecurser(
LOWpackages/type-utils/src/propertyTypes.ts51function isPrivateIdentifierSymbol(escapedName: string): boolean {
LOWpackages/type-utils/src/isTypeReadonly.ts49function isTypeReadonlyArrayOrTuple(
273 more matches not shown…
Hallucination Indicators4 hits · 78 pts
SeverityFileLineSnippet
CRITICALpackages/website/src/components/lib/jsonSchema.ts20 * monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.find(item => item.uri.includes('typescript-eslint/consi
CRITICALpackages/website/src/components/lib/jsonSchema.ts21 * monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.find(item => item.uri.includes('no-unused-labels'))
CRITICALpackages/website/src/components/lib/jsonSchema.ts22 * monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.filter(item => item.schema.type === 'array')
CRITICAL…kages/eslint-plugin/tests/rules/no-unsafe-call.test.ts128 x.a.b.c.d.e.f.g();
Over-Commented Block27 hits · 27 pts
SeverityFileLineSnippet
LOWpackages/website-eslint/src/mock/assert.js1// Copyright Joyent, Inc. and other Node contributors.
LOWpackages/website-eslint/src/mock/path.js1/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
LOWpackages/utils/src/eslint-utils/getParserServices.ts61 context: Readonly<TSESLint.RuleContext<string, unknown[]>>,
LOWpackages/type-utils/tests/TypeOrValueSpecifier.test.ts401 // The following type is available from the multi-file @types/node package.
LOW…ckages/eslint-plugin/tests/rules/require-await.test.ts781 }
LOW…ckages/eslint-plugin/tests/rules/require-await.test.ts801 // yield* anotherAsyncGenerator();
LOW…ckages/eslint-plugin/src/util/getOperatorPrecedence.ts21 // ConditionalExpression
LOW…ckages/eslint-plugin/src/util/getOperatorPrecedence.ts41 // `*=` `/=` `%=` `+=` `-=` `<<=` `>>=` `>>>=` `&=` `^=` `|=` `**=`
LOW…ckages/eslint-plugin/src/util/getOperatorPrecedence.ts61
LOW…ckages/eslint-plugin/src/util/getOperatorPrecedence.ts81
LOW…ckages/eslint-plugin/src/util/getOperatorPrecedence.ts101 // RelationalExpression `instanceof` ShiftExpression
LOW…ckages/eslint-plugin/src/util/getOperatorPrecedence.ts121 // MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
LOW…ckages/eslint-plugin/src/util/getOperatorPrecedence.ts141 // `++` UnaryExpression
LOW…ckages/eslint-plugin/src/util/getOperatorPrecedence.ts161 // SuperCall
LOW…ckages/eslint-plugin/src/util/getOperatorPrecedence.ts181 // Literal
LOW…plugin/src/rules/no-unnecessary-template-expression.ts301 String(literal.value).replaceAll('\\', '\\\\')
LOWpackages/eslint-plugin/src/rules/no-deprecated.ts301 // function foo(arg?: string): void {}
LOW…ges/eslint-plugin/src/rules/consistent-type-imports.ts301 valueSpecifiers,
LOW…ges/eslint-plugin/src/rules/consistent-type-imports.ts321 // file with both emitDecoratorMetadata AND decorators
LOW…ges/eslint-plugin/src/rules/consistent-type-exports.ts141 //
LOWpackages/eslint-plugin/src/rules/no-unused-vars.ts581 // 1) there is at least one specifier that is used
LOWpackages/eslint-plugin/src/rules/no-unused-vars.ts701 //
LOW…/src/rules/prefer-optional-chain-utils/analyzeChain.ts421 // In its most naive form we could just slap `?.` for every single part of the
LOW…/src/rules/prefer-optional-chain-utils/analyzeChain.ts741 lastChain,
LOW…/src/rules/prefer-optional-chain-utils/compareNodes.ts121 return NodeComparisonResult.Equal;
LOW…/src/rules/prefer-optional-chain-utils/compareNodes.ts161 // but we want to try comparing by discarding the "extra" code
LOW…/src/rules/prefer-optional-chain-utils/compareNodes.ts301 // ^^^^^^^ nodeA
Cross-Language Confusion (JS/TS)2 hits · 15 pts
SeverityFileLineSnippet
HIGHpackages/eslint-plugin/src/rules/member-ordering.ts882 * @return True if all members are correctly sorted.
HIGHpackages/eslint-plugin/src/rules/member-ordering.ts947 * @return True if all required and optional members are correctly sorted.
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMpackages/eslint-plugin/src/rules/no-inferrable-types.ts275 // Essentially a readonly property without a type
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippet
MEDIUMpnpm-lock.yaml5528 deprecated: Renamed to emoji-blast. Let me know if you need help renaming. :)
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippet
LOW…sts/rules/no-unused-vars/no-unused-vars-eslint.test.ts2364 var doSomething = function doSomething() {};
LOW…-plugin/tests/rules/no-shadow/no-shadow-eslint.test.ts1021 var doSomething = function doSomething() {};