Skip to main content

Typed service path inventory

This page inventories the current typed callpaths that can reach parser services or the TypeScript checker.

Source document: docs/internal/typed-paths.md

Guard modelโ€‹

All type-aware rule execution enters through explicit gates:

  • createTypedRule(...) short-circuits typed rules (meta.docs.requiresTypeChecking: true) when full type services are unavailable.
  • Optional typed flows in non-type-checked rules call hasTypeServices(context) before calling getTypedRuleServices(context).
  • Type-dependent helpers no longer discover typed services internally.

Core typed helpersโ€‹

PathTyped dependencyGuard entryFallback behaviorMax expected expensive calls/file
src/_internal/typed-rule.ts#getTypedRuleServicesparserServices.program, checkerhasTypeServices(context) or typed-rule create short-circuitThrows if called without program1 (rule create path)

Rule callpath inventoryโ€‹

Rules that require type checking (meta.docs.requiresTypeChecking: true)โ€‹

No current rules require type checking.

Rules with optional typed branch (meta.docs.requiresTypeChecking: false)โ€‹

No current rules have optional typed branches.

Syntax-only rulesโ€‹

  • src/rules/no-floating-observers.ts
  • src/rules/no-floating-child-processes.ts
  • src/rules/no-floating-timers.ts
  • src/rules/no-floating-workers.ts
  • src/rules/no-unmanaged-event-listeners.ts

Telemetry countersโ€‹

Typed hot-path counters are not currently active because the first runtime-cleanup rule is syntax-only. Reintroduce telemetry here when a type-aware cleanup rule ships.