effect-errors 1.7.16 → 1.7.18
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.
- package/README.md +71 -1
- package/cjs/capture-errors.js.map +1 -1
- package/cjs/logic/pretty-printing/format-failures-title.js +6 -1
- package/cjs/logic/pretty-printing/format-failures-title.js.map +1 -1
- package/cjs/logic/pretty-printing/format-span-attributes.js +11 -1
- package/cjs/logic/pretty-printing/format-span-attributes.js.map +1 -1
- package/cjs/source-maps/get-error-related-sources.js +1 -0
- package/cjs/source-maps/get-error-related-sources.js.map +1 -1
- package/cjs/source-maps/get-sources-from-map-file.js +8 -6
- package/cjs/source-maps/get-sources-from-map-file.js.map +1 -1
- package/cjs/source-maps/get-sources-from-span.js +52 -0
- package/cjs/source-maps/get-sources-from-span.js.map +1 -0
- package/cjs/source-maps/get-sources-from-stack.js +25 -0
- package/cjs/source-maps/get-sources-from-stack.js.map +1 -0
- package/cjs/source-maps/maybe-map-sourcemaps.js +8 -10
- package/cjs/source-maps/maybe-map-sourcemaps.js.map +1 -1
- package/cjs/source-maps/transform-raw-error.js +21 -36
- package/cjs/source-maps/transform-raw-error.js.map +1 -1
- package/dts/capture-errors.d.ts +5 -3
- package/dts/capture-errors.d.ts.map +1 -1
- package/dts/logic/errors/capture-errors-from-cause.d.ts +1 -1
- package/dts/logic/errors/capture-errors-from-cause.d.ts.map +1 -1
- package/dts/logic/pretty-printing/format-failures-title.d.ts.map +1 -1
- package/dts/logic/pretty-printing/format-span-attributes.d.ts +2 -2
- package/dts/logic/pretty-printing/format-span-attributes.d.ts.map +1 -1
- package/dts/logic/pretty-printing/maybe-print-node-stacktrace.d.ts +2 -2
- package/dts/logic/pretty-printing/maybe-print-node-stacktrace.d.ts.map +1 -1
- package/dts/logic/pretty-printing/maybe-print-span-attributes.d.ts +2 -2
- package/dts/logic/pretty-printing/maybe-print-span-attributes.d.ts.map +1 -1
- package/dts/logic/pretty-printing/print-effect-stacktrace.d.ts +2 -2
- package/dts/logic/pretty-printing/print-effect-stacktrace.d.ts.map +1 -1
- package/dts/logic/spans/get-span-duration.d.ts +1 -1
- package/dts/logic/spans/get-span-duration.d.ts.map +1 -1
- package/dts/source-maps/get-error-related-sources.d.ts +3 -3
- package/dts/source-maps/get-error-related-sources.d.ts.map +1 -1
- package/dts/source-maps/get-source-code.d.ts +2 -2
- package/dts/source-maps/get-source-code.d.ts.map +1 -1
- package/dts/source-maps/get-sources-from-map-file.d.ts +8 -4
- package/dts/source-maps/get-sources-from-map-file.d.ts.map +1 -1
- package/dts/source-maps/get-sources-from-span.d.ts +19 -0
- package/dts/source-maps/get-sources-from-span.d.ts.map +1 -0
- package/dts/source-maps/get-sources-from-stack.d.ts +6 -0
- package/dts/source-maps/get-sources-from-stack.d.ts.map +1 -0
- package/dts/source-maps/maybe-map-sourcemaps.d.ts +8 -3
- package/dts/source-maps/maybe-map-sourcemaps.d.ts.map +1 -1
- package/dts/source-maps/transform-raw-error.d.ts +12 -4
- package/dts/source-maps/transform-raw-error.d.ts.map +1 -1
- package/dts/types/pretty-error.type.d.ts +1 -1
- package/dts/types/pretty-error.type.d.ts.map +1 -1
- package/esm/capture-errors.js.map +1 -1
- package/esm/logic/pretty-printing/format-failures-title.js +6 -1
- package/esm/logic/pretty-printing/format-failures-title.js.map +1 -1
- package/esm/logic/pretty-printing/format-span-attributes.js +11 -1
- package/esm/logic/pretty-printing/format-span-attributes.js.map +1 -1
- package/esm/source-maps/get-error-related-sources.js +1 -0
- package/esm/source-maps/get-error-related-sources.js.map +1 -1
- package/esm/source-maps/get-sources-from-map-file.js +7 -5
- package/esm/source-maps/get-sources-from-map-file.js.map +1 -1
- package/esm/source-maps/get-sources-from-span.js +45 -0
- package/esm/source-maps/get-sources-from-span.js.map +1 -0
- package/esm/source-maps/get-sources-from-stack.js +18 -0
- package/esm/source-maps/get-sources-from-stack.js.map +1 -0
- package/esm/source-maps/maybe-map-sourcemaps.js +8 -10
- package/esm/source-maps/maybe-map-sourcemaps.js.map +1 -1
- package/esm/source-maps/transform-raw-error.js +22 -37
- package/esm/source-maps/transform-raw-error.js.map +1 -1
- package/esm/tsconfig-prod.tsbuildinfo +1 -1
- package/package.json +5 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
|
-
import {
|
|
3
|
-
import { type ErrorRelatedSources } from './get-sources-from-map-file.js';
|
|
4
|
-
export declare const getErrorRelatedSources: (sourceFile: string) => Effect.Effect<ErrorRelatedSources | undefined, FsError>;
|
|
2
|
+
import type { FsError } from '../logic/effects/fs/fs-error.js';
|
|
3
|
+
import { type ErrorRelatedSources, type RawErrorLocation } from './get-sources-from-map-file.js';
|
|
4
|
+
export declare const getErrorRelatedSources: (sourceFile: string) => Effect.Effect<ErrorRelatedSources | RawErrorLocation | undefined, FsError>;
|
|
5
5
|
//# sourceMappingURL=get-error-related-sources.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-error-related-sources.d.ts","sourceRoot":"","sources":["../../../src/source-maps/get-error-related-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get-error-related-sources.d.ts","sourceRoot":"","sources":["../../../src/source-maps/get-error-related-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAI/D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EAEtB,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,sBAAsB,eACrB,MAAM,KACjB,MAAM,CAAC,MAAM,CAAC,mBAAmB,GAAG,gBAAgB,GAAG,SAAS,EAAE,OAAO,CAuBxE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { FsError } from '../logic/effects/fs/fs-error.js';
|
|
3
|
+
import type { ErrorLocation } from './get-error-location-from-file-path.js';
|
|
4
4
|
export interface SourceCode {
|
|
5
5
|
line: number;
|
|
6
6
|
code: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-source-code.d.ts","sourceRoot":"","sources":["../../../src/source-maps/get-source-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get-source-code.d.ts","sourceRoot":"","sources":["../../../src/source-maps/get-source-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAE5E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAID,eAAO,MAAM,aAAa,+BACI,aAAa,yBAExC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,CAoBlC,CAAC"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { FsError } from '../logic/effects/fs/fs-error.js';
|
|
3
|
+
import type { ErrorLocation } from './get-error-location-from-file-path.js';
|
|
4
4
|
import { type SourceCode } from './get-source-code.js';
|
|
5
5
|
export interface ErrorRelatedSources {
|
|
6
|
-
|
|
6
|
+
_tag: 'sources';
|
|
7
|
+
source: SourceCode[];
|
|
7
8
|
runPath: string;
|
|
8
9
|
sourcesPath: string | undefined;
|
|
9
10
|
}
|
|
10
|
-
export
|
|
11
|
+
export interface RawErrorLocation extends ErrorLocation {
|
|
12
|
+
_tag: 'location';
|
|
13
|
+
}
|
|
14
|
+
export declare const getSourcesFromMapFile: (location: ErrorLocation) => Effect.Effect<ErrorRelatedSources | RawErrorLocation | undefined, FsError>;
|
|
11
15
|
//# sourceMappingURL=get-sources-from-map-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-sources-from-map-file.d.ts","sourceRoot":"","sources":["../../../src/source-maps/get-sources-from-map-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"get-sources-from-map-file.d.ts","sourceRoot":"","sources":["../../../src/source-maps/get-sources-from-map-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAM/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,sBAAsB,CAAC;AAEtE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,eAAO,MAAM,qBAAqB,aACtB,aAAa,KACtB,MAAM,CAAC,MAAM,CAAC,mBAAmB,GAAG,gBAAgB,GAAG,SAAS,EAAE,OAAO,CAkDxE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Effect } from 'effect';
|
|
2
|
+
import type { Span } from 'effect/Tracer';
|
|
3
|
+
import type { ErrorRelatedSources, RawErrorLocation } from './get-sources-from-map-file.js';
|
|
4
|
+
export declare const getSourcesFromSpan: ({ span, sources, location, }: {
|
|
5
|
+
span: Span | undefined;
|
|
6
|
+
sources: ErrorRelatedSources[];
|
|
7
|
+
location: RawErrorLocation[];
|
|
8
|
+
}) => Effect.Effect<{
|
|
9
|
+
spans: {
|
|
10
|
+
name: string;
|
|
11
|
+
attributes: {
|
|
12
|
+
[k: string]: unknown;
|
|
13
|
+
};
|
|
14
|
+
durationInMilliseconds: number | undefined;
|
|
15
|
+
}[];
|
|
16
|
+
location: RawErrorLocation[];
|
|
17
|
+
sources: ErrorRelatedSources[];
|
|
18
|
+
}, import("../logic/effects/fs/fs-error.js").FsError, never>;
|
|
19
|
+
//# sourceMappingURL=get-sources-from-span.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-sources-from-span.d.ts","sourceRoot":"","sources":["../../../src/source-maps/get-sources-from-span.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,eAAe,CAAC;AAInD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,kBAAkB,iCAI5B;IACD,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;;;;;;;;;;4DAiDE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Effect } from 'effect';
|
|
2
|
+
export declare const getSourcesFromStack: (maybeStack: string | undefined) => Effect.Effect<{
|
|
3
|
+
sources: import("./get-sources-from-map-file.js").ErrorRelatedSources[];
|
|
4
|
+
location: import("./get-sources-from-map-file.js").RawErrorLocation[];
|
|
5
|
+
}, import("../logic/effects/fs/fs-error.js").FsError, never>;
|
|
6
|
+
//# sourceMappingURL=get-sources-from-stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-sources-from-stack.d.ts","sourceRoot":"","sources":["../../../src/source-maps/get-sources-from-stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAMtC,eAAO,MAAM,mBAAmB,eAAgB,MAAM,GAAG,SAAS;;;4DAoB/D,CAAC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export
|
|
2
|
+
import type { FsError } from '../logic/effects/fs/fs-error.js';
|
|
3
|
+
import type { ErrorRelatedSources, RawErrorLocation } from './get-sources-from-map-file.js';
|
|
4
|
+
export type StackEntry = {
|
|
5
|
+
_tag: 'stack-entry';
|
|
6
|
+
runPath: string;
|
|
7
|
+
};
|
|
8
|
+
export type MaybeMappedSources = ErrorRelatedSources | RawErrorLocation | StackEntry;
|
|
9
|
+
export declare const maybeMapSourcemaps: (stacktrace: string[]) => Effect.Effect<MaybeMappedSources[], FsError>;
|
|
5
10
|
//# sourceMappingURL=maybe-map-sourcemaps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maybe-map-sourcemaps.d.ts","sourceRoot":"","sources":["../../../src/source-maps/maybe-map-sourcemaps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"maybe-map-sourcemaps.d.ts","sourceRoot":"","sources":["../../../src/source-maps/maybe-map-sourcemaps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAI/D,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,gBAAgB,GAChB,UAAU,CAAC;AAEf,eAAO,MAAM,kBAAkB,eACjB,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,OAAO,CAgC3C,CAAC"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { type ErrorRelatedSources } from './get-sources-from-map-file.js';
|
|
2
|
+
import type { CaptureErrorsOptions } from '../capture-errors.js';
|
|
3
|
+
import type { PrettyError } from '../types/pretty-error.type.js';
|
|
5
4
|
export declare const transformRawError: ({ reverseSpans, stripCwd }: CaptureErrorsOptions) => ({ message, stack: maybeStack, span, errorType, isPlainString, }: PrettyError) => Effect.Effect<{
|
|
6
5
|
errorType: unknown;
|
|
7
6
|
message: unknown;
|
|
8
7
|
stack: string[] | undefined;
|
|
9
|
-
sources:
|
|
8
|
+
sources: {
|
|
9
|
+
source: import("./get-source-code.js").SourceCode[];
|
|
10
|
+
runPath: string;
|
|
11
|
+
sourcesPath: string | undefined;
|
|
12
|
+
}[] | undefined;
|
|
13
|
+
location: {
|
|
14
|
+
filePath: string;
|
|
15
|
+
line: number;
|
|
16
|
+
column: number;
|
|
17
|
+
}[] | undefined;
|
|
10
18
|
spans: {
|
|
11
19
|
name: string;
|
|
12
20
|
attributes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-raw-error.d.ts","sourceRoot":"","sources":["../../../src/source-maps/transform-raw-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transform-raw-error.d.ts","sourceRoot":"","sources":["../../../src/source-maps/transform-raw-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAKjE,eAAO,MAAM,iBAAiB,+BACC,oBAAoB,uEAO9C,WAAW;;;;;;;;;;;;;;;;;;;;;;4DA+BX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pretty-error.type.d.ts","sourceRoot":"","sources":["../../../src/types/pretty-error.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pretty-error.type.d.ts","sourceRoot":"","sources":["../../../src/types/pretty-error.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,qBAAa,WAAW;IAEpB,QAAQ,CAAC,OAAO,EAAE,OAAO;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAClC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO;gBAJnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,aAAa,EAAE,OAAO,EACtB,SAAS,CAAC,EAAE,OAAO;CAE/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture-errors.js","names":["Effect","isInterruptedOnly","captureErrorsFrom","transformRawError","captureErrors","cause","options","reverseSpans","stripCwd","gen","interrupted","errors","rawErrors","forEach"],"sources":["../../src/capture-errors.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAAqBC,iBAAiB,QAAQ,cAAc;AAG5D,SAASC,iBAAiB,QAAQ,6CAA6C;
|
|
1
|
+
{"version":3,"file":"capture-errors.js","names":["Effect","isInterruptedOnly","captureErrorsFrom","transformRawError","captureErrors","cause","options","reverseSpans","stripCwd","gen","interrupted","errors","rawErrors","forEach"],"sources":["../../src/capture-errors.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAAqBC,iBAAiB,QAAQ,cAAc;AAG5D,SAASC,iBAAiB,QAAQ,6CAA6C;AAG/E,SAASC,iBAAiB,QAAQ,sCAAsC;AA4BxE,OAAO,MAAMC,aAAa,GAAGA,CAC3BC,KAAe,EACfC,OAAA,GAAgC;EAC9BC,YAAY,EAAE,IAAI;EAClBC,QAAQ,EAAE;CACX,KAEDR,MAAM,CAACS,GAAG,CAAC,aAAS;EAClB,IAAIR,iBAAiB,CAACI,KAAK,CAAC,EAAE;IAC5B,OAAO;MACLK,WAAW,EAAE,IAAI;MACjBC,MAAM,EAAE;KACT;EACH;EAEA,MAAMC,SAAS,GAAGV,iBAAiB,CAAIG,KAAK,CAAC;EAC7C,MAAMM,MAAM,GAAG,OAAOX,MAAM,CAACa,OAAO,CAACD,SAAS,EAAET,iBAAiB,CAACG,OAAO,CAAC,CAAC;EAE3E,OAAO;IACLI,WAAW,EAAE,KAAK;IAClBC;GACD;AACH,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import color from 'picocolors';
|
|
2
|
-
export const formatFailuresTitle = (errorType, message, failuresLength, failureIndex) =>
|
|
2
|
+
export const formatFailuresTitle = (errorType, message, failuresLength, failureIndex) => {
|
|
3
|
+
const failuresCount = failuresLength > 1 ? color.bgRed(color.white(` #${failureIndex + 1} -`)) : '';
|
|
4
|
+
const type = color.bgRed(color.white(` ${errorType ?? 'Unknown error'} `));
|
|
5
|
+
const formattedMessage = color.bold(color.white(` • ${message}`));
|
|
6
|
+
return `💥 ${failuresCount}${type}${formattedMessage}\r\n`;
|
|
7
|
+
};
|
|
3
8
|
//# sourceMappingURL=format-failures-title.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-failures-title.js","names":["color","formatFailuresTitle","errorType","message","failuresLength","failureIndex","bgRed","white","bold"],"sources":["../../../../src/logic/pretty-printing/format-failures-title.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAK,MAAM,YAAY;AAE9B,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,SAAkB,EAClBC,OAAgB,EAChBC,cAAsB,EACtBC,YAAoB,
|
|
1
|
+
{"version":3,"file":"format-failures-title.js","names":["color","formatFailuresTitle","errorType","message","failuresLength","failureIndex","failuresCount","bgRed","white","type","formattedMessage","bold"],"sources":["../../../../src/logic/pretty-printing/format-failures-title.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAK,MAAM,YAAY;AAE9B,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,SAAkB,EAClBC,OAAgB,EAChBC,cAAsB,EACtBC,YAAoB,KAClB;EACF,MAAMC,aAAa,GACjBF,cAAc,GAAG,CAAC,GACdJ,KAAK,CAACO,KAAK,CAACP,KAAK,CAACQ,KAAK,CAAC,KAAKH,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,GACnD,EAAE;EACR,MAAMI,IAAI,GAAGT,KAAK,CAACO,KAAK,CACtBP,KAAK,CAACQ,KAAK,CAAC,IAAKN,SAAgC,IAAI,eAAe,GAAG,CAAC,CACzE;EACD,MAAMQ,gBAAgB,GAAGV,KAAK,CAACW,IAAI,CAACX,KAAK,CAACQ,KAAK,CAAC,MAAML,OAAiB,EAAE,CAAC,CAAC;EAE3E,OAAO,MAAMG,aAAa,GAAGG,IAAI,GAAGC,gBAAgB,MAAM;AAC5D,CAAC","ignoreList":[]}
|
|
@@ -27,7 +27,17 @@ export const formatSpanAttributes = (span, {
|
|
|
27
27
|
formattedAttributes,
|
|
28
28
|
stack
|
|
29
29
|
} = getSpanAttributes(attributes, isLastEntry);
|
|
30
|
-
const
|
|
30
|
+
const maybeCircle = isFirstEntry ? `\r\n${color.gray('◯')}` : '';
|
|
31
|
+
const message = color.white(`${maybeCircle}\r\n${spanStackTrailingChar(isLastEntry)}${color.gray('─')}${filePath}${getSpanDuration(status, isLastEntry)}${formattedAttributes}`);
|
|
32
|
+
// const message = color.white(
|
|
33
|
+
// maybeCircle +
|
|
34
|
+
// '\r\n' +
|
|
35
|
+
// spanStackTrailingChar(isLastEntry) +
|
|
36
|
+
// color.gray('─') +
|
|
37
|
+
// filePath +
|
|
38
|
+
// getSpanDuration(status, isLastEntry) +
|
|
39
|
+
// formattedAttributes,
|
|
40
|
+
// );
|
|
31
41
|
return {
|
|
32
42
|
message,
|
|
33
43
|
stack
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-span-attributes.js","names":["Option","color","getSpanAttributes","getSpanDuration","spanStackTrailingChar","stripCwdPath","formatSpanAttributes","span","stripCwd","reverseSpans","current","spans","undefined","_tag","push","getOrUndefined","parent","orderedSpans","toReversed","map","name","attributes","status","index","isFirstEntry","isLastEntry","length","filePath","formattedAttributes","stack","
|
|
1
|
+
{"version":3,"file":"format-span-attributes.js","names":["Option","color","getSpanAttributes","getSpanDuration","spanStackTrailingChar","stripCwdPath","formatSpanAttributes","span","stripCwd","reverseSpans","current","spans","undefined","_tag","push","getOrUndefined","parent","orderedSpans","toReversed","map","name","attributes","status","index","isFirstEntry","isLastEntry","length","filePath","formattedAttributes","stack","maybeCircle","gray","message","white","reduce","prev","curr"],"sources":["../../../../src/logic/pretty-printing/format-span-attributes.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAE/B,OAAOC,KAAK,MAAM,YAAY;AAG9B,SAASC,iBAAiB,QAAQ,iCAAiC;AACnE,SAASC,eAAe,QAAQ,+BAA+B;AAC/D,SAASC,qBAAqB,QAAQ,uCAAuC;AAC7E,SAASC,YAAY,QAAQ,sBAAsB;AAEnD,OAAO,MAAMC,oBAAoB,GAAGA,CAClCC,IAAsB,EACtB;EAAEC,QAAQ;EAAEC;AAAY,CAAsB,KAC5C;EACF,IAAIC,OAAO,GAA+BH,IAAI;EAE9C,MAAMI,KAAK,GAAG,EAAE;EAChB,OAAOD,OAAO,KAAKE,SAAS,IAAIF,OAAO,CAACG,IAAI,KAAK,MAAM,EAAE;IACvDF,KAAK,CAACG,IAAI,CAACJ,OAAO,CAAC;IACnBA,OAAO,GAAGV,MAAM,CAACe,cAAc,CAACL,OAAO,CAACM,MAAM,CAAC;EACjD;EAEA,MAAMC,YAAY,GAAGR,YAAY,KAAK,IAAI,GAAGE,KAAK,CAACO,UAAU,EAAE,GAAGP,KAAK;EAEvE,OAAOM,YAAY,CAChBE,GAAG,CAAC,CAAC;IAAEC,IAAI;IAAEC,UAAU;IAAEC;EAAM,CAAE,EAAEC,KAAK,KAAI;IAC3C,MAAMC,YAAY,GAAGD,KAAK,KAAK,CAAC;IAChC,MAAME,WAAW,GAAGF,KAAK,KAAKZ,KAAK,CAACe,MAAM,GAAG,CAAC;IAE9C,MAAMC,QAAQ,GAAG,OAAOnB,QAAQ,KAAKI,SAAS,GAAGP,YAAY,CAACe,IAAI,CAAC,GAAGA,IAAI,EAAE;IAE5E,MAAM;MAAEQ,mBAAmB;MAAEC;IAAK,CAAE,GAAG3B,iBAAiB,CACtDmB,UAAU,EACVI,WAAW,CACZ;IAED,MAAMK,WAAW,GAAGN,YAAY,GAAG,OAAOvB,KAAK,CAAC8B,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;IAEhE,MAAMC,OAAO,GAAG/B,KAAK,CAACgC,KAAK,CACzB,GAAGH,WAAW,OAAO1B,qBAAqB,CAACqB,WAAW,CAAC,GAAGxB,KAAK,CAAC8B,IAAI,CAAC,GAAG,CAAC,GAAGJ,QAAQ,GAAGxB,eAAe,CAACmB,MAAM,EAAEG,WAAW,CAAC,GAAGG,mBAAmB,EAAE,CACpJ;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA,OAAO;MACLI,OAAO;MACPH;KACD;EACH,CAAC,CAAC,CACDK,MAAM,CACL,CAACC,IAAI,EAAEC,IAAI,MAAM;IACfJ,OAAO,EAAEG,IAAI,CAACH,OAAO,GAAGI,IAAI,CAACJ,OAAO;IACpCH,KAAK,EAAE,CAAC,GAAGM,IAAI,CAACN,KAAK,EAAE,GAAGO,IAAI,CAACP,KAAK;GACrC,CAAC,EACF;IACEG,OAAO,EAAE,EAAE;IACXH,KAAK,EAAE;GACR,CACF;AACL,CAAC","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@ export const getErrorRelatedSources = sourceFile => Effect.gen(function* () {
|
|
|
16
16
|
if (isTypescriptFile) {
|
|
17
17
|
const source = yield* getSourceCode(location);
|
|
18
18
|
return {
|
|
19
|
+
_tag: 'sources',
|
|
19
20
|
runPath: `${filePath}:${line}:${column}`,
|
|
20
21
|
sourcesPath: undefined,
|
|
21
22
|
source
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-error-related-sources.js","names":["Effect","getErrorLocationFrom","getSourceCode","getSourcesFromMapFile","getErrorRelatedSources","sourceFile","gen","location","undefined","filePath","line","column","isTypescriptFile","endsWith","source","runPath","sourcesPath"],"sources":["../../../src/source-maps/get-error-related-sources.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAI/B,SAASC,oBAAoB,QAAQ,wCAAwC;AAC7E,SAASC,aAAa,QAAQ,sBAAsB;AACpD,
|
|
1
|
+
{"version":3,"file":"get-error-related-sources.js","names":["Effect","getErrorLocationFrom","getSourceCode","getSourcesFromMapFile","getErrorRelatedSources","sourceFile","gen","location","undefined","filePath","line","column","isTypescriptFile","endsWith","source","_tag","runPath","sourcesPath"],"sources":["../../../src/source-maps/get-error-related-sources.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAI/B,SAASC,oBAAoB,QAAQ,wCAAwC;AAC7E,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAGEC,qBAAqB,QAChB,gCAAgC;AAEvC,OAAO,MAAMC,sBAAsB,GACjCC,UAAkB,IAElBL,MAAM,CAACM,GAAG,CAAC,aAAS;EAClB,MAAMC,QAAQ,GAAGN,oBAAoB,CAACI,UAAU,CAAC;EACjD,IAAIE,QAAQ,KAAKC,SAAS,EAAE;IAC1B;EACF;EAEA,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EAAM,CAAE,GAAGJ,QAAQ;EAE3C,MAAMK,gBAAgB,GACpBH,QAAQ,CAACI,QAAQ,CAAC,KAAK,CAAC,IAAIJ,QAAQ,CAACI,QAAQ,CAAC,MAAM,CAAC;EACvD,IAAID,gBAAgB,EAAE;IACpB,MAAME,MAAM,GAAG,OAAOZ,aAAa,CAACK,QAAQ,CAAC;IAE7C,OAAO;MACLQ,IAAI,EAAE,SAAkB;MACxBC,OAAO,EAAE,GAAGP,QAAQ,IAAIC,IAAI,IAAIC,MAAM,EAAE;MACxCM,WAAW,EAAET,SAAS;MACtBM;KACD;EACH;EAEA,OAAO,OAAOX,qBAAqB,CAACI,QAAQ,CAAC;AAC/C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import path from 'path';
|
|
1
|
+
import path from 'node:path';
|
|
2
2
|
import { Effect } from 'effect';
|
|
3
|
-
import color from 'picocolors';
|
|
4
3
|
import { SourceMapConsumer } from 'source-map-js';
|
|
5
4
|
import { existsEffect, readJsonEffect } from '../logic/effects/fs/fs-extra.effects.js';
|
|
6
5
|
import { getSourceCode } from './get-source-code.js';
|
|
7
6
|
export const getSourcesFromMapFile = location => Effect.gen(function* () {
|
|
8
7
|
const fileExists = yield* existsEffect(`${location.filePath}.map`);
|
|
9
8
|
if (!fileExists) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
return {
|
|
10
|
+
_tag: 'location',
|
|
11
|
+
...location,
|
|
12
|
+
filePath: location.filePath.replace(process.cwd(), '')
|
|
13
|
+
};
|
|
13
14
|
}
|
|
14
15
|
const data = yield* readJsonEffect(`${location.filePath}.map`);
|
|
15
16
|
if (data.version === undefined || data.sources === undefined) {
|
|
@@ -30,6 +31,7 @@ export const getSourcesFromMapFile = location => Effect.gen(function* () {
|
|
|
30
31
|
column: sources.column
|
|
31
32
|
}, true);
|
|
32
33
|
return {
|
|
34
|
+
_tag: 'sources',
|
|
33
35
|
runPath: `${location.filePath}:${location.line}:${location.column}`,
|
|
34
36
|
sourcesPath: `${absolutePath}:${sources.line}:${sources.column + 1}`,
|
|
35
37
|
source
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-sources-from-map-file.js","names":["path","Effect","
|
|
1
|
+
{"version":3,"file":"get-sources-from-map-file.js","names":["path","Effect","SourceMapConsumer","existsEffect","readJsonEffect","getSourceCode","getSourcesFromMapFile","location","gen","fileExists","filePath","_tag","replace","process","cwd","data","version","undefined","sources","consumer","originalPositionFor","column","line","source","absolutePath","resolve","substring","lastIndexOf","runPath","sourcesPath"],"sources":["../../../src/source-maps/get-sources-from-map-file.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAI,MAAM,WAAW;AAE5B,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAA4BC,iBAAiB,QAAQ,eAAe;AAGpE,SACEC,YAAY,EACZC,cAAc,QACT,yCAAyC;AAGhD,SAA0BC,aAAa,QAAQ,sBAAsB;AAarE,OAAO,MAAMC,qBAAqB,GAChCC,QAAuB,IAEvBN,MAAM,CAACO,GAAG,CAAC,aAAS;EAClB,MAAMC,UAAU,GAAG,OAAON,YAAY,CAAC,GAAGI,QAAQ,CAACG,QAAQ,MAAM,CAAC;EAClE,IAAI,CAACD,UAAU,EAAE;IACf,OAAO;MACLE,IAAI,EAAE,UAAmB;MACzB,GAAGJ,QAAQ;MACXG,QAAQ,EAAEH,QAAQ,CAACG,QAAQ,CAACE,OAAO,CAACC,OAAO,CAACC,GAAG,EAAE,EAAE,EAAE;KACtD;EACH;EAEA,MAAMC,IAAI,GAAG,OAAOX,cAAc,CAChC,GAAGG,QAAQ,CAACG,QAAQ,MAAM,CAC3B;EACD,IAAIK,IAAI,CAACC,OAAO,KAAKC,SAAS,IAAIF,IAAI,CAACG,OAAO,KAAKD,SAAS,EAAE;IAC5D;EACF;EAEA,MAAME,QAAQ,GAAG,IAAIjB,iBAAiB,CAACa,IAAI,CAAC;EAC5C,MAAMG,OAAO,GAAGC,QAAQ,CAACC,mBAAmB,CAAC;IAC3CC,MAAM,EAAEd,QAAQ,CAACc,MAAM;IACvBC,IAAI,EAAEf,QAAQ,CAACe;GAChB,CAAC;EACF,IACEJ,OAAO,CAACK,MAAM,KAAK,IAAI,IACvBL,OAAO,CAACI,IAAI,KAAK,IAAI,IACrBJ,OAAO,CAACG,MAAM,KAAK,IAAI,EACvB;IACA;EACF;EAEA,MAAMG,YAAY,GAAGxB,IAAI,CAACyB,OAAO,CAC/BlB,QAAQ,CAACG,QAAQ,CAACgB,SAAS,CAAC,CAAC,EAAEnB,QAAQ,CAACG,QAAQ,CAACiB,WAAW,CAAC,GAAG,CAAC,CAAC,EAClET,OAAO,CAACK,MAAM,CACf;EACD,MAAMA,MAAM,GAAG,OAAOlB,aAAa,CACjC;IACEK,QAAQ,EAAEc,YAAY;IACtBF,IAAI,EAAEJ,OAAO,CAACI,IAAI;IAClBD,MAAM,EAAEH,OAAO,CAACG;GACjB,EACD,IAAI,CACL;EAED,OAAO;IACLV,IAAI,EAAE,SAAkB;IACxBiB,OAAO,EAAE,GAAGrB,QAAQ,CAACG,QAAQ,IAAIH,QAAQ,CAACe,IAAI,IAAIf,QAAQ,CAACc,MAAM,EAAE;IACnEQ,WAAW,EAAE,GAAGL,YAAY,IAAIN,OAAO,CAACI,IAAI,IAAIJ,OAAO,CAACG,MAAM,GAAG,CAAC,EAAE;IACpEE;GACD;AACH,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Effect, Option, pipe } from 'effect';
|
|
2
|
+
import { splitSpansAttributesByTypes } from '../logic/spans/split-spans-attributes-by-type.js';
|
|
3
|
+
import { maybeMapSourcemaps } from './maybe-map-sourcemaps.js';
|
|
4
|
+
export const getSourcesFromSpan = ({
|
|
5
|
+
span,
|
|
6
|
+
sources,
|
|
7
|
+
location
|
|
8
|
+
}) => pipe(Effect.gen(function* () {
|
|
9
|
+
if (span === undefined) {
|
|
10
|
+
return {
|
|
11
|
+
spans: [],
|
|
12
|
+
sources,
|
|
13
|
+
location
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const spans = [];
|
|
17
|
+
let current = span;
|
|
18
|
+
while (current !== undefined && current._tag === 'Span') {
|
|
19
|
+
const {
|
|
20
|
+
name,
|
|
21
|
+
attributes: allAttributes,
|
|
22
|
+
status
|
|
23
|
+
} = current;
|
|
24
|
+
const {
|
|
25
|
+
attributes,
|
|
26
|
+
stacktrace
|
|
27
|
+
} = splitSpansAttributesByTypes(allAttributes);
|
|
28
|
+
const sourcesOrLocation = yield* maybeMapSourcemaps(stacktrace);
|
|
29
|
+
const duration = status._tag === 'Ended' ? +`${(status.endTime - status.startTime) / BigInt(1000000)}` : undefined;
|
|
30
|
+
sources.push(...sourcesOrLocation.filter(el => el._tag === 'sources'));
|
|
31
|
+
location.push(...sourcesOrLocation.filter(el => el._tag === 'location'));
|
|
32
|
+
spans.push({
|
|
33
|
+
name,
|
|
34
|
+
attributes: Object.fromEntries(attributes),
|
|
35
|
+
durationInMilliseconds: duration
|
|
36
|
+
});
|
|
37
|
+
current = Option.getOrUndefined(current.parent);
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
spans,
|
|
41
|
+
location,
|
|
42
|
+
sources
|
|
43
|
+
};
|
|
44
|
+
}), Effect.withSpan('get-sources-from-span'));
|
|
45
|
+
//# sourceMappingURL=get-sources-from-span.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-sources-from-span.js","names":["Effect","Option","pipe","splitSpansAttributesByTypes","maybeMapSourcemaps","getSourcesFromSpan","span","sources","location","gen","undefined","spans","current","_tag","name","attributes","allAttributes","status","stacktrace","sourcesOrLocation","duration","endTime","startTime","BigInt","push","filter","el","Object","fromEntries","durationInMilliseconds","getOrUndefined","parent","withSpan"],"sources":["../../../src/source-maps/get-sources-from-span.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAG7C,SAASC,2BAA2B,QAAQ,kDAAkD;AAM9F,SAASC,kBAAkB,QAAQ,2BAA2B;AAE9D,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EACjCC,IAAI;EACJC,OAAO;EACPC;AAAQ,CAKT,KACCN,IAAI,CACFF,MAAM,CAACS,GAAG,CAAC,aAAS;EAClB,IAAIH,IAAI,KAAKI,SAAS,EAAE;IACtB,OAAO;MACLC,KAAK,EAAE,EAAE;MACTJ,OAAO;MACPC;KACD;EACH;EAEA,MAAMG,KAAK,GAAG,EAAE;EAEhB,IAAIC,OAAO,GAA+BN,IAAI;EAC9C,OAAOM,OAAO,KAAKF,SAAS,IAAIE,OAAO,CAACC,IAAI,KAAK,MAAM,EAAE;IACvD,MAAM;MAAEC,IAAI;MAAEC,UAAU,EAAEC,aAAa;MAAEC;IAAM,CAAE,GAAGL,OAAO;IAE3D,MAAM;MAAEG,UAAU;MAAEG;IAAU,CAAE,GAC9Bf,2BAA2B,CAACa,aAAa,CAAC;IAE5C,MAAMG,iBAAiB,GAAG,OAAOf,kBAAkB,CAACc,UAAU,CAAC;IAE/D,MAAME,QAAQ,GACZH,MAAM,CAACJ,IAAI,KAAK,OAAO,GACnB,CAAC,GAAG,CAACI,MAAM,CAACI,OAAO,GAAGJ,MAAM,CAACK,SAAS,IAAIC,MAAM,CAAC,OAAO,CAAC,EAAE,GAC3Db,SAAS;IAEfH,OAAO,CAACiB,IAAI,CACV,GAAGL,iBAAiB,CAACM,MAAM,CAAEC,EAAE,IAAKA,EAAE,CAACb,IAAI,KAAK,SAAS,CAAC,CAC3D;IACDL,QAAQ,CAACgB,IAAI,CACX,GAAGL,iBAAiB,CAACM,MAAM,CAAEC,EAAE,IAAKA,EAAE,CAACb,IAAI,KAAK,UAAU,CAAC,CAC5D;IACDF,KAAK,CAACa,IAAI,CAAC;MACTV,IAAI;MACJC,UAAU,EAAEY,MAAM,CAACC,WAAW,CAACb,UAAU,CAAC;MAC1Cc,sBAAsB,EAAET;KACzB,CAAC;IAEFR,OAAO,GAAGX,MAAM,CAAC6B,cAAc,CAAClB,OAAO,CAACmB,MAAM,CAAC;EACjD;EAEA,OAAO;IACLpB,KAAK;IACLH,QAAQ;IACRD;GACD;AACH,CAAC,CAAC,EACFP,MAAM,CAACgC,QAAQ,CAAC,uBAAuB,CAAC,CACzC","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Effect, pipe } from 'effect';
|
|
2
|
+
import { removeNodeModulesEntriesFromStack } from '../logic/spans/maybe-add-error-to-spans-stack.js';
|
|
3
|
+
import { maybeMapSourcemaps } from './maybe-map-sourcemaps.js';
|
|
4
|
+
export const getSourcesFromStack = maybeStack => pipe(Effect.gen(function* () {
|
|
5
|
+
if (maybeStack === undefined) {
|
|
6
|
+
return {
|
|
7
|
+
sources: [],
|
|
8
|
+
location: []
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const relevantStackEntries = removeNodeModulesEntriesFromStack(maybeStack);
|
|
12
|
+
const sourcesOrLocation = yield* maybeMapSourcemaps(relevantStackEntries);
|
|
13
|
+
return {
|
|
14
|
+
sources: sourcesOrLocation.filter(el => el._tag === 'sources'),
|
|
15
|
+
location: sourcesOrLocation.filter(el => el._tag === 'location')
|
|
16
|
+
};
|
|
17
|
+
}), Effect.withSpan('get-sources-from-stack'));
|
|
18
|
+
//# sourceMappingURL=get-sources-from-stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-sources-from-stack.js","names":["Effect","pipe","removeNodeModulesEntriesFromStack","maybeMapSourcemaps","getSourcesFromStack","maybeStack","gen","undefined","sources","location","relevantStackEntries","sourcesOrLocation","filter","el","_tag","withSpan"],"sources":["../../../src/source-maps/get-sources-from-stack.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAErC,SAASC,iCAAiC,QAAQ,kDAAkD;AAEpG,SAASC,kBAAkB,QAAQ,2BAA2B;AAE9D,OAAO,MAAMC,mBAAmB,GAAIC,UAA8B,IAChEJ,IAAI,CACFD,MAAM,CAACM,GAAG,CAAC,aAAS;EAClB,IAAID,UAAU,KAAKE,SAAS,EAAE;IAC5B,OAAO;MACLC,OAAO,EAAE,EAAE;MACXC,QAAQ,EAAE;KACX;EACH;EAEA,MAAMC,oBAAoB,GACxBR,iCAAiC,CAACG,UAAU,CAAC;EAC/C,MAAMM,iBAAiB,GAAG,OAAOR,kBAAkB,CAACO,oBAAoB,CAAC;EAEzE,OAAO;IACLF,OAAO,EAAEG,iBAAiB,CAACC,MAAM,CAAEC,EAAE,IAAKA,EAAE,CAACC,IAAI,KAAK,SAAS,CAAC;IAChEL,QAAQ,EAAEE,iBAAiB,CAACC,MAAM,CAAEC,EAAE,IAAKA,EAAE,CAACC,IAAI,KAAK,UAAU;GAClE;AACH,CAAC,CAAC,EACFd,MAAM,CAACe,QAAQ,CAAC,wBAAwB,CAAC,CAC1C","ignoreList":[]}
|
|
@@ -3,23 +3,21 @@ import { stackAtRegex } from '../logic/stack/stack-regex.js';
|
|
|
3
3
|
import { getErrorRelatedSources } from './get-error-related-sources.js';
|
|
4
4
|
export const maybeMapSourcemaps = stacktrace => pipe(Effect.forEach(stacktrace, stackLine => Effect.gen(function* () {
|
|
5
5
|
const chunks = stackLine.trimStart().split(' ');
|
|
6
|
-
const
|
|
7
|
-
const details = yield* getErrorRelatedSources(
|
|
6
|
+
const mapFileReportedPath = chunks.length === 2 ? chunks[1] : chunks[chunks.length - 1].slice(1, -1);
|
|
7
|
+
const details = yield* getErrorRelatedSources(mapFileReportedPath);
|
|
8
8
|
if (details === undefined) {
|
|
9
9
|
return {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
sourcesPath: undefined
|
|
10
|
+
_tag: 'stack-entry',
|
|
11
|
+
runPath: stackLine.replaceAll(stackAtRegex, 'at ')
|
|
13
12
|
};
|
|
14
13
|
}
|
|
14
|
+
if (details._tag === 'location') {
|
|
15
|
+
return details;
|
|
16
|
+
}
|
|
15
17
|
const regex = new RegExp(`${process.cwd()}/node_modules/`);
|
|
16
18
|
if (details.sourcesPath?.match(regex)) {
|
|
17
19
|
return undefined;
|
|
18
20
|
}
|
|
19
|
-
return
|
|
20
|
-
runPath: details.runPath,
|
|
21
|
-
sourcesPath: details.sourcesPath,
|
|
22
|
-
source: details.source
|
|
23
|
-
};
|
|
21
|
+
return details;
|
|
24
22
|
})), Effect.map(array => array.filter(maybeSources => maybeSources !== undefined)));
|
|
25
23
|
//# sourceMappingURL=maybe-map-sourcemaps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maybe-map-sourcemaps.js","names":["Effect","pipe","stackAtRegex","getErrorRelatedSources","maybeMapSourcemaps","stacktrace","forEach","stackLine","gen","chunks","trimStart","split","
|
|
1
|
+
{"version":3,"file":"maybe-map-sourcemaps.js","names":["Effect","pipe","stackAtRegex","getErrorRelatedSources","maybeMapSourcemaps","stacktrace","forEach","stackLine","gen","chunks","trimStart","split","mapFileReportedPath","length","slice","details","undefined","_tag","runPath","replaceAll","regex","RegExp","process","cwd","sourcesPath","match","map","array","filter","maybeSources"],"sources":["../../../src/source-maps/maybe-map-sourcemaps.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAGrC,SAASC,YAAY,QAAQ,+BAA+B;AAE5D,SAASC,sBAAsB,QAAQ,gCAAgC;AAgBvE,OAAO,MAAMC,kBAAkB,GAC7BC,UAAoB,IAEpBJ,IAAI,CACFD,MAAM,CAACM,OAAO,CAACD,UAAU,EAAGE,SAAS,IACnCP,MAAM,CAACQ,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAGF,SAAS,CAACG,SAAS,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC;EAC/C,MAAMC,mBAAmB,GACvBH,MAAM,CAACI,MAAM,KAAK,CAAC,GACfJ,MAAM,CAAC,CAAC,CAAC,GACTA,MAAM,CAACA,MAAM,CAACI,MAAM,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAE5C,MAAMC,OAAO,GAAG,OAAOZ,sBAAsB,CAACS,mBAAmB,CAAC;EAClE,IAAIG,OAAO,KAAKC,SAAS,EAAE;IACzB,OAAO;MACLC,IAAI,EAAE,aAAsB;MAC5BC,OAAO,EAAEX,SAAS,CAACY,UAAU,CAACjB,YAAY,EAAE,KAAK;KAClD;EACH;EACA,IAAIa,OAAO,CAACE,IAAI,KAAK,UAAU,EAAE;IAC/B,OAAOF,OAAO;EAChB;EAEA,MAAMK,KAAK,GAAG,IAAIC,MAAM,CAAC,GAAGC,OAAO,CAACC,GAAG,EAAE,gBAAgB,CAAC;EAC1D,IAAIR,OAAO,CAACS,WAAW,EAAEC,KAAK,CAACL,KAAK,CAAC,EAAE;IACrC,OAAOJ,SAAS;EAClB;EAEA,OAAOD,OAAO;AAChB,CAAC,CAAC,CACH,EACDf,MAAM,CAAC0B,GAAG,CAAEC,KAAK,IACfA,KAAK,CAACC,MAAM,CAAEC,YAAY,IAAKA,YAAY,KAAKb,SAAS,CAAC,CAC3D,CACF","ignoreList":[]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Effect,
|
|
2
|
-
import { splitSpansAttributesByTypes } from '../logic/spans/split-spans-attributes-by-type.js';
|
|
1
|
+
import { Effect, pipe } from 'effect';
|
|
3
2
|
import { stackAtRegex } from '../logic/stack/stack-regex.js';
|
|
4
3
|
import { stripCwdPath } from '../logic/strip-cwd-path.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { getSourcesFromSpan } from './get-sources-from-span.js';
|
|
5
|
+
import { getSourcesFromStack } from './get-sources-from-stack.js';
|
|
7
6
|
export const transformRawError = ({
|
|
8
7
|
reverseSpans,
|
|
9
8
|
stripCwd
|
|
@@ -13,37 +12,16 @@ export const transformRawError = ({
|
|
|
13
12
|
span,
|
|
14
13
|
errorType,
|
|
15
14
|
isPlainString
|
|
16
|
-
}) => Effect.gen(function* () {
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
while (current !== undefined && current._tag === 'Span') {
|
|
27
|
-
const {
|
|
28
|
-
name,
|
|
29
|
-
attributes: allAttributes,
|
|
30
|
-
status
|
|
31
|
-
} = current;
|
|
32
|
-
const {
|
|
33
|
-
attributes,
|
|
34
|
-
stacktrace
|
|
35
|
-
} = splitSpansAttributesByTypes(allAttributes);
|
|
36
|
-
const errorSources = yield* maybeMapSourcemaps(stacktrace);
|
|
37
|
-
const duration = status._tag === 'Ended' ? +`${(status.endTime - status.startTime) / BigInt(1000000)}` : undefined;
|
|
38
|
-
sources.push(...errorSources);
|
|
39
|
-
spans.push({
|
|
40
|
-
name,
|
|
41
|
-
attributes: Object.fromEntries(attributes),
|
|
42
|
-
durationInMilliseconds: duration
|
|
43
|
-
});
|
|
44
|
-
current = Option.getOrUndefined(current.parent);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
15
|
+
}) => pipe(Effect.gen(function* () {
|
|
16
|
+
const data = yield* getSourcesFromStack(maybeStack);
|
|
17
|
+
const {
|
|
18
|
+
spans,
|
|
19
|
+
sources,
|
|
20
|
+
location
|
|
21
|
+
} = yield* getSourcesFromSpan({
|
|
22
|
+
span,
|
|
23
|
+
...data
|
|
24
|
+
});
|
|
47
25
|
let stack;
|
|
48
26
|
if (maybeStack !== undefined) {
|
|
49
27
|
stack = stripCwd === true ? stripCwdPath(maybeStack) : maybeStack;
|
|
@@ -52,9 +30,16 @@ export const transformRawError = ({
|
|
|
52
30
|
errorType,
|
|
53
31
|
message,
|
|
54
32
|
stack: stack?.replaceAll(stackAtRegex, 'at ').split('\r\n'),
|
|
55
|
-
sources: sources.length > 0 ? sources
|
|
33
|
+
sources: sources.length > 0 ? sources.map(({
|
|
34
|
+
_tag,
|
|
35
|
+
...data
|
|
36
|
+
}) => data) : undefined,
|
|
37
|
+
location: location.length > 0 ? location.map(({
|
|
38
|
+
_tag,
|
|
39
|
+
...data
|
|
40
|
+
}) => data) : undefined,
|
|
56
41
|
spans: reverseSpans === true ? spans.toReversed() : spans,
|
|
57
42
|
isPlainString
|
|
58
43
|
};
|
|
59
|
-
});
|
|
44
|
+
}), Effect.withSpan('transform-raw-error'));
|
|
60
45
|
//# sourceMappingURL=transform-raw-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-raw-error.js","names":["Effect","
|
|
1
|
+
{"version":3,"file":"transform-raw-error.js","names":["Effect","pipe","stackAtRegex","stripCwdPath","getSourcesFromSpan","getSourcesFromStack","transformRawError","reverseSpans","stripCwd","message","stack","maybeStack","span","errorType","isPlainString","gen","data","spans","sources","location","undefined","replaceAll","split","length","map","_tag","toReversed","withSpan"],"sources":["../../../src/source-maps/transform-raw-error.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAGrC,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,YAAY,QAAQ,4BAA4B;AAGzD,SAASC,kBAAkB,QAAQ,4BAA4B;AAC/D,SAASC,mBAAmB,QAAQ,6BAA6B;AAEjE,OAAO,MAAMC,iBAAiB,GAC5BA,CAAC;EAAEC,YAAY;EAAEC;AAAQ,CAAwB,KACjD,CAAC;EACCC,OAAO;EACPC,KAAK,EAAEC,UAAU;EACjBC,IAAI;EACJC,SAAS;EACTC;AAAa,CACD,KACZb,IAAI,CACFD,MAAM,CAACe,GAAG,CAAC,aAAS;EAClB,MAAMC,IAAI,GAAG,OAAOX,mBAAmB,CAACM,UAAU,CAAC;EACnD,MAAM;IAAEM,KAAK;IAAEC,OAAO;IAAEC;EAAQ,CAAE,GAAG,OAAOf,kBAAkB,CAAC;IAC7DQ,IAAI;IACJ,GAAGI;GACJ,CAAC;EAEF,IAAIN,KAAyB;EAC7B,IAAIC,UAAU,KAAKS,SAAS,EAAE;IAC5BV,KAAK,GAAGF,QAAQ,KAAK,IAAI,GAAGL,YAAY,CAACQ,UAAU,CAAC,GAAGA,UAAU;EACnE;EAEA,OAAO;IACLE,SAAS;IACTJ,OAAO;IACPC,KAAK,EAAEA,KAAK,EAAEW,UAAU,CAACnB,YAAY,EAAE,KAAK,CAAC,CAACoB,KAAK,CAAC,MAAM,CAAC;IAC3DJ,OAAO,EACLA,OAAO,CAACK,MAAM,GAAG,CAAC,GACdL,OAAO,CAACM,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAE,GAAGT;IAAI,CAAE,KAAKA,IAAI,CAAC,GACxCI,SAAS;IACfD,QAAQ,EACNA,QAAQ,CAACI,MAAM,GAAG,CAAC,GACfJ,QAAQ,CAACK,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAE,GAAGT;IAAI,CAAE,KAAKA,IAAI,CAAC,GACzCI,SAAS;IACfH,KAAK,EAAEV,YAAY,KAAK,IAAI,GAAGU,KAAK,CAACS,UAAU,EAAE,GAAGT,KAAK;IACzDH;GACD;AACH,CAAC,CAAC,EACFd,MAAM,CAAC2B,QAAQ,CAAC,qBAAqB,CAAC,CACvC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../src/capture-errors.ts","../../src/index.ts","../../src/pretty-print.ts","../../src/vitest.d.ts","../../src/logic/strip-cwd-path.ts","../../src/logic/effects/fs/fs-error.ts","../../src/logic/effects/fs/fs-extra.effects.ts","../../src/logic/errors/capture-errors-from-cause.ts","../../src/logic/errors/extract-error-details.ts","../../src/logic/errors/parse-error.ts","../../src/logic/pretty-printing/format-failures-title.ts","../../src/logic/pretty-printing/format-span-attributes.ts","../../src/logic/pretty-printing/maybe-print-node-stacktrace.ts","../../src/logic/pretty-printing/maybe-print-span-attributes.ts","../../src/logic/pretty-printing/maybe-warn-about-plain-strings.ts","../../src/logic/pretty-printing/print-effect-stacktrace.ts","../../src/logic/spans/get-span-attributes.ts","../../src/logic/spans/get-span-duration.ts","../../src/logic/spans/maybe-add-error-to-spans-stack.ts","../../src/logic/spans/spans-stack-trailing-char.ts","../../src/logic/spans/split-spans-attributes-by-type.ts","../../src/logic/stack/filter-stack.ts","../../src/logic/stack/stack-regex.ts","../../src/logic/util/big-int-replacer.ts","../../src/runners/run-promise.ts","../../src/runners/run-sync.ts","../../src/source-maps/get-error-location-from-file-path.ts","../../src/source-maps/get-error-related-sources.ts","../../src/source-maps/get-source-code.ts","../../src/source-maps/get-sources-from-map-file.ts","../../src/source-maps/maybe-map-sourcemaps.ts","../../src/source-maps/transform-raw-error.ts","../../src/types/pretty-error.type.ts","../../src/types/pretty-print-options.type.ts"],"version":"5.6.3"}
|
|
1
|
+
{"root":["../../src/capture-errors.ts","../../src/index.ts","../../src/pretty-print.ts","../../src/vitest.d.ts","../../src/logic/strip-cwd-path.ts","../../src/logic/effects/fs/fs-error.ts","../../src/logic/effects/fs/fs-extra.effects.ts","../../src/logic/errors/capture-errors-from-cause.ts","../../src/logic/errors/extract-error-details.ts","../../src/logic/errors/parse-error.ts","../../src/logic/pretty-printing/format-failures-title.ts","../../src/logic/pretty-printing/format-span-attributes.ts","../../src/logic/pretty-printing/maybe-print-node-stacktrace.ts","../../src/logic/pretty-printing/maybe-print-span-attributes.ts","../../src/logic/pretty-printing/maybe-warn-about-plain-strings.ts","../../src/logic/pretty-printing/print-effect-stacktrace.ts","../../src/logic/spans/get-span-attributes.ts","../../src/logic/spans/get-span-duration.ts","../../src/logic/spans/maybe-add-error-to-spans-stack.ts","../../src/logic/spans/spans-stack-trailing-char.ts","../../src/logic/spans/split-spans-attributes-by-type.ts","../../src/logic/stack/filter-stack.ts","../../src/logic/stack/stack-regex.ts","../../src/logic/util/big-int-replacer.ts","../../src/runners/run-promise.ts","../../src/runners/run-sync.ts","../../src/source-maps/get-error-location-from-file-path.ts","../../src/source-maps/get-error-related-sources.ts","../../src/source-maps/get-source-code.ts","../../src/source-maps/get-sources-from-map-file.ts","../../src/source-maps/get-sources-from-span.ts","../../src/source-maps/get-sources-from-stack.ts","../../src/source-maps/maybe-map-sourcemaps.ts","../../src/source-maps/transform-raw-error.ts","../../src/types/pretty-error.type.ts","../../src/types/pretty-print-options.type.ts"],"version":"5.6.3"}
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"name": "effect-errors",
|
|
20
|
-
"version": "1.7.
|
|
20
|
+
"version": "1.7.18",
|
|
21
21
|
"author": "jpb06 <jp.bois.06@outlook.fr>",
|
|
22
22
|
"description": "A POC for errors reporting in Effect",
|
|
23
23
|
"keywords": [
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"format": "biome format --write ./src",
|
|
40
40
|
"format-ci": "biome format ./src",
|
|
41
41
|
"lint": "biome lint ./src",
|
|
42
|
+
"lint-fix": "biome lint --write ./src",
|
|
42
43
|
"type-check": "tsc --noEmit",
|
|
43
44
|
"test": "vitest",
|
|
44
45
|
"test-ci": "vitest --coverage --run",
|
|
@@ -51,9 +52,9 @@
|
|
|
51
52
|
"bundle-example": "bun esbuild --bundle --platform=node --format=esm --sourcemap=external --minify --inject:./src/examples/bundling/cjs-shims.ts --outfile=./src/tests/bundle/from-promise.js ./src/examples/bundling/from-promise.bundle.ts"
|
|
52
53
|
},
|
|
53
54
|
"dependencies": {
|
|
54
|
-
"@effect/schema": "^0.75.
|
|
55
|
+
"@effect/schema": "^0.75.5",
|
|
55
56
|
"effect": "^3.9.2",
|
|
56
|
-
"picocolors": "^1.1.
|
|
57
|
+
"picocolors": "^1.1.1",
|
|
57
58
|
"source-map-js": "^1.2.1"
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
@@ -63,7 +64,7 @@
|
|
|
63
64
|
"@babel/plugin-transform-modules-commonjs": "^7.25.7",
|
|
64
65
|
"@biomejs/biome": "^1.9.3",
|
|
65
66
|
"@types/fs-extra": "^11.0.4",
|
|
66
|
-
"@types/node": "^22.7.
|
|
67
|
+
"@types/node": "^22.7.6",
|
|
67
68
|
"@vitest/coverage-v8": "^2.1.3",
|
|
68
69
|
"babel-plugin-annotate-pure-calls": "^0.4.0",
|
|
69
70
|
"copyfiles": "^2.4.1",
|