/** * Aberdeen developer tools — a live scope-tree inspector. * * This module is a thin *wrapper* around the core: it re-exports the whole `aberdeen` * API and additionally wires up the dev tools. In a dev build the `aberdeen` entry point * resolves to the bundle produced from this file, so importing `aberdeen` gives the app * the normal API *plus* the tooling. Production resolves to the bare core instead, where * all of this is absent. * * The core emits instrumentation events through a sink we install via `_connectDev`. Since * this wrapper loads synchronously (before the app's first `mount()`), the sink is in place * in time to capture the initial render — no dynamic import, no event buffering. * * Event protocol (args after an implicit timestamp): * create scope, parentScope, Error — a scope was created * render scope — a scope (re)started rendering * node scope, node, atScopeLevel — a DOM node was added by `scope` * read scope, target, key — `scope` subscribed to target[key] * schedule scope, key, oldVal, newVal, Error — a change scheduled `scope` to re-render * delete scope — a scope was permanently removed * * Open with `?abdev=1` or Ctrl/Cmd+Alt+A. */ import A from "./aberdeen.js"; export * from "./aberdeen.js"; export default A;