sverklo
A
Overall Health
pugjs/pug
https://github.com/pugjs/pug
2026-04-19 00:12:31
A
Dead code
0% orphan symbols (0/67)
A
Circular deps
0 cycles detected
A
Coupling
max fan-in: 1 (packages/pug-filters/lib/run-filter.js)
B
Security
1 concern found

Overview

  • 74 files indexed
  • 190 code symbols extracted
  • 1046 symbol references tracked
  • 0 active memories (0 core, 0 stale)
  • Languages: javascript (72), typescript (2)

God Nodes (most-referenced symbols)

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

  • compile — 20 references
  • before — 15 references
  • renderFile — 13 references
  • applyPlugins — 12 references
  • parse — 11 references
  • writeFileSync — 10 references
  • compileFile — 7 references
  • toConstant — 6 references
  • lex — 5 references
  • findCases — 5 references

Hub Files (highest PageRank)

Core architectural files — imported by many others.

  • packages/pug/test/run-utils.js (1.00)
  • packages/pug-filters/lib/run-filter.js (0.52)
  • packages/pug-filters/test/custom-filters.js (0.52)
  • packages/pug-parser/lib/inline-tags.js (0.52)
  • packages/pug-runtime/build.js (0.40)
  • packages/pug-runtime/wrap.js (0.40)
  • .prettierrc.js (0.28)
  • packages/pug/examples/attributes.js (0.28)
  • packages/pug/examples/code.js (0.28)
  • packages/pug/examples/dynamicscript.js (0.28)

Orphans

No obvious dead code — every named symbol has at least one reference.

Coupling (high-PageRank files)

  • packages/pug/test/run-utils.js (1.00)
  • packages/pug-filters/lib/run-filter.js (0.52)
  • packages/pug-filters/test/custom-filters.js (0.52)
  • packages/pug-parser/lib/inline-tags.js (0.52)
  • packages/pug-runtime/build.js (0.40)

Security Issues (1 found)

High (1)

  • new Function() usagepackages/pug/lib/index.js:288
  • ? new Function('', parsed.body + ';return template;')()

Suggested Next Steps

  • Before refactoring compile, run sverklo_impact to see the 20 call sites
  • packages/pug/test/run-utils.js is your most-imported file — changes here cascade widely