Registry & overrides
SootSim does not use a manually maintained docs list of stubs as its source of
truth. Compatibility metadata lives in packages/compat/src/registry.ts, and
the docs-facing snapshot is generated from that registry by
scripts/generate-site-compat-snapshot.ts.
Resolution order
When SootSim resolves a native package, the flow is:
- Built-in compat entry from
@soot/compat - Local override from your
sootsim.config.ts - Auto-stub fallback for unknown native packages
Not every tracked package is a stub
The compat registry tracks more than browser replacements:
native— package needs a SootSim-provided replacement or shimworks— pure JS package runs from the bundle as-isbuild-only— tooling package tracked for scans, but irrelevant at runtime
Local overrides
Use sootsim.config.ts when a project needs a different answer than the
built-in registry: