Standalone module with NO module-load side effects. Imported by transports,
plugins, form — modules that need a signal API but should not drag the
full Vue feature-detection registry from chamber.ts into ESM consumer
bundles.
Detection strategy:
Lazy sync probe of globalThis.__VUE__ on first signal() call —
catches the MPA / server-rendered-page case where Vue is loaded as a
global via <script> tag before vapor-chamber initializes.
Plain getter/setter fallback otherwise.
configureSignal(fn) lets chamber.ts push Vue's ref() here once
its async dynamic import resolves, so SPA consumers eventually use
the alien-signals-backed ref for real reactivity.
Consumers needing full Vue auto-detection (async probe, Vapor detection,
lifecycle hooks) import from chamber.ts, which calls into this module.
vapor-chamber — minimal signal abstraction.
Standalone module with NO module-load side effects. Imported by transports, plugins, form — modules that need a
signalAPI but should not drag the full Vue feature-detection registry fromchamber.tsinto ESM consumer bundles.Detection strategy:
globalThis.__VUE__on firstsignal()call — catches the MPA / server-rendered-page case where Vue is loaded as a global via<script>tag before vapor-chamber initializes.configureSignal(fn)letschamber.tspush Vue'sref()here once its async dynamic import resolves, so SPA consumers eventually use the alien-signals-backedreffor real reactivity.Consumers needing full Vue auto-detection (async probe, Vapor detection, lifecycle hooks) import from
chamber.ts, which calls into this module.