@inversifyjs/http-insights 0.3.0 → 0.4.0

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 (50) hide show
  1. package/lib/insights/adapter/babel/calculations/{statementIndex.d.ts → buildStatementIndex.d.ts} +3 -10
  2. package/lib/insights/adapter/babel/calculations/buildStatementIndex.d.ts.map +1 -0
  3. package/lib/insights/adapter/babel/calculations/buildStatementIndex.js +183 -0
  4. package/lib/insights/adapter/babel/calculations/buildStatementIndex.js.map +1 -0
  5. package/lib/insights/adapter/babel/calculations/readStatementContext.d.ts +8 -0
  6. package/lib/insights/adapter/babel/calculations/readStatementContext.d.ts.map +1 -0
  7. package/lib/insights/adapter/babel/calculations/{statementIndex.js → readStatementContext.js} +74 -195
  8. package/lib/insights/adapter/babel/calculations/readStatementContext.js.map +1 -0
  9. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.d.ts.map +1 -1
  10. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.js +6 -0
  11. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.js.map +1 -1
  12. package/lib/insights/adapter/node/calculations/isLocalFilePath.d.ts +2 -0
  13. package/lib/insights/adapter/node/calculations/isLocalFilePath.d.ts.map +1 -0
  14. package/lib/insights/adapter/node/calculations/isLocalFilePath.js +6 -0
  15. package/lib/insights/adapter/node/calculations/isLocalFilePath.js.map +1 -0
  16. package/lib/insights/adapter/node/calculations/readFileUrlPath.d.ts +2 -0
  17. package/lib/insights/adapter/node/calculations/readFileUrlPath.d.ts.map +1 -0
  18. package/lib/insights/adapter/node/calculations/readFileUrlPath.js +10 -0
  19. package/lib/insights/adapter/node/calculations/readFileUrlPath.js.map +1 -0
  20. package/lib/insights/adapter/node/calculations/readResolvedSourcePath.d.ts +2 -0
  21. package/lib/insights/adapter/node/calculations/readResolvedSourcePath.d.ts.map +1 -0
  22. package/lib/insights/adapter/node/calculations/readResolvedSourcePath.js +48 -0
  23. package/lib/insights/adapter/node/calculations/readResolvedSourcePath.js.map +1 -0
  24. package/lib/insights/adapter/node/calculations/readSourceMapFilePath.d.ts +2 -0
  25. package/lib/insights/adapter/node/calculations/readSourceMapFilePath.d.ts.map +1 -0
  26. package/lib/insights/adapter/node/calculations/readSourceMapFilePath.js +20 -0
  27. package/lib/insights/adapter/node/calculations/readSourceMapFilePath.js.map +1 -0
  28. package/lib/insights/adapter/node/calculations/readSourceMapLocation.d.ts +12 -0
  29. package/lib/insights/adapter/node/calculations/readSourceMapLocation.d.ts.map +1 -0
  30. package/lib/insights/adapter/node/calculations/readSourceMapLocation.js +56 -0
  31. package/lib/insights/adapter/node/calculations/readSourceMapLocation.js.map +1 -0
  32. package/lib/insights/adapter/node/calculations/readUrlScheme.d.ts +2 -0
  33. package/lib/insights/adapter/node/calculations/readUrlScheme.d.ts.map +1 -0
  34. package/lib/insights/adapter/node/calculations/readUrlScheme.js +13 -0
  35. package/lib/insights/adapter/node/calculations/readUrlScheme.js.map +1 -0
  36. package/lib/insights/adapter/node/services/NodeSourceMapReader.d.ts +8 -0
  37. package/lib/insights/adapter/node/services/NodeSourceMapReader.d.ts.map +1 -0
  38. package/lib/insights/adapter/node/services/NodeSourceMapReader.js +381 -0
  39. package/lib/insights/adapter/node/services/NodeSourceMapReader.js.map +1 -0
  40. package/lib/insights/application/ports/SourceMapReader.d.ts +11 -0
  41. package/lib/insights/application/ports/SourceMapReader.d.ts.map +1 -0
  42. package/lib/insights/application/ports/SourceMapReader.js +2 -0
  43. package/lib/insights/application/ports/SourceMapReader.js.map +1 -0
  44. package/lib/insights/application/services/StackTraceErrorTracesReader.d.ts +2 -1
  45. package/lib/insights/application/services/StackTraceErrorTracesReader.d.ts.map +1 -1
  46. package/lib/insights/application/services/StackTraceErrorTracesReader.js +92 -26
  47. package/lib/insights/application/services/StackTraceErrorTracesReader.js.map +1 -1
  48. package/package.json +2 -2
  49. package/lib/insights/adapter/babel/calculations/statementIndex.d.ts.map +0 -1
  50. package/lib/insights/adapter/babel/calculations/statementIndex.js.map +0 -1
