@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,5 +1,7 @@
1
1
  import { isReactive, isRef } from "@vue/reactivity";
2
- import { emitDevtoolsMessage, isDevtoolsEnabled, TracePhase, traceType } from "./trace.js";
2
+ import { formatReactivePropertyLabel, getReactiveCreationLocation, nextReactiveId } from "../reactivity.js";
3
+ import { insertEdge, insertEffect, insertRef } from "./trace-writer.js";
4
+ import { isDebugEnabled, isTraceEnabled, logDevtoolsMessage, TracePhase, traceType } from "./trace.js";
3
5
 
4
6
  // ─────────────────────────────────────────────────────────────────────────────
5
7
  // Effects debug
@@ -9,70 +11,169 @@ const effects = new Map();
9
11
  const refs = new Map();
10
12
  let effectIdCounter = 1;
11
13
  let edgeEventIdCounter = 1;
12
- let nonRefTargetIdCounter = 1;
13
14
  const nonRefTargetIds = new WeakMap();
14
15
  const primitiveTargetIds = new Map();
15
- const STACK_LINE = /\s*at\s+(?:.+?\s+\()?(.+?):(\d+):(\d+)\)?$/;
16
- const STACK_SKIP = ["node:internal", "/node_modules/", "\\node_modules\\", "/@vue/", "\\@vue\\", "/@alloy-js/", "\\@alloy-js\\", "/packages/core/src/reactivity", "/packages/core/src/devtools/effects-debug", "/packages/core/dist/src/reactivity", "\\packages\\core\\dist\\src\\reactivity", "/packages/core/dist/src/devtools/effects-debug", "\\packages\\core\\dist\\src\\devtools\\effects-debug", "captureSourceLocation"];
16
+
17
+ // Alloy-internal paths to skip when capturing source locations.
18
+ // We skip core infrastructure (reactivity, render, debug, scheduler, etc.)
19
+ // but allow component and symbol frames through so the location points at
20
+ // the component/symbol that created the effect.
21
+ // These patterns match both src/ and dist/src/ paths.
22
+ const CORE_INTERNAL_PATHS = ["/core/src/reactivity", "/core/src/render", "/core/src/scheduler", "/core/src/debug/", "/core/src/devtools/", "/core/src/resource", "/core/src/context", "/core/src/tracer", "/core/src/reactive-union-set", "/core/src/utils", "/core/dist/src/reactivity", "/core/dist/src/render", "/core/dist/src/scheduler", "/core/dist/src/debug/", "/core/dist/src/devtools/", "/core/dist/src/resource", "/core/dist/src/context", "/core/dist/src/tracer", "/core/dist/src/reactive-union-set", "/core/dist/src/utils"];
23
+ const STACK_SKIP = ["node:internal", "/@vue/", "\\@vue\\", "captureSourceLocation", ...CORE_INTERNAL_PATHS, ...CORE_INTERNAL_PATHS.map(p => p.replace(/\//g, "\\"))];
17
24
  const VUE_REACTIVITY_MARKERS = ["@vue/reactivity", "reactivity.esm", "reactivity.cjs", "reactivity.global", "/@vue/", "\\@vue\\"];
18
- function isVueReactivityLine(line) {
19
- return VUE_REACTIVITY_MARKERS.some(marker => line.includes(marker));
25
+
26
+ // ─────────────────────────────────────────────────────────────────────────────
27
+ // Fast source location capture using V8 structured CallSite API
28
+ // ─────────────────────────────────────────────────────────────────────────────
29
+
30
+ // Lazily loaded findSourceMap from node:module
31
+ let findSourceMap;
32
+ let findSourceMapLoaded = false;
33
+ let realpathSync;
34
+ // Cache realpath lookups to avoid repeated fs calls
35
+ const realpathCache = new Map();
36
+ function loadFindSourceMap() {
37
+ if (findSourceMapLoaded) return;
38
+ findSourceMapLoaded = true;
39
+ // process.getBuiltinModule works in both ESM and CJS contexts
40
+ try {
41
+ const mod = process.getBuiltinModule?.("node:module");
42
+ if (mod && typeof mod.findSourceMap === "function") {
43
+ findSourceMap = mod.findSourceMap;
44
+ }
45
+ } catch {
46
+ // not available
47
+ }
48
+ try {
49
+ const fs = process.getBuiltinModule?.("node:fs");
50
+ if (fs) {
51
+ realpathSync = fs.realpathSync;
52
+ }
53
+ } catch {
54
+ // not available
55
+ }
20
56
  }
21
- function parseStackLine(line, stack) {
22
- const match = STACK_LINE.exec(line);
23
- if (!match) return undefined;
24
- const [, fileName, lineNumber, columnNumber] = match;
25
- return {
57
+ function getRealPath(fileName) {
58
+ if (!realpathSync) return fileName;
59
+ let real = realpathCache.get(fileName);
60
+ if (real === undefined) {
61
+ try {
62
+ real = realpathSync(fileName);
63
+ } catch {
64
+ real = fileName;
65
+ }
66
+ realpathCache.set(fileName, real);
67
+ }
68
+ return real;
69
+ }
70
+ function isSkipFile(fileName) {
71
+ for (const skip of STACK_SKIP) {
72
+ if (fileName.includes(skip)) return true;
73
+ }
74
+ return false;
75
+ }
76
+ function isVueReactivityFile(fileName) {
77
+ for (const marker of VUE_REACTIVITY_MARKERS) {
78
+ if (fileName.includes(marker)) return true;
79
+ }
80
+ return false;
81
+ }
82
+ function resolveSourceMap(fileName, line, col) {
83
+ if (!findSourceMap) return {
84
+ fileName,
85
+ line,
86
+ col
87
+ };
88
+ // pnpm uses symlinks; findSourceMap only matches the real path
89
+ const real = getRealPath(fileName);
90
+ const map = findSourceMap(real);
91
+ if (!map) return {
92
+ fileName,
93
+ line,
94
+ col
95
+ };
96
+ const entry = map.findEntry(line - 1, col - 1);
97
+ if (!entry) return {
26
98
  fileName,
27
- lineNumber: Number(lineNumber),
28
- columnNumber: Number(columnNumber),
29
- stack
99
+ line,
100
+ col
101
+ };
102
+ return {
103
+ fileName: entry.originalSource,
104
+ line: entry.originalLine + 1,
105
+ col: entry.originalColumn + 1
30
106
  };
31
107
  }
108
+
109
+ // V8 structured stack capture — avoids string formatting entirely
110
+ const structuredPrepare = (_err, callSites) => callSites;
111
+ function captureCallSites() {
112
+ const orig = Error.prepareStackTrace;
113
+ Error.prepareStackTrace = structuredPrepare;
114
+ const obj = {};
115
+ Error.captureStackTrace(obj, captureCallSites);
116
+ const sites = obj.stack ?? [];
117
+ Error.prepareStackTrace = orig;
118
+ return sites;
119
+ }
32
120
  export function captureSourceLocation(skipReactives = true) {
33
- if (!isDevtoolsEnabled()) return undefined;
34
- const stack = new Error().stack;
35
- if (!stack) {
121
+ if (!isDebugEnabled()) return undefined;
122
+ loadFindSourceMap();
123
+ const sites = captureCallSites();
124
+
125
+ // First pass: skip internal/framework frames
126
+ for (const site of sites) {
127
+ const fn = site.getFileName();
128
+ if (!fn) continue;
129
+ if (isSkipFile(fn)) continue;
130
+ if (skipReactives && isVueReactivityFile(fn)) continue;
131
+ const line = site.getLineNumber() ?? 0;
132
+ const col = site.getColumnNumber() ?? 0;
133
+ const resolved = resolveSourceMap(fn, line, col);
36
134
  return {
37
- stack: ""
135
+ fileName: resolved.fileName,
136
+ lineNumber: resolved.line,
137
+ columnNumber: resolved.col
38
138
  };
39
139
  }
40
- const lines = stack.split("\n").slice(1);
41
- for (const line of lines) {
42
- if (STACK_SKIP.some(skip => line.includes(skip))) continue;
43
- const parsed = parseStackLine(line, stack);
44
- if (parsed) return parsed;
45
- }
140
+
141
+ // Second pass without reactive filter
46
142
  if (skipReactives) {
47
- for (const line of lines) {
48
- if (STACK_SKIP.some(skip => line.includes(skip))) continue;
49
- if (isVueReactivityLine(line)) continue;
50
- const parsed = parseStackLine(line, stack);
51
- if (parsed) return parsed;
143
+ for (const site of sites) {
144
+ const fn = site.getFileName();
145
+ if (!fn) continue;
146
+ if (isSkipFile(fn)) continue;
147
+ const line = site.getLineNumber() ?? 0;
148
+ const col = site.getColumnNumber() ?? 0;
149
+ const resolved = resolveSourceMap(fn, line, col);
150
+ return {
151
+ fileName: resolved.fileName,
152
+ lineNumber: resolved.line,
153
+ columnNumber: resolved.col
154
+ };
52
155
  }
53
156
  }
54
- return {
55
- stack
56
- };
157
+ return undefined;
57
158
  }
58
159
  function getNonRefTargetId(target) {
59
160
  if (typeof target === "object" && target !== null) {
60
161
  const existing = nonRefTargetIds.get(target);
61
162
  if (existing) return existing;
62
- const id = nonRefTargetIdCounter++;
163
+ const id = nextReactiveId();
63
164
  nonRefTargetIds.set(target, id);
64
165
  return id;
65
166
  }
66
167
  if (typeof target === "function") {
67
168
  const existing = nonRefTargetIds.get(target);
68
169
  if (existing) return existing;
69
- const id = nonRefTargetIdCounter++;
170
+ const id = nextReactiveId();
70
171
  nonRefTargetIds.set(target, id);
71
172
  return id;
72
173
  }
73
174
  const existing = primitiveTargetIds.get(target);
74
175
  if (existing) return existing;
75
- const id = nonRefTargetIdCounter++;
176
+ const id = nextReactiveId();
76
177
  primitiveTargetIds.set(target, id);
77
178
  return id;
78
179
  }
@@ -111,10 +212,10 @@ function buildEffectTargetInfo(input) {
111
212
  };
112
213
  }
113
214
  function emitEffect(message) {
114
- emitDevtoolsMessage(message);
215
+ logDevtoolsMessage(message);
115
216
  }
116
217
  export function update(input) {
117
- if (!isDevtoolsEnabled()) return;
218
+ if (!isDebugEnabled()) return;
118
219
  const existing = effects.get(input.id);
119
220
  if (!existing) return;
120
221
  const next = {
@@ -128,46 +229,73 @@ export function update(input) {
128
229
  });
129
230
  }
130
231
  export function register(input) {
131
- if (!isDevtoolsEnabled()) return -1;
232
+ if (!isDebugEnabled()) return -1;
132
233
  const id = effectIdCounter++;
133
234
  const info = {
134
235
  id,
135
236
  name: input.name,
136
237
  type: input.type,
137
- createdAt: input.createdAt ?? captureSourceLocation()
238
+ createdAt: input.createdAt ?? captureSourceLocation(),
239
+ contextId: input.contextId,
240
+ ownerContextId: input.ownerContextId ?? null
138
241
  };
139
242
  effects.set(id, info);
140
243
  emitEffect({
141
244
  type: traceType(TracePhase.effect.effectAdded),
142
245
  effect: info
143
246
  });
247
+ if (isTraceEnabled()) {
248
+ insertEffect(id, input.name, input.type, input.contextId, input.ownerContextId ?? null, info.createdAt?.fileName, info.createdAt?.lineNumber, info.createdAt?.columnNumber);
249
+ }
144
250
  return id;
145
251
  }
146
252
  export function registerRef(input) {
147
- if (!isDevtoolsEnabled()) return;
253
+ if (!isDebugEnabled()) return;
148
254
  if (refs.has(input.id)) return;
149
255
  const info = {
150
256
  id: input.id,
151
257
  kind: input.kind,
152
258
  createdAt: input.createdAt ?? captureSourceLocation(),
153
- createdByEffectId: input.createdByEffectId
259
+ createdByEffectId: input.createdByEffectId,
260
+ label: input.label,
261
+ isApproxLocation: input.isApproxLocation
154
262
  };
155
263
  refs.set(input.id, info);
156
264
  emitEffect({
157
265
  type: traceType(TracePhase.effect.refAdded),
158
266
  ref: info
159
267
  });
268
+ if (isTraceEnabled()) {
269
+ insertRef(input.id, input.kind, input.createdByEffectId, info.createdAt?.fileName, info.createdAt?.lineNumber, info.createdAt?.columnNumber, input.label, input.isApproxLocation);
270
+ }
160
271
  }
161
272
  export function ensureRef(input) {
162
- if (!isDevtoolsEnabled()) return;
273
+ if (!isDebugEnabled()) return;
163
274
  if (refs.has(input.id)) return;
164
275
  registerRef({
165
276
  id: input.id,
166
277
  kind: input.kind
167
278
  });
168
279
  }
280
+ export function ensureReactivePropertyRef(input) {
281
+ if (!isDebugEnabled()) return;
282
+ if (refs.has(input.id)) return;
283
+ const label = formatReactivePropertyLabel(input.target, input.key);
284
+ const createdAt = getReactiveCreationLocation(input.target);
285
+ // If the reactive wasn't created via alloy's shallowReactive wrapper,
286
+ // createdAt is undefined and registerRef falls back to captureSourceLocation
287
+ // (the first track site). Flag this as approximate.
288
+ const isApproxLocation = !createdAt;
289
+ registerRef({
290
+ id: input.id,
291
+ kind: "reactive-property",
292
+ label,
293
+ createdAt,
294
+ isApproxLocation
295
+ });
296
+ }
169
297
  export function track(input) {
170
- if (!isDevtoolsEnabled()) return;
298
+ if (!isDebugEnabled()) return;
171
299
  const edge = {
172
300
  id: edgeEventIdCounter++,
173
301
  type: "track",
@@ -176,37 +304,40 @@ export function track(input) {
176
304
  target: input.target,
177
305
  refId: input.refId
178
306
  }),
179
- targetKey: sanitizeTargetKey(input.targetKey),
180
- location: input.location ?? captureSourceLocation()
307
+ targetKey: sanitizeTargetKey(input.targetKey)
181
308
  };
182
309
  emitEffect({
183
310
  type: traceType(TracePhase.effect.track),
184
311
  edge
185
312
  });
313
+ if (isTraceEnabled()) {
314
+ insertEdge("track", input.effectId, edge.refId, edge.targetId, edge.targetKey, undefined);
315
+ }
186
316
  }
187
317
  export function trigger(input) {
188
- if (!isDevtoolsEnabled()) return;
318
+ if (!isDebugEnabled()) return;
189
319
  const edge = {
190
320
  id: edgeEventIdCounter++,
191
- type: input.kind ?? "triggered-by",
321
+ type: input.kind ?? "trigger",
192
322
  effectId: input.effectId,
193
323
  ...buildEffectTargetInfo({
194
324
  target: input.target,
195
325
  refId: input.refId
196
326
  }),
197
- targetKey: sanitizeTargetKey(input.targetKey),
198
- location: input.location ?? captureSourceLocation()
327
+ targetKey: sanitizeTargetKey(input.targetKey)
199
328
  };
200
329
  emitEffect({
201
330
  type: traceType(TracePhase.effect.trigger),
202
331
  edge
203
332
  });
333
+ if (isTraceEnabled()) {
334
+ insertEdge(edge.type, input.effectId, edge.refId, edge.targetId, edge.targetKey, input.causedBy);
335
+ }
204
336
  update({
205
337
  id: input.effectId,
206
338
  ...(input.refId !== undefined ? {
207
339
  lastTriggeredByRefId: input.refId
208
- } : {}),
209
- lastTriggeredAt: input.location ?? captureSourceLocation()
340
+ } : {})
210
341
  });
211
342
  }
212
343
  export function reset() {
@@ -215,7 +346,6 @@ export function reset() {
215
346
  primitiveTargetIds.clear();
216
347
  effectIdCounter = 1;
217
348
  edgeEventIdCounter = 1;
218
- nonRefTargetIdCounter = 1;
219
349
  }
220
350
 
221
351
  // Utilities used by other debug sections
@@ -1 +1 @@
1
- {"version":3,"names":["isReactive","isRef","emitDevtoolsMessage","isDevtoolsEnabled","TracePhase","traceType","effects","Map","refs","effectIdCounter","edgeEventIdCounter","nonRefTargetIdCounter","nonRefTargetIds","WeakMap","primitiveTargetIds","STACK_LINE","STACK_SKIP","VUE_REACTIVITY_MARKERS","isVueReactivityLine","line","some","marker","includes","parseStackLine","stack","match","exec","undefined","fileName","lineNumber","columnNumber","Number","captureSourceLocation","skipReactives","Error","lines","split","slice","skip","parsed","getNonRefTargetId","target","existing","get","id","set","formatNonRefTargetLabel","Array","isArray","String","sanitizeTargetKey","key","toString","buildEffectTargetInfo","input","refId","targetId","targetKind","targetLabel","emitEffect","message","update","next","type","effect","effectUpdated","register","info","name","createdAt","effectAdded","registerRef","has","kind","createdByEffectId","refAdded","ref","ensureRef","track","edge","effectId","targetKey","location","trigger","lastTriggeredByRefId","lastTriggeredAt","reset","clear","isRefTarget","value","isReactiveTarget"],"sources":["../../../src/debug/effects.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isReactive","isRef","formatReactivePropertyLabel","getReactiveCreationLocation","nextReactiveId","insertEdge","insertEffect","insertRef","isDebugEnabled","isTraceEnabled","logDevtoolsMessage","TracePhase","traceType","effects","Map","refs","effectIdCounter","edgeEventIdCounter","nonRefTargetIds","WeakMap","primitiveTargetIds","CORE_INTERNAL_PATHS","STACK_SKIP","map","p","replace","VUE_REACTIVITY_MARKERS","findSourceMap","findSourceMapLoaded","realpathSync","realpathCache","loadFindSourceMap","mod","process","getBuiltinModule","fs","getRealPath","fileName","real","get","undefined","set","isSkipFile","skip","includes","isVueReactivityFile","marker","resolveSourceMap","line","col","entry","findEntry","originalSource","originalLine","originalColumn","structuredPrepare","_err","callSites","captureCallSites","orig","Error","prepareStackTrace","obj","captureStackTrace","sites","stack","captureSourceLocation","skipReactives","site","fn","getFileName","getLineNumber","getColumnNumber","resolved","lineNumber","columnNumber","getNonRefTargetId","target","existing","id","formatNonRefTargetLabel","Array","isArray","String","sanitizeTargetKey","key","toString","buildEffectTargetInfo","input","refId","targetId","targetKind","targetLabel","emitEffect","message","update","next","type","effect","effectUpdated","register","info","name","createdAt","contextId","ownerContextId","effectAdded","registerRef","has","kind","createdByEffectId","label","isApproxLocation","refAdded","ref","ensureRef","ensureReactivePropertyRef","track","edge","effectId","targetKey","trigger","causedBy","lastTriggeredByRefId","reset","clear","isRefTarget","value","isReactiveTarget"],"sources":["../../../src/debug/effects.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}