@alloy-js/core 0.23.0-dev.1 → 0.23.0-dev.8
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/CHANGELOG.md +0 -22
- package/dist/devtools/index.html +68 -0
- package/dist/src/binder.d.ts +2 -0
- package/dist/src/binder.d.ts.map +1 -1
- package/dist/src/binder.js +55 -12
- package/dist/src/binder.js.map +1 -1
- package/dist/src/components/AppendFile.d.ts.map +1 -1
- package/dist/src/components/AppendFile.js +14 -3
- package/dist/src/components/AppendFile.js.map +1 -1
- package/dist/src/components/Block.js +1 -1
- package/dist/src/components/Block.js.map +1 -1
- package/dist/src/components/Declaration.d.ts.map +1 -1
- package/dist/src/components/Declaration.js +2 -1
- package/dist/src/components/Declaration.js.map +1 -1
- package/dist/src/components/Scope.d.ts.map +1 -1
- package/dist/src/components/Scope.js +4 -1
- package/dist/src/components/Scope.js.map +1 -1
- package/dist/src/components/TemplateFile.d.ts.map +1 -1
- package/dist/src/components/TemplateFile.js +18 -3
- package/dist/src/components/TemplateFile.js.map +1 -1
- package/dist/src/content-slot.d.ts.map +1 -1
- package/dist/src/content-slot.js +6 -5
- package/dist/src/content-slot.js.map +1 -1
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +8 -1
- package/dist/src/context.js.map +1 -1
- package/dist/src/debug/cli.d.ts +6 -0
- package/dist/src/debug/cli.d.ts.map +1 -0
- package/dist/src/{debug.js → debug/cli.js} +79 -82
- package/dist/src/debug/cli.js.map +1 -0
- package/dist/src/debug/diagnostics.test.d.ts +2 -0
- package/dist/src/debug/diagnostics.test.d.ts.map +1 -0
- package/dist/src/debug/diagnostics.test.js +45 -0
- package/dist/src/debug/diagnostics.test.js.map +1 -0
- package/dist/src/debug/effects.d.ts +69 -0
- package/dist/src/debug/effects.d.ts.map +1 -0
- package/dist/src/debug/effects.js +228 -0
- package/dist/src/debug/effects.js.map +1 -0
- package/dist/src/debug/effects.test.d.ts +2 -0
- package/dist/src/debug/effects.test.d.ts.map +1 -0
- package/dist/src/debug/effects.test.js +86 -0
- package/dist/src/debug/effects.test.js.map +1 -0
- package/dist/src/debug/files.d.ts +14 -0
- package/dist/src/debug/files.d.ts.map +1 -0
- package/dist/src/debug/files.js +40 -0
- package/dist/src/debug/files.js.map +1 -0
- package/dist/src/debug/files.test.d.ts +2 -0
- package/dist/src/debug/files.test.d.ts.map +1 -0
- package/dist/src/debug/files.test.js +89 -0
- package/dist/src/debug/files.test.js.map +1 -0
- package/dist/src/debug/index.d.ts +60 -0
- package/dist/src/debug/index.d.ts.map +1 -0
- package/dist/src/debug/index.js +68 -0
- package/dist/src/debug/index.js.map +1 -0
- package/dist/src/debug/render.d.ts +57 -0
- package/dist/src/debug/render.d.ts.map +1 -0
- package/dist/src/debug/render.js +519 -0
- package/dist/src/debug/render.js.map +1 -0
- package/dist/src/debug/render.test.d.ts +2 -0
- package/dist/src/debug/render.test.d.ts.map +1 -0
- package/dist/src/debug/render.test.js +328 -0
- package/dist/src/debug/render.test.js.map +1 -0
- package/dist/src/debug/serialize.d.ts +9 -0
- package/dist/src/debug/serialize.d.ts.map +1 -0
- package/dist/src/debug/serialize.js +70 -0
- package/dist/src/debug/serialize.js.map +1 -0
- package/dist/src/debug/symbols.d.ts +9 -0
- package/dist/src/debug/symbols.d.ts.map +1 -0
- package/dist/src/debug/symbols.js +164 -0
- package/dist/src/debug/symbols.js.map +1 -0
- package/dist/src/debug/symbols.test.d.ts +2 -0
- package/dist/src/debug/symbols.test.d.ts.map +1 -0
- package/dist/src/debug/symbols.test.js +104 -0
- package/dist/src/debug/symbols.test.js.map +1 -0
- package/dist/src/debug/trace.d.ts +342 -0
- package/dist/src/debug/trace.d.ts.map +1 -0
- package/dist/src/debug/trace.js +443 -0
- package/dist/src/debug/trace.js.map +1 -0
- package/dist/src/devtools/devtools-protocol.d.ts +232 -0
- package/dist/src/devtools/devtools-protocol.d.ts.map +1 -0
- package/dist/src/devtools/devtools-protocol.js +2 -0
- package/dist/src/devtools/devtools-protocol.js.map +1 -0
- package/dist/src/devtools/devtools-server.browser.d.ts +28 -0
- package/dist/src/devtools/devtools-server.browser.d.ts.map +1 -0
- package/dist/src/devtools/devtools-server.browser.js +36 -0
- package/dist/src/devtools/devtools-server.browser.js.map +1 -0
- package/dist/src/devtools/devtools-server.d.ts +72 -0
- package/dist/src/devtools/devtools-server.d.ts.map +1 -0
- package/dist/src/devtools/devtools-server.js +256 -0
- package/dist/src/devtools/devtools-server.js.map +1 -0
- package/dist/src/devtools/devtools-transport.d.ts +23 -0
- package/dist/src/devtools/devtools-transport.d.ts.map +1 -0
- package/dist/src/devtools/devtools-transport.js +114 -0
- package/dist/src/devtools/devtools-transport.js.map +1 -0
- package/dist/src/devtools-entry.browser.d.ts +4 -0
- package/dist/src/devtools-entry.browser.d.ts.map +1 -0
- package/dist/src/devtools-entry.browser.js +2 -0
- package/dist/src/devtools-entry.browser.js.map +1 -0
- package/dist/src/devtools-entry.d.ts +4 -0
- package/dist/src/devtools-entry.d.ts.map +1 -0
- package/dist/src/devtools-entry.js +2 -0
- package/dist/src/devtools-entry.js.map +1 -0
- package/dist/src/diagnostics.d.ts +34 -0
- package/dist/src/diagnostics.d.ts.map +1 -0
- package/dist/src/diagnostics.js +89 -0
- package/dist/src/diagnostics.js.map +1 -0
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/print-hook.d.ts +14 -0
- package/dist/src/print-hook.d.ts.map +1 -0
- package/dist/src/print-hook.js +10 -0
- package/dist/src/print-hook.js.map +1 -0
- package/dist/src/reactive-union-set.d.ts.map +1 -1
- package/dist/src/reactive-union-set.js +15 -0
- package/dist/src/reactive-union-set.js.map +1 -1
- package/dist/src/reactivity.d.ts +17 -3
- package/dist/src/reactivity.d.ts.map +1 -1
- package/dist/src/reactivity.js +162 -14
- package/dist/src/reactivity.js.map +1 -1
- package/dist/src/render-stack.d.ts +17 -1
- package/dist/src/render-stack.d.ts.map +1 -1
- package/dist/src/render-stack.js +57 -1
- package/dist/src/render-stack.js.map +1 -1
- package/dist/src/render.d.ts +8 -15
- package/dist/src/render.d.ts.map +1 -1
- package/dist/src/render.js +362 -103
- package/dist/src/render.js.map +1 -1
- package/dist/src/resource.d.ts.map +1 -1
- package/dist/src/resource.js +5 -0
- package/dist/src/resource.js.map +1 -1
- package/dist/src/scheduler.d.ts +3 -0
- package/dist/src/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler.js +45 -2
- package/dist/src/scheduler.js.map +1 -1
- package/dist/src/symbols/basic-symbol.d.ts.map +1 -1
- package/dist/src/symbols/basic-symbol.js +6 -1
- package/dist/src/symbols/basic-symbol.js.map +1 -1
- package/dist/src/symbols/decl.d.ts.map +1 -1
- package/dist/src/symbols/decl.js +5 -1
- package/dist/src/symbols/decl.js.map +1 -1
- package/dist/src/symbols/output-scope.d.ts +2 -1
- package/dist/src/symbols/output-scope.d.ts.map +1 -1
- package/dist/src/symbols/output-scope.js +13 -8
- package/dist/src/symbols/output-scope.js.map +1 -1
- package/dist/src/symbols/output-symbol.d.ts +1 -0
- package/dist/src/symbols/output-symbol.d.ts.map +1 -1
- package/dist/src/symbols/output-symbol.js +23 -6
- package/dist/src/symbols/output-symbol.js.map +1 -1
- package/dist/src/symbols/symbol-flow.d.ts.map +1 -1
- package/dist/src/symbols/symbol-flow.js +22 -6
- package/dist/src/symbols/symbol-flow.js.map +1 -1
- package/dist/src/symbols/symbol-slot.d.ts.map +1 -1
- package/dist/src/symbols/symbol-slot.js +15 -0
- package/dist/src/symbols/symbol-slot.js.map +1 -1
- package/dist/src/symbols/symbol-slot.test.d.ts +2 -0
- package/dist/src/symbols/symbol-slot.test.d.ts.map +1 -0
- package/dist/src/symbols/symbol-slot.test.js +35 -0
- package/dist/src/symbols/symbol-slot.test.js.map +1 -0
- package/dist/src/symbols/symbol-table.d.ts.map +1 -1
- package/dist/src/symbols/symbol-table.js +6 -5
- package/dist/src/symbols/symbol-table.js.map +1 -1
- package/dist/src/trace.d.ts +2 -0
- package/dist/src/trace.d.ts.map +1 -0
- package/dist/src/trace.js +2 -0
- package/dist/src/trace.js.map +1 -0
- package/dist/src/tracer.d.ts +2 -228
- package/dist/src/tracer.d.ts.map +1 -1
- package/dist/src/tracer.js +5 -298
- package/dist/src/tracer.js.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +5 -0
- package/dist/src/utils.js.map +1 -1
- package/dist/test/components/append-file.test.d.ts.map +1 -1
- package/dist/test/components/append-file.test.js +18 -10
- package/dist/test/components/append-file.test.js.map +1 -1
- package/dist/test/components/template-file.test.d.ts.map +1 -1
- package/dist/test/components/template-file.test.js +6 -4
- package/dist/test/components/template-file.test.js.map +1 -1
- package/dist/test/rendering/basic.test.js +3 -0
- package/dist/test/rendering/basic.test.js.map +1 -1
- package/dist/test/rendering/print-render-stack.test.d.ts.map +1 -1
- package/dist/test/rendering/print-render-stack.test.js +91 -98
- package/dist/test/rendering/print-render-stack.test.js.map +1 -1
- package/dist/testing/create-test-wrapper.d.ts +1 -1
- package/dist/testing/create-test-wrapper.d.ts.map +1 -1
- package/dist/testing/create-test-wrapper.js +1 -1
- package/dist/testing/create-test-wrapper.js.map +1 -1
- package/dist/testing/devtools-utils.d.ts +26 -0
- package/dist/testing/devtools-utils.d.ts.map +1 -0
- package/dist/testing/devtools-utils.js +140 -0
- package/dist/testing/devtools-utils.js.map +1 -0
- package/dist/testing/extend-expect.d.ts.map +1 -1
- package/dist/testing/extend-expect.js +63 -1
- package/dist/testing/extend-expect.js.map +1 -1
- package/dist/testing/render.d.ts +2 -2
- package/dist/testing/render.d.ts.map +1 -1
- package/dist/testing/render.js +2 -2
- package/dist/testing/render.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +21 -7
- package/scripts/copy-devtools-ui.mjs +26 -0
- package/src/binder.ts +71 -16
- package/src/components/AppendFile.tsx +14 -9
- package/src/components/Block.tsx +1 -1
- package/src/components/Declaration.tsx +2 -1
- package/src/components/Scope.tsx +4 -1
- package/src/components/TemplateFile.tsx +18 -9
- package/src/content-slot.tsx +6 -6
- package/src/context.ts +15 -4
- package/src/{debug.ts → debug/cli.ts} +114 -125
- package/src/debug/diagnostics.test.tsx +55 -0
- package/src/debug/effects.test.tsx +96 -0
- package/src/debug/effects.ts +313 -0
- package/src/debug/files.test.tsx +96 -0
- package/src/debug/files.ts +40 -0
- package/src/debug/index.ts +126 -0
- package/src/debug/render.test.tsx +379 -0
- package/src/debug/render.ts +639 -0
- package/src/debug/serialize.ts +85 -0
- package/src/debug/symbols.test.tsx +106 -0
- package/src/debug/symbols.ts +230 -0
- package/src/debug/trace.ts +312 -0
- package/src/devtools/devtools-protocol.ts +312 -0
- package/src/devtools/devtools-server.browser.ts +71 -0
- package/src/devtools/devtools-server.ts +290 -0
- package/src/devtools/devtools-transport.ts +154 -0
- package/src/devtools-entry.browser.ts +52 -0
- package/src/devtools-entry.ts +54 -0
- package/src/diagnostics.ts +141 -0
- package/src/index.ts +2 -6
- package/src/print-hook.ts +22 -0
- package/src/reactive-union-set.ts +71 -41
- package/src/reactivity.ts +206 -23
- package/src/render-stack.ts +68 -1
- package/src/render.ts +464 -157
- package/src/resource.ts +28 -19
- package/src/scheduler.ts +55 -3
- package/src/symbols/basic-symbol.ts +6 -1
- package/src/symbols/decl.ts +5 -1
- package/src/symbols/output-scope.ts +21 -12
- package/src/symbols/output-symbol.ts +33 -12
- package/src/symbols/symbol-flow.ts +68 -37
- package/src/symbols/symbol-slot.test.tsx +41 -0
- package/src/symbols/symbol-slot.tsx +47 -20
- package/src/symbols/symbol-table.ts +6 -10
- package/src/trace.ts +1 -0
- package/src/tracer.ts +13 -242
- package/src/utils.tsx +22 -13
- package/temp/api.json +1675 -162
- package/test/components/append-file.test.tsx +36 -29
- package/test/components/template-file.test.tsx +11 -11
- package/test/rendering/basic.test.tsx +4 -0
- package/test/rendering/print-render-stack.test.tsx +52 -43
- package/testing/create-test-wrapper.tsx +1 -1
- package/testing/devtools-utils.ts +203 -0
- package/testing/extend-expect.ts +89 -0
- package/testing/render.ts +2 -2
- package/testing/vitest.d.ts +9 -0
- package/dist/src/debug.d.ts +0 -14
- package/dist/src/debug.d.ts.map +0 -1
- package/dist/src/debug.js.map +0 -1
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trace helpers and configuration.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { broadcastDevtoolsMessage, isDevtoolsEnabled } from "../devtools/devtools-server.js";
|
|
6
|
+
import { untrack } from "../reactivity.js";
|
|
7
|
+
export { isDevtoolsEnabled } from "../devtools/devtools-server.js";
|
|
8
|
+
|
|
9
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
10
|
+
// Environment configuration
|
|
11
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
|
+
|
|
13
|
+
const traceEnv = process.env.ALLOY_TRACE ?? "";
|
|
14
|
+
const tracePhases = new Set(traceEnv === "" ? [] : traceEnv.split(",").map(t => t.trim()));
|
|
15
|
+
const debuggerIdsEnv = process.env.ALLOY_BREAK_ON_DID ?? "";
|
|
16
|
+
const debuggerIds = new Set();
|
|
17
|
+
debuggerIdsEnv.split(",").forEach(id => {
|
|
18
|
+
const num = parseInt(id, 10);
|
|
19
|
+
if (!isNaN(num)) {
|
|
20
|
+
debuggerIds.add(num);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
/** Parse the ALLOY_BREAK_ON_DID environment variable into a set of IDs. */
|
|
25
|
+
export function parseBreakOnIds() {
|
|
26
|
+
const env = process.env.ALLOY_BREAK_ON_DID ?? "";
|
|
27
|
+
const ids = new Set();
|
|
28
|
+
env.split(",").forEach(id => {
|
|
29
|
+
const num = parseInt(id, 10);
|
|
30
|
+
if (!isNaN(num)) {
|
|
31
|
+
ids.add(num);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return ids;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Returns true if console tracing is enabled for the given phase (or any phase if not specified). */
|
|
38
|
+
export function isConsoleTraceEnabled(phase) {
|
|
39
|
+
if (tracePhases.size === 0) return false;
|
|
40
|
+
if (!phase) return true;
|
|
41
|
+
const [area, subarea] = phase.split(".");
|
|
42
|
+
return tracePhases.has(area) || (subarea ? tracePhases.has(phase) : false);
|
|
43
|
+
}
|
|
44
|
+
if (tracePhases.size > 0) {
|
|
45
|
+
// eslint-disable-next-line no-console
|
|
46
|
+
console.log("Tracing enabled for phases:", Array.from(tracePhases).join(", "));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
50
|
+
// Trace phases
|
|
51
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
52
|
+
|
|
53
|
+
export const TracePhase = {
|
|
54
|
+
scope: {
|
|
55
|
+
update: {
|
|
56
|
+
area: "scope",
|
|
57
|
+
subarea: "update",
|
|
58
|
+
bg: {
|
|
59
|
+
r: 0,
|
|
60
|
+
g: 255,
|
|
61
|
+
b: 100
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
create: {
|
|
65
|
+
area: "scope",
|
|
66
|
+
subarea: "create",
|
|
67
|
+
bg: {
|
|
68
|
+
r: 0,
|
|
69
|
+
g: 150,
|
|
70
|
+
b: 100
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
delete: {
|
|
74
|
+
area: "scope",
|
|
75
|
+
subarea: "delete",
|
|
76
|
+
bg: {
|
|
77
|
+
r: 150,
|
|
78
|
+
g: 0,
|
|
79
|
+
b: 50
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
copySymbols: {
|
|
83
|
+
area: "scope",
|
|
84
|
+
subarea: "copySymbols",
|
|
85
|
+
bg: {
|
|
86
|
+
r: 0,
|
|
87
|
+
g: 100,
|
|
88
|
+
b: 100
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
moveSymbols: {
|
|
92
|
+
area: "scope",
|
|
93
|
+
subarea: "moveSymbols",
|
|
94
|
+
bg: {
|
|
95
|
+
r: 0,
|
|
96
|
+
g: 100,
|
|
97
|
+
b: 100
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
symbol: {
|
|
102
|
+
update: {
|
|
103
|
+
area: "symbol",
|
|
104
|
+
subarea: "update",
|
|
105
|
+
bg: {
|
|
106
|
+
r: 0,
|
|
107
|
+
g: 0,
|
|
108
|
+
b: 255
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
resolve: {
|
|
112
|
+
area: "symbol",
|
|
113
|
+
subarea: "resolve",
|
|
114
|
+
bg: {
|
|
115
|
+
r: 0,
|
|
116
|
+
g: 0,
|
|
117
|
+
b: 200
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
create: {
|
|
121
|
+
area: "symbol",
|
|
122
|
+
subarea: "create",
|
|
123
|
+
bg: {
|
|
124
|
+
r: 0,
|
|
125
|
+
g: 0,
|
|
126
|
+
b: 150
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
flow: {
|
|
130
|
+
area: "symbol",
|
|
131
|
+
subarea: "flow",
|
|
132
|
+
bg: {
|
|
133
|
+
r: 0,
|
|
134
|
+
g: 0,
|
|
135
|
+
b: 100
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
addToScope: {
|
|
139
|
+
area: "symbol",
|
|
140
|
+
subarea: "addToScope",
|
|
141
|
+
bg: {
|
|
142
|
+
r: 0,
|
|
143
|
+
g: 0,
|
|
144
|
+
b: 50
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
instantiate: {
|
|
148
|
+
area: "symbol",
|
|
149
|
+
subarea: "instantiate",
|
|
150
|
+
bg: {
|
|
151
|
+
r: 0,
|
|
152
|
+
g: 0,
|
|
153
|
+
b: 25
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
clone: {
|
|
157
|
+
area: "symbol",
|
|
158
|
+
subarea: "clone",
|
|
159
|
+
bg: {
|
|
160
|
+
r: 0,
|
|
161
|
+
g: 0,
|
|
162
|
+
b: 25
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
delete: {
|
|
166
|
+
area: "symbol",
|
|
167
|
+
subarea: "delete",
|
|
168
|
+
bg: {
|
|
169
|
+
r: 100,
|
|
170
|
+
g: 0,
|
|
171
|
+
b: 100
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
removeFromScope: {
|
|
175
|
+
area: "symbol",
|
|
176
|
+
subarea: "removeFromScope",
|
|
177
|
+
bg: {
|
|
178
|
+
r: 50,
|
|
179
|
+
g: 0,
|
|
180
|
+
b: 50
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
resolve: {
|
|
185
|
+
success: {
|
|
186
|
+
area: "resolve",
|
|
187
|
+
subarea: "success",
|
|
188
|
+
bg: {
|
|
189
|
+
r: 0,
|
|
190
|
+
g: 255,
|
|
191
|
+
b: 0
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
pending: {
|
|
195
|
+
area: "resolve",
|
|
196
|
+
subarea: "pending",
|
|
197
|
+
bg: {
|
|
198
|
+
r: 255,
|
|
199
|
+
g: 255,
|
|
200
|
+
b: 0
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
failure: {
|
|
204
|
+
area: "resolve",
|
|
205
|
+
subarea: "failure",
|
|
206
|
+
bg: {
|
|
207
|
+
r: 100,
|
|
208
|
+
g: 50,
|
|
209
|
+
b: 50
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
effect: {
|
|
214
|
+
schedule: {
|
|
215
|
+
area: "effect",
|
|
216
|
+
subarea: "schedule",
|
|
217
|
+
bg: {
|
|
218
|
+
r: 100,
|
|
219
|
+
g: 100,
|
|
220
|
+
b: 0
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
track: {
|
|
224
|
+
area: "effect",
|
|
225
|
+
subarea: "track",
|
|
226
|
+
bg: {
|
|
227
|
+
r: 75,
|
|
228
|
+
g: 75,
|
|
229
|
+
b: 0
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
trigger: {
|
|
233
|
+
area: "effect",
|
|
234
|
+
subarea: "trigger",
|
|
235
|
+
bg: {
|
|
236
|
+
r: 50,
|
|
237
|
+
g: 50,
|
|
238
|
+
b: 0
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
effectAdded: {
|
|
242
|
+
area: "effect",
|
|
243
|
+
subarea: "effectAdded",
|
|
244
|
+
bg: {
|
|
245
|
+
r: 75,
|
|
246
|
+
g: 100,
|
|
247
|
+
b: 0
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
effectUpdated: {
|
|
251
|
+
area: "effect",
|
|
252
|
+
subarea: "effectUpdated",
|
|
253
|
+
bg: {
|
|
254
|
+
r: 75,
|
|
255
|
+
g: 75,
|
|
256
|
+
b: 0
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
refAdded: {
|
|
260
|
+
area: "effect",
|
|
261
|
+
subarea: "refAdded",
|
|
262
|
+
bg: {
|
|
263
|
+
r: 100,
|
|
264
|
+
g: 75,
|
|
265
|
+
b: 0
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
render: {
|
|
270
|
+
worker: {
|
|
271
|
+
area: "render",
|
|
272
|
+
subarea: "worker",
|
|
273
|
+
bg: {
|
|
274
|
+
r: 100,
|
|
275
|
+
g: 50,
|
|
276
|
+
b: 0
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
appendChild: {
|
|
280
|
+
area: "render",
|
|
281
|
+
subarea: "appendChild",
|
|
282
|
+
bg: {
|
|
283
|
+
r: 100,
|
|
284
|
+
g: 50,
|
|
285
|
+
b: 0
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
appendTextNode: {
|
|
289
|
+
area: "render",
|
|
290
|
+
subarea: "appendChild.textNode",
|
|
291
|
+
bg: {
|
|
292
|
+
r: 100,
|
|
293
|
+
g: 50,
|
|
294
|
+
b: 0
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
appendCachedFragment: {
|
|
298
|
+
area: "render",
|
|
299
|
+
subarea: "appendChild.cachedFragment",
|
|
300
|
+
bg: {
|
|
301
|
+
r: 100,
|
|
302
|
+
g: 50,
|
|
303
|
+
b: 0
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
appendCustomContext: {
|
|
307
|
+
area: "render",
|
|
308
|
+
subarea: "appendChild.customContext",
|
|
309
|
+
bg: {
|
|
310
|
+
r: 100,
|
|
311
|
+
g: 50,
|
|
312
|
+
b: 0
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
appendPrintHook: {
|
|
316
|
+
area: "render",
|
|
317
|
+
subarea: "appendChild.printHook",
|
|
318
|
+
bg: {
|
|
319
|
+
r: 100,
|
|
320
|
+
g: 50,
|
|
321
|
+
b: 0
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
appendComponent: {
|
|
325
|
+
area: "render",
|
|
326
|
+
subarea: "appendChild.component",
|
|
327
|
+
bg: {
|
|
328
|
+
r: 100,
|
|
329
|
+
g: 50,
|
|
330
|
+
b: 0
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
appendMemo: {
|
|
334
|
+
area: "render",
|
|
335
|
+
subarea: "appendChild.memo",
|
|
336
|
+
bg: {
|
|
337
|
+
r: 100,
|
|
338
|
+
g: 50,
|
|
339
|
+
b: 0
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
renderEffect: {
|
|
343
|
+
area: "render",
|
|
344
|
+
subarea: "renderEffect",
|
|
345
|
+
bg: {
|
|
346
|
+
r: 100,
|
|
347
|
+
g: 50,
|
|
348
|
+
b: 0
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
355
|
+
// Console formatting utilities
|
|
356
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
357
|
+
|
|
358
|
+
export function colorText(text, fmt) {
|
|
359
|
+
if (!fmt) return text;
|
|
360
|
+
const codes = [];
|
|
361
|
+
if (fmt.bold) codes.push("1");
|
|
362
|
+
if (fmt.fg) codes.push(`38;2;${fmt.fg.r};${fmt.fg.g};${fmt.fg.b}`);
|
|
363
|
+
if (fmt.bg) codes.push(`48;2;${fmt.bg.r};${fmt.bg.g};${fmt.bg.b}`);
|
|
364
|
+
if (codes.length === 0) return text;
|
|
365
|
+
return `\x1b[${codes.join(";")}m${text}\x1b[0m`;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
369
|
+
// Low-level trace API
|
|
370
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
371
|
+
|
|
372
|
+
let traceCount = 0;
|
|
373
|
+
function shouldTracePhase(area, subarea) {
|
|
374
|
+
return isConsoleTraceEnabled(area) || isConsoleTraceEnabled(area + "." + subarea);
|
|
375
|
+
}
|
|
376
|
+
function shouldTrace(phase) {
|
|
377
|
+
return shouldTracePhase(phase.area, phase.subarea);
|
|
378
|
+
}
|
|
379
|
+
export function traceType(phase) {
|
|
380
|
+
return `${phase.area}:${phase.subarea}`;
|
|
381
|
+
}
|
|
382
|
+
export function logDevtoolsMessage(message) {
|
|
383
|
+
if (!isConsoleTraceEnabled()) return;
|
|
384
|
+
const type = String(message.type ?? "");
|
|
385
|
+
const colonIndex = type.indexOf(":");
|
|
386
|
+
if (colonIndex === -1) return;
|
|
387
|
+
const area = type.slice(0, colonIndex);
|
|
388
|
+
const subarea = type.slice(colonIndex + 1);
|
|
389
|
+
if (!area || !subarea) return;
|
|
390
|
+
if (!shouldTracePhase(area, subarea)) return;
|
|
391
|
+
// eslint-disable-next-line no-console
|
|
392
|
+
console.log("devtools:", message.type, message);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* Emit a devtools message. Logs to console if tracing is enabled for the
|
|
397
|
+
* message's area, and broadcasts over the WebSocket if devtools are connected.
|
|
398
|
+
*
|
|
399
|
+
* Accepts both strictly-typed protocol messages and loosely-typed trace
|
|
400
|
+
* messages (which construct the type string dynamically).
|
|
401
|
+
*/
|
|
402
|
+
export function emitDevtoolsMessage(message) {
|
|
403
|
+
logDevtoolsMessage(message);
|
|
404
|
+
if (!isDevtoolsEnabled()) return;
|
|
405
|
+
broadcastDevtoolsMessage(message);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Low-level trace function for emitting console output.
|
|
410
|
+
* Use the `debug` object methods for most use cases.
|
|
411
|
+
*/
|
|
412
|
+
export function trace(phase, cb, triggerIds = new Set()) {
|
|
413
|
+
if (shouldTrace(phase)) {
|
|
414
|
+
if (triggerIds.size === 0) {
|
|
415
|
+
const id = traceCount++;
|
|
416
|
+
triggerIds.add(id);
|
|
417
|
+
if (debuggerIds.has(id)) {
|
|
418
|
+
// eslint-disable-next-line no-debugger
|
|
419
|
+
debugger;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
const areaTag = ` ${phase.area}:${phase.subarea} `;
|
|
423
|
+
const message = untrack(cb);
|
|
424
|
+
// eslint-disable-next-line no-console
|
|
425
|
+
console.log(colorText(areaTag, {
|
|
426
|
+
...phase,
|
|
427
|
+
bold: true
|
|
428
|
+
}) + " " + colorText("[" + [...triggerIds].join(",") + "]", {
|
|
429
|
+
fg: {
|
|
430
|
+
r: 50,
|
|
431
|
+
g: 50,
|
|
432
|
+
b: 50
|
|
433
|
+
}
|
|
434
|
+
}) + " " + message + "\n");
|
|
435
|
+
}
|
|
436
|
+
if (isDevtoolsEnabled()) {
|
|
437
|
+
broadcastDevtoolsMessage({
|
|
438
|
+
type: traceType(phase),
|
|
439
|
+
triggerIds: [...triggerIds]
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["broadcastDevtoolsMessage","isDevtoolsEnabled","untrack","traceEnv","process","env","ALLOY_TRACE","tracePhases","Set","split","map","t","trim","debuggerIdsEnv","ALLOY_BREAK_ON_DID","debuggerIds","forEach","id","num","parseInt","isNaN","add","parseBreakOnIds","ids","isConsoleTraceEnabled","phase","size","area","subarea","has","console","log","Array","from","join","TracePhase","scope","update","bg","r","g","b","create","delete","copySymbols","moveSymbols","symbol","resolve","flow","addToScope","instantiate","clone","removeFromScope","success","pending","failure","effect","schedule","track","trigger","effectAdded","effectUpdated","refAdded","render","worker","appendChild","appendTextNode","appendCachedFragment","appendCustomContext","appendPrintHook","appendComponent","appendMemo","renderEffect","colorText","text","fmt","codes","bold","push","fg","length","traceCount","shouldTracePhase","shouldTrace","traceType","logDevtoolsMessage","message","type","String","colonIndex","indexOf","slice","emitDevtoolsMessage","trace","cb","triggerIds","areaTag"],"sources":["../../../src/debug/trace.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared protocol types for communication between the Alloy devtools server
|
|
3
|
+
* and the devtools UI client. Both sides import these types to ensure
|
|
4
|
+
* compile-time safety and prevent protocol drift.
|
|
5
|
+
*/
|
|
6
|
+
import type { SourceLocation } from "../debug/effects.js";
|
|
7
|
+
export type { SourceLocation };
|
|
8
|
+
export interface RenderTreeNode {
|
|
9
|
+
id: number;
|
|
10
|
+
kind: "root" | "component" | "intrinsic" | "printHook" | "text" | "memo" | "customContext" | "fragment";
|
|
11
|
+
name?: string;
|
|
12
|
+
propsSerialized?: string;
|
|
13
|
+
value?: string;
|
|
14
|
+
source?: SourceLocation;
|
|
15
|
+
}
|
|
16
|
+
export interface EffectInfo {
|
|
17
|
+
id: number;
|
|
18
|
+
name?: string;
|
|
19
|
+
type?: string;
|
|
20
|
+
createdAt?: SourceLocation;
|
|
21
|
+
lastTriggeredByRefId?: number;
|
|
22
|
+
lastTriggeredAt?: SourceLocation;
|
|
23
|
+
}
|
|
24
|
+
export interface RefInfo {
|
|
25
|
+
id: number;
|
|
26
|
+
kind?: string;
|
|
27
|
+
createdAt?: SourceLocation;
|
|
28
|
+
createdByEffectId?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface EffectEdgeInfo {
|
|
31
|
+
id: number;
|
|
32
|
+
type: "track" | "trigger" | "triggered-by";
|
|
33
|
+
effectId: number;
|
|
34
|
+
refId?: number;
|
|
35
|
+
targetId?: number;
|
|
36
|
+
targetKind?: "ref" | "target";
|
|
37
|
+
targetLabel?: string;
|
|
38
|
+
targetKey?: string | number;
|
|
39
|
+
location?: SourceLocation;
|
|
40
|
+
count?: number;
|
|
41
|
+
}
|
|
42
|
+
export interface ScopeInfo {
|
|
43
|
+
id: number;
|
|
44
|
+
name: string;
|
|
45
|
+
parentId: number | null;
|
|
46
|
+
ownerSymbolId: number | null;
|
|
47
|
+
renderNodeId?: number | null;
|
|
48
|
+
isMemberScope: boolean;
|
|
49
|
+
isTransient?: boolean;
|
|
50
|
+
metadata?: Record<string, unknown>;
|
|
51
|
+
debugInfo?: Record<string, unknown>;
|
|
52
|
+
children?: Array<{
|
|
53
|
+
id: number;
|
|
54
|
+
name?: string;
|
|
55
|
+
}>;
|
|
56
|
+
spaces?: Array<{
|
|
57
|
+
key: string;
|
|
58
|
+
symbols: Array<{
|
|
59
|
+
id: number;
|
|
60
|
+
name?: string;
|
|
61
|
+
}>;
|
|
62
|
+
}>;
|
|
63
|
+
}
|
|
64
|
+
export interface SymbolInfo {
|
|
65
|
+
id: number;
|
|
66
|
+
name: string;
|
|
67
|
+
originalName: string;
|
|
68
|
+
scopeId: number | null;
|
|
69
|
+
ownerSymbolId: number | null;
|
|
70
|
+
renderNodeId?: number | null;
|
|
71
|
+
isMemberSymbol: boolean;
|
|
72
|
+
isTransient: boolean;
|
|
73
|
+
isAlias: boolean;
|
|
74
|
+
movedToId: number | null;
|
|
75
|
+
metadata?: Record<string, unknown>;
|
|
76
|
+
debugInfo?: Record<string, unknown>;
|
|
77
|
+
memberSpaces?: Array<{
|
|
78
|
+
key: string;
|
|
79
|
+
symbols: Array<{
|
|
80
|
+
id: number;
|
|
81
|
+
name?: string;
|
|
82
|
+
}>;
|
|
83
|
+
}>;
|
|
84
|
+
}
|
|
85
|
+
export interface RenderErrorStackEntry {
|
|
86
|
+
name: string;
|
|
87
|
+
propsSerialized?: string;
|
|
88
|
+
renderNodeId?: number;
|
|
89
|
+
source?: SourceLocation;
|
|
90
|
+
}
|
|
91
|
+
export interface DiagnosticInfo {
|
|
92
|
+
id: string;
|
|
93
|
+
message: string;
|
|
94
|
+
severity: string;
|
|
95
|
+
source?: SourceLocation;
|
|
96
|
+
componentStack?: Array<{
|
|
97
|
+
name: string;
|
|
98
|
+
renderNodeId?: number;
|
|
99
|
+
source?: SourceLocation;
|
|
100
|
+
}>;
|
|
101
|
+
}
|
|
102
|
+
export interface DebuggerInfoMessage {
|
|
103
|
+
type: "debugger:info";
|
|
104
|
+
version: string;
|
|
105
|
+
cwd?: string;
|
|
106
|
+
}
|
|
107
|
+
export interface RenderResetMessage {
|
|
108
|
+
type: "render:reset";
|
|
109
|
+
}
|
|
110
|
+
export interface RenderNodeAddedMessage {
|
|
111
|
+
type: "render:nodeAdded";
|
|
112
|
+
parentId: number | null;
|
|
113
|
+
node: RenderTreeNode;
|
|
114
|
+
}
|
|
115
|
+
export interface RenderNodeUpdatedMessage {
|
|
116
|
+
type: "render:nodeUpdated";
|
|
117
|
+
id: number;
|
|
118
|
+
propsSerialized?: string;
|
|
119
|
+
}
|
|
120
|
+
export interface RenderNodeRemovedMessage {
|
|
121
|
+
type: "render:nodeRemoved";
|
|
122
|
+
parentId: number | null;
|
|
123
|
+
id: number;
|
|
124
|
+
name?: string;
|
|
125
|
+
}
|
|
126
|
+
export interface RenderErrorMessage {
|
|
127
|
+
type: "render:error";
|
|
128
|
+
id: number;
|
|
129
|
+
name?: string;
|
|
130
|
+
message?: string;
|
|
131
|
+
stack?: string;
|
|
132
|
+
componentStack: RenderErrorStackEntry[];
|
|
133
|
+
}
|
|
134
|
+
export interface RenderCompleteMessage {
|
|
135
|
+
type: "render:complete";
|
|
136
|
+
}
|
|
137
|
+
export interface FlushJobsCompleteMessage {
|
|
138
|
+
type: "flushJobs:complete";
|
|
139
|
+
}
|
|
140
|
+
export interface DirectoryAddedMessage {
|
|
141
|
+
type: "files:directoryAdded";
|
|
142
|
+
path: string;
|
|
143
|
+
}
|
|
144
|
+
export interface DirectoryRemovedMessage {
|
|
145
|
+
type: "files:directoryRemoved";
|
|
146
|
+
path: string;
|
|
147
|
+
}
|
|
148
|
+
export interface FileAddedMessage {
|
|
149
|
+
type: "files:fileAdded";
|
|
150
|
+
path: string;
|
|
151
|
+
filetype: string;
|
|
152
|
+
renderNodeId?: number;
|
|
153
|
+
}
|
|
154
|
+
export interface FileRemovedMessage {
|
|
155
|
+
type: "files:fileRemoved";
|
|
156
|
+
path: string;
|
|
157
|
+
}
|
|
158
|
+
export interface FileUpdatedMessage {
|
|
159
|
+
type: "files:fileUpdated";
|
|
160
|
+
path: string;
|
|
161
|
+
filetype: string;
|
|
162
|
+
contents: string;
|
|
163
|
+
}
|
|
164
|
+
export interface ScopeCreateMessage {
|
|
165
|
+
type: "scope:create";
|
|
166
|
+
scope: ScopeInfo;
|
|
167
|
+
}
|
|
168
|
+
export interface ScopeUpdateMessage {
|
|
169
|
+
type: "scope:update";
|
|
170
|
+
scope: ScopeInfo;
|
|
171
|
+
}
|
|
172
|
+
export interface ScopeDeleteMessage {
|
|
173
|
+
type: "scope:delete";
|
|
174
|
+
id: number;
|
|
175
|
+
}
|
|
176
|
+
export interface SymbolCreateMessage {
|
|
177
|
+
type: "symbol:create";
|
|
178
|
+
symbol: SymbolInfo;
|
|
179
|
+
}
|
|
180
|
+
export interface SymbolUpdateMessage {
|
|
181
|
+
type: "symbol:update";
|
|
182
|
+
symbol: SymbolInfo;
|
|
183
|
+
}
|
|
184
|
+
export interface SymbolDeleteMessage {
|
|
185
|
+
type: "symbol:delete";
|
|
186
|
+
id: number;
|
|
187
|
+
}
|
|
188
|
+
export interface EffectAddedMessage {
|
|
189
|
+
type: "effect:effectAdded";
|
|
190
|
+
effect: EffectInfo;
|
|
191
|
+
}
|
|
192
|
+
export interface EffectUpdatedMessage {
|
|
193
|
+
type: "effect:effectUpdated";
|
|
194
|
+
effect: EffectInfo;
|
|
195
|
+
}
|
|
196
|
+
export interface RefAddedMessage {
|
|
197
|
+
type: "effect:refAdded";
|
|
198
|
+
ref: RefInfo;
|
|
199
|
+
}
|
|
200
|
+
export interface EffectTrackMessage {
|
|
201
|
+
type: "effect:track";
|
|
202
|
+
edge: EffectEdgeInfo;
|
|
203
|
+
message?: string;
|
|
204
|
+
}
|
|
205
|
+
export interface EffectTriggerMessage {
|
|
206
|
+
type: "effect:trigger";
|
|
207
|
+
edge: EffectEdgeInfo;
|
|
208
|
+
message?: string;
|
|
209
|
+
}
|
|
210
|
+
export interface EffectEdgeUpdatedMessage {
|
|
211
|
+
type: "effect:edgeUpdated";
|
|
212
|
+
edge: EffectEdgeInfo;
|
|
213
|
+
}
|
|
214
|
+
export interface DiagnosticsReportMessage {
|
|
215
|
+
type: "diagnostics:report";
|
|
216
|
+
diagnostics: DiagnosticInfo[];
|
|
217
|
+
}
|
|
218
|
+
export interface BatchMessage {
|
|
219
|
+
type: "batch";
|
|
220
|
+
messages: ServerToClientMessage[];
|
|
221
|
+
}
|
|
222
|
+
export type ServerToClientMessage = DebuggerInfoMessage | RenderResetMessage | RenderNodeAddedMessage | RenderNodeUpdatedMessage | RenderNodeRemovedMessage | RenderErrorMessage | RenderCompleteMessage | FlushJobsCompleteMessage | DirectoryAddedMessage | DirectoryRemovedMessage | FileAddedMessage | FileRemovedMessage | FileUpdatedMessage | ScopeCreateMessage | ScopeUpdateMessage | ScopeDeleteMessage | SymbolCreateMessage | SymbolUpdateMessage | SymbolDeleteMessage | EffectAddedMessage | EffectUpdatedMessage | RefAddedMessage | EffectTrackMessage | EffectTriggerMessage | EffectEdgeUpdatedMessage | DiagnosticsReportMessage | BatchMessage;
|
|
223
|
+
export interface RerenderRequestMessage {
|
|
224
|
+
type: "render:rerender";
|
|
225
|
+
id: number;
|
|
226
|
+
}
|
|
227
|
+
export interface RerenderBreakRequestMessage {
|
|
228
|
+
type: "render:rerenderAndBreak";
|
|
229
|
+
id: number;
|
|
230
|
+
}
|
|
231
|
+
export type ClientToServerMessage = RerenderRequestMessage | RerenderBreakRequestMessage;
|
|
232
|
+
//# sourceMappingURL=devtools-protocol.d.ts.map
|