@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readFileUrlPath.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readFileUrlPath.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM1D"}
@@ -0,0 +1,10 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ export function readFileUrlPath(url) {
3
+ try {
4
+ return fileURLToPath(url);
5
+ }
6
+ catch (_error) {
7
+ return null;
8
+ }
9
+ }
10
+ //# sourceMappingURL=readFileUrlPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readFileUrlPath.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readFileUrlPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,MAAe,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function readResolvedSourcePath(source: string, sourceRoot: string | null, baseDirectory: string): string;
2
+ //# sourceMappingURL=readResolvedSourcePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readResolvedSourcePath.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readResolvedSourcePath.ts"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,aAAa,EAAE,MAAM,GACpB,MAAM,CA0BR"}
@@ -0,0 +1,48 @@
1
+ import { isAbsolute, resolve } from 'node:path';
2
+ import { readFileUrlPath } from './readFileUrlPath.js';
3
+ import { readUrlScheme } from './readUrlScheme.js';
4
+ export function readResolvedSourcePath(source, sourceRoot, baseDirectory) {
5
+ const absoluteSource = readAbsoluteSource(source);
6
+ if (absoluteSource !== null) {
7
+ return absoluteSource;
8
+ }
9
+ const root = readAbsoluteSourceRoot(sourceRoot, baseDirectory);
10
+ if (root === null) {
11
+ return resolve(baseDirectory, source);
12
+ }
13
+ const rootScheme = readUrlScheme(root);
14
+ if (rootScheme !== null && rootScheme !== 'file') {
15
+ try {
16
+ const base = root.endsWith('/') ? root : `${root}/`;
17
+ return new URL(source, base).href;
18
+ }
19
+ catch (_error) {
20
+ return source;
21
+ }
22
+ }
23
+ return resolve(root, source);
24
+ }
25
+ function readAbsoluteSource(source) {
26
+ const scheme = readUrlScheme(source);
27
+ if (scheme === 'file') {
28
+ return readFileUrlPath(source);
29
+ }
30
+ if (scheme !== null) {
31
+ return source;
32
+ }
33
+ if (isAbsolute(source)) {
34
+ return source;
35
+ }
36
+ return null;
37
+ }
38
+ function readAbsoluteSourceRoot(sourceRoot, baseDirectory) {
39
+ if (sourceRoot === null || sourceRoot.length === 0) {
40
+ return null;
41
+ }
42
+ const absoluteRoot = readAbsoluteSource(sourceRoot);
43
+ if (absoluteRoot !== null) {
44
+ return absoluteRoot;
45
+ }
46
+ return resolve(baseDirectory, sourceRoot);
47
+ }
48
+ //# sourceMappingURL=readResolvedSourcePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readResolvedSourcePath.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readResolvedSourcePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,UAAyB,EACzB,aAAqB;IAErB,MAAM,cAAc,GAAkB,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEjE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,IAAI,GAAkB,sBAAsB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAE9E,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,UAAU,GAAkB,aAAa,CAAC,IAAI,CAAC,CAAC;IAEtD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,GAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;YAE5D,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC;QAAC,OAAO,MAAe,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,MAAM,MAAM,GAAkB,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAC7B,UAAyB,EACzB,aAAqB;IAErB,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAkB,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEnE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function readSourceMapFilePath(generatedPath: string, url: string): string | null;
2
+ //# sourceMappingURL=readSourceMapFilePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readSourceMapFilePath.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readSourceMapFilePath.ts"],"names":[],"mappings":"AAKA,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CAoBf"}
@@ -0,0 +1,20 @@
1
+ import { dirname, isAbsolute, resolve } from 'node:path';
2
+ import { readFileUrlPath } from './readFileUrlPath.js';
3
+ import { readUrlScheme } from './readUrlScheme.js';
4
+ export function readSourceMapFilePath(generatedPath, url) {
5
+ const scheme = readUrlScheme(url);
6
+ if (scheme === 'http' || scheme === 'https') {
7
+ return null;
8
+ }
9
+ if (scheme === 'file') {
10
+ return readFileUrlPath(url);
11
+ }
12
+ if (scheme !== null) {
13
+ return null;
14
+ }
15
+ if (isAbsolute(url)) {
16
+ return url;
17
+ }
18
+ return resolve(dirname(generatedPath), url);
19
+ }
20
+ //# sourceMappingURL=readSourceMapFilePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readSourceMapFilePath.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readSourceMapFilePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,qBAAqB,CACnC,aAAqB,EACrB,GAAW;IAEX,MAAM,MAAM,GAAkB,aAAa,CAAC,GAAG,CAAC,CAAC;IAEjD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,12 @@
1
+ interface InlineSourceMapLocation {
2
+ readonly json: string;
3
+ readonly kind: 'inline';
4
+ }
5
+ interface UrlSourceMapLocation {
6
+ readonly kind: 'url';
7
+ readonly url: string;
8
+ }
9
+ export type SourceMapLocation = InlineSourceMapLocation | UrlSourceMapLocation;
10
+ export declare function readSourceMapLocation(source: string): SourceMapLocation | null;
11
+ export {};
12
+ //# sourceMappingURL=readSourceMapLocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readSourceMapLocation.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readSourceMapLocation.ts"],"names":[],"mappings":"AAKA,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,oBAAoB,CAAC;AAE/E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GACb,iBAAiB,GAAG,IAAI,CAwB1B"}
@@ -0,0 +1,56 @@
1
+ import { Buffer } from 'node:buffer';
2
+ const SOURCE_MAPPING_URL_PATTERN = /\/\/[#@][ \t]*sourceMappingURL=[ \t]*([^\s'"]+)|\/\*[#@][ \t]*sourceMappingURL=[ \t]*([^\s*]+)[ \t]*\*\//gu;
3
+ export function readSourceMapLocation(source) {
4
+ const url = readLastSourceMappingUrl(source);
5
+ if (url === null) {
6
+ return null;
7
+ }
8
+ if (url.startsWith('data:')) {
9
+ const json = readDataUrlJson(url);
10
+ if (json === null || json.length === 0) {
11
+ return null;
12
+ }
13
+ return {
14
+ json,
15
+ kind: 'inline',
16
+ };
17
+ }
18
+ return {
19
+ kind: 'url',
20
+ url,
21
+ };
22
+ }
23
+ function readDataUrlJson(url) {
24
+ const commaIndex = url.indexOf(',');
25
+ if (commaIndex < 0) {
26
+ return null;
27
+ }
28
+ const metadata = url.slice('data:'.length, commaIndex);
29
+ const payload = url.slice(commaIndex + 1);
30
+ if (payload.length === 0) {
31
+ return null;
32
+ }
33
+ try {
34
+ if (metadata.split(';').includes('base64')) {
35
+ return Buffer.from(payload, 'base64').toString('utf8');
36
+ }
37
+ return decodeURIComponent(payload);
38
+ }
39
+ catch (_error) {
40
+ return null;
41
+ }
42
+ }
43
+ function readLastSourceMappingUrl(source) {
44
+ SOURCE_MAPPING_URL_PATTERN.lastIndex = 0;
45
+ let lastUrl = null;
46
+ let match = SOURCE_MAPPING_URL_PATTERN.exec(source);
47
+ while (match !== null) {
48
+ const url = match[1] ?? match[2];
49
+ if (url !== undefined && url.length > 0) {
50
+ lastUrl = url;
51
+ }
52
+ match = SOURCE_MAPPING_URL_PATTERN.exec(source);
53
+ }
54
+ return lastUrl;
55
+ }
56
+ //# sourceMappingURL=readSourceMapLocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readSourceMapLocation.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readSourceMapLocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,0BAA0B,GAC9B,4GAA4G,CAAC;AAc/G,MAAM,UAAU,qBAAqB,CACnC,MAAc;IAEd,MAAM,GAAG,GAAkB,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAE5D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAkB,eAAe,CAAC,GAAG,CAAC,CAAC;QAEjD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK;QACX,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,UAAU,GAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAW,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAW,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAElD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,MAAe,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAc;IAC9C,0BAA0B,CAAC,SAAS,GAAG,CAAC,CAAC;IAEzC,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,KAAK,GAA2B,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5E,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,GAAG,GAAuB,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAErD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;QAED,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function readUrlScheme(value: string): string | null;
2
+ //# sourceMappingURL=readUrlScheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readUrlScheme.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readUrlScheme.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc1D"}
@@ -0,0 +1,13 @@
1
+ const URL_SCHEME_PATTERN = /^([a-zA-Z][a-zA-Z+\-.]*):/u;
2
+ export function readUrlScheme(value) {
3
+ const match = URL_SCHEME_PATTERN.exec(value);
4
+ if (match === null) {
5
+ return null;
6
+ }
7
+ const scheme = match[1];
8
+ if (scheme === undefined || scheme.length === 1) {
9
+ return null;
10
+ }
11
+ return scheme.toLowerCase();
12
+ }
13
+ //# sourceMappingURL=readUrlScheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readUrlScheme.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/calculations/readUrlScheme.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAW,4BAA4B,CAAC;AAEhE,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,KAAK,GAA2B,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAErE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAuB,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type MappedSource, type SourceMapReader } from '../../../application/ports/SourceMapReader.js';
2
+ import { type SourceText, type SourceTextReader } from '../../../application/ports/SourceTextReader.js';
3
+ export declare class NodeSourceMapReader implements SourceMapReader {
4
+ #private;
5
+ constructor(sourceTextReader: SourceTextReader);
6
+ read(generated: SourceText, line: number, column: number): Promise<MappedSource | null>;
7
+ }
8
+ //# sourceMappingURL=NodeSourceMapReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeSourceMapReader.d.ts","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/services/NodeSourceMapReader.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EAEtB,MAAM,gDAAgD,CAAC;AAoExD,qBACa,mBAAoB,YAAW,eAAe;;gBAMvD,gBAAgB,EAAE,gBAAgB;IAKvB,IAAI,CACf,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAiKhC"}
@@ -0,0 +1,381 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { SourceMap } from 'node:module';
14
+ import { dirname } from 'node:path';
15
+ import { inject, injectable } from 'inversify';
16
+ import { sourceTextReaderService, } from '../../../application/ports/SourceTextReader.js';
17
+ import { isLocalFilePath } from '../calculations/isLocalFilePath.js';
18
+ import { readResolvedSourcePath } from '../calculations/readResolvedSourcePath.js';
19
+ import { readSourceMapFilePath } from '../calculations/readSourceMapFilePath.js';
20
+ import { readSourceMapLocation, } from '../calculations/readSourceMapLocation.js';
21
+ const SOURCE_MAP_VERSION = 3;
22
+ let NodeSourceMapReader = class NodeSourceMapReader {
23
+ #parsedMaps = new Map();
24
+ #sourceTextReader;
25
+ constructor(sourceTextReader) {
26
+ this.#sourceTextReader = sourceTextReader;
27
+ }
28
+ async read(generated, line, column) {
29
+ try {
30
+ return await this.#read(generated, line, column);
31
+ }
32
+ catch (_error) {
33
+ return null;
34
+ }
35
+ }
36
+ async #read(generated, line, column) {
37
+ if (!isPositiveInteger(line) || !isPositiveInteger(column)) {
38
+ return null;
39
+ }
40
+ const loaded = await this.#readParsedMap(generated);
41
+ if (loaded === null) {
42
+ return null;
43
+ }
44
+ const position = readMappedPosition(loaded.parsed.map, line, column);
45
+ if (position === null) {
46
+ return null;
47
+ }
48
+ return this.#readOriginalSource(generated, loaded, position);
49
+ }
50
+ async #readOriginalSource(generated, loaded, position) {
51
+ const ref = readOriginalSourceRef(loaded.parsed.sections, position.source, position.generatedLine, position.generatedColumn);
52
+ const sourcePath = readResolvedSourcePath(position.source, ref?.sourceRoot ?? null, loaded.baseDirectory);
53
+ if (ref !== null && ref.content !== null) {
54
+ return {
55
+ column: position.column,
56
+ line: position.line,
57
+ sourceText: {
58
+ path: sourcePath,
59
+ source: ref.content,
60
+ version: `${generated.path}:${generated.version}:embedded:${String(ref.section)}:${String(ref.index)}`,
61
+ },
62
+ };
63
+ }
64
+ if (!isLocalFilePath(sourcePath)) {
65
+ return null;
66
+ }
67
+ const sourceText = await this.#sourceTextReader.read(sourcePath);
68
+ if (sourceText === null) {
69
+ return null;
70
+ }
71
+ return {
72
+ column: position.column,
73
+ line: position.line,
74
+ sourceText,
75
+ };
76
+ }
77
+ async #readParsedMap(generated) {
78
+ const location = readSourceMapLocation(generated.source);
79
+ if (location === null) {
80
+ return null;
81
+ }
82
+ if (location.kind === 'inline') {
83
+ return this.#readCachedMap(`inline:${generated.path}`, generated.version, dirname(generated.path), location.json);
84
+ }
85
+ const mapPath = readSourceMapFilePath(generated.path, location.url);
86
+ if (mapPath === null) {
87
+ return null;
88
+ }
89
+ const mapText = await this.#sourceTextReader.read(mapPath);
90
+ if (mapText === null) {
91
+ return null;
92
+ }
93
+ return this.#readCachedMap(mapText.path, mapText.version, dirname(mapText.path), mapText.source);
94
+ }
95
+ #readCachedMap(key, version, baseDirectory, json) {
96
+ const cached = this.#parsedMaps.get(key);
97
+ if (cached !== undefined && cached.version === version) {
98
+ if (cached.parsed === null) {
99
+ return null;
100
+ }
101
+ return {
102
+ baseDirectory: cached.baseDirectory,
103
+ parsed: cached.parsed,
104
+ };
105
+ }
106
+ const parsed = readParsedSourceMap(json);
107
+ this.#parsedMaps.set(key, {
108
+ baseDirectory,
109
+ parsed,
110
+ version,
111
+ });
112
+ if (parsed === null) {
113
+ return null;
114
+ }
115
+ return {
116
+ baseDirectory,
117
+ parsed,
118
+ };
119
+ }
120
+ };
121
+ NodeSourceMapReader = __decorate([
122
+ injectable(),
123
+ __param(0, inject(sourceTextReaderService)),
124
+ __metadata("design:paramtypes", [Object])
125
+ ], NodeSourceMapReader);
126
+ export { NodeSourceMapReader };
127
+ function compareSourcePosition(leftLine, leftColumn, rightLine, rightColumn) {
128
+ if (leftLine !== rightLine) {
129
+ return leftLine < rightLine ? -1 : 1;
130
+ }
131
+ if (leftColumn !== rightColumn) {
132
+ return leftColumn < rightColumn ? -1 : 1;
133
+ }
134
+ return 0;
135
+ }
136
+ function isNonNegativeInteger(value) {
137
+ return typeof value === 'number' && Number.isInteger(value) && value >= 0;
138
+ }
139
+ function isPositiveInteger(value) {
140
+ return typeof value === 'number' && Number.isInteger(value) && value > 0;
141
+ }
142
+ function isPositionAtOrBefore(line, column, otherLine, otherColumn) {
143
+ return compareSourcePosition(line, column, otherLine, otherColumn) <= 0;
144
+ }
145
+ function isRecord(value) {
146
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
147
+ }
148
+ function isSourceMapping(value) {
149
+ return ('originalSource' in value &&
150
+ typeof value.originalSource === 'string' &&
151
+ value.originalSource.length > 0 &&
152
+ 'generatedLine' in value &&
153
+ typeof value.generatedLine === 'number' &&
154
+ 'originalLine' in value &&
155
+ typeof value.originalLine === 'number' &&
156
+ 'originalColumn' in value &&
157
+ typeof value.originalColumn === 'number');
158
+ }
159
+ function isSourceOrigin(value) {
160
+ return ('fileName' in value &&
161
+ typeof value.fileName === 'string' &&
162
+ value.fileName.length > 0 &&
163
+ 'lineNumber' in value &&
164
+ isPositiveInteger(value.lineNumber) &&
165
+ 'columnNumber' in value &&
166
+ isPositiveInteger(value.columnNumber));
167
+ }
168
+ function readFlatSection(value) {
169
+ if (typeof value['mappings'] !== 'string') {
170
+ return null;
171
+ }
172
+ const section = readSection(value, {
173
+ column: 0,
174
+ line: 0,
175
+ });
176
+ if (section === null) {
177
+ return null;
178
+ }
179
+ return [section];
180
+ }
181
+ function readIndexedSection(value) {
182
+ if (!isRecord(value)) {
183
+ return null;
184
+ }
185
+ const offset = readSectionOffset(value['offset']);
186
+ const map = value['map'];
187
+ if (offset === null || !isRecord(map)) {
188
+ return null;
189
+ }
190
+ return readSection(map, offset);
191
+ }
192
+ function readIndexedSections(value) {
193
+ if (!Array.isArray(value) || value.length === 0) {
194
+ return null;
195
+ }
196
+ const sections = [];
197
+ for (const item of value) {
198
+ const section = readIndexedSection(item);
199
+ if (section !== null) {
200
+ sections.push(section);
201
+ }
202
+ }
203
+ if (sections.length === 0) {
204
+ return null;
205
+ }
206
+ return sections;
207
+ }
208
+ function readMappedPosition(map, line, column) {
209
+ const generatedLine = line - 1;
210
+ const generatedColumn = column - 1;
211
+ const entry = readSourceMapping(map.findEntry(generatedLine, generatedColumn));
212
+ // Ignore mappings that start on an earlier generated line.
213
+ if (entry === null || entry.generatedLine !== generatedLine) {
214
+ return null;
215
+ }
216
+ const origin = readSourceOrigin(map.findOrigin(line, column));
217
+ if (origin !== null && origin.fileName === entry.originalSource) {
218
+ return {
219
+ column: origin.columnNumber,
220
+ generatedColumn,
221
+ generatedLine,
222
+ line: origin.lineNumber,
223
+ source: entry.originalSource,
224
+ };
225
+ }
226
+ const originalColumn = entry.originalColumn + 1;
227
+ const originalLine = entry.originalLine + 1;
228
+ if (!isPositiveInteger(originalColumn) || !isPositiveInteger(originalLine)) {
229
+ return null;
230
+ }
231
+ return {
232
+ column: originalColumn,
233
+ generatedColumn,
234
+ generatedLine,
235
+ line: originalLine,
236
+ source: entry.originalSource,
237
+ };
238
+ }
239
+ function readNodeSourceMap(value) {
240
+ try {
241
+ return new SourceMap(value);
242
+ }
243
+ catch (_error) {
244
+ return null;
245
+ }
246
+ }
247
+ function readOriginalSourceRef(sections, originalSource, generatedLine, generatedColumn) {
248
+ const sectionIndex = readSectionIndex(sections, generatedLine, generatedColumn);
249
+ const section = sections[sectionIndex];
250
+ if (section === undefined) {
251
+ return null;
252
+ }
253
+ const index = section.sources.indexOf(originalSource);
254
+ if (index < 0) {
255
+ return null;
256
+ }
257
+ const content = section.sourcesContent?.[index];
258
+ return {
259
+ content: typeof content === 'string' ? content : null,
260
+ index,
261
+ section: sectionIndex,
262
+ sourceRoot: section.sourceRoot,
263
+ };
264
+ }
265
+ function readParsedSourceMap(text) {
266
+ let parsed;
267
+ try {
268
+ parsed = JSON.parse(text);
269
+ }
270
+ catch (_error) {
271
+ return null;
272
+ }
273
+ if (!isRecord(parsed) || parsed['version'] !== SOURCE_MAP_VERSION) {
274
+ return null;
275
+ }
276
+ const sections = readSections(parsed);
277
+ if (sections === null) {
278
+ return null;
279
+ }
280
+ const map = readNodeSourceMap(parsed);
281
+ if (map === null) {
282
+ return null;
283
+ }
284
+ return {
285
+ map,
286
+ sections,
287
+ };
288
+ }
289
+ function readSection(value, offset) {
290
+ const sources = readSources(value['sources']);
291
+ if (sources === null) {
292
+ return null;
293
+ }
294
+ return {
295
+ column: offset.column,
296
+ line: offset.line,
297
+ sourceRoot: readSourceRoot(value['sourceRoot']),
298
+ sources,
299
+ sourcesContent: readSourcesContent(value['sourcesContent']),
300
+ };
301
+ }
302
+ function readSectionIndex(sections, generatedLine, generatedColumn) {
303
+ let selected = -1;
304
+ for (let index = 0; index < sections.length; index += 1) {
305
+ const section = sections[index];
306
+ if (section === undefined ||
307
+ !isPositionAtOrBefore(section.line, section.column, generatedLine, generatedColumn)) {
308
+ continue;
309
+ }
310
+ const selectedSection = sections[selected];
311
+ if (selectedSection !== undefined &&
312
+ compareSourcePosition(section.line, section.column, selectedSection.line, selectedSection.column) < 0) {
313
+ continue;
314
+ }
315
+ selected = index;
316
+ }
317
+ return selected;
318
+ }
319
+ function readSectionOffset(value) {
320
+ if (!isRecord(value)) {
321
+ return null;
322
+ }
323
+ const column = value['column'];
324
+ const line = value['line'];
325
+ if (!isNonNegativeInteger(column) || !isNonNegativeInteger(line)) {
326
+ return null;
327
+ }
328
+ return {
329
+ column,
330
+ line,
331
+ };
332
+ }
333
+ function readSections(value) {
334
+ const indexed = readIndexedSections(value['sections']);
335
+ if (indexed !== null) {
336
+ return indexed;
337
+ }
338
+ return readFlatSection(value);
339
+ }
340
+ function readSourceMapping(value) {
341
+ if (!isSourceMapping(value)) {
342
+ return null;
343
+ }
344
+ return value;
345
+ }
346
+ function readSourceOrigin(value) {
347
+ if (!isSourceOrigin(value)) {
348
+ return null;
349
+ }
350
+ return value;
351
+ }
352
+ function readSourceRoot(value) {
353
+ if (typeof value !== 'string' || value.length === 0) {
354
+ return null;
355
+ }
356
+ return value;
357
+ }
358
+ function readSources(value) {
359
+ if (!Array.isArray(value)) {
360
+ return null;
361
+ }
362
+ const sources = [];
363
+ for (const item of value) {
364
+ if (typeof item !== 'string') {
365
+ return null;
366
+ }
367
+ sources.push(item);
368
+ }
369
+ return sources;
370
+ }
371
+ function readSourcesContent(value) {
372
+ if (!Array.isArray(value)) {
373
+ return null;
374
+ }
375
+ const contents = [];
376
+ for (const item of value) {
377
+ contents.push(typeof item === 'string' ? item : null);
378
+ }
379
+ return contents;
380
+ }
381
+ //# sourceMappingURL=NodeSourceMapReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeSourceMapReader.js","sourceRoot":"","sources":["../../../../../src/insights/adapter/node/services/NodeSourceMapReader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type SourceText } from './SourceTextReader.js';
2
+ export declare const sourceMapReaderService: symbol;
3
+ export interface MappedSource {
4
+ readonly column: number;
5
+ readonly line: number;
6
+ readonly sourceText: SourceText;
7
+ }
8
+ export interface SourceMapReader {
9
+ read(generated: SourceText, line: number, column: number): Promise<MappedSource | null>;
10
+ }
11
+ //# sourceMappingURL=SourceMapReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceMapReader.d.ts","sourceRoot":"","sources":["../../../../src/insights/application/ports/SourceMapReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,eAAO,MAAM,sBAAsB,EAAE,MAAyC,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CACF,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export const sourceMapReaderService = Symbol('SourceMapReaderService');
2
+ //# sourceMappingURL=SourceMapReader.js.map