@openrewrite/rewrite 8.63.0 → 8.63.2

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 (134) hide show
  1. package/dist/java/index.d.ts +1 -0
  2. package/dist/java/index.d.ts.map +1 -1
  3. package/dist/java/index.js +1 -0
  4. package/dist/java/index.js.map +1 -1
  5. package/dist/java/rpc.d.ts +2 -0
  6. package/dist/java/rpc.d.ts.map +1 -1
  7. package/dist/java/rpc.js +749 -410
  8. package/dist/java/rpc.js.map +1 -1
  9. package/dist/java/tree.d.ts +1 -1
  10. package/dist/java/tree.d.ts.map +1 -1
  11. package/dist/java/type-visitor.d.ts +48 -0
  12. package/dist/java/type-visitor.d.ts.map +1 -0
  13. package/dist/java/type-visitor.js +260 -0
  14. package/dist/java/type-visitor.js.map +1 -0
  15. package/dist/java/type.d.ts +2 -0
  16. package/dist/java/type.d.ts.map +1 -1
  17. package/dist/java/type.js +0 -317
  18. package/dist/java/type.js.map +1 -1
  19. package/dist/java/visitor.d.ts.map +1 -1
  20. package/dist/java/visitor.js +579 -363
  21. package/dist/java/visitor.js.map +1 -1
  22. package/dist/javascript/preconditions.d.ts +1 -1
  23. package/dist/javascript/preconditions.d.ts.map +1 -1
  24. package/dist/javascript/preconditions.js +7 -6
  25. package/dist/javascript/preconditions.js.map +1 -1
  26. package/dist/javascript/rpc.js +430 -350
  27. package/dist/javascript/rpc.js.map +1 -1
  28. package/dist/javascript/tree.d.ts +1 -1
  29. package/dist/javascript/tree.d.ts.map +1 -1
  30. package/dist/javascript/type-mapping.d.ts.map +1 -1
  31. package/dist/javascript/type-mapping.js +7 -0
  32. package/dist/javascript/type-mapping.js.map +1 -1
  33. package/dist/javascript/visitor.d.ts.map +1 -1
  34. package/dist/javascript/visitor.js +504 -309
  35. package/dist/javascript/visitor.js.map +1 -1
  36. package/dist/json/visitor.d.ts.map +1 -1
  37. package/dist/json/visitor.js +46 -21
  38. package/dist/json/visitor.js.map +1 -1
  39. package/dist/rpc/queue.d.ts +7 -4
  40. package/dist/rpc/queue.d.ts.map +1 -1
  41. package/dist/rpc/queue.js +22 -32
  42. package/dist/rpc/queue.js.map +1 -1
  43. package/dist/rpc/request/generate.d.ts.map +1 -1
  44. package/dist/rpc/request/generate.js +2 -3
  45. package/dist/rpc/request/generate.js.map +1 -1
  46. package/dist/rpc/request/get-languages.d.ts.map +1 -1
  47. package/dist/rpc/request/get-languages.js +4 -3
  48. package/dist/rpc/request/get-languages.js.map +1 -1
  49. package/dist/rpc/request/get-object.d.ts +1 -1
  50. package/dist/rpc/request/get-object.d.ts.map +1 -1
  51. package/dist/rpc/request/get-object.js +8 -7
  52. package/dist/rpc/request/get-object.js.map +1 -1
  53. package/dist/rpc/request/get-recipes.d.ts.map +1 -1
  54. package/dist/rpc/request/get-recipes.js +2 -2
  55. package/dist/rpc/request/get-recipes.js.map +1 -1
  56. package/dist/rpc/request/index.d.ts +1 -0
  57. package/dist/rpc/request/index.d.ts.map +1 -1
  58. package/dist/rpc/request/index.js +1 -0
  59. package/dist/rpc/request/index.js.map +1 -1
  60. package/dist/rpc/request/install-recipes.d.ts.map +1 -1
  61. package/dist/rpc/request/install-recipes.js +30 -21
  62. package/dist/rpc/request/install-recipes.js.map +1 -1
  63. package/dist/rpc/request/metrics.d.ts +10 -10
  64. package/dist/rpc/request/metrics.d.ts.map +1 -1
  65. package/dist/rpc/request/metrics.js +38 -31
  66. package/dist/rpc/request/metrics.js.map +1 -1
  67. package/dist/rpc/request/parse.d.ts.map +1 -1
  68. package/dist/rpc/request/parse.js +10 -12
  69. package/dist/rpc/request/parse.js.map +1 -1
  70. package/dist/rpc/request/prepare-recipe.d.ts.map +1 -1
  71. package/dist/rpc/request/prepare-recipe.js +4 -4
  72. package/dist/rpc/request/prepare-recipe.js.map +1 -1
  73. package/dist/rpc/request/print.d.ts +1 -1
  74. package/dist/rpc/request/print.d.ts.map +1 -1
  75. package/dist/rpc/request/print.js +10 -6
  76. package/dist/rpc/request/print.js.map +1 -1
  77. package/dist/rpc/request/trace-get-object.d.ts +5 -0
  78. package/dist/rpc/request/trace-get-object.d.ts.map +1 -0
  79. package/dist/rpc/request/trace-get-object.js +3 -0
  80. package/dist/rpc/request/trace-get-object.js.map +1 -0
  81. package/dist/rpc/request/visit.d.ts.map +1 -1
  82. package/dist/rpc/request/visit.js +2 -3
  83. package/dist/rpc/request/visit.js.map +1 -1
  84. package/dist/rpc/rewrite-rpc.d.ts +2 -3
  85. package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
  86. package/dist/rpc/rewrite-rpc.js +14 -5
  87. package/dist/rpc/rewrite-rpc.js.map +1 -1
  88. package/dist/rpc/server.d.ts.map +1 -1
  89. package/dist/rpc/server.js +15 -44
  90. package/dist/rpc/server.js.map +1 -1
  91. package/dist/rpc/trace.d.ts +1 -1
  92. package/dist/rpc/trace.d.ts.map +1 -1
  93. package/dist/rpc/trace.js +3 -3
  94. package/dist/rpc/trace.js.map +1 -1
  95. package/dist/util.d.ts +6 -0
  96. package/dist/util.d.ts.map +1 -1
  97. package/dist/util.js +14 -0
  98. package/dist/util.js.map +1 -1
  99. package/dist/version.txt +1 -1
  100. package/package.json +1 -1
  101. package/src/java/index.ts +1 -0
  102. package/src/java/rpc.ts +726 -537
  103. package/src/java/tree.ts +1 -1
  104. package/src/java/type-visitor.ts +241 -0
  105. package/src/java/type.ts +13 -277
  106. package/src/java/visitor.ts +581 -378
  107. package/src/javascript/preconditions.ts +7 -6
  108. package/src/javascript/rpc.ts +431 -360
  109. package/src/javascript/tree.ts +1 -1
  110. package/src/javascript/type-mapping.ts +7 -0
  111. package/src/javascript/visitor.ts +505 -310
  112. package/src/json/visitor.ts +47 -22
  113. package/src/rpc/queue.ts +20 -17
  114. package/src/rpc/request/generate.ts +31 -25
  115. package/src/rpc/request/get-languages.ts +18 -10
  116. package/src/rpc/request/get-object.ts +42 -34
  117. package/src/rpc/request/get-recipes.ts +15 -8
  118. package/src/rpc/request/index.ts +1 -0
  119. package/src/rpc/request/install-recipes.ts +96 -79
  120. package/src/rpc/request/metrics.ts +54 -48
  121. package/src/rpc/request/parse.ts +31 -25
  122. package/src/rpc/request/prepare-recipe.ts +31 -23
  123. package/src/rpc/request/print.ts +28 -14
  124. package/src/rpc/request/trace-get-object.ts +4 -0
  125. package/src/rpc/request/visit.ts +22 -16
  126. package/src/rpc/rewrite-rpc.ts +23 -10
  127. package/src/rpc/server.ts +17 -52
  128. package/src/rpc/trace.ts +3 -3
  129. package/src/util.ts +14 -0
  130. package/dist/rpc/chrome-profiler.d.ts +0 -25
  131. package/dist/rpc/chrome-profiler.d.ts.map +0 -1
  132. package/dist/rpc/chrome-profiler.js +0 -405
  133. package/dist/rpc/chrome-profiler.js.map +0 -1
  134. package/src/rpc/chrome-profiler.ts +0 -373
