@alloy-js/core 0.23.0-dev.10 → 0.23.0-dev.11

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.
Files changed (131) hide show
  1. package/dist/devtools/index.html +29 -17
  2. package/dist/src/binder.d.ts.map +1 -1
  3. package/dist/src/binder.js +5 -0
  4. package/dist/src/binder.js.map +1 -1
  5. package/dist/src/components/For.d.ts.map +1 -1
  6. package/dist/src/components/For.js +1 -1
  7. package/dist/src/components/For.js.map +1 -1
  8. package/dist/src/components/List.d.ts.map +1 -1
  9. package/dist/src/components/List.js +1 -1
  10. package/dist/src/components/List.js.map +1 -1
  11. package/dist/src/components/Switch.d.ts.map +1 -1
  12. package/dist/src/components/Switch.js +1 -1
  13. package/dist/src/components/Switch.js.map +1 -1
  14. package/dist/src/debug/diagnostics.test.js +3 -2
  15. package/dist/src/debug/diagnostics.test.js.map +1 -1
  16. package/dist/src/debug/effects.d.ts +12 -4
  17. package/dist/src/debug/effects.d.ts.map +1 -1
  18. package/dist/src/debug/effects.js +182 -52
  19. package/dist/src/debug/effects.js.map +1 -1
  20. package/dist/src/debug/effects.test.js +213 -41
  21. package/dist/src/debug/effects.test.js.map +1 -1
  22. package/dist/src/debug/files.d.ts.map +1 -1
  23. package/dist/src/debug/files.js +7 -18
  24. package/dist/src/debug/files.js.map +1 -1
  25. package/dist/src/debug/files.test.js +13 -36
  26. package/dist/src/debug/files.test.js.map +1 -1
  27. package/dist/src/debug/index.d.ts +4 -2
  28. package/dist/src/debug/index.d.ts.map +1 -1
  29. package/dist/src/debug/index.js +4 -2
  30. package/dist/src/debug/index.js.map +1 -1
  31. package/dist/src/debug/message-format.test.d.ts +2 -0
  32. package/dist/src/debug/message-format.test.d.ts.map +1 -0
  33. package/dist/src/debug/message-format.test.js +700 -0
  34. package/dist/src/debug/message-format.test.js.map +1 -0
  35. package/dist/src/debug/render-tree-orphans.test.d.ts +2 -0
  36. package/dist/src/debug/render-tree-orphans.test.d.ts.map +1 -0
  37. package/dist/src/debug/render-tree-orphans.test.js +297 -0
  38. package/dist/src/debug/render-tree-orphans.test.js.map +1 -0
  39. package/dist/src/debug/render.d.ts.map +1 -1
  40. package/dist/src/debug/render.js +83 -130
  41. package/dist/src/debug/render.js.map +1 -1
  42. package/dist/src/debug/render.test.js +91 -128
  43. package/dist/src/debug/render.test.js.map +1 -1
  44. package/dist/src/debug/symbols.d.ts +6 -5
  45. package/dist/src/debug/symbols.d.ts.map +1 -1
  46. package/dist/src/debug/symbols.js +46 -23
  47. package/dist/src/debug/symbols.js.map +1 -1
  48. package/dist/src/debug/symbols.test.js +15 -26
  49. package/dist/src/debug/symbols.test.js.map +1 -1
  50. package/dist/src/debug/trace-writer.d.ts +55 -0
  51. package/dist/src/debug/trace-writer.d.ts.map +1 -0
  52. package/dist/src/debug/trace-writer.js +658 -0
  53. package/dist/src/debug/trace-writer.js.map +1 -0
  54. package/dist/src/debug/trace.d.ts +10 -10
  55. package/dist/src/debug/trace.d.ts.map +1 -1
  56. package/dist/src/debug/trace.js +23 -20
  57. package/dist/src/debug/trace.js.map +1 -1
  58. package/dist/src/devtools/devtools-protocol.d.ts +318 -161
  59. package/dist/src/devtools/devtools-protocol.d.ts.map +1 -1
  60. package/dist/src/devtools/devtools-server.browser.d.ts +0 -5
  61. package/dist/src/devtools/devtools-server.browser.d.ts.map +1 -1
  62. package/dist/src/devtools/devtools-server.browser.js +0 -3
  63. package/dist/src/devtools/devtools-server.browser.js.map +1 -1
  64. package/dist/src/devtools/devtools-server.d.ts +0 -6
  65. package/dist/src/devtools/devtools-server.d.ts.map +1 -1
  66. package/dist/src/devtools/devtools-server.js +212 -24
  67. package/dist/src/devtools/devtools-server.js.map +1 -1
  68. package/dist/src/devtools/devtools-transport.d.ts +2 -2
  69. package/dist/src/devtools/devtools-transport.d.ts.map +1 -1
  70. package/dist/src/devtools/devtools-transport.js +2 -2
  71. package/dist/src/devtools/devtools-transport.js.map +1 -1
  72. package/dist/src/devtools-entry.browser.d.ts +1 -1
  73. package/dist/src/devtools-entry.browser.d.ts.map +1 -1
  74. package/dist/src/devtools-entry.browser.js.map +1 -1
  75. package/dist/src/devtools-entry.d.ts +1 -1
  76. package/dist/src/devtools-entry.d.ts.map +1 -1
  77. package/dist/src/devtools-entry.js.map +1 -1
  78. package/dist/src/diagnostics.d.ts.map +1 -1
  79. package/dist/src/diagnostics.js +5 -5
  80. package/dist/src/diagnostics.js.map +1 -1
  81. package/dist/src/reactivity.d.ts +13 -2
  82. package/dist/src/reactivity.d.ts.map +1 -1
  83. package/dist/src/reactivity.js +96 -13
  84. package/dist/src/reactivity.js.map +1 -1
  85. package/dist/src/render.d.ts.map +1 -1
  86. package/dist/src/render.js +84 -30
  87. package/dist/src/render.js.map +1 -1
  88. package/dist/src/scheduler.d.ts +5 -0
  89. package/dist/src/scheduler.d.ts.map +1 -1
  90. package/dist/src/scheduler.js +94 -23
  91. package/dist/src/scheduler.js.map +1 -1
  92. package/dist/src/utils.d.ts.map +1 -1
  93. package/dist/src/utils.js +11 -5
  94. package/dist/src/utils.js.map +1 -1
  95. package/dist/testing/devtools-utils.d.ts +12 -3
  96. package/dist/testing/devtools-utils.d.ts.map +1 -1
  97. package/dist/testing/devtools-utils.js +26 -4
  98. package/dist/testing/devtools-utils.js.map +1 -1
  99. package/dist/tsconfig.tsbuildinfo +1 -1
  100. package/package.json +1 -1
  101. package/src/binder.ts +47 -38
  102. package/src/components/For.tsx +14 -10
  103. package/src/components/List.tsx +7 -4
  104. package/src/components/Switch.tsx +11 -7
  105. package/src/debug/diagnostics.test.tsx +3 -2
  106. package/src/debug/effects.test.tsx +248 -36
  107. package/src/debug/effects.ts +276 -62
  108. package/src/debug/files.test.tsx +15 -35
  109. package/src/debug/files.ts +11 -11
  110. package/src/debug/index.ts +4 -0
  111. package/src/debug/message-format.test.tsx +759 -0
  112. package/src/debug/render-tree-orphans.test.tsx +344 -0
  113. package/src/debug/render.test.tsx +96 -118
  114. package/src/debug/render.ts +183 -124
  115. package/src/debug/symbols.test.tsx +19 -20
  116. package/src/debug/symbols.ts +106 -23
  117. package/src/debug/trace-writer.ts +969 -0
  118. package/src/debug/trace.ts +25 -28
  119. package/src/devtools/devtools-protocol.ts +361 -176
  120. package/src/devtools/devtools-server.browser.ts +0 -9
  121. package/src/devtools/devtools-server.ts +210 -32
  122. package/src/devtools/devtools-transport.ts +4 -4
  123. package/src/devtools-entry.browser.ts +11 -15
  124. package/src/devtools-entry.ts +9 -15
  125. package/src/diagnostics.ts +14 -5
  126. package/src/reactivity.ts +113 -17
  127. package/src/render.ts +104 -30
  128. package/src/scheduler.ts +145 -26
  129. package/src/utils.tsx +7 -4
  130. package/temp/api.json +142 -20
  131. package/testing/devtools-utils.ts +46 -4
