effect-errors 1.7.28 → 1.7.30
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/cjs/capture-errors.js +18 -21
- package/cjs/capture-errors.js.map +1 -1
- package/cjs/index.js +20 -69
- package/cjs/index.js.map +1 -1
- package/cjs/logic/effects/fs/fs-error.js +4 -6
- package/cjs/logic/effects/fs/fs-error.js.map +1 -1
- package/cjs/logic/effects/fs/fs-extra.effects.js +20 -45
- package/cjs/logic/effects/fs/fs-extra.effects.js.map +1 -1
- package/cjs/logic/errors/capture-errors-from-cause.js +10 -13
- package/cjs/logic/errors/capture-errors-from-cause.js.map +1 -1
- package/cjs/logic/errors/extract-error-details.js +53 -57
- package/cjs/logic/errors/extract-error-details.js.map +1 -1
- package/cjs/logic/errors/parse-error.js +17 -19
- package/cjs/logic/errors/parse-error.js.map +1 -1
- package/cjs/logic/pretty-printing/format-failures-title.js +11 -14
- package/cjs/logic/pretty-printing/format-failures-title.js.map +1 -1
- package/cjs/logic/pretty-printing/format-span-attributes.js +38 -51
- package/cjs/logic/pretty-printing/format-span-attributes.js.map +1 -1
- package/cjs/logic/pretty-printing/maybe-print-node-stacktrace.js +13 -19
- package/cjs/logic/pretty-printing/maybe-print-node-stacktrace.js.map +1 -1
- package/cjs/logic/pretty-printing/maybe-print-span-attributes.js +18 -26
- package/cjs/logic/pretty-printing/maybe-print-span-attributes.js.map +1 -1
- package/cjs/logic/pretty-printing/maybe-warn-about-plain-strings.js +9 -14
- package/cjs/logic/pretty-printing/maybe-warn-about-plain-strings.js.map +1 -1
- package/cjs/logic/pretty-printing/print-effect-stacktrace.js +12 -19
- package/cjs/logic/pretty-printing/print-effect-stacktrace.js.map +1 -1
- package/cjs/logic/spans/get-span-attributes.js +16 -25
- package/cjs/logic/spans/get-span-attributes.js.map +1 -1
- package/cjs/logic/spans/get-span-duration.js +10 -15
- package/cjs/logic/spans/get-span-duration.js.map +1 -1
- package/cjs/logic/spans/maybe-add-error-to-spans-stack.js +13 -16
- package/cjs/logic/spans/maybe-add-error-to-spans-stack.js.map +1 -1
- package/cjs/logic/spans/spans-stack-trailing-char.js +6 -11
- package/cjs/logic/spans/spans-stack-trailing-char.js.map +1 -1
- package/cjs/logic/spans/split-spans-attributes-by-type.js +12 -15
- package/cjs/logic/spans/split-spans-attributes-by-type.js.map +1 -1
- package/cjs/logic/stack/filter-stack.js +14 -17
- package/cjs/logic/stack/filter-stack.js.map +1 -1
- package/cjs/logic/stack/stack-regex.js +4 -7
- package/cjs/logic/stack/stack-regex.js.map +1 -1
- package/cjs/logic/strip-cwd-path.js +3 -6
- package/cjs/logic/strip-cwd-path.js.map +1 -1
- package/cjs/logic/util/big-int-replacer.js +8 -11
- package/cjs/logic/util/big-int-replacer.js.map +1 -1
- package/cjs/package.json +1 -0
- package/cjs/pretty-print.js +34 -40
- package/cjs/pretty-print.js.map +1 -1
- package/cjs/runners/run-promise.js +11 -14
- package/cjs/runners/run-promise.js.map +1 -1
- package/cjs/runners/run-sync.js +10 -13
- package/cjs/runners/run-sync.js.map +1 -1
- package/cjs/source-maps/get-error-location-from-file-path.js +11 -18
- package/cjs/source-maps/get-error-location-from-file-path.js.map +1 -1
- package/cjs/source-maps/get-error-related-sources.js +22 -29
- package/cjs/source-maps/get-error-related-sources.js.map +1 -1
- package/cjs/source-maps/get-source-code.js +18 -22
- package/cjs/source-maps/get-source-code.js.map +1 -1
- package/cjs/source-maps/get-sources-from-map-file.js +42 -45
- package/cjs/source-maps/get-sources-from-map-file.js.map +1 -1
- package/cjs/source-maps/get-sources-from-span.js +36 -48
- package/cjs/source-maps/get-sources-from-span.js.map +1 -1
- package/cjs/source-maps/get-sources-from-stack.js +16 -19
- package/cjs/source-maps/get-sources-from-stack.js.map +1 -1
- package/cjs/source-maps/maybe-map-sourcemaps.js +24 -25
- package/cjs/source-maps/maybe-map-sourcemaps.js.map +1 -1
- package/cjs/source-maps/transform-raw-error.js +30 -48
- package/cjs/source-maps/transform-raw-error.js.map +1 -1
- package/cjs/types/pretty-error.type.js +13 -16
- package/cjs/types/pretty-error.type.js.map +1 -1
- package/cjs/types/pretty-print-options.type.js +5 -8
- package/cjs/types/pretty-print-options.type.js.map +1 -1
- package/dts/capture-errors.d.ts +0 -1
- package/dts/index.d.ts +0 -1
- package/dts/logic/effects/fs/fs-error.d.ts +0 -1
- package/dts/logic/effects/fs/fs-extra.effects.d.ts +0 -1
- package/dts/logic/errors/capture-errors-from-cause.d.ts +0 -1
- package/dts/logic/errors/extract-error-details.d.ts +0 -1
- package/dts/logic/errors/parse-error.d.ts +0 -1
- package/dts/logic/pretty-printing/format-failures-title.d.ts +0 -1
- package/dts/logic/pretty-printing/format-span-attributes.d.ts +0 -1
- package/dts/logic/pretty-printing/maybe-print-node-stacktrace.d.ts +0 -1
- package/dts/logic/pretty-printing/maybe-print-span-attributes.d.ts +0 -1
- package/dts/logic/pretty-printing/maybe-warn-about-plain-strings.d.ts +0 -1
- package/dts/logic/pretty-printing/print-effect-stacktrace.d.ts +0 -1
- package/dts/logic/spans/get-span-attributes.d.ts +0 -1
- package/dts/logic/spans/get-span-duration.d.ts +0 -1
- package/dts/logic/spans/maybe-add-error-to-spans-stack.d.ts +0 -1
- package/dts/logic/spans/spans-stack-trailing-char.d.ts +0 -1
- package/dts/logic/spans/split-spans-attributes-by-type.d.ts +0 -1
- package/dts/logic/stack/filter-stack.d.ts +0 -1
- package/dts/logic/stack/stack-regex.d.ts +0 -1
- package/dts/logic/strip-cwd-path.d.ts +0 -1
- package/dts/logic/util/big-int-replacer.d.ts +0 -1
- package/dts/pretty-print.d.ts +0 -1
- package/dts/runners/run-promise.d.ts +0 -1
- package/dts/runners/run-sync.d.ts +0 -1
- package/dts/source-maps/get-error-location-from-file-path.d.ts +0 -1
- package/dts/source-maps/get-error-related-sources.d.ts +0 -1
- package/dts/source-maps/get-source-code.d.ts +0 -1
- package/dts/source-maps/get-sources-from-map-file.d.ts +0 -1
- package/dts/source-maps/get-sources-from-span.d.ts +0 -1
- package/dts/source-maps/get-sources-from-stack.d.ts +0 -1
- package/dts/source-maps/maybe-map-sourcemaps.d.ts +0 -1
- package/dts/source-maps/transform-raw-error.d.ts +0 -1
- package/dts/types/pretty-error.type.d.ts +0 -1
- package/dts/types/pretty-print-options.type.d.ts +0 -1
- package/esm/capture-errors.js +12 -12
- package/esm/capture-errors.js.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/logic/effects/fs/fs-error.js +2 -1
- package/esm/logic/effects/fs/fs-error.js.map +1 -1
- package/esm/logic/effects/fs/fs-extra.effects.js +12 -32
- package/esm/logic/effects/fs/fs-extra.effects.js.map +1 -1
- package/esm/logic/errors/capture-errors-from-cause.js +7 -7
- package/esm/logic/errors/capture-errors-from-cause.js.map +1 -1
- package/esm/logic/errors/extract-error-details.js +50 -51
- package/esm/logic/errors/extract-error-details.js.map +1 -1
- package/esm/logic/errors/parse-error.js +13 -12
- package/esm/logic/errors/parse-error.js.map +1 -1
- package/esm/logic/pretty-printing/format-failures-title.js +6 -4
- package/esm/logic/pretty-printing/format-failures-title.js.map +1 -1
- package/esm/logic/pretty-printing/format-span-attributes.js +28 -36
- package/esm/logic/pretty-printing/format-span-attributes.js.map +1 -1
- package/esm/logic/pretty-printing/maybe-print-node-stacktrace.js +7 -8
- package/esm/logic/pretty-printing/maybe-print-node-stacktrace.js.map +1 -1
- package/esm/logic/pretty-printing/maybe-print-span-attributes.js +12 -15
- package/esm/logic/pretty-printing/maybe-print-span-attributes.js.map +1 -1
- package/esm/logic/pretty-printing/maybe-warn-about-plain-strings.js +4 -4
- package/esm/logic/pretty-printing/maybe-warn-about-plain-strings.js.map +1 -1
- package/esm/logic/pretty-printing/print-effect-stacktrace.js +6 -8
- package/esm/logic/pretty-printing/print-effect-stacktrace.js.map +1 -1
- package/esm/logic/spans/get-span-attributes.js +10 -14
- package/esm/logic/spans/get-span-attributes.js.map +1 -1
- package/esm/logic/spans/get-span-duration.js +5 -5
- package/esm/logic/spans/get-span-duration.js.map +1 -1
- package/esm/logic/spans/maybe-add-error-to-spans-stack.js +11 -11
- package/esm/logic/spans/maybe-add-error-to-spans-stack.js.map +1 -1
- package/esm/logic/spans/spans-stack-trailing-char.js +1 -1
- package/esm/logic/spans/spans-stack-trailing-char.js.map +1 -1
- package/esm/logic/spans/split-spans-attributes-by-type.js +11 -11
- package/esm/logic/spans/split-spans-attributes-by-type.js.map +1 -1
- package/esm/logic/stack/filter-stack.js +10 -10
- package/esm/logic/stack/filter-stack.js.map +1 -1
- package/esm/logic/stack/stack-regex.js.map +1 -1
- package/esm/logic/strip-cwd-path.js +2 -2
- package/esm/logic/strip-cwd-path.js.map +1 -1
- package/esm/logic/util/big-int-replacer.js +7 -7
- package/esm/logic/util/big-int-replacer.js.map +1 -1
- package/esm/package.json +1 -0
- package/esm/pretty-print.js +20 -21
- package/esm/pretty-print.js.map +1 -1
- package/esm/runners/run-promise.js +8 -8
- package/esm/runners/run-promise.js.map +1 -1
- package/esm/runners/run-sync.js +7 -7
- package/esm/runners/run-sync.js.map +1 -1
- package/esm/source-maps/get-error-location-from-file-path.js +9 -13
- package/esm/source-maps/get-error-location-from-file-path.js.map +1 -1
- package/esm/source-maps/get-error-related-sources.js +18 -22
- package/esm/source-maps/get-error-related-sources.js.map +1 -1
- package/esm/source-maps/get-source-code.js +15 -16
- package/esm/source-maps/get-source-code.js.map +1 -1
- package/esm/source-maps/get-sources-from-map-file.js +34 -32
- package/esm/source-maps/get-sources-from-map-file.js.map +1 -1
- package/esm/source-maps/get-sources-from-span.js +31 -40
- package/esm/source-maps/get-sources-from-span.js.map +1 -1
- package/esm/source-maps/get-sources-from-stack.js +11 -11
- package/esm/source-maps/get-sources-from-stack.js.map +1 -1
- package/esm/source-maps/maybe-map-sourcemaps.js +20 -18
- package/esm/source-maps/maybe-map-sourcemaps.js.map +1 -1
- package/esm/source-maps/transform-raw-error.js +23 -38
- package/esm/source-maps/transform-raw-error.js.map +1 -1
- package/esm/types/pretty-error.type.js +12 -12
- package/esm/types/pretty-error.type.js.map +1 -1
- package/esm/types/pretty-print-options.type.js +3 -3
- package/esm/types/pretty-print-options.type.js.map +1 -1
- package/package.json +11 -10
- package/dts/capture-errors.d.ts.map +0 -1
- package/dts/index.d.ts.map +0 -1
- package/dts/logic/effects/fs/fs-error.d.ts.map +0 -1
- package/dts/logic/effects/fs/fs-extra.effects.d.ts.map +0 -1
- package/dts/logic/errors/capture-errors-from-cause.d.ts.map +0 -1
- package/dts/logic/errors/extract-error-details.d.ts.map +0 -1
- package/dts/logic/errors/parse-error.d.ts.map +0 -1
- package/dts/logic/pretty-printing/format-failures-title.d.ts.map +0 -1
- package/dts/logic/pretty-printing/format-span-attributes.d.ts.map +0 -1
- package/dts/logic/pretty-printing/maybe-print-node-stacktrace.d.ts.map +0 -1
- package/dts/logic/pretty-printing/maybe-print-span-attributes.d.ts.map +0 -1
- package/dts/logic/pretty-printing/maybe-warn-about-plain-strings.d.ts.map +0 -1
- package/dts/logic/pretty-printing/print-effect-stacktrace.d.ts.map +0 -1
- package/dts/logic/spans/get-span-attributes.d.ts.map +0 -1
- package/dts/logic/spans/get-span-duration.d.ts.map +0 -1
- package/dts/logic/spans/maybe-add-error-to-spans-stack.d.ts.map +0 -1
- package/dts/logic/spans/spans-stack-trailing-char.d.ts.map +0 -1
- package/dts/logic/spans/split-spans-attributes-by-type.d.ts.map +0 -1
- package/dts/logic/stack/filter-stack.d.ts.map +0 -1
- package/dts/logic/stack/stack-regex.d.ts.map +0 -1
- package/dts/logic/strip-cwd-path.d.ts.map +0 -1
- package/dts/logic/util/big-int-replacer.d.ts.map +0 -1
- package/dts/pretty-print.d.ts.map +0 -1
- package/dts/runners/run-promise.d.ts.map +0 -1
- package/dts/runners/run-sync.d.ts.map +0 -1
- package/dts/source-maps/get-error-location-from-file-path.d.ts.map +0 -1
- package/dts/source-maps/get-error-related-sources.d.ts.map +0 -1
- package/dts/source-maps/get-source-code.d.ts.map +0 -1
- package/dts/source-maps/get-sources-from-map-file.d.ts.map +0 -1
- package/dts/source-maps/get-sources-from-span.d.ts.map +0 -1
- package/dts/source-maps/get-sources-from-stack.d.ts.map +0 -1
- package/dts/source-maps/maybe-map-sourcemaps.d.ts.map +0 -1
- package/dts/source-maps/transform-raw-error.d.ts.map +0 -1
- package/dts/types/pretty-error.type.d.ts.map +0 -1
- package/dts/types/pretty-print-options.type.d.ts.map +0 -1
- package/esm/tsconfig-prod.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-span-attributes.js","
|
|
1
|
+
{"version":3,"file":"get-span-attributes.js","sourceRoot":"","sources":["../../../../src/logic/spans/get-span-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAElF,MAAM,cAAc,GAAG,CAAC,WAAoB,EAAE,EAAE,CAC9C,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,aAA2C,EAC3C,WAAoB,EACpB,EAAE;IACF,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAE9E,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;SAC/C,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAe,EAAE,CAC/F;SACA,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;QACL,mBAAmB,EAAE,GAAG,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,mBAAmB,EAAE;QAC5F,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import color from 'picocolors';
|
|
2
2
|
export const getSpanDuration = (status, isLastEntry) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
if (status._tag !== 'Ended') {
|
|
4
|
+
return '';
|
|
5
|
+
}
|
|
6
|
+
const duration = (status.endTime - status.startTime) / BigInt(1000000);
|
|
7
|
+
return `\r\n${isLastEntry ? ' ' : color.gray('│')} ~ ${duration}ms`;
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=get-span-duration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-span-duration.js","
|
|
1
|
+
{"version":3,"file":"get-span-duration.js","sourceRoot":"","sources":["../../../../src/logic/spans/get-span-duration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAkB,EAAE,WAAoB,EAAE,EAAE;IAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvE,OAAO,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,QAAQ,IAAI,CAAC;AAC1E,CAAC,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export const removeNodeModulesEntriesFromStack = stack => {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export const removeNodeModulesEntriesFromStack = (stack) => {
|
|
2
|
+
const lines = stack.split('\r\n');
|
|
3
|
+
return lines.filter((line) => line.includes(process.cwd()) && !line.includes('/node_modules/'));
|
|
4
4
|
};
|
|
5
5
|
export const maybeAddErrorToSpansStack = (stack, spanAttributesStack) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
const effectStack = [];
|
|
7
|
+
if (stack && spanAttributesStack !== undefined) {
|
|
8
|
+
effectStack.push(...removeNodeModulesEntriesFromStack(stack));
|
|
9
|
+
}
|
|
10
|
+
if (spanAttributesStack !== undefined) {
|
|
11
|
+
effectStack.push(...spanAttributesStack);
|
|
12
|
+
}
|
|
13
|
+
return effectStack;
|
|
14
14
|
};
|
|
15
15
|
//# sourceMappingURL=maybe-add-error-to-spans-stack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maybe-add-error-to-spans-stack.js","
|
|
1
|
+
{"version":3,"file":"maybe-add-error-to-spans-stack.js","sourceRoot":"","sources":["../../../../src/logic/spans/maybe-add-error-to-spans-stack.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,KAAa,EAAE,EAAE;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAC3E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAyB,EACzB,mBAAyC,EACzC,EAAE;IACF,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,KAAK,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC/C,WAAW,CAAC,IAAI,CAAC,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACtC,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import color from 'picocolors';
|
|
2
|
-
export const spanStackTrailingChar = isLastEntry => isLastEntry ? color.gray('╰') : color.gray('├');
|
|
2
|
+
export const spanStackTrailingChar = (isLastEntry) => isLastEntry ? color.gray('╰') : color.gray('├');
|
|
3
3
|
//# sourceMappingURL=spans-stack-trailing-char.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spans-stack-trailing-char.js","
|
|
1
|
+
{"version":3,"file":"spans-stack-trailing-char.js","sourceRoot":"","sources":["../../../../src/logic/spans/spans-stack-trailing-char.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAoB,EAAE,EAAE,CAC5D,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export const splitSpansAttributesByTypes = attributes => Array.from(attributes.entries()).reduce((prev, [key, value]) => {
|
|
2
|
-
|
|
1
|
+
export const splitSpansAttributesByTypes = (attributes) => Array.from(attributes.entries()).reduce((prev, [key, value]) => {
|
|
2
|
+
if (key === 'code.stacktrace') {
|
|
3
|
+
return {
|
|
4
|
+
attributes: prev.attributes,
|
|
5
|
+
stacktrace: [...prev.stacktrace, value],
|
|
6
|
+
};
|
|
7
|
+
}
|
|
3
8
|
return {
|
|
4
|
-
|
|
5
|
-
|
|
9
|
+
attributes: new Map([...prev.attributes, [key, value]]),
|
|
10
|
+
stacktrace: prev.stacktrace,
|
|
6
11
|
};
|
|
7
|
-
}
|
|
8
|
-
return {
|
|
9
|
-
attributes: new Map([...prev.attributes, [key, value]]),
|
|
10
|
-
stacktrace: prev.stacktrace
|
|
11
|
-
};
|
|
12
12
|
}, {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
stacktrace: [],
|
|
14
|
+
attributes: new Map(),
|
|
15
15
|
});
|
|
16
16
|
//# sourceMappingURL=split-spans-attributes-by-type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-spans-attributes-by-type.js","
|
|
1
|
+
{"version":3,"file":"split-spans-attributes-by-type.js","sourceRoot":"","sources":["../../../../src/logic/spans/split-spans-attributes-by-type.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,UAAwC,EACxC,EAAE,CACF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CACrC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;IACrB,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;QAC9B,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAa;SACpD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACvD,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC,EACD;IACE,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,IAAI,GAAG,EAAE;CACtB,CACF,CAAC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Match } from 'effect';
|
|
2
2
|
import { stripCwdPath } from '../strip-cwd-path.js';
|
|
3
3
|
import { stackAtRegex } from './stack-regex.js';
|
|
4
|
-
const match =
|
|
4
|
+
const match = Match.type().pipe(Match.when('effect', (_) => 'at '), Match.when('node', (_) => '│ at '), Match.exhaustive);
|
|
5
5
|
export const filterStack = (stack, type, stripCwd) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const lines = stack.split('\r\n');
|
|
7
|
+
const out = [];
|
|
8
|
+
for (const line of lines) {
|
|
9
|
+
out.push(line.replace(/at .*effect_cutpoint.*\((.*)\)/, 'at $1'));
|
|
10
|
+
if (line.includes('effect_cutpoint')) {
|
|
11
|
+
return out.join('\r\n');
|
|
12
|
+
}
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return stripCwd ? stripCwdPath(final) : final;
|
|
14
|
+
const final = out.join('\r\n').replace(stackAtRegex, match(type));
|
|
15
|
+
return stripCwd ? stripCwdPath(final) : final;
|
|
16
16
|
};
|
|
17
17
|
//# sourceMappingURL=filter-stack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-stack.js","
|
|
1
|
+
{"version":3,"file":"filter-stack.js","sourceRoot":"","sources":["../../../../src/logic/stack/filter-stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAqB,CAAC,IAAI,CAChD,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAClC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAClC,KAAK,CAAC,UAAU,CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAa,EACb,IAAuB,EACvB,QAAiB,EACjB,EAAE;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAElE,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAChD,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-regex.js","
|
|
1
|
+
{"version":3,"file":"stack-regex.js","sourceRoot":"","sources":["../../../../src/logic/stack/stack-regex.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AACvC,MAAM,CAAC,MAAM,6BAA6B,GACxC,iDAAiD,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const cwdRegex = global.process !== undefined ?
|
|
2
|
-
export const stripCwdPath = path => cwdRegex === null ? path : path.replace(cwdRegex, '.');
|
|
1
|
+
const cwdRegex = global.process !== undefined ? new RegExp(global.process.cwd(), 'g') : null;
|
|
2
|
+
export const stripCwdPath = (path) => cwdRegex === null ? path : path.replace(cwdRegex, '.');
|
|
3
3
|
//# sourceMappingURL=strip-cwd-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strip-cwd-path.js","
|
|
1
|
+
{"version":3,"file":"strip-cwd-path.js","sourceRoot":"","sources":["../../../src/logic/strip-cwd-path.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GACZ,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CACnD,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export const bigIntReplacer = (_key, value) => {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
if (typeof value === 'bigint') {
|
|
3
|
+
return {
|
|
4
|
+
type: 'bigint',
|
|
5
|
+
value: value.toString(),
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=big-int-replacer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"big-int-replacer.js","
|
|
1
|
+
{"version":3,"file":"big-int-replacer.js","sourceRoot":"","sources":["../../../../src/logic/util/big-int-replacer.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,KAAc,EAAE,EAAE;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;SACxB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
package/esm/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "module"}
|
package/esm/pretty-print.js
CHANGED
|
@@ -7,27 +7,26 @@ import { maybePrintSpanAttributes } from './logic/pretty-printing/maybe-print-sp
|
|
|
7
7
|
import { maybeWarnAboutPlainStrings } from './logic/pretty-printing/maybe-warn-about-plain-strings.js';
|
|
8
8
|
import { printEffectStacktrace } from './logic/pretty-printing/print-effect-stacktrace.js';
|
|
9
9
|
import { maybeAddErrorToSpansStack } from './logic/spans/maybe-add-error-to-spans-stack.js';
|
|
10
|
-
import { prettyPrintOptionsDefault } from './types/pretty-print-options.type.js';
|
|
10
|
+
import { prettyPrintOptionsDefault, } from './types/pretty-print-options.type.js';
|
|
11
11
|
export const prettyPrint = (cause, options = prettyPrintOptionsDefault) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}).join('\r\n');
|
|
12
|
+
if (isInterruptedOnly(cause)) {
|
|
13
|
+
return 'All fibers interrupted without errors.';
|
|
14
|
+
}
|
|
15
|
+
const failures = captureErrorsFrom(cause);
|
|
16
|
+
const title = `\r\n🫠 ${color.bold(color.yellow(color.underline(`${failures.length} error${failures.length > 1 ? 's' : ''} occured`)))}\r\n\r\n`;
|
|
17
|
+
return (title +
|
|
18
|
+
failures
|
|
19
|
+
.map(({ errorType, message: errorMessage, stack, span, isPlainString }, failureIndex) => {
|
|
20
|
+
const d = [
|
|
21
|
+
formatFailuresTitle(errorType, errorMessage, failures.length, failureIndex),
|
|
22
|
+
];
|
|
23
|
+
maybeWarnAboutPlainStrings(d, isPlainString);
|
|
24
|
+
const spanAttributesStack = maybePrintSpanAttributes(d, span, isPlainString, options);
|
|
25
|
+
const effectStack = maybeAddErrorToSpansStack(stack, spanAttributesStack);
|
|
26
|
+
printEffectStacktrace(d, span, effectStack, options);
|
|
27
|
+
maybePrintNodeStacktrace(d, span, stack, isPlainString, options);
|
|
28
|
+
return [...d, '\r\n'].join('');
|
|
29
|
+
})
|
|
30
|
+
.join('\r\n'));
|
|
32
31
|
};
|
|
33
32
|
//# sourceMappingURL=pretty-print.js.map
|
package/esm/pretty-print.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pretty-print.js","
|
|
1
|
+
{"version":3,"file":"pretty-print.js","sourceRoot":"","sources":["../../src/pretty-print.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAEL,yBAAyB,GAC1B,MAAM,sCAAsC,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAe,EACf,UAA8B,yBAAyB,EAC/C,EAAE;IACV,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,wCAAwC,CAAC;IAClD,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAI,KAAK,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,WAAW,KAAK,CAAC,IAAI,CACjC,KAAK,CAAC,MAAM,CACV,KAAK,CAAC,SAAS,CACb,GAAG,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CACpE,CACF,CACF,UAAU,CAAC;IAEZ,OAAO,CACL,KAAK;QACL,QAAQ;aACL,GAAG,CACF,CACE,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,EAChE,YAAY,EACZ,EAAE;YACF,MAAM,CAAC,GAAa;gBAClB,mBAAmB,CACjB,SAAS,EACT,YAAY,EACZ,QAAQ,CAAC,MAAM,EACf,YAAY,CACb;aACF,CAAC;YAEF,0BAA0B,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAE7C,MAAM,mBAAmB,GAAG,wBAAwB,CAClD,CAAC,EACD,IAAI,EACJ,aAAa,EACb,OAAO,CACR,CAAC;YAEF,MAAM,WAAW,GAAG,yBAAyB,CAC3C,KAAK,EACL,mBAAmB,CACpB,CAAC;YAEF,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACrD,wBAAwB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAEjE,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC,CACF;aACA,IAAI,CAAC,MAAM,CAAC,CAChB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Effect, pipe } from 'effect';
|
|
2
2
|
import { prettyPrint } from '../index.js';
|
|
3
|
-
import { prettyPrintOptionsDefault } from '../types/pretty-print-options.type.js';
|
|
4
|
-
export const runPromise = async (effect, options = prettyPrintOptionsDefault) => await Effect.runPromise(pipe(effect, Effect.sandbox, Effect.catchAll(e => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
import { prettyPrintOptionsDefault, } from '../types/pretty-print-options.type.js';
|
|
4
|
+
export const runPromise = async (effect, options = prettyPrintOptionsDefault) => await Effect.runPromise(pipe(effect, Effect.sandbox, Effect.catchAll((e) => {
|
|
5
|
+
if (options.enabled === false) {
|
|
6
|
+
return Effect.fail(e);
|
|
7
|
+
}
|
|
8
|
+
const prettyError = prettyPrint(e, options);
|
|
9
|
+
console.error(prettyError);
|
|
10
|
+
return Effect.fail('❌ runPromise failure');
|
|
11
11
|
})));
|
|
12
12
|
//# sourceMappingURL=run-promise.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-promise.js","
|
|
1
|
+
{"version":3,"file":"run-promise.js","sourceRoot":"","sources":["../../../src/runners/run-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAEL,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,MAA2B,EAC3B,UAA8B,yBAAyB,EAC3C,EAAE,CACd,MAAM,MAAM,CAAC,UAAU,CACrB,IAAI,CACF,MAAM,EACN,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;IACpB,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE3B,OAAO,MAAM,CAAC,IAAI,CAAC,sBAA+B,CAAC,CAAC;AACtD,CAAC,CAAC,CACH,CACF,CAAC"}
|
package/esm/runners/run-sync.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Effect, pipe } from 'effect';
|
|
2
2
|
import { prettyPrint } from '../index.js';
|
|
3
|
-
import { prettyPrintOptionsDefault } from '../types/pretty-print-options.type.js';
|
|
4
|
-
export const runSync = (effect, options = prettyPrintOptionsDefault) => Effect.runSync(pipe(effect, Effect.sandbox, Effect.catchAll(e => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import { prettyPrintOptionsDefault, } from '../types/pretty-print-options.type.js';
|
|
4
|
+
export const runSync = (effect, options = prettyPrintOptionsDefault) => Effect.runSync(pipe(effect, Effect.sandbox, Effect.catchAll((e) => {
|
|
5
|
+
if (options.enabled === true) {
|
|
6
|
+
console.error(prettyPrint(e, options));
|
|
7
|
+
return Effect.fail('❌ runSync failure');
|
|
8
|
+
}
|
|
9
|
+
return Effect.fail(e);
|
|
10
10
|
})));
|
|
11
11
|
//# sourceMappingURL=run-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-sync.js","
|
|
1
|
+
{"version":3,"file":"run-sync.js","sourceRoot":"","sources":["../../../src/runners/run-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAEL,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAA2B,EAC3B,UAA8B,yBAAyB,EACpD,EAAE,CACL,MAAM,CAAC,OAAO,CACZ,IAAI,CACF,MAAM,EACN,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;IACpB,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAEvC,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAU,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CACH,CACF,CAAC"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { sourceFileWithMapPointerRegex } from '../logic/stack/stack-regex.js';
|
|
2
|
-
export const getErrorLocationFrom = sourceFile => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
filePath,
|
|
12
|
-
line,
|
|
13
|
-
column
|
|
14
|
-
};
|
|
2
|
+
export const getErrorLocationFrom = (sourceFile) => {
|
|
3
|
+
const regex = sourceFileWithMapPointerRegex.exec(sourceFile);
|
|
4
|
+
if (regex === null || regex.length !== 7) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
const filePath = regex[2];
|
|
8
|
+
const line = +regex[5];
|
|
9
|
+
const column = +regex[6];
|
|
10
|
+
return { filePath, line, column };
|
|
15
11
|
};
|
|
16
12
|
//# sourceMappingURL=get-error-location-from-file-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-error-location-from-file-path.js","
|
|
1
|
+
{"version":3,"file":"get-error-location-from-file-path.js","sourceRoot":"","sources":["../../../src/source-maps/get-error-location-from-file-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAQ9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,UAAkB,EACS,EAAE;IAC7B,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEzB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
import { getErrorLocationFrom } from './get-error-location-from-file-path.js';
|
|
3
3
|
import { getSourceCode } from './get-source-code.js';
|
|
4
|
-
import { getSourcesFromMapFile } from './get-sources-from-map-file.js';
|
|
5
|
-
export const getErrorRelatedSources = sourceFile => Effect.gen(function* () {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
filePath
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
source
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
return yield* getSourcesFromMapFile(location);
|
|
4
|
+
import { getSourcesFromMapFile, } from './get-sources-from-map-file.js';
|
|
5
|
+
export const getErrorRelatedSources = (sourceFile) => Effect.gen(function* () {
|
|
6
|
+
const location = getErrorLocationFrom(sourceFile);
|
|
7
|
+
if (location === undefined) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const { filePath, line, column } = location;
|
|
11
|
+
const isTypescriptFile = filePath.endsWith('.ts') || filePath.endsWith('.tsx');
|
|
12
|
+
if (isTypescriptFile) {
|
|
13
|
+
const source = yield* getSourceCode(location);
|
|
14
|
+
return {
|
|
15
|
+
_tag: 'sources',
|
|
16
|
+
runPath: `${filePath}:${line}:${column}`,
|
|
17
|
+
sourcesPath: undefined,
|
|
18
|
+
source,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return yield* getSourcesFromMapFile(location);
|
|
26
22
|
});
|
|
27
23
|
//# sourceMappingURL=get-error-related-sources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-error-related-sources.js","
|
|
1
|
+
{"version":3,"file":"get-error-related-sources.js","sourceRoot":"","sources":["../../../src/source-maps/get-error-related-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAGL,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AAExC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,UAAkB,EAC0D,EAAE,CAC9E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAE5C,MAAM,gBAAgB,GACpB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE9C,OAAO;YACL,IAAI,EAAE,SAAkB;YACxB,OAAO,EAAE,GAAG,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE;YACxC,WAAW,EAAE,SAAS;YACtB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
import { readFileEffect } from '../logic/effects/fs/fs-extra.effects.js';
|
|
3
3
|
const numberOflinesToExtract = 7;
|
|
4
|
-
export const getSourceCode = ({
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
});
|
|
4
|
+
export const getSourceCode = ({ filePath, line, column }, isFromJs = false) => Effect.gen(function* () {
|
|
5
|
+
const start = line >= 4 ? line - 4 : 0;
|
|
6
|
+
const sourceCode = yield* readFileEffect(filePath);
|
|
7
|
+
return sourceCode
|
|
8
|
+
.split('\n')
|
|
9
|
+
.splice(start, numberOflinesToExtract)
|
|
10
|
+
.map((currentLine, index) => {
|
|
11
|
+
const currentLineNumber = index + start + 1;
|
|
12
|
+
const actualColumn = isFromJs ? column + 1 : column;
|
|
13
|
+
return {
|
|
14
|
+
line: currentLineNumber,
|
|
15
|
+
code: currentLine,
|
|
16
|
+
column: currentLineNumber === line ? actualColumn : undefined,
|
|
17
|
+
};
|
|
18
|
+
});
|
|
20
19
|
});
|
|
21
20
|
//# sourceMappingURL=get-source-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-source-code.js","
|
|
1
|
+
{"version":3,"file":"get-source-code.js","sourceRoot":"","sources":["../../../src/source-maps/get-source-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAUzE,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAiB,EACzC,QAAQ,GAAG,KAAK,EACsB,EAAE,CACxC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEnD,OAAO,UAAU;SACd,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC;SACrC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAE5C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEpD,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,40 +1,42 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { Effect } from 'effect';
|
|
3
3
|
import { SourceMapConsumer } from 'source-map-js';
|
|
4
|
-
import { existsEffect, readJsonEffect } from '../logic/effects/fs/fs-extra.effects.js';
|
|
4
|
+
import { existsEffect, readJsonEffect, } from '../logic/effects/fs/fs-extra.effects.js';
|
|
5
5
|
import { getSourceCode } from './get-source-code.js';
|
|
6
|
-
export const getSourcesFromMapFile = location => Effect.gen(function* () {
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
export const getSourcesFromMapFile = (location) => Effect.gen(function* () {
|
|
7
|
+
const fileExists = yield* existsEffect(`${location.filePath}.map`);
|
|
8
|
+
if (!fileExists) {
|
|
9
|
+
return {
|
|
10
|
+
_tag: 'location',
|
|
11
|
+
...location,
|
|
12
|
+
filePath: location.filePath.replace(process.cwd(), ''),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const data = yield* readJsonEffect(`${location.filePath}.map`);
|
|
16
|
+
if (data.version === undefined || data.sources === undefined) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const consumer = new SourceMapConsumer(data);
|
|
20
|
+
const sources = consumer.originalPositionFor({
|
|
21
|
+
column: location.column,
|
|
22
|
+
line: location.line,
|
|
23
|
+
});
|
|
24
|
+
if (sources.source === null ||
|
|
25
|
+
sources.line === null ||
|
|
26
|
+
sources.column === null) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const absolutePath = path.resolve(location.filePath.substring(0, location.filePath.lastIndexOf('/')), sources.source);
|
|
30
|
+
const source = yield* getSourceCode({
|
|
31
|
+
filePath: absolutePath,
|
|
32
|
+
line: sources.line,
|
|
33
|
+
column: sources.column,
|
|
34
|
+
}, true);
|
|
9
35
|
return {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
36
|
+
_tag: 'sources',
|
|
37
|
+
runPath: `${location.filePath}:${location.line}:${location.column}`,
|
|
38
|
+
sourcesPath: `${absolutePath}:${sources.line}:${sources.column + 1}`,
|
|
39
|
+
source,
|
|
13
40
|
};
|
|
14
|
-
}
|
|
15
|
-
const data = yield* readJsonEffect(`${location.filePath}.map`);
|
|
16
|
-
if (data.version === undefined || data.sources === undefined) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const consumer = new SourceMapConsumer(data);
|
|
20
|
-
const sources = consumer.originalPositionFor({
|
|
21
|
-
column: location.column,
|
|
22
|
-
line: location.line
|
|
23
|
-
});
|
|
24
|
-
if (sources.source === null || sources.line === null || sources.column === null) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const absolutePath = path.resolve(location.filePath.substring(0, location.filePath.lastIndexOf('/')), sources.source);
|
|
28
|
-
const source = yield* getSourceCode({
|
|
29
|
-
filePath: absolutePath,
|
|
30
|
-
line: sources.line,
|
|
31
|
-
column: sources.column
|
|
32
|
-
}, true);
|
|
33
|
-
return {
|
|
34
|
-
_tag: 'sources',
|
|
35
|
-
runPath: `${location.filePath}:${location.line}:${location.column}`,
|
|
36
|
-
sourcesPath: `${absolutePath}:${sources.line}:${sources.column + 1}`,
|
|
37
|
-
source
|
|
38
|
-
};
|
|
39
41
|
});
|
|
40
42
|
//# sourceMappingURL=get-sources-from-map-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-sources-from-map-file.js","
|
|
1
|
+
{"version":3,"file":"get-sources-from-map-file.js","sourceRoot":"","sources":["../../../src/source-maps/get-sources-from-map-file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAqB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGrE,OAAO,EACL,YAAY,EACZ,cAAc,GACf,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAmB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAatE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,QAAuB,EACqD,EAAE,CAC9E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,QAAQ,MAAM,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,IAAI,EAAE,UAAmB;YACzB,GAAG,QAAQ;YACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,cAAc,CAChC,GAAG,QAAQ,CAAC,QAAQ,MAAM,CAC3B,CAAC;IACF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QAC3C,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC,CAAC;IACH,IACE,OAAO,CAAC,MAAM,KAAK,IAAI;QACvB,OAAO,CAAC,IAAI,KAAK,IAAI;QACrB,OAAO,CAAC,MAAM,KAAK,IAAI,EACvB,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAC/B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAClE,OAAO,CAAC,MAAM,CACf,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CACjC;QACE,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,EACD,IAAI,CACL,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,SAAkB;QACxB,OAAO,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnE,WAAW,EAAE,GAAG,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACpE,MAAM;KACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|