package/src/util.ts CHANGED
@@ -49,3 +49,17 @@ export function trimIndent(str: string | null | undefined): string {
49
49
  .join("\n")
50
50
  .trim();
51
51
  }
52
+
53
+ /**
54
+ * Helper function to create a new object only if any properties have changed.
55
+ * Compares each property in updates with the original object.
56
+ * Returns the original object if nothing changed, or a new object with updates applied.
57
+ */
58
+ export function updateIfChanged<O extends object>(original: O, updates: Partial<O>): O {
59
+ for (const key in updates) {
60
+ if (updates[key] !== original[key]) {
61
+ return { ...original, ...updates };
62
+ }
63
+ }
64
+ return original;
65
+ }
@@ -1,25 +0,0 @@
1
- export declare class ChromeProfiler {
2
- private traceEvents;
3
- private memoryInterval?;
4
- private saveInterval?;
5
- private session?;
6
- private readonly pid;
7
- private readonly tid;
8
- private readonly tracePath;
9
- private exitHandlersRegistered;
10
- private startTime;
11
- private ttsCounter;
12
- private lastProfileTime;
13
- private profileNodes;
14
- constructor(outputPath?: string);
15
- start(): Promise<void>;
16
- private enableCpuProfiling;
17
- private addMetadataEvents;
18
- private startMemoryTracking;
19
- private saveTrace;
20
- private collectCpuProfile;
21
- stop(): Promise<void>;
22
- private addCpuProfileSamples;
23
- private registerExitHandlers;
24
- }
25
- //# sourceMappingURL=chrome-profiler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chrome-profiler.d.ts","sourceRoot":"","sources":["../../src/rpc/chrome-profiler.ts"],"names":[],"mappings":"AAoBA,qBAAa,cAAc;IACvB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,YAAY,CAAa;gBAErB,UAAU,CAAC,EAAE,MAAM;IAIzB,KAAK;YA8BG,kBAAkB;IAoChC,OAAO,CAAC,iBAAiB;IAgDzB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,SAAS;YA8BH,iBAAiB;IA2CzB,IAAI;IAwBV,OAAO,CAAC,oBAAoB;IAsF5B,OAAO,CAAC,oBAAoB;CAS/B"}
@@ -1,405 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.ChromeProfiler = void 0;
46
- /*
47
- * Copyright 2025 the original author or authors.
48
- * <p>
49
- * Licensed under the Moderne Source Available License (the "License");
50
- * you may not use this file except in compliance with the License.
51
- * You may obtain a copy of the License at
52
- * <p>
53
- * https://docs.moderne.io/licensing/moderne-source-available-license
54
- * <p>
55
- * Unless required by applicable law or agreed to in writing, software
56
- * distributed under the License is distributed on an "AS IS" BASIS,
57
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
58
- * See the License for the specific language governing permissions and
59
- * limitations under the License.
60
- */
61
- const fs = __importStar(require("fs"));
62
- const path = __importStar(require("path"));
63
- const v8 = __importStar(require("v8"));
64
- const inspector = __importStar(require("inspector"));
65
- class ChromeProfiler {
66
- constructor(outputPath) {
67
- this.traceEvents = [];
68
- this.pid = process.pid;
69
- this.tid = 1; // Main thread
70
- this.exitHandlersRegistered = false;
71
- this.startTime = 0;
72
- this.ttsCounter = 0;
73
- this.lastProfileTime = 0;
74
- this.profileNodes = new Map();
75
- this.tracePath = outputPath || path.join(process.cwd(), 'chrome-trace.json');
76
- }
77
- start() {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- this.startTime = Date.now() * 1000; // Convert to microseconds
80
- this.lastProfileTime = this.startTime;
81
- // Add initial metadata events
82
- this.addMetadataEvents();
83
- // Start V8 Inspector session for CPU profiling
84
- this.session = new inspector.Session();
85
- this.session.connect();
86
- // Enable and start CPU profiling
87
- yield this.enableCpuProfiling();
88
- // Start collecting memory data
89
- this.startMemoryTracking();
90
- // Save trace periodically and collect CPU profile samples
91
- this.saveInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
92
- yield this.collectCpuProfile();
93
- this.saveTrace();
94
- }), 10000); // Save every 10 seconds
95
- // Register exit handlers
96
- if (!this.exitHandlersRegistered) {
97
- this.registerExitHandlers();
98
- this.exitHandlersRegistered = true;
99
- }
100
- });
101
- }
102
- enableCpuProfiling() {
103
- return __awaiter(this, void 0, void 0, function* () {
104
- if (!this.session)
105
- return;
106
- // Enable profiler
107
- yield new Promise((resolve, reject) => {
108
- this.session.post('Profiler.enable', (err) => {
109
- if (err)
110
- reject(err);
111
- else
112
- resolve();
113
- });
114
- });
115
- // Start sampling
116
- yield new Promise((resolve, reject) => {
117
- this.session.post('Profiler.start', {
118
- // Sample at high frequency for detailed profiling
119
- samplingInterval: 100
120
- }, (err) => {
121
- if (err)
122
- reject(err);
123
- else
124
- resolve();
125
- });
126
- });
127
- // Subscribe to console profile events
128
- this.session.on('Profiler.consoleProfileStarted', (params) => {
129
- this.traceEvents.push({
130
- cat: 'disabled-by-default-devtools.timeline',
131
- name: 'Profile',
132
- ph: 'P',
133
- id: params.id || '1',
134
- pid: this.pid,
135
- tid: this.tid,
136
- ts: Date.now() * 1000
137
- });
138
- });
139
- });
140
- }
141
- addMetadataEvents() {
142
- // Thread name metadata
143
- this.traceEvents.push({
144
- args: { name: 'CrRendererMain' },
145
- cat: '__metadata',
146
- name: 'thread_name',
147
- ph: 'M',
148
- pid: this.pid,
149
- tid: this.tid,
150
- ts: 0
151
- });
152
- // Process name metadata
153
- this.traceEvents.push({
154
- args: { name: 'Node.js' },
155
- cat: '__metadata',
156
- name: 'process_name',
157
- ph: 'M',
158
- pid: this.pid,
159
- tid: 0,
160
- ts: 0
161
- });
162
- // TracingStartedInBrowser event - required for Chrome DevTools
163
- this.traceEvents.push({
164
- args: {
165
- data: {
166
- frameTreeNodeId: 1,
167
- frames: [{
168
- frame: '0x1',
169
- name: '',
170
- processId: this.pid,
171
- url: 'node://process'
172
- }],
173
- persistentIds: true
174
- }
175
- },
176
- cat: 'disabled-by-default-devtools.timeline',
177
- name: 'TracingStartedInBrowser',
178
- ph: 'I',
179
- pid: this.pid,
180
- s: 't',
181
- tid: this.tid,
182
- ts: this.startTime,
183
- tts: this.ttsCounter++
184
- });
185
- }
186
- startMemoryTracking() {
187
- // Collect memory data every 50ms (matching Chrome's frequency)
188
- this.memoryInterval = setInterval(() => {
189
- const memStats = v8.getHeapStatistics();
190
- const timestamp = Date.now() * 1000;
191
- // UpdateCounters event with correct format
192
- this.traceEvents.push({
193
- args: {
194
- data: {
195
- jsHeapSizeUsed: memStats.used_heap_size,
196
- jsEventListeners: 0,
197
- documents: 1,
198
- nodes: 0
199
- }
200
- },
201
- cat: 'disabled-by-default-devtools.timeline',
202
- name: 'UpdateCounters',
203
- ph: 'I', // Instant event, not Counter
204
- pid: this.pid,
205
- s: 't', // Required for instant events
206
- tid: this.tid,
207
- ts: timestamp,
208
- tts: this.ttsCounter++
209
- });
210
- }, 50); // Every 50ms
211
- }
212
- saveTrace() {
213
- const trace = {
214
- metadata: {
215
- 'command-line': process.argv.join(' '),
216
- 'cpu-brand': 'Node.js V8',
217
- 'dataOrigin': 'TraceEvents',
218
- 'highres-ticks': true,
219
- 'hostname': 'localhost',
220
- 'num-cpus': require('os').cpus().length,
221
- 'physical-memory': require('os').totalmem(),
222
- 'platform': process.platform,
223
- 'process-uptime': process.uptime(),
224
- 'product-version': `Node.js ${process.version}`,
225
- 'protocol-version': '1.0',
226
- 'source': 'NodeProfiler',
227
- 'startTime': new Date(this.startTime / 1000).toISOString(),
228
- 'trace-config': '',
229
- 'user-agent': `Node.js/${process.version}`,
230
- 'v8-version': process.versions.v8
231
- },
232
- traceEvents: this.traceEvents
233
- };
234
- try {
235
- fs.writeFileSync(this.tracePath, JSON.stringify(trace, null, 2));
236
- }
237
- catch (e) {
238
- // Ignore write errors
239
- }
240
- }
241
- collectCpuProfile() {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- if (!this.session)
244
- return;
245
- try {
246
- // Stop current profiling to get samples
247
- const profile = yield new Promise((resolve, reject) => {
248
- this.session.post('Profiler.stop', (err, params) => {
249
- if (err)
250
- reject(err);
251
- else
252
- resolve(params.profile);
253
- });
254
- });
255
- // Convert CPU profile samples to trace events
256
- if (profile && profile.samples) {
257
- this.addCpuProfileSamples(profile);
258
- }
259
- // Restart profiling for the next interval
260
- yield new Promise((resolve, reject) => {
261
- this.session.post('Profiler.start', {
262
- samplingInterval: 100
263
- }, (err) => {
264
- if (err)
265
- reject(err);
266
- else
267
- resolve();
268
- });
269
- });
270
- }
271
- catch (e) {
272
- // Ignore errors and try to restart
273
- try {
274
- yield new Promise((resolve, reject) => {
275
- this.session.post('Profiler.start', {
276
- samplingInterval: 100
277
- }, (err) => {
278
- if (err)
279
- reject(err);
280
- else
281
- resolve();
282
- });
283
- });
284
- }
285
- catch (e2) {
286
- // Ignore restart errors
287
- }
288
- }
289
- });
290
- }
291
- stop() {
292
- return __awaiter(this, void 0, void 0, function* () {
293
- // Clear intervals
294
- if (this.memoryInterval) {
295
- clearInterval(this.memoryInterval);
296
- this.memoryInterval = undefined;
297
- }
298
- if (this.saveInterval) {
299
- clearInterval(this.saveInterval);
300
- this.saveInterval = undefined;
301
- }
302
- // Collect final CPU profile
303
- yield this.collectCpuProfile();
304
- // Disconnect session
305
- if (this.session) {
306
- this.session.disconnect();
307
- this.session = undefined;
308
- }
309
- // Save final trace
310
- this.saveTrace();
311
- });
312
- }
313
- addCpuProfileSamples(profile) {
314
- if (!profile.samples || !profile.timeDeltas || !profile.nodes)
315
- return;
316
- // Use the last profile time as starting point to maintain continuity
317
- let currentTime = this.lastProfileTime;
318
- // Update nodes map with new nodes
319
- profile.nodes.forEach((node) => {
320
- this.profileNodes.set(node.id, node);
321
- });
322
- // Convert samples to trace events with actual function names
323
- profile.samples.forEach((nodeId, index) => {
324
- const node = this.profileNodes.get(nodeId);
325
- if (!node)
326
- return;
327
- currentTime += (profile.timeDeltas[index] || 0);
328
- const callFrame = node.callFrame;
329
- if (callFrame) {
330
- // Clean up function name for display
331
- let functionName = callFrame.functionName || '(anonymous)';
332
- if (functionName === '' || functionName === '(root)') {
333
- functionName = '(program)';
334
- }
335
- // Extract filename from URL or use a meaningful default
336
- let url = callFrame.url || '';
337
- let fileName;
338
- if (url) {
339
- // Clean up the URL for display
340
- if (url.startsWith('file://')) {
341
- url = url.substring(7);
342
- }
343
- const parts = url.split('/');
344
- fileName = parts[parts.length - 1] || url;
345
- // Special handling for node internals
346
- if (url.startsWith('node:')) {
347
- fileName = url;
348
- }
349
- }
350
- else {
351
- // No URL - try to provide context from function name
352
- if (functionName === '(garbage collector)') {
353
- fileName = 'v8::gc';
354
- }
355
- else if (functionName === '(idle)') {
356
- fileName = 'v8::idle';
357
- }
358
- else if (functionName === '(program)') {
359
- fileName = 'main';
360
- }
361
- else if (functionName.includes('::')) {
362
- // C++ internal function
363
- fileName = 'native';
364
- }
365
- else {
366
- // JavaScript code without source mapping
367
- fileName = 'javascript';
368
- }
369
- }
370
- this.traceEvents.push({
371
- args: {
372
- data: {
373
- columnNumber: callFrame.columnNumber || 0,
374
- frame: `0x${nodeId.toString(16)}`,
375
- functionName: functionName,
376
- lineNumber: callFrame.lineNumber || 0,
377
- scriptId: String(callFrame.scriptId || 0),
378
- url: url || fileName // Use fileName as URL if no real URL
379
- }
380
- },
381
- cat: 'devtools.timeline',
382
- dur: Math.max(profile.timeDeltas[index] || 1, 1),
383
- name: 'FunctionCall',
384
- ph: 'X',
385
- pid: this.pid,
386
- tid: this.tid,
387
- ts: Math.floor(currentTime),
388
- tts: this.ttsCounter++
389
- });
390
- }
391
- });
392
- // Update lastProfileTime to maintain continuity for the next batch
393
- this.lastProfileTime = currentTime;
394
- }
395
- registerExitHandlers() {
396
- const cleanup = () => __awaiter(this, void 0, void 0, function* () {
397
- yield this.stop();
398
- });
399
- process.once('beforeExit', cleanup);
400
- process.once('SIGINT', cleanup);
401
- process.once('SIGTERM', cleanup);
402
- }
403
- }
404
- exports.ChromeProfiler = ChromeProfiler;
405
- //# sourceMappingURL=chrome-profiler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chrome-profiler.js","sourceRoot":"","sources":["../../src/rpc/chrome-profiler.ts"],"names":[],"mappings":"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"}