@@ -2,10 +2,11 @@ import { watch } from "@vue/reactivity";
2
2
  import * as devalue from "devalue";
3
3
  import { isDevtoolsEnabled, registerDevtoolsMessageHandler } from "../devtools/devtools-server.js";
4
4
  import { isPrintHook } from "../print-hook.js";
5
- import { untrack } from "../reactivity.js";
5
+ import { getContext, untrack } from "../reactivity.js";
6
6
  import { flushJobsAsync } from "../scheduler.js";
7
7
  import { sanitizeRecord } from "./serialize.js";
8
- import { emitDevtoolsMessage } from "./trace.js";
8
+ import { deleteDirectory, deleteOutputFile, insertDirectory, insertOutputFile, insertRenderError, insertRenderNode, isTraceEnabled, notifyFlushComplete, notifyRenderComplete, notifyRenderReset, deleteRenderNode as traceDeleteRenderNode, updateRenderNodeProps as traceUpdateRenderNodeProps, updateEffectComponentByContext, updateRenderNodeContext } from "./trace-writer.js";
9
+ import { isDebugEnabled, logDevtoolsMessage } from "./trace.js";
9
10
 
10
11
  /** The kind discriminant for render tree nodes. */
11
12
 
@@ -20,6 +21,7 @@ import { emitDevtoolsMessage } from "./trace.js";
20
21
  let nodeIds = new WeakMap();
