@lifeart/async-dom 2.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +623 -0
- package/dist/base.d.cts +398 -0
- package/dist/base.d.cts.map +1 -0
- package/dist/base.d.ts +398 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/cli.cjs +528 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/cli.d.cts +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +493 -0
- package/dist/cli.js.map +1 -0
- package/dist/debug.d.cts +145 -0
- package/dist/debug.d.cts.map +1 -0
- package/dist/debug.d.ts +145 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/index.cjs +26 -0
- package/dist/index.d.cts +560 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +560 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index2.d.cts +5 -0
- package/dist/index2.d.ts +5 -0
- package/dist/index3.d.cts +882 -0
- package/dist/index3.d.cts.map +1 -0
- package/dist/index3.d.ts +882 -0
- package/dist/index3.d.ts.map +1 -0
- package/dist/main-thread.cjs +5459 -0
- package/dist/main-thread.cjs.map +1 -0
- package/dist/main-thread.js +5429 -0
- package/dist/main-thread.js.map +1 -0
- package/dist/react.cjs +116 -0
- package/dist/react.cjs.map +1 -0
- package/dist/react.d.cts +91 -0
- package/dist/react.d.cts.map +1 -0
- package/dist/react.d.ts +91 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +113 -0
- package/dist/react.js.map +1 -0
- package/dist/resolve-debug.cjs +24 -0
- package/dist/resolve-debug.cjs.map +1 -0
- package/dist/resolve-debug.js +19 -0
- package/dist/resolve-debug.js.map +1 -0
- package/dist/server.cjs +250 -0
- package/dist/server.cjs.map +1 -0
- package/dist/server.d.cts +127 -0
- package/dist/server.d.cts.map +1 -0
- package/dist/server.d.ts +127 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +245 -0
- package/dist/server.js.map +1 -0
- package/dist/svelte.cjs +48 -0
- package/dist/svelte.cjs.map +1 -0
- package/dist/svelte.d.cts +38 -0
- package/dist/svelte.d.cts.map +1 -0
- package/dist/svelte.d.ts +38 -0
- package/dist/svelte.d.ts.map +1 -0
- package/dist/svelte.js +47 -0
- package/dist/svelte.js.map +1 -0
- package/dist/sync-channel.cjs +532 -0
- package/dist/sync-channel.cjs.map +1 -0
- package/dist/sync-channel.js +425 -0
- package/dist/sync-channel.js.map +1 -0
- package/dist/transport.cjs +213 -0
- package/dist/transport.cjs.map +1 -0
- package/dist/transport.d.cts +79 -0
- package/dist/transport.d.cts.map +1 -0
- package/dist/transport.d.ts +79 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +202 -0
- package/dist/transport.js.map +1 -0
- package/dist/vite-plugin.cjs +112 -0
- package/dist/vite-plugin.cjs.map +1 -0
- package/dist/vite-plugin.d.cts +39 -0
- package/dist/vite-plugin.d.cts.map +1 -0
- package/dist/vite-plugin.d.ts +39 -0
- package/dist/vite-plugin.d.ts.map +1 -0
- package/dist/vite-plugin.js +107 -0
- package/dist/vite-plugin.js.map +1 -0
- package/dist/vue.cjs +123 -0
- package/dist/vue.cjs.map +1 -0
- package/dist/vue.d.cts +126 -0
- package/dist/vue.d.cts.map +1 -0
- package/dist/vue.d.ts +126 -0
- package/dist/vue.d.ts.map +1 -0
- package/dist/vue.js +120 -0
- package/dist/vue.js.map +1 -0
- package/dist/worker-thread.cjs +2751 -0
- package/dist/worker-thread.cjs.map +1 -0
- package/dist/worker-thread.js +2692 -0
- package/dist/worker-thread.js.map +1 -0
- package/dist/worker-transport.cjs +136 -0
- package/dist/worker-transport.cjs.map +1 -0
- package/dist/worker-transport.d.cts +162 -0
- package/dist/worker-transport.d.cts.map +1 -0
- package/dist/worker-transport.d.ts +162 -0
- package/dist/worker-transport.d.ts.map +1 -0
- package/dist/worker-transport.js +125 -0
- package/dist/worker-transport.js.map +1 -0
- package/dist/worker.cjs +12 -0
- package/dist/worker.d.cts +2 -0
- package/dist/worker.d.ts +2 -0
- package/dist/worker.js +2 -0
- package/dist/ws-server-transport.cjs +147 -0
- package/dist/ws-server-transport.cjs.map +1 -0
- package/dist/ws-server-transport.d.cts +64 -0
- package/dist/ws-server-transport.d.cts.map +1 -0
- package/dist/ws-server-transport.d.ts +64 -0
- package/dist/ws-server-transport.d.ts.map +1 -0
- package/dist/ws-server-transport.js +142 -0
- package/dist/ws-server-transport.js.map +1 -0
- package/dist/ws-transport.cjs +954 -0
- package/dist/ws-transport.cjs.map +1 -0
- package/dist/ws-transport.js +913 -0
- package/dist/ws-transport.js.map +1 -0
- package/package.json +145 -0
package/dist/debug.d.ts
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { c as DomMutation } from "./base.js";
|
|
2
|
+
|
|
3
|
+
//#region src/core/debug.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Options for enabling debug logging and the in-page devtools panel.
|
|
7
|
+
*
|
|
8
|
+
* Each `log*` flag enables a category of structured log output. Provide a
|
|
9
|
+
* custom `logger` to redirect output (e.g. to a remote telemetry service).
|
|
10
|
+
*/
|
|
11
|
+
interface DebugOptions {
|
|
12
|
+
/** Log every DOM mutation applied by the renderer. */
|
|
13
|
+
logMutations?: boolean;
|
|
14
|
+
/** Log event serialization and dispatch timing. */
|
|
15
|
+
logEvents?: boolean;
|
|
16
|
+
/** Log synchronous DOM read requests (getBoundingClientRect, computedStyle, etc.). */
|
|
17
|
+
logSyncReads?: boolean;
|
|
18
|
+
/** Log per-frame scheduler statistics (actions processed, frame time, queue depth). */
|
|
19
|
+
logScheduler?: boolean;
|
|
20
|
+
/** Log warnings such as missing nodes, sync timeouts, and blocked properties. */
|
|
21
|
+
logWarnings?: boolean;
|
|
22
|
+
/** Custom logger implementation. Unset methods fall back to `console.*`. */
|
|
23
|
+
logger?: Partial<DebugLogger>;
|
|
24
|
+
/** Expose `__ASYNC_DOM_DEVTOOLS__` on `globalThis` and inject the in-page devtools panel. */
|
|
25
|
+
exposeDevtools?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Custom logger that receives structured debug entries.
|
|
29
|
+
*
|
|
30
|
+
* Implement any subset of these methods and pass via `DebugOptions.logger`.
|
|
31
|
+
*/
|
|
32
|
+
interface DebugLogger {
|
|
33
|
+
/** Called for each DOM mutation applied on the main thread. */
|
|
34
|
+
mutation(entry: MutationLogEntry): void;
|
|
35
|
+
/** Called for event serialization and dispatch timing. */
|
|
36
|
+
event(entry: EventLogEntry): void;
|
|
37
|
+
/** Called for each synchronous DOM read request. */
|
|
38
|
+
syncRead(entry: SyncReadLogEntry): void;
|
|
39
|
+
/** Called once per scheduler frame with aggregate statistics. */
|
|
40
|
+
scheduler(entry: SchedulerLogEntry): void;
|
|
41
|
+
/** Called for async-dom warnings (missing nodes, timeouts, etc.). */
|
|
42
|
+
warning(entry: WarningLogEntry): void;
|
|
43
|
+
}
|
|
44
|
+
/** A single DOM mutation log entry emitted by the debug system. */
|
|
45
|
+
interface MutationLogEntry {
|
|
46
|
+
/** Which thread generated this entry. */
|
|
47
|
+
side: "worker" | "main";
|
|
48
|
+
/** The mutation action name (e.g. "createElement", "setAttribute"). */
|
|
49
|
+
action: string;
|
|
50
|
+
/** The full mutation payload. */
|
|
51
|
+
mutation: DomMutation;
|
|
52
|
+
/** High-resolution timestamp (via `performance.now()`). */
|
|
53
|
+
timestamp: number;
|
|
54
|
+
/** Batch UID that groups related mutations from a single flush. */
|
|
55
|
+
batchUid?: number;
|
|
56
|
+
}
|
|
57
|
+
/** A single event timing log entry emitted by the debug system. */
|
|
58
|
+
interface EventLogEntry {
|
|
59
|
+
/** Which thread generated this entry. */
|
|
60
|
+
side: "worker" | "main";
|
|
61
|
+
/** Whether this captures serialization or dispatch timing. */
|
|
62
|
+
phase: "serialize" | "dispatch";
|
|
63
|
+
/** The DOM event type (e.g. "click", "input"). */
|
|
64
|
+
eventType: string;
|
|
65
|
+
/** Unique listener identifier. */
|
|
66
|
+
listenerId: string;
|
|
67
|
+
/** Node ID of the event target, or `null` if unavailable. */
|
|
68
|
+
targetId: string | null;
|
|
69
|
+
/** High-resolution timestamp (via `performance.now()`). */
|
|
70
|
+
timestamp: number;
|
|
71
|
+
/** Time in ms the event spent in transport between threads. */
|
|
72
|
+
transportMs?: number;
|
|
73
|
+
/** Time in ms the worker spent dispatching the event handler. */
|
|
74
|
+
dispatchMs?: number;
|
|
75
|
+
/** Number of DOM mutations produced by the event handler. */
|
|
76
|
+
mutationCount?: number;
|
|
77
|
+
}
|
|
78
|
+
/** A single synchronous DOM read log entry. */
|
|
79
|
+
interface SyncReadLogEntry {
|
|
80
|
+
/** The query type enum value (BoundingRect, ComputedStyle, etc.). */
|
|
81
|
+
queryType: number;
|
|
82
|
+
/** The target node ID as a string. */
|
|
83
|
+
nodeId: string;
|
|
84
|
+
/** Round-trip latency in milliseconds. */
|
|
85
|
+
latencyMs: number;
|
|
86
|
+
/** Whether the read succeeded, timed out, or threw an error. */
|
|
87
|
+
result: "success" | "timeout" | "error";
|
|
88
|
+
/** High-resolution timestamp (via `performance.now()`). */
|
|
89
|
+
timestamp: number;
|
|
90
|
+
}
|
|
91
|
+
/** A single scheduler frame log entry. */
|
|
92
|
+
interface SchedulerLogEntry {
|
|
93
|
+
/** Monotonically increasing frame counter. */
|
|
94
|
+
frameId: number;
|
|
95
|
+
/** Number of mutations processed in this frame. */
|
|
96
|
+
actionsProcessed: number;
|
|
97
|
+
/** Total wall-clock time spent processing this frame in ms. */
|
|
98
|
+
frameTimeMs: number;
|
|
99
|
+
/** Number of mutations remaining in the queue after this frame. */
|
|
100
|
+
queueDepth: number;
|
|
101
|
+
/** High-resolution timestamp (via `performance.now()`). */
|
|
102
|
+
timestamp: number;
|
|
103
|
+
}
|
|
104
|
+
/** A warning entry emitted when async-dom detects a potential problem. */
|
|
105
|
+
interface WarningLogEntry {
|
|
106
|
+
/** Machine-readable warning code (see `WarningCode`). */
|
|
107
|
+
code: string;
|
|
108
|
+
/** Human-readable description of the problem. */
|
|
109
|
+
message: string;
|
|
110
|
+
/** Additional context data relevant to the warning. */
|
|
111
|
+
context: Record<string, unknown>;
|
|
112
|
+
/** High-resolution timestamp (via `performance.now()`). */
|
|
113
|
+
timestamp: number;
|
|
114
|
+
}
|
|
115
|
+
declare const WarningCode: {
|
|
116
|
+
readonly MISSING_NODE: "ASYNC_DOM_MISSING_NODE";
|
|
117
|
+
readonly SYNC_TIMEOUT: "ASYNC_DOM_SYNC_TIMEOUT";
|
|
118
|
+
readonly LISTENER_NOT_FOUND: "ASYNC_DOM_LISTENER_NOT_FOUND";
|
|
119
|
+
readonly EVENT_ATTACH_FAILED: "ASYNC_DOM_EVENT_ATTACH_FAILED";
|
|
120
|
+
readonly TRANSPORT_NOT_OPEN: "ASYNC_DOM_TRANSPORT_NOT_OPEN";
|
|
121
|
+
readonly BLOCKED_PROPERTY: "ASYNC_DOM_BLOCKED_PROPERTY";
|
|
122
|
+
readonly WORKER_ERROR: "WORKER_ERROR";
|
|
123
|
+
readonly WORKER_UNHANDLED_REJECTION: "WORKER_UNHANDLED_REJECTION";
|
|
124
|
+
};
|
|
125
|
+
declare class DebugStats {
|
|
126
|
+
mutationsAdded: number;
|
|
127
|
+
mutationsCoalesced: number;
|
|
128
|
+
mutationsFlushed: number;
|
|
129
|
+
mutationsApplied: number;
|
|
130
|
+
eventsForwarded: number;
|
|
131
|
+
eventsDispatched: number;
|
|
132
|
+
syncReadRequests: number;
|
|
133
|
+
syncReadTimeouts: number;
|
|
134
|
+
snapshot(): Record<string, number>;
|
|
135
|
+
reset(): void;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Mutation-to-event correlation index (Feature 19: "Why Was This Node Updated?").
|
|
139
|
+
*
|
|
140
|
+
* Indexes mutations by nodeId and links them to their batch and causal event,
|
|
141
|
+
* allowing reverse lookups: given a nodeId, find why it was updated.
|
|
142
|
+
*/
|
|
143
|
+
//#endregion
|
|
144
|
+
export { MutationLogEntry as a, WarningCode as c, EventLogEntry as i, WarningLogEntry as l, DebugOptions as n, SchedulerLogEntry as o, DebugStats as r, SyncReadLogEntry as s, DebugLogger as t };
|
|
145
|
+
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","names":[],"sources":["../src/core/debug.ts"],"sourcesContent":[],"mappings":";;;;;;AAQA;;;;AAYiB,UAZA,YAAA,CAYA;EAUA;EAAW,YAAA,CAAA,EAAA,OAAA;;WAId,CAAA,EAAA,OAAA;;cAII,CAAA,EAAA,OAAA;;EAEa,YAAA,CAAA,EAAA,OAAA;EAId;EAcA,WAAA,CAAA,EAAA,OAAa;EAsBb;EAcA,MAAA,CAAA,EA1EP,OA0EO,CA1EC,WA0EgB,CAAA;EAcjB;EAWJ,cASH,CAAA,EAAA,OAAA;AAsEV;;;;;;UAxKiB,WAAA;;kBAEA;;eAEH;;kBAEG;;mBAEC;;iBAEF;;;UAIC,gBAAA;;;;;;YAMN;;;;;;;UAQM,aAAA;;;;;;;;;;;;;;;;;;;;;UAsBA,gBAAA;;;;;;;;;;;;;UAcA,iBAAA;;;;;;;;;;;;;UAcA,eAAA;;;;;;WAMP;;;;cAKG;;;;;;;;;;cA+EA,UAAA;;;;;;;;;cAUA"}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_sync_channel = require("./sync-channel.cjs");
|
|
3
|
+
const require_main_thread = require("./main-thread.cjs");
|
|
4
|
+
const require_ws_transport = require("./ws-transport.cjs");
|
|
5
|
+
const require_worker_transport = require("./worker-transport.cjs");
|
|
6
|
+
exports.BODY_NODE_ID = require_sync_channel.BODY_NODE_ID;
|
|
7
|
+
exports.BinaryWorkerSelfTransport = require_ws_transport.BinaryWorkerSelfTransport;
|
|
8
|
+
exports.BinaryWorkerTransport = require_ws_transport.BinaryWorkerTransport;
|
|
9
|
+
exports.DOCUMENT_NODE_ID = require_sync_channel.DOCUMENT_NODE_ID;
|
|
10
|
+
exports.DebugStats = require_sync_channel.DebugStats;
|
|
11
|
+
exports.DomRenderer = require_main_thread.DomRenderer;
|
|
12
|
+
exports.EventBridge = require_main_thread.EventBridge;
|
|
13
|
+
exports.FrameScheduler = require_main_thread.FrameScheduler;
|
|
14
|
+
exports.HEAD_NODE_ID = require_sync_channel.HEAD_NODE_ID;
|
|
15
|
+
exports.HTML_NODE_ID = require_sync_channel.HTML_NODE_ID;
|
|
16
|
+
exports.ThreadManager = require_main_thread.ThreadManager;
|
|
17
|
+
exports.WarningCode = require_sync_channel.WarningCode;
|
|
18
|
+
exports.WorkerSelfTransport = require_worker_transport.WorkerSelfTransport;
|
|
19
|
+
exports.WorkerTransport = require_worker_transport.WorkerTransport;
|
|
20
|
+
exports.createAppId = require_sync_channel.createAppId;
|
|
21
|
+
exports.createAsyncDom = require_main_thread.createAsyncDom;
|
|
22
|
+
exports.createClientId = require_sync_channel.createClientId;
|
|
23
|
+
exports.createNodeId = require_sync_channel.createNodeId;
|
|
24
|
+
exports.decodeBinaryMessage = require_ws_transport.decodeBinaryMessage;
|
|
25
|
+
exports.encodeBinaryMessage = require_ws_transport.encodeBinaryMessage;
|
|
26
|
+
exports.sanitizeHTML = require_main_thread.sanitizeHTML;
|