@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
@@ -1,11 +1,13 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { afterEach, beforeEach, expect, it } from "vitest";
2
+ import { shallowReactive } from "@vue/reactivity";
3
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
3
4
  import WebSocket from "ws";
4
5
  import { createMessageCollector, filterEffectsMessages } from "../../testing/devtools-utils.js";
5
6
  import { Output } from "../components/Output.js";
6
7
  import { enableDevtools, resetDevtoolsServerForTests } from "../devtools/devtools-server.js";
7
- import { effect, ref } from "../reactivity.js";
8
+ import { effect, memo, ref } from "../reactivity.js";
8
9
  import { renderAsync } from "../render.js";
10
+ import { flushJobsAsync } from "../scheduler.js";
9
11
  import { debug } from "./index.js";
10
12
  let socket;
11
13
  beforeEach(async () => {
@@ -27,58 +29,228 @@ afterEach(async () => {
27
29
  await resetDevtoolsServerForTests();
28
30
  debug.effect.reset();
29
31
  });
30
- it("emits effect, ref, edge, and update messages", async () => {
31
- const collector = createMessageCollector(socket);
32
+ it("emits effect, ref, and track messages", async () => {
33
+ const collector = await createMessageCollector(socket);
32
34
  const r1 = ref(0);
33
-
34
- // Create an effect that reads r1.
35
- let observed = 0;
35
+ const r2 = ref(1);
36
36
  effect(() => {
37
- observed = r1.value;
37
+ r1.value = r2.value + 1;
38
38
  });
39
-
40
- // Mutate r1 to trigger the effect.
41
- r1.value = 42;
42
39
  await renderAsync(_$createComponent(Output, {
43
40
  children: "ok"
44
41
  }));
45
42
  const messages = await collector.waitForRender();
46
43
  const effectsMessages = filterEffectsMessages(messages);
47
44
  collector.stop();
45
+ expect(effectsMessages[0]).toMatchObject({
46
+ type: "ref:added",
47
+ id: expect.any(Number),
48
+ kind: "ref"
49
+ });
50
+ expect(effectsMessages[1]).toMatchObject({
51
+ type: "ref:added",
52
+ id: expect.any(Number),
53
+ kind: "ref"
54
+ });
55
+ expect(effectsMessages[2]).toMatchObject({
56
+ type: "effect:added",
57
+ id: expect.any(Number)
58
+ });
59
+ expect(effectsMessages[3]).toMatchObject({
60
+ type: "edge:track",
61
+ effect_id: expect.any(Number),
62
+ ref_id: expect.any(Number)
63
+ });
64
+ });
65
+ describe("unified trigger edges", () => {
66
+ it("ref trigger records consumer and producer (caused_by)", async () => {
67
+ const collector = await createMessageCollector(socket);
68
+ const r = ref(0);
69
+
70
+ // Producer effect writes to the ref
71
+ const producerName = "test-producer";
72
+ effect(() => {
73
+ r.value = 42;
74
+ }, undefined, {
75
+ debug: {
76
+ name: producerName
77
+ }
78
+ });
79
+
80
+ // Consumer effect reads the ref
81
+ const consumerName = "test-consumer";
82
+ effect(() => {
83
+ void r.value;
84
+ }, undefined, {
85
+ debug: {
86
+ name: consumerName
87
+ }
88
+ });
89
+ await renderAsync(_$createComponent(Output, {
90
+ children: "ok"
91
+ }));
92
+ const renderMessages = await collector.waitForRender();
93
+
94
+ // Trigger the consumer by changing the ref
95
+ r.value = 99;
96
+ await flushJobsAsync();
97
+ const flushMessages = await collector.waitForFlush();
98
+ collector.stop();
99
+
100
+ // Find the trigger edge on the consumer
101
+ const triggerEdges = flushMessages.filter(m => m.type === "edge:trigger" && m.ref_id !== undefined);
102
+ expect(triggerEdges.length).toBeGreaterThan(0);
103
+
104
+ // The trigger edge should be on the consumer effect
105
+ const effectsMessages = filterEffectsMessages(renderMessages);
106
+ const consumerEffect = effectsMessages.find(m => m.type === "effect:added" && m.name === consumerName);
107
+ expect(consumerEffect).toBeDefined();
108
+ const consumerTrigger = triggerEdges.find(m => m.effect_id === consumerEffect.id);
109
+ expect(consumerTrigger).toBeDefined();
110
+ // caused_by is null since the mutation happens outside any effect (top-level r.value = 99)
111
+ expect(consumerTrigger.caused_by).toBeNull();
112
+ });
113
+ it("reactive object trigger records consumer and producer", async () => {
114
+ const collector = await createMessageCollector(socket);
115
+ const map = shallowReactive(new Map());
116
+
117
+ // Consumer: memo reads the map
118
+ const sum = memo(() => {
119
+ let total = 0;
120
+ for (const v of map.values()) total += v;
121
+ return total;
122
+ });
123
+
124
+ // Producer: effect mutates the map
125
+ effect(() => {
126
+ const _s = sum();
127
+ map.set("key", 42);
128
+ }, undefined, {
129
+ debug: {
130
+ name: "producer-effect"
131
+ }
132
+ });
133
+ await renderAsync(_$createComponent(Output, {
134
+ children: "ok"
135
+ }));
136
+ const messages = await collector.waitForRender();
137
+ const effectsMessages = filterEffectsMessages(messages);
138
+ collector.stop();
48
139
 
49
- // Check that core message types are present
50
- const byType = type => effectsMessages.filter(m => m.type === type);
51
- expect(byType("effect:refAdded").length).toBeGreaterThanOrEqual(1);
52
- expect(byType("effect:effectAdded").length).toBeGreaterThanOrEqual(1);
53
- expect(byType("effect:track").length).toBeGreaterThanOrEqual(1);
54
- expect(byType("effect:trigger").length).toBeGreaterThanOrEqual(1);
55
- expect(byType("effect:effectUpdated").length).toBeGreaterThanOrEqual(1);
56
-
57
- // Verify message shapes
58
- expect(byType("effect:refAdded")[0]).toMatchObject({
59
- ref: expect.objectContaining({
60
- id: expect.any(Number),
61
- kind: "ref"
62
- })
140
+ // Find trigger edges for the reactive map
141
+ const triggerEdges = effectsMessages.filter(m => m.type === "edge:trigger" && m.target_id !== undefined);
142
+ expect(triggerEdges.length).toBeGreaterThan(0);
143
+
144
+ // The trigger should have caused_by (the producer effect)
145
+ const producerEffect = effectsMessages.find(m => m.type === "effect:added" && m.name === "producer-effect");
146
+ expect(producerEffect).toBeDefined();
147
+ const withCause = triggerEdges.filter(m => m.caused_by === producerEffect.id);
148
+ expect(withCause.length).toBeGreaterThan(0);
149
+ expect(withCause[0]).toMatchObject({
150
+ type: "edge:trigger",
151
+ effect_id: expect.any(Number),
152
+ caused_by: producerEffect.id,
153
+ target_id: expect.any(Number)
154
+ });
63
155
  });
64
- expect(byType("effect:effectAdded")[0]).toMatchObject({
65
- effect: expect.objectContaining({
66
- id: expect.any(Number)
67
- })
156
+ it("trigger outside any effect has no caused_by", async () => {
157
+ const collector = await createMessageCollector(socket);
158
+ const r = ref(0);
159
+
160
+ // Consumer effect
161
+ effect(() => {
162
+ void r.value;
163
+ });
164
+ await renderAsync(_$createComponent(Output, {
165
+ children: "ok"
166
+ }));
167
+ await collector.waitForRender();
168
+
169
+ // Trigger from top-level (outside any effect)
170
+ r.value = 1;
171
+ await flushJobsAsync();
172
+ const flushMessages = await collector.waitForFlush();
173
+ collector.stop();
174
+ const triggerEdges = flushMessages.filter(m => m.type === "edge:trigger");
175
+ expect(triggerEdges.length).toBeGreaterThan(0);
176
+ // caused_by should be null (no producer effect)
177
+ expect(triggerEdges[0].caused_by).toBeNull();
68
178
  });
69
- expect(byType("effect:track")[0]).toMatchObject({
70
- edge: expect.objectContaining({
71
- type: "track",
72
- effectId: expect.any(Number),
73
- refId: expect.any(Number)
74
- })
179
+ it("multiple consumers of same ref get separate trigger edges", async () => {
180
+ const collector = await createMessageCollector(socket);
181
+ const r = ref(0);
182
+
183
+ // Two consumer effects
184
+ effect(() => {
185
+ void r.value;
186
+ }, undefined, {
187
+ debug: {
188
+ name: "consumer-a"
189
+ }
190
+ });
191
+ effect(() => {
192
+ void r.value;
193
+ }, undefined, {
194
+ debug: {
195
+ name: "consumer-b"
196
+ }
197
+ });
198
+ await renderAsync(_$createComponent(Output, {
199
+ children: "ok"
200
+ }));
201
+ const renderMessages = await collector.waitForRender();
202
+
203
+ // Find the effect IDs
204
+ const effectsMessages = filterEffectsMessages(renderMessages);
205
+ const consumerA = effectsMessages.find(m => m.type === "effect:added" && m.name === "consumer-a");
206
+ const consumerB = effectsMessages.find(m => m.type === "effect:added" && m.name === "consumer-b");
207
+ expect(consumerA).toBeDefined();
208
+ expect(consumerB).toBeDefined();
209
+
210
+ // Trigger both by changing the ref
211
+ r.value = 1;
212
+ await flushJobsAsync();
213
+ const flushMessages = await collector.waitForFlush();
214
+ collector.stop();
215
+ const triggerEdges = flushMessages.filter(m => m.type === "edge:trigger");
216
+
217
+ // Each consumer gets its own trigger edge
218
+ const aTrigger = triggerEdges.find(m => m.effect_id === consumerA.id);
219
+ const bTrigger = triggerEdges.find(m => m.effect_id === consumerB.id);
220
+ expect(aTrigger).toBeDefined();
221
+ expect(bTrigger).toBeDefined();
222
+ // Both reference the same ref
223
+ expect(aTrigger.ref_id).toBe(bTrigger.ref_id);
75
224
  });
76
- expect(byType("effect:trigger")[0]).toMatchObject({
77
- edge: expect.objectContaining({
78
- effectId: expect.any(Number),
79
- refId: expect.any(Number)
80
- })
225
+ it("no triggered-by or duplicate trigger edge types exist", async () => {
226
+ const collector = await createMessageCollector(socket);
227
+ const r = ref(0);
228
+ const map = shallowReactive(new Map());
229
+ effect(() => {
230
+ void r.value;
231
+ for (const _v of map.values()) {
232
+ /* track */
233
+ }
234
+ });
235
+ effect(() => {
236
+ r.value = 1;
237
+ map.set("x", 1);
238
+ });
239
+ await renderAsync(_$createComponent(Output, {
240
+ children: "ok"
241
+ }));
242
+ const messages = await collector.waitForRender();
243
+ collector.stop();
244
+
245
+ // No edge:triggered-by messages should exist
246
+ const triggeredBy = messages.filter(m => m.type === "edge:triggered-by");
247
+ expect(triggeredBy.length).toBe(0);
248
+
249
+ // All edge types should be edge:track or edge:trigger only
250
+ const edges = messages.filter(m => typeof m.type === "string" && m.type.startsWith("edge:"));
251
+ for (const edge of edges) {
252
+ expect(["edge:track", "edge:trigger"]).toContain(edge.type);
253
+ }
81
254
  });
82
- expect(observed).toBe(42);
83
255
  });
84
256
  //# sourceMappingURL=effects.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["afterEach","beforeEach","expect","it","WebSocket","createMessageCollector","filterEffectsMessages","Output","enableDevtools","resetDevtoolsServerForTests","effect","ref","renderAsync","debug","socket","reset","server","port","Promise","resolve","reject","once","close","undefined","collector","r1","observed","value","_$createComponent","children","messages","waitForRender","effectsMessages","stop","byType","type","filter","m","length","toBeGreaterThanOrEqual","toMatchObject","objectContaining","id","any","Number","kind","edge","effectId","refId","toBe"],"sources":["../../../src/debug/effects.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["shallowReactive","afterEach","beforeEach","describe","expect","it","WebSocket","createMessageCollector","filterEffectsMessages","Output","enableDevtools","resetDevtoolsServerForTests","effect","memo","ref","renderAsync","flushJobsAsync","debug","socket","reset","server","port","Promise","resolve","reject","once","close","undefined","collector","r1","r2","value","_$createComponent","children","messages","waitForRender","effectsMessages","stop","toMatchObject","type","id","any","Number","kind","effect_id","ref_id","r","producerName","name","consumerName","renderMessages","flushMessages","waitForFlush","triggerEdges","filter","m","length","toBeGreaterThan","consumerEffect","find","toBeDefined","consumerTrigger","caused_by","toBeNull","map","Map","sum","total","v","values","_s","set","target_id","producerEffect","withCause","consumerA","consumerB","aTrigger","bTrigger","toBe","_v","triggeredBy","edges","startsWith","edge","toContain"],"sources":["../../../src/debug/effects.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/debug/files.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,QAG3C;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAGxD;AAED,qFAAqF;AACrF,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,QAW3C;AAED,oEAAoE;AACpE,wBAAgB,KAAK,SAEpB"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/debug/files.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,QAG3C;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAGxD;AAED,qFAAqF;AACrF,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,QAM3C;AAED,oEAAoE;AACpE,wBAAgB,KAAK,SAEpB"}
@@ -1,23 +1,17 @@
1
- import { emitDevtoolsMessage, isDevtoolsEnabled } from "./trace.js";
1
+ import { insertDirectory, insertOutputFile, updateOutputFileContent } from "./trace-writer.js";
2
+ import { isDebugEnabled } from "./trace.js";
2
3
  const fileContentCache = new Map();
3
4
 
4
5
  /** Record a directory being added to the output. */
5
6
  export function recordDirectory(path) {
6
- if (!isDevtoolsEnabled()) return;
7
- emitDevtoolsMessage({
8
- type: "files:directoryAdded",
9
- path
10
- });
7
+ if (!isDebugEnabled()) return;
8
+ insertDirectory(path);
11
9
  }
12
10
 
13
11
  /** Record a file being added to the output. */
14
12
  export function recordFile(path, filetype) {
15
- if (!isDevtoolsEnabled()) return;
16
- emitDevtoolsMessage({
17
- type: "files:fileAdded",
18
- path,
19
- filetype
20
- });
13
+ if (!isDebugEnabled()) return;
14
+ insertOutputFile(path, filetype, undefined);
21
15
  }
22
16
 
23
17
  /** Notify devtools that a file's contents have changed. De-duplicates by content. */
@@ -25,12 +19,7 @@ export function updated(info) {
25
19
  const previous = fileContentCache.get(info.path);
26
20
  if (previous === info.contents) return;
27
21
  fileContentCache.set(info.path, info.contents);
28
- emitDevtoolsMessage({
29
- type: "files:fileUpdated",
30
- path: info.path,
31
- filetype: info.filetype,
32
- contents: info.contents
33
- });
22
+ updateOutputFileContent(info.path, info.contents);
34
23
  }
35
24
 
36
25
  /** Clear all cached file state. Called when a new render begins. */
@@ -1 +1 @@
1
- {"version":3,"names":["emitDevtoolsMessage","isDevtoolsEnabled","fileContentCache","Map","recordDirectory","path","type","recordFile","filetype","updated","info","previous","get","contents","set","reset","clear"],"sources":["../../../src/debug/files.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,iBAAiB,QAAQ,YAAY;AAQnE,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAiB,CAAC;;AAElD;AACA,OAAO,SAASC,eAAeA,CAACC,IAAY,EAAE;EAC5C,IAAI,CAACJ,iBAAiB,CAAC,CAAC,EAAE;EAC1BD,mBAAmB,CAAC;IAAEM,IAAI,EAAE,sBAAsB;IAAED;EAAK,CAAC,CAAC;AAC7D;;AAEA;AACA,OAAO,SAASE,UAAUA,CAACF,IAAY,EAAEG,QAAgB,EAAE;EACzD,IAAI,CAACP,iBAAiB,CAAC,CAAC,EAAE;EAC1BD,mBAAmB,CAAC;IAAEM,IAAI,EAAE,iBAAiB;IAAED,IAAI;IAAEG;EAAS,CAAC,CAAC;AAClE;;AAEA;AACA,OAAO,SAASC,OAAOA,CAACC,IAAoB,EAAE;EAC5C,MAAMC,QAAQ,GAAGT,gBAAgB,CAACU,GAAG,CAACF,IAAI,CAACL,IAAI,CAAC;EAChD,IAAIM,QAAQ,KAAKD,IAAI,CAACG,QAAQ,EAAE;EAChCX,gBAAgB,CAACY,GAAG,CAACJ,IAAI,CAACL,IAAI,EAAEK,IAAI,CAACG,QAAQ,CAAC;EAE9Cb,mBAAmB,CAAC;IAClBM,IAAI,EAAE,mBAAmB;IACzBD,IAAI,EAAEK,IAAI,CAACL,IAAI;IACfG,QAAQ,EAAEE,IAAI,CAACF,QAAQ;IACvBK,QAAQ,EAAEH,IAAI,CAACG;EACjB,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASE,KAAKA,CAAA,EAAG;EACtBb,gBAAgB,CAACc,KAAK,CAAC,CAAC;AAC1B","ignoreList":[]}
1
+ {"version":3,"names":["insertDirectory","insertOutputFile","updateOutputFileContent","isDebugEnabled","fileContentCache","Map","recordDirectory","path","recordFile","filetype","undefined","updated","info","previous","get","contents","set","reset","clear"],"sources":["../../../src/debug/files.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,eAAe,EACfC,gBAAgB,EAChBC,uBAAuB,QAClB,mBAAmB;AAC1B,SAASC,cAAc,QAAQ,YAAY;AAQ3C,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAiB,CAAC;;AAElD;AACA,OAAO,SAASC,eAAeA,CAACC,IAAY,EAAE;EAC5C,IAAI,CAACJ,cAAc,CAAC,CAAC,EAAE;EACvBH,eAAe,CAACO,IAAI,CAAC;AACvB;;AAEA;AACA,OAAO,SAASC,UAAUA,CAACD,IAAY,EAAEE,QAAgB,EAAE;EACzD,IAAI,CAACN,cAAc,CAAC,CAAC,EAAE;EACvBF,gBAAgB,CAACM,IAAI,EAAEE,QAAQ,EAAEC,SAAS,CAAC;AAC7C;;AAEA;AACA,OAAO,SAASC,OAAOA,CAACC,IAAoB,EAAE;EAC5C,MAAMC,QAAQ,GAAGT,gBAAgB,CAACU,GAAG,CAACF,IAAI,CAACL,IAAI,CAAC;EAChD,IAAIM,QAAQ,KAAKD,IAAI,CAACG,QAAQ,EAAE;EAChCX,gBAAgB,CAACY,GAAG,CAACJ,IAAI,CAACL,IAAI,EAAEK,IAAI,CAACG,QAAQ,CAAC;EAE9Cb,uBAAuB,CAACU,IAAI,CAACL,IAAI,EAAEK,IAAI,CAACG,QAAQ,CAAC;AACnD;;AAEA;AACA,OAAO,SAASE,KAAKA,CAAA,EAAG;EACtBb,gBAAgB,CAACc,KAAK,CAAC,CAAC;AAC1B","ignoreList":[]}
@@ -3,13 +3,10 @@ import { afterEach, beforeEach, expect, it } from "vitest";
3
3
  import WebSocket from "ws";
4
4
  import { createMessageCollector } from "../../testing/devtools-utils.js";
5
5
  import { Output } from "../components/Output.js";
6
- import { Show } from "../components/Show.js";
7
6
  import { SourceDirectory } from "../components/SourceDirectory.js";
8
7
  import { SourceFile } from "../components/SourceFile.js";
9
8
  import { enableDevtools, resetDevtoolsServerForTests } from "../devtools/devtools-server.js";
10
- import { ref } from "../reactivity.js";
11
9
  import { renderAsync } from "../render.js";
12
- import { flushJobsAsync } from "../scheduler.js";
13
10
  let socket;
14
11
  beforeEach(async () => {
15
12
  const server = await enableDevtools({
@@ -29,61 +26,41 @@ afterEach(async () => {
29
26
  await resetDevtoolsServerForTests();
30
27
  });
31
28
  it("emits file and directory add/update/remove messages", async () => {
32
- const show = ref(true);
33
- const collector = createMessageCollector(socket);
29
+ const collector = await createMessageCollector(socket);
34
30
  await renderAsync(_$createComponent(Output, {
35
31
  get children() {
36
- return _$createComponent(Show, {
37
- get when() {
38
- return show.value;
39
- },
32
+ return _$createComponent(SourceDirectory, {
33
+ path: "src",
40
34
  get children() {
41
- return _$createComponent(SourceDirectory, {
42
- path: "src",
43
- get children() {
44
- return _$createComponent(SourceFile, {
45
- path: "index.ts",
46
- filetype: "ts",
47
- children: "export const value = 1;"
48
- });
49
- }
35
+ return _$createComponent(SourceFile, {
36
+ path: "index.ts",
37
+ filetype: "ts",
38
+ children: "export const value = 1;"
50
39
  });
51
40
  }
52
41
  });
53
42
  }
54
43
  }));
55
44
  const initialMessages = await collector.waitForRender();
56
- const initialFiles = initialMessages.filter(m => m.type.startsWith("files:"));
45
+ const initialFiles = initialMessages.filter(m => (m.type.startsWith("file:") || m.type.startsWith("directory:")) && !("triggerIds" in m));
57
46
  expect(initialFiles[0]).toMatchObject({
47
+ type: "directory:added",
58
48
  path: "./"
59
49
  });
60
50
  expect(initialFiles[1]).toMatchObject({
61
- type: "files:directoryAdded",
51
+ type: "directory:added",
62
52
  path: "src"
63
53
  });
64
54
  expect(initialFiles[2]).toMatchObject({
65
- type: "files:fileAdded",
55
+ type: "file:added",
66
56
  path: "src/index.ts",
67
57
  filetype: "ts"
68
58
  });
69
59
  expect(initialFiles[3]).toMatchObject({
70
- type: "files:fileUpdated",
60
+ type: "file:updated",
71
61
  path: "src/index.ts",
72
- filetype: "ts",
73
- contents: expect.any(String)
62
+ content: expect.any(String)
74
63
  });
75
- show.value = false;
76
- await flushJobsAsync();
77
- const updateMessages = await collector.waitForFlush();
78
- const updateFiles = updateMessages.filter(m => m.type.startsWith("files:"));
79
64
  collector.stop();
80
- expect(updateFiles[0]).toMatchObject({
81
- type: "files:fileRemoved",
82
- path: "src/index.ts"
83
- });
84
- expect(updateFiles[1]).toMatchObject({
85
- type: "files:directoryRemoved",
86
- path: "src"
87
- });
88
65
  });
89
66
  //# sourceMappingURL=files.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["afterEach","beforeEach","expect","it","WebSocket","createMessageCollector","Output","Show","SourceDirectory","SourceFile","enableDevtools","resetDevtoolsServerForTests","ref","renderAsync","flushJobsAsync","socket","server","port","Promise","resolve","reject","once","close","undefined","show","collector","_$createComponent","children","when","value","path","filetype","initialMessages","waitForRender","initialFiles","filter","m","type","startsWith","toMatchObject","contents","any","String","updateMessages","waitForFlush","updateFiles","stop"],"sources":["../../../src/debug/files.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["afterEach","beforeEach","expect","it","WebSocket","createMessageCollector","Output","SourceDirectory","SourceFile","enableDevtools","resetDevtoolsServerForTests","renderAsync","socket","server","port","Promise","resolve","reject","once","close","undefined","collector","_$createComponent","children","path","filetype","initialMessages","waitForRender","initialFiles","filter","m","type","startsWith","toMatchObject","content","any","String","stop"],"sources":["../../../src/debug/files.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC1D,OAAOC,SAAS,MAAM,IAAI;AAC1B,SACEC,sBAAsB,QAEjB,iCAAiC;AACxC,SAASC,MAAM;AACf,SAASC,eAAe;AACxB,SAASC,UAAU;AACnB,SACEC,cAAc,EACdC,2BAA2B,QACtB,gCAAgC;AACvC,SAASC,WAAW,QAAQ,cAAc;AAE1C,IAAIC,MAA6B;AAEjCX,UAAU,CAAC,YAAY;EACrB,MAAMY,MAAM,GAAG,MAAMJ,cAAc,CAAC;IAAEK,IAAI,EAAE;EAAE,CAAC,CAAC;EAChDF,MAAM,GAAG,IAAIR,SAAS,CAAC,kBAAkBS,MAAM,CAACC,IAAI,EAAE,CAAC;EAEvD,MAAM,IAAIC,OAAO,CAAO,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC3CL,MAAM,EAAEM,IAAI,CAAC,MAAM,EAAEF,OAAO,CAAC;IAC7BJ,MAAM,EAAEM,IAAI,CAAC,OAAO,EAAED,MAAM,CAAC;EAC/B,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFjB,SAAS,CAAC,YAAY;EACpB,IAAIY,MAAM,EAAE;IACVA,MAAM,CAACO,KAAK,CAAC,CAAC;IACdP,MAAM,GAAGQ,SAAS;EACpB;EAEA,MAAMV,2BAA2B,CAAC,CAAC;AACrC,CAAC,CAAC;AAEFP,EAAE,CAAC,qDAAqD,EAAE,YAAY;EACpE,MAAMkB,SAAS,GAAG,MAAMhB,sBAAsB,CAACO,MAAO,CAAC;EAEvD,MAAMD,WAAW,CAAAW,iBAAA,CACdhB,MAAM;IAAA,IAAAiB,SAAA;MAAA,OAAAD,iBAAA,CACJf,eAAe;QAACiB,IAAI;QAAA,IAAAD,SAAA;UAAA,OAAAD,iBAAA,CAClBd,UAAU;YAACgB,IAAI;YAAYC,QAAQ;YAAAF,QAAA,EACjC;UAAyB;QAAA;MAAA;IAAA;EAAA,EAIlC,CAAC;EAED,MAAMG,eAAe,GAAG,MAAML,SAAS,CAACM,aAAa,CAAC,CAAC;EACvD,MAAMC,YAAY,GAAGF,eAAe,CAACG,MAAM,CACxCC,CAAkB,IACjB,CAACA,CAAC,CAACC,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC,IAAIF,CAAC,CAACC,IAAI,CAACC,UAAU,CAAC,YAAY,CAAC,KAC9D,EAAE,YAAY,IAAIF,CAAC,CACvB,CAAC;EACD5B,MAAM,CAAC0B,YAAY,CAAC,CAAC,CAAC,CAAC,CAACK,aAAa,CAAC;IACpCF,IAAI,EAAE,iBAAiB;IACvBP,IAAI,EAAE;EACR,CAAC,CAAC;EACFtB,MAAM,CAAC0B,YAAY,CAAC,CAAC,CAAC,CAAC,CAACK,aAAa,CAAC;IACpCF,IAAI,EAAE,iBAAiB;IACvBP,IAAI,EAAE;EACR,CAAC,CAAC;EACFtB,MAAM,CAAC0B,YAAY,CAAC,CAAC,CAAC,CAAC,CAACK,aAAa,CAAC;IACpCF,IAAI,EAAE,YAAY;IAClBP,IAAI,EAAE,cAAc;IACpBC,QAAQ,EAAE;EACZ,CAAC,CAAC;EACFvB,MAAM,CAAC0B,YAAY,CAAC,CAAC,CAAC,CAAC,CAACK,aAAa,CAAC;IACpCF,IAAI,EAAE,cAAc;IACpBP,IAAI,EAAE,cAAc;IACpBU,OAAO,EAAEhC,MAAM,CAACiC,GAAG,CAACC,MAAM;EAC5B,CAAC,CAAC;EAEFf,SAAS,CAACgB,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -1,14 +1,15 @@
1
1
  import { debugContext, debugRender, debugStack, debugTree, debugWatch } from "./cli.js";
2
- import { ensureRef, register, registerRef, reset, track, trigger, update } from "./effects.js";
2
+ import { ensureReactivePropertyRef, ensureRef, register, registerRef, reset, track, trigger, update } from "./effects.js";
3
3
  import { recordDirectory, recordFile, reset as resetFiles, updated } from "./files.js";
4
4
  import { appendCustomContext, appendFragmentChild, appendPrintHook, appendTextNode, beginComponent, complete, error, flushJobsComplete, initialize, prepareMemoNode } from "./render.js";
5
5
  import { registerScope, registerSymbol, relocateScope, reset as resetSymbols, unregisterScope, unregisterSymbol } from "./symbols.js";
6
6
  import { type TracePhaseInfo } from "./trace.js";
7
+ export { isDevtoolsConnected } from "../devtools/devtools-server.js";
7
8
  export { captureSourceLocation } from "./effects.js";
8
9
  export type { EffectDebugInfo, EffectEdgeDebugInfo, RefDebugInfo, } from "./effects.js";
9
10
  export { getRenderNodeId, type RenderTreeNodeInfo } from "./render.js";
10
11
  export type { BeginComponentOptions, ComponentDebugSession, RenderErrorInfo, RenderErrorStackEntry, } from "./render.js";
11
- export { isConsoleTraceEnabled, isDevtoolsEnabled, trace, TracePhase, type TracePhaseInfo, } from "./trace.js";
12
+ export { isConsoleTraceEnabled, isDebugEnabled, isDevtoolsEnabled, trace, TracePhase, type TracePhaseInfo, } from "./trace.js";
12
13
  /** The full debug runtime interface, derived from the `debug` object implementation. */
13
14
  export type DebugRuntime = typeof debug;
14
15
  export declare const debug: {
@@ -24,6 +25,7 @@ export declare const debug: {
24
25
  update: typeof update;
25
26
  registerRef: typeof registerRef;
26
27
  ensureRef: typeof ensureRef;
28
+ ensureReactivePropertyRef: typeof ensureReactivePropertyRef;
27
29
  track: typeof track;
28
30
  trigger: typeof trigger;
29
31
  reset: typeof reset;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACP,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,UAAU,EACV,KAAK,IAAI,UAAU,EACnB,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,cAAc,EACd,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,UAAU,EACV,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,KAAK,IAAI,YAAY,EACrB,eAAe,EACf,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACvE,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAEpB,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC;AAExC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2CH,cAAc,MAAM,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC;eAGtD,OAAO,CAAC,IAAI,CAAC;gCAGF,IAAI;CAKjC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,yBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACP,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,UAAU,EACV,KAAK,IAAI,UAAU,EACnB,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,cAAc,EACd,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,UAAU,EACV,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,KAAK,IAAI,YAAY,EACrB,eAAe,EACf,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACvE,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAEpB,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC;AAExC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4CH,cAAc,MAAM,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC;eAGtD,OAAO,CAAC,IAAI,CAAC;gCAGF,IAAI;CAKjC,CAAC"}
@@ -1,13 +1,14 @@
1
1
  import { assertDevtoolsConnectedForSyncRender, initDevtoolsIfEnabled, isDevtoolsEnabled } from "../devtools/devtools-server.js";
2
2
  import { debugContext, debugRender, debugStack, debugTree, debugWatch } from "./cli.js";
3
- import { ensureRef, register, registerRef, reset, track, trigger, update } from "./effects.js";
3
+ import { ensureReactivePropertyRef, ensureRef, register, registerRef, reset, track, trigger, update } from "./effects.js";
4
4
  import { recordDirectory, recordFile, reset as resetFiles, updated } from "./files.js";
5
5
  import { appendCustomContext, appendFragmentChild, appendPrintHook, appendTextNode, beginComponent, complete, error, flushJobsComplete, initialize, prepareMemoNode } from "./render.js";
6
6
  import { registerScope, registerSymbol, relocateScope, reset as resetSymbols, unregisterScope, unregisterSymbol } from "./symbols.js";
7
7
  import { trace } from "./trace.js";
8
+ export { isDevtoolsConnected } from "../devtools/devtools-server.js";
8
9
  export { captureSourceLocation } from "./effects.js";
9
10
  export { getRenderNodeId } from "./render.js";
10
- export { isConsoleTraceEnabled, isDevtoolsEnabled, trace, TracePhase } from "./trace.js";
11
+ export { isConsoleTraceEnabled, isDebugEnabled, isDevtoolsEnabled, trace, TracePhase } from "./trace.js";
11
12
 
12
13
  /** The full debug runtime interface, derived from the `debug` object implementation. */
13
14
 
@@ -24,6 +25,7 @@ export const debug = {
24
25
  update,
25
26
  registerRef,
26
27
  ensureRef,
28
+ ensureReactivePropertyRef,
27
29
  track,
28
30
  trigger,
29
31
  reset
@@ -1 +1 @@
1
- {"version":3,"names":["assertDevtoolsConnectedForSyncRender","initDevtoolsIfEnabled","isDevtoolsEnabled","debugContext","debugRender","debugStack","debugTree","debugWatch","ensureRef","register","registerRef","reset","track","trigger","update","recordDirectory","recordFile","resetFiles","updated","appendCustomContext","appendFragmentChild","appendPrintHook","appendTextNode","beginComponent","complete","error","flushJobsComplete","initialize","prepareMemoNode","registerScope","registerSymbol","relocateScope","resetSymbols","unregisterScope","unregisterSymbol","trace","captureSourceLocation","getRenderNodeId","isConsoleTraceEnabled","TracePhase","debug","component","stack","tree","watch","render","context","effect","files","symbols","phase","cb","triggerIds","Set","prepare","assertReadyForSyncRender"],"sources":["../../../src/debug/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,oCAAoC,EACpCC,qBAAqB,EACrBC,iBAAiB,QACZ,gCAAgC;AACvC,SACEC,YAAY,EACZC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,UAAU,QACL,UAAU;AACjB,SACEC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,KAAK,EACLC,KAAK,EACLC,OAAO,EACPC,MAAM,QACD,cAAc;AACrB,SACEC,eAAe,EACfC,UAAU,EACVL,KAAK,IAAIM,UAAU,EACnBC,OAAO,QACF,YAAY;AACnB,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,cAAc,EACdC,QAAQ,EACRC,KAAK,EACLC,iBAAiB,EACjBC,UAAU,EACVC,eAAe,QACV,aAAa;AACpB,SACEC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbpB,KAAK,IAAIqB,YAAY,EACrBC,eAAe,EACfC,gBAAgB,QACX,cAAc;AACrB,SAASC,KAAK,QAA6B,YAAY;AAEvD,SAASC,qBAAqB,QAAQ,cAAc;AAMpD,SAASC,eAAe,QAAiC,aAAa;AAOtE,SACEC,qBAAqB,EACrBpC,iBAAiB,EACjBiC,KAAK,EACLI,UAAU,QAEL,YAAY;;AAEnB;;AAGA,OAAO,MAAMC,KAAK,GAAG;EACnBC,SAAS,EAAE;IACTC,KAAK,EAAErC,UAAU;IACjBsC,IAAI,EAAErC,SAAS;IACfsC,KAAK,EAAErC,UAAU;IACjBsC,MAAM,EAAEzC,WAAW;IACnB0C,OAAO,EAAE3C;EACX,CAAC;EACD4C,MAAM,EAAE;IACNtC,QAAQ;IACRK,MAAM;IACNJ,WAAW;IACXF,SAAS;IACTI,KAAK;IACLC,OAAO;IACPF;EACF,CAAC;EACDkC,MAAM,EAAE;IACNlB,UAAU;IACVL,cAAc;IACdH,mBAAmB;IACnBE,eAAe;IACfD,mBAAmB;IACnBG,cAAc;IACdK,eAAe;IACfH,KAAK;IACLD,QAAQ;IACRE;EACF,CAAC;EACDsB,KAAK,EAAE;IACLjC,eAAe;IACfC,UAAU;IACVE,OAAO;IACPP,KAAK,EAAEM;EACT,CAAC;EACDgC,OAAO,EAAE;IACPpB,aAAa;IACbE,aAAa;IACbE,eAAe;IACfH,cAAc;IACdI,gBAAgB;IAChBvB,KAAK,EAAEqB;EACT,CAAC;EACDG,KAAKA,CAACe,KAAqB,EAAEC,EAAgB,EAAEC,UAAwB,EAAE;IACvEjB,KAAK,CAACe,KAAK,EAAEC,EAAE,EAAEC,UAAU,IAAI,IAAIC,GAAG,CAAC,CAAC,CAAC;EAC3C,CAAC;EACD,MAAMC,OAAOA,CAAA,EAAkB;IAC7B,MAAMrD,qBAAqB,CAAC,CAAC;EAC/B,CAAC;EACDsD,wBAAwBA,CAAA,EAAS;IAC/B,IAAIrD,iBAAiB,CAAC,CAAC,EAAE;MACvBF,oCAAoC,CAAC,CAAC;IACxC;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["assertDevtoolsConnectedForSyncRender","initDevtoolsIfEnabled","isDevtoolsEnabled","debugContext","debugRender","debugStack","debugTree","debugWatch","ensureReactivePropertyRef","ensureRef","register","registerRef","reset","track","trigger","update","recordDirectory","recordFile","resetFiles","updated","appendCustomContext","appendFragmentChild","appendPrintHook","appendTextNode","beginComponent","complete","error","flushJobsComplete","initialize","prepareMemoNode","registerScope","registerSymbol","relocateScope","resetSymbols","unregisterScope","unregisterSymbol","trace","isDevtoolsConnected","captureSourceLocation","getRenderNodeId","isConsoleTraceEnabled","isDebugEnabled","TracePhase","debug","component","stack","tree","watch","render","context","effect","files","symbols","phase","cb","triggerIds","Set","prepare","assertReadyForSyncRender"],"sources":["../../../src/debug/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,oCAAoC,EACpCC,qBAAqB,EACrBC,iBAAiB,QACZ,gCAAgC;AACvC,SACEC,YAAY,EACZC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,UAAU,QACL,UAAU;AACjB,SACEC,yBAAyB,EACzBC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,KAAK,EACLC,KAAK,EACLC,OAAO,EACPC,MAAM,QACD,cAAc;AACrB,SACEC,eAAe,EACfC,UAAU,EACVL,KAAK,IAAIM,UAAU,EACnBC,OAAO,QACF,YAAY;AACnB,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,cAAc,EACdC,QAAQ,EACRC,KAAK,EACLC,iBAAiB,EACjBC,UAAU,EACVC,eAAe,QACV,aAAa;AACpB,SACEC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbpB,KAAK,IAAIqB,YAAY,EACrBC,eAAe,EACfC,gBAAgB,QACX,cAAc;AACrB,SAASC,KAAK,QAA6B,YAAY;AAEvD,SAASC,mBAAmB,QAAQ,gCAAgC;AACpE,SAASC,qBAAqB,QAAQ,cAAc;AAMpD,SAASC,eAAe,QAAiC,aAAa;AAOtE,SACEC,qBAAqB,EACrBC,cAAc,EACdvC,iBAAiB,EACjBkC,KAAK,EACLM,UAAU,QAEL,YAAY;;AAEnB;;AAGA,OAAO,MAAMC,KAAK,GAAG;EACnBC,SAAS,EAAE;IACTC,KAAK,EAAExC,UAAU;IACjByC,IAAI,EAAExC,SAAS;IACfyC,KAAK,EAAExC,UAAU;IACjByC,MAAM,EAAE5C,WAAW;IACnB6C,OAAO,EAAE9C;EACX,CAAC;EACD+C,MAAM,EAAE;IACNxC,QAAQ;IACRK,MAAM;IACNJ,WAAW;IACXF,SAAS;IACTD,yBAAyB;IACzBK,KAAK;IACLC,OAAO;IACPF;EACF,CAAC;EACDoC,MAAM,EAAE;IACNpB,UAAU;IACVL,cAAc;IACdH,mBAAmB;IACnBE,eAAe;IACfD,mBAAmB;IACnBG,cAAc;IACdK,eAAe;IACfH,KAAK;IACLD,QAAQ;IACRE;EACF,CAAC;EACDwB,KAAK,EAAE;IACLnC,eAAe;IACfC,UAAU;IACVE,OAAO;IACPP,KAAK,EAAEM;EACT,CAAC;EACDkC,OAAO,EAAE;IACPtB,aAAa;IACbE,aAAa;IACbE,eAAe;IACfH,cAAc;IACdI,gBAAgB;IAChBvB,KAAK,EAAEqB;EACT,CAAC;EACDG,KAAKA,CAACiB,KAAqB,EAAEC,EAAgB,EAAEC,UAAwB,EAAE;IACvEnB,KAAK,CAACiB,KAAK,EAAEC,EAAE,EAAEC,UAAU,IAAI,IAAIC,GAAG,CAAC,CAAC,CAAC;EAC3C,CAAC;EACD,MAAMC,OAAOA,CAAA,EAAkB;IAC7B,MAAMxD,qBAAqB,CAAC,CAAC;EAC/B,CAAC;EACDyD,wBAAwBA,CAAA,EAAS;IAC/B,IAAIxD,iBAAiB,CAAC,CAAC,EAAE;MACvBF,oCAAoC,CAAC,CAAC;IACxC;EACF;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=message-format.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-format.test.d.ts","sourceRoot":"","sources":["../../../src/debug/message-format.test.tsx"],"names":[],"mappings":""}