D
Overall Health

eslint/eslint


https://github.com/eslint/eslint
2026-04-19 00:06:27
D
Dead code
34% orphan symbols (573/1681)
A
Circular deps
0 cycles detected
F
Coupling
max fan-in: 188 (lib/rules/utils/ast-utils.js)
F
Security
14 concerns found

Overview

  • 1472 files indexed
  • 8376 code symbols extracted
  • 22842 symbol references tracked
  • 0 active memories (0 core, 0 stale)
  • Languages: javascript (1434), typescript (38)

God Nodes (most-referenced symbols)

These are the symbols your codebase depends on most. Changes here have the largest blast radius.

  • foo — 436 references
  • report — 424 references
  • warning — 374 references
  • advance — 266 references
  • bar — 253 references
  • run — 239 references
  • RuleTester — 233 references
  • fix — 160 references
  • create — 154 references
  • peek — 134 references

Hub Files (highest PageRank)

Core architectural files — imported by many others.

  • lib/rules/utils/ast-utils.js (1.00)
  • conf/ecma-version.js (0.30)
  • lib/shared/ast-utils.js (0.29)
  • conf/globals.js (0.29)
  • lib/rule-tester/rule-tester.js (0.10)
  • lib/rules/index.js (0.05)
  • lib/rules/utils/lazy-loading-rule-map.js (0.05)
  • lib/languages/js/source-code/token-store/cursor.js (0.03)
  • lib/config/default-config.js (0.03)
  • lib/languages/js/source-code/index.js (0.03)

Orphans (potential dead code)

Named functions with zero detected references. Could be dead code, public API exports, or referenced dynamically.

  • createIndexMaplib/languages/js/source-code/token-store/index.js:36
  • createCursorWithSkiplib/languages/js/source-code/token-store/index.js:89
  • createCursorWithPaddinglib/languages/js/source-code/token-store/index.js:216
  • getAdjacentCommentTokensFromCursorlib/languages/js/source-code/token-store/index.js:265
  • isEspreelib/languages/js/index.js:67
  • normalizeEcmaVersionForLanguageOptionslib/languages/js/index.js:77
  • deepMergelib/config/flat-config-schema.js:73
  • normalizeRuleOptionslib/config/flat-config-schema.js:132
  • assertIsRuleOptionslib/config/flat-config-schema.js:184
  • assertIsPluginMemberNamelib/config/flat-config-schema.js:233

Coupling (high-PageRank files)

  • lib/rules/utils/ast-utils.js (1.00)
  • conf/ecma-version.js (0.30)
  • lib/shared/ast-utils.js (0.29)
  • conf/globals.js (0.29)

Security Issues (14 found)

Critical (7)

  • Command injection riskMakefile.js:249
  • exec(git commit -m "Added release blog post for ${tag}");
  • Command injection riskMakefile.js:250
  • exec(git tag ${tag});
  • Command injection riskMakefile.js:421
  • exec(git push origin HEAD:${docsSiteBranch} -f);
  • Command injection riskMakefile.js:429
  • exec(git checkout ${MAINGITBRANCH} --force);
  • Command injection riskMakefile.js:445
  • exec(git add ${CHANGELOGFILE} ${VERSIONSFILE});
  • Command injection riskMakefile.js:572
  • const lastReturn = exec(${ESLINT}${fix ? "--fix" : ""} docs);
  • Command injection riskMakefile.js:736
  • exec(${getBinFile("webpack")} --mode=${mode} --output-path=${BUILD_DIR});

High (7)

  • SQL injection (template literal)Makefile.js:249
  • exec(git commit -m "Added release blog post for ${tag}");
  • SQL injection (template literal)Makefile.js:250
  • exec(git tag ${tag});
  • SQL injection (template literal)Makefile.js:421
  • exec(git push origin HEAD:${docsSiteBranch} -f);
  • SQL injection (template literal)Makefile.js:429
  • exec(git checkout ${MAINGITBRANCH} --force);
  • SQL injection (template literal)Makefile.js:445
  • exec(git add ${CHANGELOGFILE} ${VERSIONSFILE});
  • SQL injection (template literal)Makefile.js:572
  • const lastReturn = exec(${ESLINT}${fix ? "--fix" : ""} docs);
  • SQL injection (template literal)Makefile.js:736
  • exec(${getBinFile("webpack")} --mode=${mode} --output-path=${BUILD_DIR});

Suggested Next Steps

  • Before refactoring foo, run sverklo_impact to see the 436 call sites
  • lib/rules/utils/ast-utils.js is your most-imported file — changes here cascade widely
  • 15+ potential orphans detected — audit for dead code