21
22
  let idToNode = new Map();
22
23
  let entryIds = new WeakMap();
24
+ let nodeKinds = new WeakMap();
23
25
  let fileNodes = new Map();
24
26
  let directoryNodes = new Map();
25
27
  let nodeProps = new Map();
@@ -54,28 +56,18 @@ function serializeRenderTreeProps(input) {
54
56
 
55
57
  function emitNodeRemoved(parentId, id) {
56
58
  clearRenderTreeChildrenForId(id);
57
- emitDevtoolsMessage({
58
- type: "render:nodeRemoved",
59
- parentId,
60
- id
61
- });
59
+ traceDeleteRenderNode(id);
62
60
  rerenderActions.delete(id);
63
61
  nodeProps.delete(id);
64
62
  idToNode.delete(id);
65
63
  const fileInfo = fileNodes.get(id);
66
64
  if (fileInfo) {
67
- emitDevtoolsMessage({
68
- type: "files:fileRemoved",
69
- path: fileInfo.path
70
- });
65
+ deleteOutputFile(fileInfo.path);
71
66
  fileNodes.delete(id);
72
67
  }
73
68
  const dirInfo = directoryNodes.get(id);
74
69
  if (dirInfo) {
75
- emitDevtoolsMessage({
76
- type: "files:directoryRemoved",
77
- path: dirInfo.path
78
- });
70
+ deleteDirectory(dirInfo.path);
79
71
  directoryNodes.delete(id);
80
72
  }
81
73
  }
@@ -89,14 +81,20 @@ function getEntryList(parent) {
89
81
  }
90
82
  function getOrCreateNodeId(node) {
91
83
  const existing = nodeIds.get(node);
92
- if (existing) return existing;
84
+ if (existing) {
85
+ // Restore reverse mapping — emitNodeRemoved deletes idToNode but nodeIds
86
+ // (WeakMap) survives. Without this, clearRenderTreeChildrenForId can't
87
+ // find the node on the next cleanup, leaving orphaned children in the DB.
88
+ idToNode.set(existing, node);
89
+ return existing;
90
+ }
93
91
  const id = nextId++;
94
92
  nodeIds.set(node, id);
95
93
  idToNode.set(id, node);
96
94
  return id;
97
95
  }
98
96
  export function getRenderNodeId(node) {
99
- if (!isDevtoolsEnabled()) return undefined;
97
+ if (!isDebugEnabled()) return undefined;
100
98
  return getOrCreateNodeId(node);
101
99
  }
102
100
  function setEntryId(parent, index, id) {
@@ -104,36 +102,28 @@ function setEntryId(parent, index, id) {
104
102
  list[index] = id;
105
103
  }
106
104
  export function initialize(root) {
107
- if (!isDevtoolsEnabled()) return;
105
+ if (!isDebugEnabled()) return;
108
106
  ensureDevtoolsHandler();
109
107
  nodeIds = new WeakMap();
110
108
  idToNode = new Map();
111
109
  entryIds = new WeakMap();
110
+ nodeKinds = new WeakMap();
112
111
  fileNodes = new Map();
113
112
  directoryNodes = new Map();
114
113
  nodeProps = new Map();
115
114
  rerenderActions = new Map();
116
115
  nextId = 1;
117
- emitDevtoolsMessage({
118
- type: "render:reset"
119
- });
116
+ notifyRenderReset();
120
117
  const rootId = getOrCreateNodeId(root);
121
- emitDevtoolsMessage({
122
- type: "render:nodeAdded",
123
- parentId: null,
124
- node: {
125
- id: rootId,
126
- kind: "root"
127
- }
128
- });
118
+ insertRenderNode(rootId, null, "root", undefined, undefined, undefined, undefined, undefined, null, undefined);
129
119
  }
130
120
  export function registerRenderNodeActions(node, actions) {
131
- if (!isDevtoolsEnabled()) return;
121
+ if (!isDebugEnabled()) return;
132
122
  const id = getOrCreateNodeId(node);
133
123
  rerenderActions.set(id, actions);
134
124
  }
135
125
  export function unregisterRenderNodeActions(node) {
136
- if (!isDevtoolsEnabled()) return;
126
+ if (!isDebugEnabled()) return;
137
127
  const id = nodeIds.get(node);
138
128
  if (id !== undefined) {
139
129
  rerenderActions.delete(id);
@@ -161,57 +151,46 @@ function ensureDevtoolsHandler() {
161
151
  });
162
152
  }
163
153
  export function recordTextNode(parent, index, value) {
164
- if (!isDevtoolsEnabled()) return;
154
+ if (!isDebugEnabled()) return;
165
155
  const id = nextId++;
166
156
  setEntryId(parent, index, id);
167
- emitDevtoolsMessage({
168
- type: "render:nodeAdded",
169
- parentId: getOrCreateNodeId(parent),
170
- node: {
171
- id,
172
- kind: "text",
173
- value
174
- }
175
- });
157
+ insertRenderNode(id, getOrCreateNodeId(parent), "text", undefined, undefined, undefined, undefined, undefined, null, value);
176
158
  }
177
159
  function recordNodeAdded(parent, index, node, info) {
178
- if (!isDevtoolsEnabled()) return;
160
+ if (!isDebugEnabled()) return;
179
161
  const id = getOrCreateNodeId(node);
180
162
  if (info.propsSerialized !== undefined) {
181
163
  nodeProps.set(id, info.propsSerialized);
182
164
  }
183
- setEntryId(parent, index, id);
184
- emitDevtoolsMessage({
185
- type: "render:nodeAdded",
186
- parentId: getOrCreateNodeId(parent),
187
- node: {
188
- id,
189
- ...info
190
- }
165
+ // Remember the kind so cached re-adds preserve it
166
+ nodeKinds.set(node, {
167
+ kind: info.kind,
168
+ name: info.name
191
169
  });
170
+ setEntryId(parent, index, id);
171
+ insertRenderNode(id, getOrCreateNodeId(parent), info.kind, info.name, info.propsSerialized, info.source?.fileName, info.source?.lineNumber, info.source?.columnNumber, null, undefined);
192
172
  }
193
173
  function recordSubtreeAdded(parentNode, subtree, info = {
194
174
  kind: "fragment"
195
175
  }) {
196
- if (!isDevtoolsEnabled()) return;
176
+ if (!isDebugEnabled()) return;
197
177
  const parentId = getOrCreateNodeId(parentNode);
198
178
  // Check if this node was previously rendered (cached) by seeing if it already has an ID
199
179
  const existingId = nodeIds.get(subtree);
200
180
  const isCached = existingId !== undefined;
201
181
  const id = isCached ? existingId : getOrCreateNodeId(subtree);
182
+ // Remember the kind so cached re-adds preserve it
183
+ nodeKinds.set(subtree, {
184
+ kind: info.kind,
185
+ name: info.name
186
+ });
202
187
  // Track in entryIds so clearRenderTreeChildren can find and remove it
203
188
  if (Array.isArray(parentNode)) {
204
189
  const list = getEntryList(parentNode);
205
190
  list.push(id);
206
191
  }
207
- emitDevtoolsMessage({
208
- type: "render:nodeAdded",
209
- parentId,
210
- node: {
211
- id,
212
- ...info
213
- }
214
- });
192
+ insertRenderNode(id, parentId, info.kind, info.name, info.propsSerialized, info.source?.fileName, info.source?.lineNumber, info.source?.columnNumber, null, undefined);
193
+
215
194
  // For cached nodes, we need to recursively re-add all their children since
216
195
  // clearRenderTreeChildren removed them when the parent re-rendered
217
196
  if (isCached) {
@@ -226,9 +205,15 @@ function recordSubtreeAdded(parentNode, subtree, info = {
226
205
  * to be explicitly re-added.
227
206
  */
228
207
  function recordCachedSubtreeChildrenRecursively(node) {
229
- if (!isDevtoolsEnabled()) return;
208
+ if (!isDebugEnabled()) return;
230
209
  const parentId = getOrCreateNodeId(node);
231
210
 
211
+ // Clear any previously-recorded children from the DB before re-adding.
212
+ // The in-memory tree may have changed since the last cached re-add
213
+ // (e.g., a memo inside the cached subtree re-ran), so old DB children
214
+ // that are no longer in the tree would become orphans.
215
+ clearRenderTreeChildren(node);
216
+
232
217
  // Rebuild the entryIds for this node
233
218
  const list = getEntryList(node);
234
219
  list.length = 0;
@@ -240,74 +225,41 @@ function recordCachedSubtreeChildrenRecursively(node) {
240
225
  const id = nextId++;
241
226
  list.push(id);
242
227
  idToNode.set(id, child);
243
- emitDevtoolsMessage({
244
- type: "render:nodeAdded",
245
- parentId,
246
- node: {
247
- id,
248
- kind: "text",
249
- value: child
250
- }
251
- });
228
+ insertRenderNode(id, parentId, "text", undefined, undefined, undefined, undefined, undefined, null, child);
252
229
  }
253
230
  } else if (Array.isArray(child)) {
254
- // Nested RenderedTextTree - record and recurse
231
+ // Nested RenderedTextTree - record and recurse, preserving original kind
255
232
  const id = getOrCreateNodeId(child);
256
233
  list.push(id);
257
- emitDevtoolsMessage({
258
- type: "render:nodeAdded",
259
- parentId,
260
- node: {
261
- id,
262
- kind: "fragment"
263
- }
264
- });
234
+ const savedKind = nodeKinds.get(child);
235
+ insertRenderNode(id, parentId, savedKind?.kind ?? "fragment", savedKind?.name, undefined, undefined, undefined, undefined, null, undefined);
265
236
  recordCachedSubtreeChildrenRecursively(child);
266
237
  } else if (isPrintHook(child)) {
267
238
  // PrintHook - record and recurse into subtree
268
239
  const id = getOrCreateNodeId(child);
269
240
  list.push(id);
270
- emitDevtoolsMessage({
271
- type: "render:nodeAdded",
272
- parentId,
273
- node: {
274
- id,
275
- kind: "printHook",
276
- name: child.name ?? "hook"
277
- }
278
- });
241
+ insertRenderNode(id, parentId, "printHook", child.name ?? "hook", undefined, undefined, undefined, undefined, null, undefined);
279
242
  if (child.subtree) {
280
243
  const subtreeId = getOrCreateNodeId(child.subtree);
281
244
  const hookList = getEntryList(child);
282
245
  hookList.length = 0;
283
246
  hookList.push(subtreeId);
284
- emitDevtoolsMessage({
285
- type: "render:nodeAdded",
286
- parentId: id,
287
- node: {
288
- id: subtreeId,
289
- kind: "fragment"
290
- }
291
- });
247
+ insertRenderNode(subtreeId, id, "fragment", undefined, undefined, undefined, undefined, undefined, null, undefined);
292
248
  recordCachedSubtreeChildrenRecursively(child.subtree);
293
249
  }
294
250
  }
295
251
  }
296
252
  }
297
253
  function recordNodePropsUpdated(node, propsSerialized) {
298
- if (!isDevtoolsEnabled()) return;
254
+ if (!isDebugEnabled()) return;
299
255
  const id = getOrCreateNodeId(node);
300
256
  const previous = nodeProps.get(id);
301
257
  if (previous === propsSerialized) return;
302
258
  nodeProps.set(id, propsSerialized);
303
- emitDevtoolsMessage({
304
- type: "render:nodeUpdated",
305
- id,
306
- propsSerialized
307
- });
259
+ traceUpdateRenderNodeProps(id, propsSerialized);
308
260
  }
309
261
  function clearRenderTreeChildren(parent) {
310
- if (!isDevtoolsEnabled()) return;
262
+ if (!isDebugEnabled()) return;
311
263
  const list = entryIds.get(parent);
312
264
  if (!list || list.length === 0) return;
313
265
  const parentId = getOrCreateNodeId(parent);
@@ -325,9 +277,15 @@ function clearRenderTreeChildrenForId(id) {
325
277
  clearRenderTreeChildren(node);
326
278
  return;
327
279
  }
280
+ // For PrintHook nodes: clear the subtree's children, then remove
281
+ // the subtree node itself (which is a child of this hook).
328
282
  const subtree = node.subtree;
329
283
  if (subtree && Array.isArray(subtree)) {
330
284
  clearRenderTreeChildren(subtree);
285
+ const subtreeId = nodeIds.get(subtree);
286
+ if (subtreeId !== undefined) {
287
+ emitNodeRemoved(id, subtreeId);
288
+ }
331
289
  }
332
290
  }
333
291
 
@@ -336,50 +294,36 @@ function clearRenderTreeChildrenForId(id) {
336
294
  // ─────────────────────────────────────────────────────────────────────────────
337
295
 
338
296
  function recordDirectoryNode(node, path) {
339
- if (!isDevtoolsEnabled()) return;
297
+ if (!isDebugEnabled()) return;
340
298
  const id = getOrCreateNodeId(node);
341
299
  if (directoryNodes.has(id)) return;
342
300
  directoryNodes.set(id, {
343
301
  path
344
302
  });
345
- emitDevtoolsMessage({
346
- type: "files:directoryAdded",
347
- path
348
- });
303
+ insertDirectory(path);
349
304
  }
350
305
  function recordFileNode(node, path, filetype) {
351
- if (!isDevtoolsEnabled()) return;
306
+ if (!isDebugEnabled()) return;
352
307
  const id = getOrCreateNodeId(node);
353
308
  if (fileNodes.has(id)) return;
354
309
  fileNodes.set(id, {
355
310
  path,
356
311
  filetype
357
312
  });
358
- emitDevtoolsMessage({
359
- type: "files:fileAdded",
360
- path,
361
- filetype,
362
- renderNodeId: id
363
- });
313
+ insertOutputFile(path, filetype, id);
364
314
  }
365
315
  function removeFileEntriesForNode(node) {
366
- if (!isDevtoolsEnabled()) return;
316
+ if (!isDebugEnabled()) return;
367
317
  const id = nodeIds.get(node);
368
318
  if (id === undefined) return;
369
319
  const fileInfo = fileNodes.get(id);
370
320
  if (fileInfo) {
371
- emitDevtoolsMessage({
372
- type: "files:fileRemoved",
373
- path: fileInfo.path
374
- });
321
+ deleteOutputFile(fileInfo.path);
375
322
  fileNodes.delete(id);
376
323
  }
377
324
  const dirInfo = directoryNodes.get(id);
378
325
  if (dirInfo) {
379
- emitDevtoolsMessage({
380
- type: "files:directoryRemoved",
381
- path: dirInfo.path
382
- });
326
+ deleteDirectory(dirInfo.path);
383
327
  directoryNodes.delete(id);
384
328
  }
385
329
  }
@@ -400,7 +344,7 @@ export function beginComponent(options) {
400
344
  isExisting,
401
345
  actions
402
346
  } = options;
403
- if (!isDevtoolsEnabled()) {
347
+ if (!isDebugEnabled()) {
404
348
  return {
405
349
  recordDirectory() {},
406
350
  recordFile() {},
@@ -426,6 +370,13 @@ export function beginComponent(options) {
426
370
  source
427
371
  });
428
372
  }
373
+ if (isTraceEnabled()) {
374
+ const ctx = getContext();
375
+ if (ctx) {
376
+ updateRenderNodeContext(getOrCreateNodeId(node), ctx.id);
377
+ updateEffectComponentByContext(ctx.id, componentName);
378
+ }
379
+ }
429
380
  recordNodePropsUpdated(node, propsSerialized);
430
381
  registerRenderNodeActions(node, actions);
431
382
  let stopWatch;
@@ -489,31 +440,33 @@ let nextErrorId = 1;
489
440
  /** Render error stack entry with optional runtime props (extends protocol type). */
490
441
 
491
442
  export function error(error, componentStack) {
492
- if (!isDevtoolsEnabled()) return;
443
+ if (!isDebugEnabled()) return;
493
444
  const serializedStack = untrack(() => componentStack.map(entry => ({
494
445
  name: entry.name,
495
446
  propsSerialized: entry.propsSerialized,
496
447
  renderNodeId: entry.renderNodeId,
497
448
  source: entry.source
498
449
  })));
499
- const message = {
450
+ logDevtoolsMessage({
500
451
  type: "render:error",
501
452
  id: nextErrorId++,
502
453
  name: error.name,
503
454
  message: error.message,
504
455
  stack: error.stack,
505
456
  componentStack: serializedStack
506
- };
507
- emitDevtoolsMessage(message);
457
+ });
458
+ insertRenderError(error.name, error.message, error.stack, JSON.stringify(serializedStack));
508
459
  }
509
460
  export function complete() {
510
- emitDevtoolsMessage({
461
+ logDevtoolsMessage({
511
462
  type: "render:complete"
512
463
  });
464
+ notifyRenderComplete();
513
465
  }
514
466
  export function flushJobsComplete() {
515
- emitDevtoolsMessage({
467
+ logDevtoolsMessage({
516
468
  type: "flushJobs:complete"
517
469
  });
470
+ notifyFlushComplete();
518
471
  }
519
472
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["watch","devalue","isDevtoolsEnabled","registerDevtoolsMessageHandler","isPrintHook","untrack","flushJobsAsync","sanitizeRecord","emitDevtoolsMessage","nodeIds","WeakMap","idToNode","Map","entryIds","fileNodes","directoryNodes","nodeProps","rerenderActions","nextId","handlerRegistered","serializeRenderTreeProps","input","undefined","children","_children","rest","sanitized","stringify","emitNodeRemoved","parentId","id","clearRenderTreeChildrenForId","type","delete","fileInfo","get","path","dirInfo","getEntryList","parent","list","set","getOrCreateNodeId","node","existing","getRenderNodeId","setEntryId","index","initialize","root","ensureDevtoolsHandler","rootId","kind","registerRenderNodeActions","actions","unregisterRenderNodeActions","message","rawId","Number","isFinite","rerender","rerenderAndBreak","recordTextNode","value","recordNodeAdded","info","propsSerialized","recordSubtreeAdded","parentNode","subtree","existingId","isCached","Array","isArray","push","recordCachedSubtreeChildrenRecursively","length","i","child","name","subtreeId","hookList","recordNodePropsUpdated","previous","clearRenderTreeChildren","recordDirectoryNode","has","recordFileNode","filetype","renderNodeId","removeFileEntriesForNode","beginComponent","options","component","propsSource","source","isExisting","recordDirectory","recordFile","dispose","componentName","contextName","stopWatch","propKeys","Object","keys","filter","key","map","nextSerialized","appendCustomContext","appendPrintHook","hook","appendFragmentChild","appendTextNode","prepareMemoNode","nextErrorId","error","componentStack","serializedStack","entry","stack","complete","flushJobsComplete"],"sources":["../../../src/debug/render.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["watch","devalue","isDevtoolsEnabled","registerDevtoolsMessageHandler","isPrintHook","getContext","untrack","flushJobsAsync","sanitizeRecord","deleteDirectory","deleteOutputFile","insertDirectory","insertOutputFile","insertRenderError","insertRenderNode","isTraceEnabled","notifyFlushComplete","notifyRenderComplete","notifyRenderReset","deleteRenderNode","traceDeleteRenderNode","updateRenderNodeProps","traceUpdateRenderNodeProps","updateEffectComponentByContext","updateRenderNodeContext","isDebugEnabled","logDevtoolsMessage","nodeIds","WeakMap","idToNode","Map","entryIds","nodeKinds","fileNodes","directoryNodes","nodeProps","rerenderActions","nextId","handlerRegistered","serializeRenderTreeProps","input","undefined","children","_children","rest","sanitized","stringify","emitNodeRemoved","parentId","id","clearRenderTreeChildrenForId","delete","fileInfo","get","path","dirInfo","getEntryList","parent","list","set","getOrCreateNodeId","node","existing","getRenderNodeId","setEntryId","index","initialize","root","ensureDevtoolsHandler","rootId","registerRenderNodeActions","actions","unregisterRenderNodeActions","message","type","rawId","Number","isFinite","rerender","rerenderAndBreak","recordTextNode","value","recordNodeAdded","info","propsSerialized","kind","name","source","fileName","lineNumber","columnNumber","recordSubtreeAdded","parentNode","subtree","existingId","isCached","Array","isArray","push","recordCachedSubtreeChildrenRecursively","clearRenderTreeChildren","length","i","child","savedKind","subtreeId","hookList","recordNodePropsUpdated","previous","recordDirectoryNode","has","recordFileNode","filetype","removeFileEntriesForNode","beginComponent","options","component","propsSource","isExisting","recordDirectory","recordFile","dispose","componentName","contextName","ctx","stopWatch","propKeys","Object","keys","filter","key","map","nextSerialized","appendCustomContext","appendPrintHook","hook","appendFragmentChild","appendTextNode","prepareMemoNode","nextErrorId","error","componentStack","serializedStack","entry","renderNodeId","stack","JSON","complete","flushJobsComplete"],"sources":["../../../src/debug/render.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}