@@ -1,17 +1,12 @@
1
- interface CodeSpan {
1
+ export interface CodeSpan {
2
2
  readonly end: number;
3
3
  readonly start: number;
4
4
  }
5
- interface IndexedStatement {
5
+ export interface IndexedStatement {
6
6
  readonly end: number;
7
7
  readonly index: number;
8
8
  readonly start: number;
9
9
  }
10
- export interface StatementContext {
11
- readonly nextStatements: readonly string[];
12
- readonly previousStatements: readonly string[];
13
- readonly traceStatement: string;
14
- }
15
10
  export interface StatementIndex {
16
11
  readonly lineStarts: readonly number[];
17
12
  readonly lists: readonly (readonly IndexedStatement[])[];
@@ -19,6 +14,4 @@ export interface StatementIndex {
19
14
  readonly spans: readonly CodeSpan[];
20
15
  }
21
16
  export declare function buildStatementIndex(source: string, filePath: string): StatementIndex | null;
22
- export declare function readStatementContext(index: StatementIndex, line: number, column: number): StatementContext | null;
23
- export {};
24
- //# sourceMappingURL=statementIndex.d.ts.map
17
+ //# sourceMappingURL=buildStatementIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildStatementIndex.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/babel/calculations/buildStatementIndex.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AASD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,gBAAgB,EAAE,CAAC,EAAE,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,cAAc,GAAG,IAAI,CAmCvB"}
@@ -0,0 +1,183 @@
1
+ import { extname } from 'node:path';
2
+ import { parse } from '@babel/parser';
3
+ const LINE_FEED = 10;
4
+ export function buildStatementIndex(source, filePath) {
5
+ try {
6
+ const lists = [];
7
+ const spans = [];
8
+ const spanKeys = new Set();
9
+ walk(parse(source, {
10
+ allowAwaitOutsideFunction: true,
11
+ allowImportExportEverywhere: true,
12
+ allowNewTargetOutsideFunction: true,
13
+ allowReturnOutsideFunction: true,
14
+ allowSuperOutsideMethod: true,
15
+ allowUndeclaredExports: true,
16
+ allowYieldOutsideFunction: true,
17
+ attachComment: false,
18
+ errorRecovery: false,
19
+ plugins: readParserPlugins(filePath),
20
+ sourceType: 'unambiguous',
21
+ strictMode: false,
22
+ }), lists, spans, spanKeys);
23
+ return {
24
+ lineStarts: readLineStarts(source),
25
+ lists,
26
+ source,
27
+ spans,
28
+ };
29
+ }
30
+ catch (_error) {
31
+ return null;
32
+ }
33
+ }
34
+ function collectBoundaries(boundaries, value) {
35
+ if (Array.isArray(value)) {
36
+ for (const item of value) {
37
+ collectBoundaries(boundaries, item);
38
+ }
39
+ return;
40
+ }
41
+ if (isSyntaxNode(value) && isBoundary(value)) {
42
+ boundaries.push(value);
43
+ }
44
+ }
45
+ function compareBoundaryOrder(left, right) {
46
+ return left.start - right.start || left.end - right.end;
47
+ }
48
+ function isBodyPart(node) {
49
+ if (readStatementList(node) !== null) {
50
+ return true;
51
+ }
52
+ return (node.type.endsWith('Declaration') ||
53
+ node.type.endsWith('Statement') ||
54
+ node.type === 'ClassBody');
55
+ }
56
+ function isBoundary(node) {
57
+ return isBodyPart(node) || node.type === 'CatchClause';
58
+ }
59
+ function isSyntaxNode(value) {
60
+ if (typeof value !== 'object' || value === null) {
61
+ return false;
62
+ }
63
+ const record = value;
64
+ return (typeof record['end'] === 'number' &&
65
+ typeof record['start'] === 'number' &&
66
+ typeof record['type'] === 'string');
67
+ }
68
+ function pushBoundarySpans(spans, spanKeys, node) {
69
+ const boundaries = readBoundaries(node);
70
+ let previous = null;
71
+ for (const boundary of boundaries) {
72
+ if (previous === null) {
73
+ pushSpan(spans, spanKeys, node.start, boundary.start);
74
+ }
75
+ else {
76
+ pushSpan(spans, spanKeys, previous.end, boundary.start);
77
+ }
78
+ previous = boundary;
79
+ }
80
+ }
81
+ function pushSpan(spans, spanKeys, start, end) {
82
+ if (end <= start) {
83
+ return;
84
+ }
85
+ const key = `${String(start)}:${String(end)}`;
86
+ if (spanKeys.has(key)) {
87
+ return;
88
+ }
89
+ spanKeys.add(key);
90
+ spans.push({
91
+ end,
92
+ start,
93
+ });
94
+ }
95
+ function readBoundaries(node) {
96
+ const boundaries = [];
97
+ for (const child of Object.values(node)) {
98
+ collectBoundaries(boundaries, child);
99
+ }
100
+ return boundaries.sort(compareBoundaryOrder);
101
+ }
102
+ function readLineStarts(source) {
103
+ const lineStarts = [0];
104
+ for (let index = 0; index < source.length; index += 1) {
105
+ if (source.charCodeAt(index) === LINE_FEED) {
106
+ lineStarts.push(index + 1);
107
+ }
108
+ }
109
+ return lineStarts;
110
+ }
111
+ function readParserPlugins(filePath) {
112
+ switch (extname(filePath)) {
113
+ case '.cts':
114
+ case '.mts':
115
+ case '.ts':
116
+ return [['typescript', {}], 'decorators-legacy'];
117
+ case '.jsx':
118
+ return ['jsx'];
119
+ case '.tsx':
120
+ return [['typescript', {}], 'decorators-legacy', 'jsx'];
121
+ default:
122
+ return [];
123
+ }
124
+ }
125
+ function readStatementList(node) {
126
+ switch (node.type) {
127
+ case 'BlockStatement':
128
+ case 'Program':
129
+ case 'StaticBlock':
130
+ case 'TSModuleBlock':
131
+ return readStatementNodes(node['body']);
132
+ case 'SwitchCase':
133
+ return readStatementNodes(node['consequent']);
134
+ default:
135
+ return null;
136
+ }
137
+ }
138
+ function readStatementNodes(value) {
139
+ if (!Array.isArray(value)) {
140
+ return null;
141
+ }
142
+ const statements = [];
143
+ for (const item of value) {
144
+ if (!isSyntaxNode(item) || item.end <= item.start) {
145
+ continue;
146
+ }
147
+ statements.push(item);
148
+ }
149
+ return statements;
150
+ }
151
+ function walk(value, lists, spans, spanKeys) {
152
+ if (!isSyntaxNode(value)) {
153
+ return;
154
+ }
155
+ const statements = readStatementList(value);
156
+ if (statements !== null) {
157
+ lists.push(statements.map((statement, index) => ({
158
+ end: statement.end,
159
+ index,
160
+ start: statement.start,
161
+ })));
162
+ for (const statement of statements) {
163
+ pushSpan(spans, spanKeys, statement.start, statement.end);
164
+ }
165
+ const firstStatement = statements[0];
166
+ if (firstStatement !== undefined) {
167
+ pushSpan(spans, spanKeys, value.start, firstStatement.start);
168
+ }
169
+ }
170
+ else {
171
+ pushBoundarySpans(spans, spanKeys, value);
172
+ }
173
+ for (const child of Object.values(value)) {
174
+ if (Array.isArray(child)) {
175
+ for (const item of child) {
176
+ walk(item, lists, spans, spanKeys);
177
+ }
178
+ continue;
179
+ }
180
+ walk(child, lists, spans, spanKeys);
181
+ }
182
+ }
183
+ //# sourceMappingURL=buildStatementIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildStatementIndex.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/babel/calculations/buildStatementIndex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type StatementIndex } from './buildStatementIndex.js';
2
+ export interface StatementContext {
3
+ readonly nextStatements: readonly string[];
4
+ readonly previousStatements: readonly string[];
5
+ readonly traceStatement: string;
6
+ }
7
+ export declare function readStatementContext(index: StatementIndex, line: number, column: number): StatementContext | null;
8
+ //# sourceMappingURL=readStatementContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readStatementContext.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/babel/calculations/readStatementContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAmBlC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,gBAAgB,GAAG,IAAI,CAqDzB"}
@@ -1,40 +1,7 @@
1
- import { extname } from 'node:path';
2
- import { parse } from '@babel/parser';
3
1
  const CONTEXT_STATEMENT_COUNT = 2;
4
2
  const ELLIPSIS = '…';
5
- const LINE_FEED = 10;
6
3
  const MAX_STATEMENT_TEXT_LENGTH = 500;
7
4
  const STATEMENT_TEXT_CENTER_DIVISOR = 2;
8
- export function buildStatementIndex(source, filePath) {
9
- try {
10
- const lists = [];
11
- const spans = [];
12
- const spanKeys = new Set();
13
- walk(parse(source, {
14
- allowAwaitOutsideFunction: true,
15
- allowImportExportEverywhere: true,
16
- allowNewTargetOutsideFunction: true,
17
- allowReturnOutsideFunction: true,
18
- allowSuperOutsideMethod: true,
19
- allowUndeclaredExports: true,
20
- allowYieldOutsideFunction: true,
21
- attachComment: false,
22
- errorRecovery: false,
23
- plugins: readParserPlugins(filePath),
24
- sourceType: 'unambiguous',
25
- strictMode: false,
26
- }), lists, spans, spanKeys);
27
- return {
28
- lineStarts: readLineStarts(source),
29
- lists,
30
- source,
31
- spans,
32
- };
33
- }
34
- catch (_error) {
35
- return null;
36
- }
37
- }
38
5
  export function readStatementContext(index, line, column) {
39
6
  const offset = readOffset(index.lineStarts, index.source.length, line, column);
40
7
  if (offset === null) {
@@ -58,20 +25,6 @@ export function readStatementContext(index, line, column) {
58
25
  traceStatement,
59
26
  };
60
27
  }
61
- function collectBoundaries(boundaries, value) {
62
- if (Array.isArray(value)) {
63
- for (const item of value) {
64
- collectBoundaries(boundaries, item);
65
- }
66
- return;
67
- }
68
- if (isSyntaxNode(value) && isBoundary(value)) {
69
- boundaries.push(value);
70
- }
71
- }
72
- function compareBoundaryOrder(left, right) {
73
- return left.start - right.start || left.end - right.end;
74
- }
75
28
  function compareNearestSpan(left, right) {
76
29
  return right.end - left.end || right.start - left.start;
77
30
  }
@@ -147,19 +100,8 @@ function findUpcomingStatement(lists, source, offset, containing) {
147
100
  list: nearest.list,
148
101
  };
149
102
  }
150
- function isBodyPart(node) {
151
- if (readStatementList(node) !== null) {
152
- return true;
153
- }
154
- return (node.type.endsWith('Declaration') ||
155
- node.type.endsWith('Statement') ||
156
- node.type === 'ClassBody');
157
- }
158
- function isBoundary(node) {
159
- return isBodyPart(node) || node.type === 'CatchClause';
160
- }
161
- function isMeaningfulCode(text) {
162
- return text.length > 0 && !/^[{}()[\];,\s]+$/u.test(text);
103
+ function isIndentCharacter(character) {
104
+ return character === ' ' || character === '\t';
163
105
  }
164
106
  function isInsideContaining(statement, containing) {
165
107
  if (containing === null) {
@@ -169,60 +111,59 @@ function isInsideContaining(statement, containing) {
169
111
  statement.end <= containing.end &&
170
112
  statement.end - statement.start < containing.end - containing.start);
171
113
  }
114
+ function isLineBreak(character) {
115
+ return character === '\n' || character === '\r';
116
+ }
117
+ function isMeaningfulCode(text) {
118
+ return text.length > 0 && !/^[{}()[\];,\s]+$/u.test(text);
119
+ }
172
120
  function isOnlyWhitespace(value) {
173
121
  return value.trim().length === 0;
174
122
  }
175
- function isSyntaxNode(value) {
176
- if (typeof value !== 'object' || value === null) {
177
- return false;
178
- }
179
- const record = value;
180
- return (typeof record['end'] === 'number' &&
181
- typeof record['start'] === 'number' &&
182
- typeof record['type'] === 'string');
183
- }
184
- function pushBoundarySpans(spans, spanKeys, node) {
185
- const boundaries = readBoundaries(node);
186
- let previous = null;
187
- for (const boundary of boundaries) {
188
- if (previous === null) {
189
- pushSpan(spans, spanKeys, node.start, boundary.start);
123
+ function readExtraLineBreakCount(source, indentStart) {
124
+ let cursor = indentStart;
125
+ let lineBreakCount = 0;
126
+ while (cursor > 0) {
127
+ const character = source.charAt(cursor - 1);
128
+ if (character === '\n') {
129
+ lineBreakCount += 1;
130
+ cursor -= 1;
131
+ if (source.charAt(cursor - 1) === '\r') {
132
+ cursor -= 1;
133
+ }
134
+ continue;
190
135
  }
191
- else {
192
- pushSpan(spans, spanKeys, previous.end, boundary.start);
136
+ if (character === '\r') {
137
+ lineBreakCount += 1;
138
+ cursor -= 1;
139
+ continue;
193
140
  }
194
- previous = boundary;
195
- }
196
- }
197
- function pushSpan(spans, spanKeys, start, end) {
198
- if (end <= start) {
199
- return;
200
- }
201
- const key = `${String(start)}:${String(end)}`;
202
- if (spanKeys.has(key)) {
203
- return;
141
+ break;
204
142
  }
205
- spanKeys.add(key);
206
- spans.push({
207
- end,
208
- start,
209
- });
210
- }
211
- function readBoundaries(node) {
212
- const boundaries = [];
213
- for (const child of Object.values(node)) {
214
- collectBoundaries(boundaries, child);
143
+ // Each snippet is already rendered on its own line.
144
+ if (lineBreakCount <= 1) {
145
+ return 0;
215
146
  }
216
- return boundaries.sort(compareBoundaryOrder);
147
+ return lineBreakCount - 1;
217
148
  }
218
- function readLineStarts(source) {
219
- const lineStarts = [0];
220
- for (let index = 0; index < source.length; index += 1) {
221
- if (source.charCodeAt(index) === LINE_FEED) {
222
- lineStarts.push(index + 1);
149
+ function readLeadingWhitespace(source, start) {
150
+ let indentStart = start;
151
+ while (indentStart > 0) {
152
+ const character = source.charAt(indentStart - 1);
153
+ if (isLineBreak(character)) {
154
+ break;
155
+ }
156
+ if (!isIndentCharacter(character)) {
157
+ return '';
223
158
  }
159
+ indentStart -= 1;
160
+ }
161
+ const blankLineCount = readExtraLineBreakCount(source, indentStart);
162
+ const indent = source.slice(indentStart, start);
163
+ if (blankLineCount === 0) {
164
+ return indent;
224
165
  }
225
- return lineStarts;
166
+ return `${'\n'.repeat(blankLineCount)}${indent}`;
226
167
  }
227
168
  function readMatchedStatement(match) {
228
169
  if (match === null) {
@@ -240,6 +181,25 @@ function readNeighborStatements(source, list, from, to) {
240
181
  }
241
182
  return statements;
242
183
  }
184
+ function readOffset(lineStarts, sourceLength, line, column) {
185
+ if (!Number.isInteger(line) ||
186
+ !Number.isInteger(column) ||
187
+ line < 1 ||
188
+ column < 1) {
189
+ return null;
190
+ }
191
+ const lineStart = lineStarts[line - 1];
192
+ if (lineStart === undefined) {
193
+ return null;
194
+ }
195
+ const nextLineStart = lineStarts[line];
196
+ const lineEnd = nextLineStart === undefined ? sourceLength : nextLineStart;
197
+ const offset = lineStart + (column - 1);
198
+ if (offset < lineStart || offset >= lineEnd) {
199
+ return null;
200
+ }
201
+ return offset;
202
+ }
243
203
  function readPreviousCode(source, spans, statementStart) {
244
204
  const candidates = spans.filter((span) => span.start < statementStart && span.end <= statementStart);
245
205
  const visible = [];
@@ -266,108 +226,27 @@ function readPreviousCode(source, spans, statementStart) {
266
226
  .sort(compareSourceOrder)
267
227
  .map((span) => readStatementText(source, span.start, span.end, span.end));
268
228
  }
269
- function readOffset(lineStarts, sourceLength, line, column) {
270
- if (!Number.isInteger(line) ||
271
- !Number.isInteger(column) ||
272
- line < 1 ||
273
- column < 1) {
274
- return null;
275
- }
276
- const lineStart = lineStarts[line - 1];
277
- if (lineStart === undefined) {
278
- return null;
279
- }
280
- const nextLineStart = lineStarts[line];
281
- const lineEnd = nextLineStart === undefined ? sourceLength : nextLineStart;
282
- const offset = lineStart + (column - 1);
283
- if (offset < lineStart || offset >= lineEnd) {
284
- return null;
285
- }
286
- return offset;
287
- }
288
- function readParserPlugins(filePath) {
289
- switch (extname(filePath)) {
290
- case '.cts':
291
- case '.mts':
292
- case '.ts':
293
- return [['typescript', {}], 'decorators-legacy'];
294
- case '.jsx':
295
- return ['jsx'];
296
- case '.tsx':
297
- return [['typescript', {}], 'decorators-legacy', 'jsx'];
298
- default:
299
- return [];
300
- }
301
- }
302
- function readStatementList(node) {
303
- switch (node.type) {
304
- case 'BlockStatement':
305
- case 'Program':
306
- case 'StaticBlock':
307
- case 'TSModuleBlock':
308
- return readStatementNodes(node['body']);
309
- case 'SwitchCase':
310
- return readStatementNodes(node['consequent']);
311
- default:
312
- return null;
313
- }
314
- }
315
- function readStatementNodes(value) {
316
- if (!Array.isArray(value)) {
317
- return null;
318
- }
319
- const statements = [];
320
- for (const item of value) {
321
- if (!isSyntaxNode(item) || item.end <= item.start) {
322
- continue;
323
- }
324
- statements.push(item);
325
- }
326
- return statements;
327
- }
328
229
  function readStatementText(source, start, end, focus) {
329
230
  if (end - start <= MAX_STATEMENT_TEXT_LENGTH) {
330
- return source.slice(start, end).trim();
231
+ return `${readLeadingWhitespace(source, start)}${trimSameLinePadding(source.slice(start, end).trimEnd())}`;
331
232
  }
332
233
  const half = Math.floor(MAX_STATEMENT_TEXT_LENGTH / STATEMENT_TEXT_CENTER_DIVISOR);
333
234
  const clampedFocus = Math.min(Math.max(focus, start), end);
334
235
  let windowStart = Math.max(start, clampedFocus - half);
335
236
  const windowEnd = Math.min(end, windowStart + MAX_STATEMENT_TEXT_LENGTH);
336
237
  windowStart = Math.max(start, windowEnd - MAX_STATEMENT_TEXT_LENGTH);
337
- const prefix = windowStart > start ? ELLIPSIS : '';
238
+ const prefix = windowStart > start ? ELLIPSIS : readLeadingWhitespace(source, start);
338
239
  const suffix = windowEnd < end ? ELLIPSIS : '';
339
240
  return `${prefix}${source.slice(windowStart, windowEnd).trim()}${suffix}`;
340
241
  }
341
- function walk(value, lists, spans, spanKeys) {
342
- if (!isSyntaxNode(value)) {
343
- return;
242
+ function trimSameLinePadding(text) {
243
+ let index = 0;
244
+ while (index < text.length && isIndentCharacter(text.charAt(index))) {
245
+ index += 1;
344
246
  }
345
- const statements = readStatementList(value);
346
- if (statements !== null) {
347
- lists.push(statements.map((statement, index) => ({
348
- end: statement.end,
349
- index,
350
- start: statement.start,
351
- })));
352
- for (const statement of statements) {
353
- pushSpan(spans, spanKeys, statement.start, statement.end);
354
- }
355
- const firstStatement = statements[0];
356
- if (firstStatement !== undefined) {
357
- pushSpan(spans, spanKeys, value.start, firstStatement.start);
358
- }
359
- }
360
- else {
361
- pushBoundarySpans(spans, spanKeys, value);
362
- }
363
- for (const child of Object.values(value)) {
364
- if (Array.isArray(child)) {
365
- for (const item of child) {
366
- walk(item, lists, spans, spanKeys);
367
- }
368
- continue;
369
- }
370
- walk(child, lists, spans, spanKeys);
247
+ if (index === 0 || isLineBreak(text.charAt(index))) {
248
+ return text;
371
249
  }
250
+ return text.slice(index);
372
251
  }
373
- //# sourceMappingURL=statementIndex.js.map
252
+ //# sourceMappingURL=readStatementContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readStatementContext.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/babel/calculations/readStatementContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InsightsContainerModule.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/inversify/modules/InsightsContainerModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmC,MAAM,WAAW,CAAC;AA0B7E,qBAAa,uBAAwB,SAAQ,eAAe;;CA0D3D"}
1
+ {"version":3,"file":"InsightsContainerModule.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/inversify/modules/InsightsContainerModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmC,MAAM,WAAW,CAAC;AA4B7E,qBAAa,uBAAwB,SAAQ,eAAe;;CA8D3D"}
@@ -2,9 +2,11 @@ import { ContainerModule } from 'inversify';
2
2
  import { CallManagementInputPort } from '../../../application/ports/CallManagementInputPort.js';
3
3
  import { callPersistenceOutputPortService } from '../../../application/ports/CallPersistenceOutputPort.js';
4
4
  import { errorTracesReaderService } from '../../../application/ports/ErrorTracesReader.js';
5
+ import { sourceMapReaderService } from '../../../application/ports/SourceMapReader.js';
5
6
  import { sourceTextReaderService } from '../../../application/ports/SourceTextReader.js';
6
7
  import { ErrorTracesService } from '../../../application/services/ErrorTracesService.js';
7
8
  import { StackTraceErrorTracesReader } from '../../../application/services/StackTraceErrorTracesReader.js';
9
+ import { NodeSourceMapReader } from '../../node/services/NodeSourceMapReader.js';
8
10
  import { NodeSourceTextReader } from '../../node/services/NodeSourceTextReader.js';
9
11
  import { PrismaInsightsPersistenceAdapter } from '../../prisma/adapters/PrismaInsightsPersistenceAdapter.js';
10
12
  import { CallFromPrismaCallBuilder } from '../../prisma/builders/CallFromPrismaCallBuilder.js';
@@ -34,6 +36,10 @@ export class InsightsContainerModule extends ContainerModule {
34
36
  options.bind(CallsFindQueryFromCallIdBuilder).toSelf().inSingletonScope();
35
37
  options.bind(CallManagementInputPort).toSelf().inSingletonScope();
36
38
  options.bind(ErrorTracesService).toSelf().inSingletonScope();
39
+ options
40
+ .bind(sourceMapReaderService)
41
+ .to(NodeSourceMapReader)
42
+ .inSingletonScope();
37
43
  options
38
44
  .bind(sourceTextReaderService)
39
45
  .to(NodeSourceTextReader)
@@ -1 +1 @@
1
- {"version":3,"file":"InsightsContainerModule.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/inversify/modules/InsightsContainerModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InsightsContainerModule.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/inversify/modules/InsightsContainerModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function isLocalFilePath(filePath: string): boolean;
2
+ //# sourceMappingURL=isLocalFilePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isLocalFilePath.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/isLocalFilePath.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD"}
@@ -0,0 +1,6 @@
1
+ import { isAbsolute } from 'node:path';
2
+ import { readUrlScheme } from './readUrlScheme.js';
3
+ export function isLocalFilePath(filePath) {
4
+ return readUrlScheme(filePath) === null && isAbsolute(filePath);
5
+ }
6
+ //# sourceMappingURL=isLocalFilePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isLocalFilePath.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/isLocalFilePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function readFileUrlPath(url: string): string | null;
2
+ //# sourceMappingURL=readFileUrlPath.d.ts.map