effect-errors 1.6.2 → 1.7.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 (32) hide show
  1. package/README.md +50 -9
  2. package/cjs/logic/pretty-printing/print-effect-stacktrace.js +1 -1
  3. package/cjs/logic/pretty-printing/print-effect-stacktrace.js.map +1 -1
  4. package/cjs/logic/spans/maybe-add-error-to-spans-stack.js +24 -0
  5. package/cjs/logic/spans/maybe-add-error-to-spans-stack.js.map +1 -0
  6. package/cjs/pretty-print.js +3 -1
  7. package/cjs/pretty-print.js.map +1 -1
  8. package/cjs/runners/run-promise.js +2 -1
  9. package/cjs/runners/run-promise.js.map +1 -1
  10. package/cjs/source-maps/maybe-map-sourcemaps.js +6 -2
  11. package/cjs/source-maps/maybe-map-sourcemaps.js.map +1 -1
  12. package/cjs/source-maps/transform-raw-error.js +6 -0
  13. package/cjs/source-maps/transform-raw-error.js.map +1 -1
  14. package/dts/logic/spans/maybe-add-error-to-spans-stack.d.ts +3 -0
  15. package/dts/logic/spans/maybe-add-error-to-spans-stack.d.ts.map +1 -0
  16. package/dts/pretty-print.d.ts.map +1 -1
  17. package/dts/runners/run-promise.d.ts.map +1 -1
  18. package/dts/source-maps/maybe-map-sourcemaps.d.ts.map +1 -1
  19. package/dts/source-maps/transform-raw-error.d.ts.map +1 -1
  20. package/esm/logic/pretty-printing/print-effect-stacktrace.js +1 -1
  21. package/esm/logic/pretty-printing/print-effect-stacktrace.js.map +1 -1
  22. package/esm/logic/spans/maybe-add-error-to-spans-stack.js +16 -0
  23. package/esm/logic/spans/maybe-add-error-to-spans-stack.js.map +1 -0
  24. package/esm/pretty-print.js +3 -1
  25. package/esm/pretty-print.js.map +1 -1
  26. package/esm/runners/run-promise.js +2 -1
  27. package/esm/runners/run-promise.js.map +1 -1
  28. package/esm/source-maps/maybe-map-sourcemaps.js +7 -3
  29. package/esm/source-maps/maybe-map-sourcemaps.js.map +1 -1
  30. package/esm/source-maps/transform-raw-error.js +6 -0
  31. package/esm/source-maps/transform-raw-error.js.map +1 -1
  32. package/package.json +4 -4
package/README.md CHANGED
@@ -146,7 +146,7 @@ Effect.fail({ _tag: 'SucksToBeMe', message: 'Yeah...' });
146
146
  You might want to apply your own logic to reported errors data; for example if you want to display errors in html. You can do so using `captureErrors`. The function has the following signature:
147
147
 
148
148
  ```typescript
149
- interface ErrorSpan {
149
+ export interface ErrorSpan {
150
150
  name: string;
151
151
  attributes: Record<string, unknown>;
152
152
  durationInMilliseconds: number | undefined;
@@ -211,16 +211,57 @@ Capturing errors from the [`from-promise` bundle](./src/tests/bundle/from-promis
211
211
  },
212
212
  "stack": [
213
213
  "at new e (:1:28)",
214
- "at new <anonymous> (./src/tests/bundle/from-promise.js:31:85157)",
214
+ "at new <anonymous> (./src/tests/bundle/from-promise.js:31:85172)",
215
215
  "at new t (:1:28)",
216
- "at new za (:1:28)",
217
- "at catch (./src/tests/bundle/from-promise.js:36:352)",
218
- "at <anonymous> (./src/tests/bundle/from-promise.js:24:27585)",
216
+ "at new Ga (:1:28)",
217
+ "at catch (./src/tests/bundle/from-promise.js:37:352)",
218
+ "at Sync (./src/tests/bundle/from-promise.js:31:39923)",
219
+ "at runLoop (./src/tests/bundle/from-promise.js:31:42686)",
220
+ "at evaluateEffect (./src/tests/bundle/from-promise.js:31:38196)",
221
+ "at evaluateMessageWhileSuspended (./src/tests/bundle/from-promise.js:31:37872)",
222
+ "at drainQueueOnCurrentThread (./src/tests/bundle/from-promise.js:31:35561)",
223
+ "at run (./src/tests/bundle/from-promise.js:31:43020)",
224
+ "at starveInternal (./src/tests/bundle/from-promise.js:31:6243)",
219
225
  "at processTicksAndRejections (:12:39)"
220
226
  ],
221
227
  "sources": [
222
228
  {
223
- "runPath": "/Users/jpb06/repos/perso/effect-errors/src/tests/bundle/from-promise.js:36:213",
229
+ "runPath": "/Users/jpb06/repos/perso/effect-errors/src/tests/bundle/from-promise.js:37:352",
230
+ "sourcesPath": "/Users/jpb06/repos/perso/effect-errors/src/examples/from-promise.ts:30:13",
231
+ "source": [
232
+ {
233
+ "line": 27,
234
+ "code": " try: async () =>"
235
+ },
236
+ {
237
+ "line": 28,
238
+ "code": " await fetch(`https://yolo-bro-oh-no.org/users/${userId}`),"
239
+ },
240
+ {
241
+ "line": 29,
242
+ "code": " catch: (e) =>"
243
+ },
244
+ {
245
+ "line": 30,
246
+ "code": " new FetchError({",
247
+ "column": 13
248
+ },
249
+ {
250
+ "line": 31,
251
+ "code": " cause: e,"
252
+ },
253
+ {
254
+ "line": 32,
255
+ "code": " }),"
256
+ },
257
+ {
258
+ "line": 33,
259
+ "code": " }),"
260
+ }
261
+ ]
262
+ },
263
+ {
264
+ "runPath": "/Users/jpb06/repos/perso/effect-errors/src/tests/bundle/from-promise.js:37:213",
224
265
  "sourcesPath": "/Users/jpb06/repos/perso/effect-errors/src/examples/from-promise.ts:25:10",
225
266
  "source": [
226
267
  {
@@ -255,7 +296,7 @@ Capturing errors from the [`from-promise` bundle](./src/tests/bundle/from-promis
255
296
  ]
256
297
  },
257
298
  {
258
- "runPath": "/Users/jpb06/repos/perso/effect-errors/src/tests/bundle/from-promise.js:36:490",
299
+ "runPath": "/Users/jpb06/repos/perso/effect-errors/src/tests/bundle/from-promise.js:37:490",
259
300
  "sourcesPath": "/Users/jpb06/repos/perso/effect-errors/src/examples/from-promise.ts:44:39",
260
301
  "source": [
261
302
  {
@@ -294,14 +335,14 @@ Capturing errors from the [`from-promise` bundle](./src/tests/bundle/from-promis
294
335
  {
295
336
  "name": "fromPromiseTask",
296
337
  "attributes": {},
297
- "durationInMilliseconds": 20
338
+ "durationInMilliseconds": 246
298
339
  },
299
340
  {
300
341
  "name": "fetchUser",
301
342
  "attributes": {
302
343
  "userId": "123"
303
344
  },
304
- "durationInMilliseconds": 13
345
+ "durationInMilliseconds": 239
305
346
  }
306
347
  ],
307
348
  "isPlainString": false
@@ -18,7 +18,7 @@ const printEffectStacktrace = (d, span, spanAttributesStack, {
18
18
  return;
19
19
  }
20
20
  const cleanedStack = `│ ${(0, _filterStack.filterStack)(spanAttributesStack.join('\r\n│ '), stripCwd === true)}`;
21
- d.push(`\r\n${span !== undefined ? '\r\n' : ''}🚨 Effect Stacktrace\r\n${_picocolors.default.red(cleanedStack)}`);
21
+ d.push(`\r\n${span !== undefined ? '\r\n' : ''}🚨 Spans Stacktrace\r\n${_picocolors.default.red(cleanedStack)}`);
22
22
  };
23
23
  exports.printEffectStacktrace = printEffectStacktrace;
24
24
  //# sourceMappingURL=print-effect-stacktrace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"print-effect-stacktrace.js","names":["_picocolors","_interopRequireDefault","require","_filterStack","e","__esModule","default","printEffectStacktrace","d","span","spanAttributesStack","stripCwd","undefined","length","cleanedStack","filterStack","join","push","red","exports"],"sources":["../../../../src/logic/pretty-printing/print-effect-stacktrace.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,WAAA,gBAAAC,sBAAA,eAAAC,OAAA;AAGA,IAAAC,YAAA,gBAAAD,OAAA;AAAuD,SAAAD,uBAAAG,CAAA;EAAA,OAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAEhD,MAAMG,qBAAqB,GAAGA,CACnCC,CAAW,EACXC,IAAsB,EACtBC,mBAAyC,EACzC;EAAEC;AAAQ,CAAsB,KAC9B;EACF,IAAID,mBAAmB,KAAKE,SAAS,IAAIF,mBAAmB,CAACG,MAAM,KAAK,CAAC,EAAE;IACzE;EACF;EAEA,MAAMC,YAAY,GAAG,KAAK,IAAAX,YAAA,CAAAY,WAAW,EAACL,mBAAmB,CAACM,IAAI,CAAC,QAAQ,CAAC,EAAEL,QAAQ,KAAK,IAAI,CAAC,EAAE;EAC9FH,CAAC,CAACS,IAAI,CACJ,OAAOR,IAAI,KAAKG,SAAS,GAAG,MAAM,GAAG,EAAE,2BAA2BZ,WAAA,CAAAM,OAAK,CAACY,GAAG,CAACJ,YAAY,CAAC,EAAE,CAC5F;AACH,CAAC;AAACK,OAAA,CAAAZ,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"file":"print-effect-stacktrace.js","names":["_picocolors","_interopRequireDefault","require","_filterStack","e","__esModule","default","printEffectStacktrace","d","span","spanAttributesStack","stripCwd","undefined","length","cleanedStack","filterStack","join","push","red","exports"],"sources":["../../../../src/logic/pretty-printing/print-effect-stacktrace.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,WAAA,gBAAAC,sBAAA,eAAAC,OAAA;AAGA,IAAAC,YAAA,gBAAAD,OAAA;AAAuD,SAAAD,uBAAAG,CAAA;EAAA,OAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAEhD,MAAMG,qBAAqB,GAAGA,CACnCC,CAAW,EACXC,IAAsB,EACtBC,mBAAyC,EACzC;EAAEC;AAAQ,CAAsB,KAC9B;EACF,IAAID,mBAAmB,KAAKE,SAAS,IAAIF,mBAAmB,CAACG,MAAM,KAAK,CAAC,EAAE;IACzE;EACF;EAEA,MAAMC,YAAY,GAAG,KAAK,IAAAX,YAAA,CAAAY,WAAW,EAACL,mBAAmB,CAACM,IAAI,CAAC,QAAQ,CAAC,EAAEL,QAAQ,KAAK,IAAI,CAAC,EAAE;EAC9FH,CAAC,CAACS,IAAI,CACJ,OAAOR,IAAI,KAAKG,SAAS,GAAG,MAAM,GAAG,EAAE,0BAA0BZ,WAAA,CAAAM,OAAK,CAACY,GAAG,CAACJ,YAAY,CAAC,EAAE,CAC3F;AACH,CAAC;AAACK,OAAA,CAAAZ,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.removeNodeModulesEntriesFromStack = exports.maybeAddErrorToSpansStack = void 0;
7
+ const removeNodeModulesEntriesFromStack = stack => {
8
+ const lines = stack.split('\r\n');
9
+ const regex = new RegExp(`${process.cwd()}/.(?![node_modules])`);
10
+ return lines.filter(l => regex.exec(l)?.map(l => l.trimStart()));
11
+ };
12
+ exports.removeNodeModulesEntriesFromStack = removeNodeModulesEntriesFromStack;
13
+ const maybeAddErrorToSpansStack = (stack, spanAttributesStack) => {
14
+ const effectStack = [];
15
+ if (stack && spanAttributesStack !== undefined) {
16
+ effectStack.push(...removeNodeModulesEntriesFromStack(stack));
17
+ }
18
+ if (spanAttributesStack !== undefined) {
19
+ effectStack.push(...spanAttributesStack);
20
+ }
21
+ return effectStack;
22
+ };
23
+ exports.maybeAddErrorToSpansStack = maybeAddErrorToSpansStack;
24
+ //# sourceMappingURL=maybe-add-error-to-spans-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-add-error-to-spans-stack.js","names":["removeNodeModulesEntriesFromStack","stack","lines","split","regex","RegExp","process","cwd","filter","l","exec","map","trimStart","exports","maybeAddErrorToSpansStack","spanAttributesStack","effectStack","undefined","push"],"sources":["../../../../src/logic/spans/maybe-add-error-to-spans-stack.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAO,MAAMA,iCAAiC,GAAIC,KAAa,IAAI;EACjE,MAAMC,KAAK,GAAGD,KAAK,CAACE,KAAK,CAAC,MAAM,CAAC;EACjC,MAAMC,KAAK,GAAG,IAAIC,MAAM,CAAC,GAAGC,OAAO,CAACC,GAAG,EAAE,sBAAsB,CAAC;EAEhE,OAAOL,KAAK,CAACM,MAAM,CAAEC,CAAC,IAAKL,KAAK,CAACM,IAAI,CAACD,CAAC,CAAC,EAAEE,GAAG,CAAEF,CAAC,IAAKA,CAAC,CAACG,SAAS,EAAE,CAAC,CAAC;AACtE,CAAC;AAACC,OAAA,CAAAb,iCAAA,GAAAA,iCAAA;AAEK,MAAMc,yBAAyB,GAAGA,CACvCb,KAAyB,EACzBc,mBAAyC,KACvC;EACF,MAAMC,WAAW,GAAa,EAAE;EAEhC,IAAIf,KAAK,IAAIc,mBAAmB,KAAKE,SAAS,EAAE;IAC9CD,WAAW,CAACE,IAAI,CAAC,GAAGlB,iCAAiC,CAACC,KAAK,CAAC,CAAC;EAC/D;EACA,IAAIc,mBAAmB,KAAKE,SAAS,EAAE;IACrCD,WAAW,CAACE,IAAI,CAAC,GAAGH,mBAAmB,CAAC;EAC1C;EAEA,OAAOC,WAAW;AACpB,CAAC;AAACH,OAAA,CAAAC,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -12,6 +12,7 @@ var _maybePrintNodeStacktrace = /*#__PURE__*/require("./logic/pretty-printing/ma
12
12
  var _maybePrintSpanAttributes = /*#__PURE__*/require("./logic/pretty-printing/maybe-print-span-attributes.js");
13
13
  var _maybeWarnAboutPlainStrings = /*#__PURE__*/require("./logic/pretty-printing/maybe-warn-about-plain-strings.js");
14
14
  var _printEffectStacktrace = /*#__PURE__*/require("./logic/pretty-printing/print-effect-stacktrace.js");
15
+ var _maybeAddErrorToSpansStack = /*#__PURE__*/require("./logic/spans/maybe-add-error-to-spans-stack.js");
15
16
  var _prettyPrintOptionsType = /*#__PURE__*/require("./types/pretty-print-options.type.js");
16
17
  function _interopRequireDefault(e) {
17
18
  return e && e.__esModule ? e : {
@@ -34,7 +35,8 @@ const prettyPrint = (cause, options = _prettyPrintOptionsType.prettyPrintOptions
34
35
  const d = [(0, _formatFailuresTitle.formatFailuresTitle)(errorType, errorMessage, failures.length, failureIndex)];
35
36
  (0, _maybeWarnAboutPlainStrings.maybeWarnAboutPlainStrings)(d, isPlainString);
36
37
  const spanAttributesStack = (0, _maybePrintSpanAttributes.maybePrintSpanAttributes)(d, span, isPlainString, options);
37
- (0, _printEffectStacktrace.printEffectStacktrace)(d, span, spanAttributesStack, options);
38
+ const effectStack = (0, _maybeAddErrorToSpansStack.maybeAddErrorToSpansStack)(stack, spanAttributesStack);
39
+ (0, _printEffectStacktrace.printEffectStacktrace)(d, span, effectStack, options);
38
40
  (0, _maybePrintNodeStacktrace.maybePrintNodeStacktrace)(d, span, stack, isPlainString, options);
39
41
  return [...d, '\r\n'].join('');
40
42
  }).join('\r\n');
@@ -1 +1 @@
1
- {"version":3,"file":"pretty-print.js","names":["_Cause","require","_picocolors","_interopRequireDefault","_captureErrorsFromCause","_formatFailuresTitle","_maybePrintNodeStacktrace","_maybePrintSpanAttributes","_maybeWarnAboutPlainStrings","_printEffectStacktrace","_prettyPrintOptionsType","e","__esModule","default","prettyPrint","cause","options","prettyPrintOptionsDefault","isInterruptedOnly","failures","captureErrorsFrom","title","bold","yellow","underline","length","map","errorType","message","errorMessage","stack","span","isPlainString","failureIndex","d","formatFailuresTitle","maybeWarnAboutPlainStrings","spanAttributesStack","maybePrintSpanAttributes","printEffectStacktrace","maybePrintNodeStacktrace","join","exports"],"sources":["../../src/pretty-print.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,OAAA;AACA,IAAAC,WAAA,gBAAAC,sBAAA,eAAAF,OAAA;AAEA,IAAAG,uBAAA,gBAAAH,OAAA;AACA,IAAAI,oBAAA,gBAAAJ,OAAA;AACA,IAAAK,yBAAA,gBAAAL,OAAA;AACA,IAAAM,yBAAA,gBAAAN,OAAA;AACA,IAAAO,2BAAA,gBAAAP,OAAA;AACA,IAAAQ,sBAAA,gBAAAR,OAAA;AACA,IAAAS,uBAAA,gBAAAT,OAAA;AAG8C,SAAAE,uBAAAQ,CAAA;EAAA,OAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAEvC,MAAMG,WAAW,GAAGA,CACzBC,KAAe,EACfC,OAAA,GAA8BN,uBAAA,CAAAO,yBAAyB,KAC7C;EACV,IAAI,IAAAjB,MAAA,CAAAkB,iBAAiB,EAACH,KAAK,CAAC,EAAE;IAC5B,OAAO,wCAAwC;EACjD;EAEA,MAAMI,QAAQ,GAAG,IAAAf,uBAAA,CAAAgB,iBAAiB,EAAIL,KAAK,CAAC;EAE5C,MAAMM,KAAK,GAAG,WAAWnB,WAAA,CAAAW,OAAK,CAACS,IAAI,CACjCpB,WAAA,CAAAW,OAAK,CAACU,MAAM,CACVrB,WAAA,CAAAW,OAAK,CAACW,SAAS,CACb,GAAGL,QAAQ,CAACM,MAAM,SAASN,QAAQ,CAACM,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,UAAU,CACpE,CACF,CACF,UAAU;EAEX,OACEJ,KAAK,GACLF,QAAQ,CACLO,GAAG,CACF,CACE;IAAEC,SAAS;IAAEC,OAAO,EAAEC,YAAY;IAAEC,KAAK;IAAEC,IAAI;IAAEC;EAAa,CAAE,EAChEC,YAAY,KACV;IACF,MAAMC,CAAC,GAAa,CAClB,IAAA7B,oBAAA,CAAA8B,mBAAmB,EACjBR,SAAS,EACTE,YAAY,EACZV,QAAQ,CAACM,MAAM,EACfQ,YAAY,CACb,CACF;IAED,IAAAzB,2BAAA,CAAA4B,0BAA0B,EAACF,CAAC,EAAEF,aAAa,CAAC;IAE5C,MAAMK,mBAAmB,GAAG,IAAA9B,yBAAA,CAAA+B,wBAAwB,EAClDJ,CAAC,EACDH,IAAI,EACJC,aAAa,EACbhB,OAAO,CACR;IAED,IAAAP,sBAAA,CAAA8B,qBAAqB,EAACL,CAAC,EAAEH,IAAI,EAAEM,mBAAmB,EAAErB,OAAO,CAAC;IAC5D,IAAAV,yBAAA,CAAAkC,wBAAwB,EAACN,CAAC,EAAEH,IAAI,EAAED,KAAK,EAAEE,aAAa,EAAEhB,OAAO,CAAC;IAEhE,OAAO,CAAC,GAAGkB,CAAC,EAAE,MAAM,CAAC,CAACO,IAAI,CAAC,EAAE,CAAC;EAChC,CAAC,CACF,CACAA,IAAI,CAAC,MAAM,CAAC;AAEnB,CAAC;AAACC,OAAA,CAAA5B,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"file":"pretty-print.js","names":["_Cause","require","_picocolors","_interopRequireDefault","_captureErrorsFromCause","_formatFailuresTitle","_maybePrintNodeStacktrace","_maybePrintSpanAttributes","_maybeWarnAboutPlainStrings","_printEffectStacktrace","_maybeAddErrorToSpansStack","_prettyPrintOptionsType","e","__esModule","default","prettyPrint","cause","options","prettyPrintOptionsDefault","isInterruptedOnly","failures","captureErrorsFrom","title","bold","yellow","underline","length","map","errorType","message","errorMessage","stack","span","isPlainString","failureIndex","d","formatFailuresTitle","maybeWarnAboutPlainStrings","spanAttributesStack","maybePrintSpanAttributes","effectStack","maybeAddErrorToSpansStack","printEffectStacktrace","maybePrintNodeStacktrace","join","exports"],"sources":["../../src/pretty-print.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,OAAA;AACA,IAAAC,WAAA,gBAAAC,sBAAA,eAAAF,OAAA;AAEA,IAAAG,uBAAA,gBAAAH,OAAA;AACA,IAAAI,oBAAA,gBAAAJ,OAAA;AACA,IAAAK,yBAAA,gBAAAL,OAAA;AACA,IAAAM,yBAAA,gBAAAN,OAAA;AACA,IAAAO,2BAAA,gBAAAP,OAAA;AACA,IAAAQ,sBAAA,gBAAAR,OAAA;AACA,IAAAS,0BAAA,gBAAAT,OAAA;AACA,IAAAU,uBAAA,gBAAAV,OAAA;AAG8C,SAAAE,uBAAAS,CAAA;EAAA,OAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAEvC,MAAMG,WAAW,GAAGA,CACzBC,KAAe,EACfC,OAAA,GAA8BN,uBAAA,CAAAO,yBAAyB,KAC7C;EACV,IAAI,IAAAlB,MAAA,CAAAmB,iBAAiB,EAACH,KAAK,CAAC,EAAE;IAC5B,OAAO,wCAAwC;EACjD;EAEA,MAAMI,QAAQ,GAAG,IAAAhB,uBAAA,CAAAiB,iBAAiB,EAAIL,KAAK,CAAC;EAE5C,MAAMM,KAAK,GAAG,WAAWpB,WAAA,CAAAY,OAAK,CAACS,IAAI,CACjCrB,WAAA,CAAAY,OAAK,CAACU,MAAM,CACVtB,WAAA,CAAAY,OAAK,CAACW,SAAS,CACb,GAAGL,QAAQ,CAACM,MAAM,SAASN,QAAQ,CAACM,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,UAAU,CACpE,CACF,CACF,UAAU;EAEX,OACEJ,KAAK,GACLF,QAAQ,CACLO,GAAG,CACF,CACE;IAAEC,SAAS;IAAEC,OAAO,EAAEC,YAAY;IAAEC,KAAK;IAAEC,IAAI;IAAEC;EAAa,CAAE,EAChEC,YAAY,KACV;IACF,MAAMC,CAAC,GAAa,CAClB,IAAA9B,oBAAA,CAAA+B,mBAAmB,EACjBR,SAAS,EACTE,YAAY,EACZV,QAAQ,CAACM,MAAM,EACfQ,YAAY,CACb,CACF;IAED,IAAA1B,2BAAA,CAAA6B,0BAA0B,EAACF,CAAC,EAAEF,aAAa,CAAC;IAE5C,MAAMK,mBAAmB,GAAG,IAAA/B,yBAAA,CAAAgC,wBAAwB,EAClDJ,CAAC,EACDH,IAAI,EACJC,aAAa,EACbhB,OAAO,CACR;IAED,MAAMuB,WAAW,GAAG,IAAA9B,0BAAA,CAAA+B,yBAAyB,EAC3CV,KAAK,EACLO,mBAAmB,CACpB;IAED,IAAA7B,sBAAA,CAAAiC,qBAAqB,EAACP,CAAC,EAAEH,IAAI,EAAEQ,WAAW,EAAEvB,OAAO,CAAC;IACpD,IAAAX,yBAAA,CAAAqC,wBAAwB,EAACR,CAAC,EAAEH,IAAI,EAAED,KAAK,EAAEE,aAAa,EAAEhB,OAAO,CAAC;IAEhE,OAAO,CAAC,GAAGkB,CAAC,EAAE,MAAM,CAAC,CAACS,IAAI,CAAC,EAAE,CAAC;EAChC,CAAC,CACF,CACAA,IAAI,CAAC,MAAM,CAAC;AAEnB,CAAC;AAACC,OAAA,CAAA9B,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -11,7 +11,8 @@ const runPromise = async (effect, options = _prettyPrintOptionsType.prettyPrintO
11
11
  if (options.enabled === false) {
12
12
  return _effect.Effect.fail(e);
13
13
  }
14
- console.error((0, _index.prettyPrint)(e, options));
14
+ const prettyError = (0, _index.prettyPrint)(e, options);
15
+ console.error(prettyError);
15
16
  return _effect.Effect.fail('❌ runPromise failure');
16
17
  })));
17
18
  exports.runPromise = runPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"run-promise.js","names":["_effect","require","_index","_prettyPrintOptionsType","runPromise","effect","options","prettyPrintOptionsDefault","Effect","pipe","sandbox","catchAll","e","enabled","fail","console","error","prettyPrint","exports"],"sources":["../../../src/runners/run-promise.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,gBAAAC,OAAA;AAEA,IAAAC,MAAA,gBAAAD,OAAA;AACA,IAAAE,uBAAA,gBAAAF,OAAA;AAKO,MAAMG,UAAU,GAAG,MAAAA,CACxBC,MAA2B,EAC3BC,OAAA,GAA8BH,uBAAA,CAAAI,yBAAyB,KAEvD,MAAMP,OAAA,CAAAQ,MAAM,CAACJ,UAAU,CACrB,IAAAJ,OAAA,CAAAS,IAAI,EACFJ,MAAM,EACNL,OAAA,CAAAQ,MAAM,CAACE,OAAO,EACdV,OAAA,CAAAQ,MAAM,CAACG,QAAQ,CAAEC,CAAC,IAAI;EACpB,IAAIN,OAAO,CAACO,OAAO,KAAK,KAAK,EAAE;IAC7B,OAAOb,OAAA,CAAAQ,MAAM,CAACM,IAAI,CAACF,CAAC,CAAC;EACvB;EAEAG,OAAO,CAACC,KAAK,CAAC,IAAAd,MAAA,CAAAe,WAAW,EAACL,CAAC,EAAEN,OAAO,CAAC,CAAC;EAEtC,OAAON,OAAA,CAAAQ,MAAM,CAACM,IAAI,CAAC,sBAAsB,CAAU;AACrD,CAAC,CAAC,CACH,CACF;AAACI,OAAA,CAAAd,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"file":"run-promise.js","names":["_effect","require","_index","_prettyPrintOptionsType","runPromise","effect","options","prettyPrintOptionsDefault","Effect","pipe","sandbox","catchAll","e","enabled","fail","prettyError","prettyPrint","console","error","exports"],"sources":["../../../src/runners/run-promise.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,gBAAAC,OAAA;AAEA,IAAAC,MAAA,gBAAAD,OAAA;AACA,IAAAE,uBAAA,gBAAAF,OAAA;AAKO,MAAMG,UAAU,GAAG,MAAAA,CACxBC,MAA2B,EAC3BC,OAAA,GAA8BH,uBAAA,CAAAI,yBAAyB,KAEvD,MAAMP,OAAA,CAAAQ,MAAM,CAACJ,UAAU,CACrB,IAAAJ,OAAA,CAAAS,IAAI,EACFJ,MAAM,EACNL,OAAA,CAAAQ,MAAM,CAACE,OAAO,EACdV,OAAA,CAAAQ,MAAM,CAACG,QAAQ,CAAEC,CAAC,IAAI;EACpB,IAAIN,OAAO,CAACO,OAAO,KAAK,KAAK,EAAE;IAC7B,OAAOb,OAAA,CAAAQ,MAAM,CAACM,IAAI,CAACF,CAAC,CAAC;EACvB;EAEA,MAAMG,WAAW,GAAG,IAAAb,MAAA,CAAAc,WAAW,EAACJ,CAAC,EAAEN,OAAO,CAAC;EAC3CW,OAAO,CAACC,KAAK,CAACH,WAAW,CAAC;EAE1B,OAAOf,OAAA,CAAAQ,MAAM,CAACM,IAAI,CAAC,sBAA+B,CAAC;AACrD,CAAC,CAAC,CACH,CACF;AAACK,OAAA,CAAAf,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -7,7 +7,7 @@ exports.maybeMapSourcemaps = void 0;
7
7
  var _effect = /*#__PURE__*/require("effect");
8
8
  var _stackRegex = /*#__PURE__*/require("../logic/stack/stack-regex.js");
9
9
  var _getErrorRelatedSources = /*#__PURE__*/require("./get-error-related-sources.js");
10
- const maybeMapSourcemaps = stacktrace => _effect.Effect.forEach(stacktrace, stackLine => _effect.Effect.gen(function* () {
10
+ const maybeMapSourcemaps = stacktrace => (0, _effect.pipe)(_effect.Effect.forEach(stacktrace, stackLine => _effect.Effect.gen(function* () {
11
11
  const chunks = stackLine.split(' ');
12
12
  const path = chunks.length === 2 ? chunks[1] : chunks[chunks.length - 1].slice(1, -1);
13
13
  const details = yield* (0, _getErrorRelatedSources.getErrorRelatedSources)(path);
@@ -18,11 +18,15 @@ const maybeMapSourcemaps = stacktrace => _effect.Effect.forEach(stacktrace, stac
18
18
  sourcesPath: undefined
19
19
  };
20
20
  }
21
+ const regex = new RegExp(`${process.cwd()}/node_modules/`);
22
+ if (details.sourcesPath?.match(regex)) {
23
+ return undefined;
24
+ }
21
25
  return {
22
26
  runPath: details.runPath,
23
27
  sourcesPath: details.sourcesPath,
24
28
  source: details.source
25
29
  };
26
- }));
30
+ })), _effect.Effect.map(array => array.filter(maybeSources => maybeSources !== undefined)));
27
31
  exports.maybeMapSourcemaps = maybeMapSourcemaps;
28
32
  //# sourceMappingURL=maybe-map-sourcemaps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maybe-map-sourcemaps.js","names":["_effect","require","_stackRegex","_getErrorRelatedSources","maybeMapSourcemaps","stacktrace","Effect","forEach","stackLine","gen","chunks","split","path","length","slice","details","getErrorRelatedSources","undefined","runPath","replaceAll","stackAtRegex","source","sourcesPath","exports"],"sources":["../../../src/source-maps/maybe-map-sourcemaps.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,gBAAAC,OAAA;AAGA,IAAAC,WAAA,gBAAAD,OAAA;AAEA,IAAAE,uBAAA,gBAAAF,OAAA;AAGO,MAAMG,kBAAkB,GAC7BC,UAAoB,IAEpBL,OAAA,CAAAM,MAAM,CAACC,OAAO,CAACF,UAAU,EAAGG,SAAS,IACnCR,OAAA,CAAAM,MAAM,CAACG,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAGF,SAAS,CAACG,KAAK,CAAC,GAAG,CAAC;EACnC,MAAMC,IAAI,GACRF,MAAM,CAACG,MAAM,KAAK,CAAC,GACfH,MAAM,CAAC,CAAC,CAAC,GACTA,MAAM,CAACA,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAE5C,MAAMC,OAAO,GAAG,OAAO,IAAAZ,uBAAA,CAAAa,sBAAsB,EAACJ,IAAI,CAAC;EACnD,IAAIG,OAAO,KAAKE,SAAS,EAAE;IACzB,OAAO;MACLC,OAAO,EAAEV,SAAS,CAACW,UAAU,CAACjB,WAAA,CAAAkB,YAAY,EAAE,KAAK,CAAC;MAClDC,MAAM,EAAEJ,SAAS;MACjBK,WAAW,EAAEL;KACd;EACH;EAEA,OAAO;IACLC,OAAO,EAAEH,OAAO,CAACG,OAAO;IACxBI,WAAW,EAAEP,OAAO,CAACO,WAAW;IAChCD,MAAM,EAAEN,OAAO,CAACM;GACjB;AACH,CAAC,CAAC,CACH;AAACE,OAAA,CAAAnB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"file":"maybe-map-sourcemaps.js","names":["_effect","require","_stackRegex","_getErrorRelatedSources","maybeMapSourcemaps","stacktrace","pipe","Effect","forEach","stackLine","gen","chunks","split","path","length","slice","details","getErrorRelatedSources","undefined","runPath","replaceAll","stackAtRegex","source","sourcesPath","regex","RegExp","process","cwd","match","map","array","filter","maybeSources","exports"],"sources":["../../../src/source-maps/maybe-map-sourcemaps.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,gBAAAC,OAAA;AAGA,IAAAC,WAAA,gBAAAD,OAAA;AAEA,IAAAE,uBAAA,gBAAAF,OAAA;AAGO,MAAMG,kBAAkB,GAC7BC,UAAoB,IAEpB,IAAAL,OAAA,CAAAM,IAAI,EACFN,OAAA,CAAAO,MAAM,CAACC,OAAO,CAACH,UAAU,EAAGI,SAAS,IACnCT,OAAA,CAAAO,MAAM,CAACG,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAGF,SAAS,CAACG,KAAK,CAAC,GAAG,CAAC;EACnC,MAAMC,IAAI,GACRF,MAAM,CAACG,MAAM,KAAK,CAAC,GACfH,MAAM,CAAC,CAAC,CAAC,GACTA,MAAM,CAACA,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAE5C,MAAMC,OAAO,GAAG,OAAO,IAAAb,uBAAA,CAAAc,sBAAsB,EAACJ,IAAI,CAAC;EACnD,IAAIG,OAAO,KAAKE,SAAS,EAAE;IACzB,OAAO;MACLC,OAAO,EAAEV,SAAS,CAACW,UAAU,CAAClB,WAAA,CAAAmB,YAAY,EAAE,KAAK,CAAC;MAClDC,MAAM,EAAEJ,SAAS;MACjBK,WAAW,EAAEL;KACd;EACH;EAEA,MAAMM,KAAK,GAAG,IAAIC,MAAM,CAAC,GAAGC,OAAO,CAACC,GAAG,EAAE,gBAAgB,CAAC;EAC1D,IAAIX,OAAO,CAACO,WAAW,EAAEK,KAAK,CAACJ,KAAK,CAAC,EAAE;IACrC,OAAON,SAAS;EAClB;EAEA,OAAO;IACLC,OAAO,EAAEH,OAAO,CAACG,OAAO;IACxBI,WAAW,EAAEP,OAAO,CAACO,WAAW;IAChCD,MAAM,EAAEN,OAAO,CAACM;GACjB;AACH,CAAC,CAAC,CACH,EACDtB,OAAA,CAAAO,MAAM,CAACsB,GAAG,CAAEC,KAAK,IACfA,KAAK,CAACC,MAAM,CAAEC,YAAY,IAAKA,YAAY,KAAKd,SAAS,CAAC,CAC3D,CACF;AAACe,OAAA,CAAA7B,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -8,6 +8,7 @@ var _effect = /*#__PURE__*/require("effect");
8
8
  var _splitSpansAttributesByType = /*#__PURE__*/require("../logic/spans/split-spans-attributes-by-type.js");
9
9
  var _stackRegex = /*#__PURE__*/require("../logic/stack/stack-regex.js");
10
10
  var _stripCwdPath = /*#__PURE__*/require("../logic/strip-cwd-path.js");
11
+ var _maybeAddErrorToSpansStack = /*#__PURE__*/require("../logic/spans/maybe-add-error-to-spans-stack.js");
11
12
  var _maybeMapSourcemaps = /*#__PURE__*/require("./maybe-map-sourcemaps.js");
12
13
  const transformRawError = ({
13
14
  reverseSpans,
@@ -21,6 +22,11 @@ const transformRawError = ({
21
22
  }) => _effect.Effect.gen(function* () {
22
23
  const sources = [];
23
24
  const spans = [];
25
+ if (maybeStack) {
26
+ const relevantStackEntries = (0, _maybeAddErrorToSpansStack.removeNodeModulesEntriesFromStack)(maybeStack);
27
+ const errorSources = yield* (0, _maybeMapSourcemaps.maybeMapSourcemaps)(relevantStackEntries);
28
+ sources.push(...errorSources);
29
+ }
24
30
  if (span !== undefined) {
25
31
  let current = span;
26
32
  while (current !== undefined && current._tag === 'Span') {
@@ -1 +1 @@
1
- {"version":3,"file":"transform-raw-error.js","names":["_effect","require","_splitSpansAttributesByType","_stackRegex","_stripCwdPath","_maybeMapSourcemaps","transformRawError","reverseSpans","stripCwd","message","stack","maybeStack","span","errorType","isPlainString","Effect","gen","sources","spans","undefined","current","_tag","name","attributes","allAttributes","status","stacktrace","splitSpansAttributesByTypes","errorSources","maybeMapSourcemaps","duration","endTime","startTime","BigInt","push","Object","fromEntries","durationInMilliseconds","Option","getOrUndefined","parent","stripCwdPath","replaceAll","stackAtRegex","split","length","toReversed","exports"],"sources":["../../../src/source-maps/transform-raw-error.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,gBAAAC,OAAA;AAIA,IAAAC,2BAAA,gBAAAD,OAAA;AACA,IAAAE,WAAA,gBAAAF,OAAA;AACA,IAAAG,aAAA,gBAAAH,OAAA;AAIA,IAAAI,mBAAA,gBAAAJ,OAAA;AAEO,MAAMK,iBAAiB,GAC5BA,CAAC;EAAEC,YAAY;EAAEC;AAAQ,CAAwB,KACjD,CAAC;EACCC,OAAO;EACPC,KAAK,EAAEC,UAAU;EACjBC,IAAI;EACJC,SAAS;EACTC;AAAa,CACD,KACZd,OAAA,CAAAe,MAAM,CAACC,GAAG,CAAC,aAAS;EAClB,MAAMC,OAAO,GAA0B,EAAE;EACzC,MAAMC,KAAK,GAAG,EAAE;EAEhB,IAAIN,IAAI,KAAKO,SAAS,EAAE;IACtB,IAAIC,OAAO,GAA+BR,IAAI;IAE9C,OAAOQ,OAAO,KAAKD,SAAS,IAAIC,OAAO,CAACC,IAAI,KAAK,MAAM,EAAE;MACvD,MAAM;QAAEC,IAAI;QAAEC,UAAU,EAAEC,aAAa;QAAEC;MAAM,CAAE,GAAGL,OAAO;MAE3D,MAAM;QAAEG,UAAU;QAAEG;MAAU,CAAE,GAC9B,IAAAxB,2BAAA,CAAAyB,2BAA2B,EAACH,aAAa,CAAC;MAE5C,MAAMI,YAAY,GAAG,OAAO,IAAAvB,mBAAA,CAAAwB,kBAAkB,EAACH,UAAU,CAAC;MAE1D,MAAMI,QAAQ,GACZL,MAAM,CAACJ,IAAI,KAAK,OAAO,GACnB,CAAC,GAAG,CAACI,MAAM,CAACM,OAAO,GAAGN,MAAM,CAACO,SAAS,IAAIC,MAAM,CAAC,OAAO,CAAC,EAAE,GAC3Dd,SAAS;MAEfF,OAAO,CAACiB,IAAI,CAAC,GAAGN,YAAY,CAAC;MAC7BV,KAAK,CAACgB,IAAI,CAAC;QACTZ,IAAI;QACJC,UAAU,EAAEY,MAAM,CAACC,WAAW,CAACb,UAAU,CAAC;QAC1Cc,sBAAsB,EAAEP;OACzB,CAAC;MACFV,OAAO,GAAGpB,OAAA,CAAAsC,MAAM,CAACC,cAAc,CAACnB,OAAO,CAACoB,MAAM,CAAC;IACjD;EACF;EAEA,IAAI9B,KAAK;EACT,IAAIC,UAAU,KAAKQ,SAAS,EAAE;IAC5BT,KAAK,GAAGF,QAAQ,KAAK,IAAI,GAAG,IAAAJ,aAAA,CAAAqC,YAAY,EAAC9B,UAAU,CAAC,GAAGA,UAAU;EACnE;EAEA,OAAO;IACLE,SAAS;IACTJ,OAAO;IACPC,KAAK,EAAEA,KAAK,EAAEgC,UAAU,CAACvC,WAAA,CAAAwC,YAAY,EAAE,KAAK,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC;IAC3D3B,OAAO,EAAEA,OAAO,CAAC4B,MAAM,GAAG,CAAC,GAAG5B,OAAO,GAAGE,SAAS;IACjDD,KAAK,EAAEX,YAAY,KAAK,IAAI,GAAGW,KAAK,CAAC4B,UAAU,EAAE,GAAG5B,KAAK;IACzDJ;GACD;AACH,CAAC,CAAC;AAACiC,OAAA,CAAAzC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"transform-raw-error.js","names":["_effect","require","_splitSpansAttributesByType","_stackRegex","_stripCwdPath","_maybeAddErrorToSpansStack","_maybeMapSourcemaps","transformRawError","reverseSpans","stripCwd","message","stack","maybeStack","span","errorType","isPlainString","Effect","gen","sources","spans","relevantStackEntries","removeNodeModulesEntriesFromStack","errorSources","maybeMapSourcemaps","push","undefined","current","_tag","name","attributes","allAttributes","status","stacktrace","splitSpansAttributesByTypes","duration","endTime","startTime","BigInt","Object","fromEntries","durationInMilliseconds","Option","getOrUndefined","parent","stripCwdPath","replaceAll","stackAtRegex","split","length","toReversed","exports"],"sources":["../../../src/source-maps/transform-raw-error.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,gBAAAC,OAAA;AAIA,IAAAC,2BAAA,gBAAAD,OAAA;AACA,IAAAE,WAAA,gBAAAF,OAAA;AACA,IAAAG,aAAA,gBAAAH,OAAA;AAGA,IAAAI,0BAAA,gBAAAJ,OAAA;AAEA,IAAAK,mBAAA,gBAAAL,OAAA;AAEO,MAAMM,iBAAiB,GAC5BA,CAAC;EAAEC,YAAY;EAAEC;AAAQ,CAAwB,KACjD,CAAC;EACCC,OAAO;EACPC,KAAK,EAAEC,UAAU;EACjBC,IAAI;EACJC,SAAS;EACTC;AAAa,CACD,KACZf,OAAA,CAAAgB,MAAM,CAACC,GAAG,CAAC,aAAS;EAClB,MAAMC,OAAO,GAA0B,EAAE;EACzC,MAAMC,KAAK,GAAG,EAAE;EAEhB,IAAIP,UAAU,EAAE;IACd,MAAMQ,oBAAoB,GACxB,IAAAf,0BAAA,CAAAgB,iCAAiC,EAACT,UAAU,CAAC;IAC/C,MAAMU,YAAY,GAAG,OAAO,IAAAhB,mBAAA,CAAAiB,kBAAkB,EAACH,oBAAoB,CAAC;IAEpEF,OAAO,CAACM,IAAI,CAAC,GAAGF,YAAY,CAAC;EAC/B;EAEA,IAAIT,IAAI,KAAKY,SAAS,EAAE;IACtB,IAAIC,OAAO,GAA+Bb,IAAI;IAE9C,OAAOa,OAAO,KAAKD,SAAS,IAAIC,OAAO,CAACC,IAAI,KAAK,MAAM,EAAE;MACvD,MAAM;QAAEC,IAAI;QAAEC,UAAU,EAAEC,aAAa;QAAEC;MAAM,CAAE,GAAGL,OAAO;MAE3D,MAAM;QAAEG,UAAU;QAAEG;MAAU,CAAE,GAC9B,IAAA9B,2BAAA,CAAA+B,2BAA2B,EAACH,aAAa,CAAC;MAE5C,MAAMR,YAAY,GAAG,OAAO,IAAAhB,mBAAA,CAAAiB,kBAAkB,EAACS,UAAU,CAAC;MAE1D,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,GAC3DZ,SAAS;MAEfP,OAAO,CAACM,IAAI,CAAC,GAAGF,YAAY,CAAC;MAC7BH,KAAK,CAACK,IAAI,CAAC;QACTI,IAAI;QACJC,UAAU,EAAES,MAAM,CAACC,WAAW,CAACV,UAAU,CAAC;QAC1CW,sBAAsB,EAAEN;OACzB,CAAC;MAEFR,OAAO,GAAG1B,OAAA,CAAAyC,MAAM,CAACC,cAAc,CAAChB,OAAO,CAACiB,MAAM,CAAC;IACjD;EACF;EAEA,IAAIhC,KAAK;EACT,IAAIC,UAAU,KAAKa,SAAS,EAAE;IAC5Bd,KAAK,GAAGF,QAAQ,KAAK,IAAI,GAAG,IAAAL,aAAA,CAAAwC,YAAY,EAAChC,UAAU,CAAC,GAAGA,UAAU;EACnE;EAEA,OAAO;IACLE,SAAS;IACTJ,OAAO;IACPC,KAAK,EAAEA,KAAK,EAAEkC,UAAU,CAAC1C,WAAA,CAAA2C,YAAY,EAAE,KAAK,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC;IAC3D7B,OAAO,EAAEA,OAAO,CAAC8B,MAAM,GAAG,CAAC,GAAG9B,OAAO,GAAGO,SAAS;IACjDN,KAAK,EAAEX,YAAY,KAAK,IAAI,GAAGW,KAAK,CAAC8B,UAAU,EAAE,GAAG9B,KAAK;IACzDJ;GACD;AACH,CAAC,CAAC;AAACmC,OAAA,CAAA3C,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export declare const removeNodeModulesEntriesFromStack: (stack: string) => string[];
2
+ export declare const maybeAddErrorToSpansStack: (stack: string | undefined, spanAttributesStack: string[] | undefined) => string[];
3
+ //# sourceMappingURL=maybe-add-error-to-spans-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-add-error-to-spans-stack.d.ts","sourceRoot":"","sources":["../../../../src/logic/spans/maybe-add-error-to-spans-stack.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,UAAW,MAAM,aAK9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,UAC7B,MAAM,GAAG,SAAS,uBACJ,MAAM,EAAE,GAAG,SAAS,aAY1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pretty-print.d.ts","sourceRoot":"","sources":["../../src/pretty-print.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAqB,MAAM,cAAc,CAAC;AAS7D,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,WAAW,GAAI,CAAC,SACpB,KAAK,CAAC,CAAC,CAAC,YACN,kBAAkB,KAC1B,MAiDF,CAAC"}
1
+ {"version":3,"file":"pretty-print.d.ts","sourceRoot":"","sources":["../../src/pretty-print.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAqB,MAAM,cAAc,CAAC;AAU7D,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,WAAW,GAAI,CAAC,SACpB,KAAK,CAAC,CAAC,CAAC,YACN,kBAAkB,KAC1B,MAsDF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-promise.d.ts","sourceRoot":"","sources":["../../../src/runners/run-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAGtC,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,uCAAuC,CAAC;AAE/C,eAAO,MAAM,UAAU,GAAU,CAAC,EAAE,CAAC,UAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,YAClB,kBAAkB,KAC1B,OAAO,CAAC,CAAC,CAeT,CAAC"}
1
+ {"version":3,"file":"run-promise.d.ts","sourceRoot":"","sources":["../../../src/runners/run-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAGtC,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,uCAAuC,CAAC;AAE/C,eAAO,MAAM,UAAU,GAAU,CAAC,EAAE,CAAC,UAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,YAClB,kBAAkB,KAC1B,OAAO,CAAC,CAAC,CAgBT,CAAC"}
@@ -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,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAI/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,eAAO,MAAM,kBAAkB,eACjB,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,CAwB5C,CAAC"}
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,KAAK,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAI/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,eAAO,MAAM,kBAAkB,eACjB,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,CAkC5C,CAAC"}
@@ -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,EAAU,MAAM,QAAQ,CAAC;AAGxC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAG1E,eAAO,MAAM,iBAAiB,+BACC,oBAAoB,uEAO9C,WAAW;;;;;;;;;;;;;4DA4CV,CAAC"}
1
+ {"version":3,"file":"transform-raw-error.d.ts","sourceRoot":"","sources":["../../../src/source-maps/transform-raw-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAGxC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAG1E,eAAO,MAAM,iBAAiB,+BACC,oBAAoB,uEAO9C,WAAW;;;;;;;;;;;;;4DAqDV,CAAC"}
@@ -7,6 +7,6 @@ export const printEffectStacktrace = (d, span, spanAttributesStack, {
7
7
  return;
8
8
  }
9
9
  const cleanedStack = `│ ${filterStack(spanAttributesStack.join('\r\n│ '), stripCwd === true)}`;
10
- d.push(`\r\n${span !== undefined ? '\r\n' : ''}🚨 Effect Stacktrace\r\n${color.red(cleanedStack)}`);
10
+ d.push(`\r\n${span !== undefined ? '\r\n' : ''}🚨 Spans Stacktrace\r\n${color.red(cleanedStack)}`);
11
11
  };
12
12
  //# sourceMappingURL=print-effect-stacktrace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"print-effect-stacktrace.js","names":["color","filterStack","printEffectStacktrace","d","span","spanAttributesStack","stripCwd","undefined","length","cleanedStack","join","push","red"],"sources":["../../../../src/logic/pretty-printing/print-effect-stacktrace.ts"],"sourcesContent":[null],"mappings":"AACA,OAAOA,KAAK,MAAM,YAAY;AAG9B,SAASC,WAAW,QAAQ,0BAA0B;AAEtD,OAAO,MAAMC,qBAAqB,GAAGA,CACnCC,CAAW,EACXC,IAAsB,EACtBC,mBAAyC,EACzC;EAAEC;AAAQ,CAAsB,KAC9B;EACF,IAAID,mBAAmB,KAAKE,SAAS,IAAIF,mBAAmB,CAACG,MAAM,KAAK,CAAC,EAAE;IACzE;EACF;EAEA,MAAMC,YAAY,GAAG,KAAKR,WAAW,CAACI,mBAAmB,CAACK,IAAI,CAAC,QAAQ,CAAC,EAAEJ,QAAQ,KAAK,IAAI,CAAC,EAAE;EAC9FH,CAAC,CAACQ,IAAI,CACJ,OAAOP,IAAI,KAAKG,SAAS,GAAG,MAAM,GAAG,EAAE,2BAA2BP,KAAK,CAACY,GAAG,CAACH,YAAY,CAAC,EAAE,CAC5F;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"print-effect-stacktrace.js","names":["color","filterStack","printEffectStacktrace","d","span","spanAttributesStack","stripCwd","undefined","length","cleanedStack","join","push","red"],"sources":["../../../../src/logic/pretty-printing/print-effect-stacktrace.ts"],"sourcesContent":[null],"mappings":"AACA,OAAOA,KAAK,MAAM,YAAY;AAG9B,SAASC,WAAW,QAAQ,0BAA0B;AAEtD,OAAO,MAAMC,qBAAqB,GAAGA,CACnCC,CAAW,EACXC,IAAsB,EACtBC,mBAAyC,EACzC;EAAEC;AAAQ,CAAsB,KAC9B;EACF,IAAID,mBAAmB,KAAKE,SAAS,IAAIF,mBAAmB,CAACG,MAAM,KAAK,CAAC,EAAE;IACzE;EACF;EAEA,MAAMC,YAAY,GAAG,KAAKR,WAAW,CAACI,mBAAmB,CAACK,IAAI,CAAC,QAAQ,CAAC,EAAEJ,QAAQ,KAAK,IAAI,CAAC,EAAE;EAC9FH,CAAC,CAACQ,IAAI,CACJ,OAAOP,IAAI,KAAKG,SAAS,GAAG,MAAM,GAAG,EAAE,0BAA0BP,KAAK,CAACY,GAAG,CAACH,YAAY,CAAC,EAAE,CAC3F;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ export const removeNodeModulesEntriesFromStack = stack => {
2
+ const lines = stack.split('\r\n');
3
+ const regex = new RegExp(`${process.cwd()}/.(?![node_modules])`);
4
+ return lines.filter(l => regex.exec(l)?.map(l => l.trimStart()));
5
+ };
6
+ export const maybeAddErrorToSpansStack = (stack, spanAttributesStack) => {
7
+ const effectStack = [];
8
+ if (stack && spanAttributesStack !== undefined) {
9
+ effectStack.push(...removeNodeModulesEntriesFromStack(stack));
10
+ }
11
+ if (spanAttributesStack !== undefined) {
12
+ effectStack.push(...spanAttributesStack);
13
+ }
14
+ return effectStack;
15
+ };
16
+ //# sourceMappingURL=maybe-add-error-to-spans-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-add-error-to-spans-stack.js","names":["removeNodeModulesEntriesFromStack","stack","lines","split","regex","RegExp","process","cwd","filter","l","exec","map","trimStart","maybeAddErrorToSpansStack","spanAttributesStack","effectStack","undefined","push"],"sources":["../../../../src/logic/spans/maybe-add-error-to-spans-stack.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,MAAMA,iCAAiC,GAAIC,KAAa,IAAI;EACjE,MAAMC,KAAK,GAAGD,KAAK,CAACE,KAAK,CAAC,MAAM,CAAC;EACjC,MAAMC,KAAK,GAAG,IAAIC,MAAM,CAAC,GAAGC,OAAO,CAACC,GAAG,EAAE,sBAAsB,CAAC;EAEhE,OAAOL,KAAK,CAACM,MAAM,CAAEC,CAAC,IAAKL,KAAK,CAACM,IAAI,CAACD,CAAC,CAAC,EAAEE,GAAG,CAAEF,CAAC,IAAKA,CAAC,CAACG,SAAS,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGA,CACvCZ,KAAyB,EACzBa,mBAAyC,KACvC;EACF,MAAMC,WAAW,GAAa,EAAE;EAEhC,IAAId,KAAK,IAAIa,mBAAmB,KAAKE,SAAS,EAAE;IAC9CD,WAAW,CAACE,IAAI,CAAC,GAAGjB,iCAAiC,CAACC,KAAK,CAAC,CAAC;EAC/D;EACA,IAAIa,mBAAmB,KAAKE,SAAS,EAAE;IACrCD,WAAW,CAACE,IAAI,CAAC,GAAGH,mBAAmB,CAAC;EAC1C;EAEA,OAAOC,WAAW;AACpB,CAAC","ignoreList":[]}
@@ -6,6 +6,7 @@ import { maybePrintNodeStacktrace } from './logic/pretty-printing/maybe-print-no
6
6
  import { maybePrintSpanAttributes } from './logic/pretty-printing/maybe-print-span-attributes.js';
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
+ import { maybeAddErrorToSpansStack } from './logic/spans/maybe-add-error-to-spans-stack.js';
9
10
  import { prettyPrintOptionsDefault } from './types/pretty-print-options.type.js';
10
11
  export const prettyPrint = (cause, options = prettyPrintOptionsDefault) => {
11
12
  if (isInterruptedOnly(cause)) {
@@ -23,7 +24,8 @@ export const prettyPrint = (cause, options = prettyPrintOptionsDefault) => {
23
24
  const d = [formatFailuresTitle(errorType, errorMessage, failures.length, failureIndex)];
24
25
  maybeWarnAboutPlainStrings(d, isPlainString);
25
26
  const spanAttributesStack = maybePrintSpanAttributes(d, span, isPlainString, options);
26
- printEffectStacktrace(d, span, spanAttributesStack, options);
27
+ const effectStack = maybeAddErrorToSpansStack(stack, spanAttributesStack);
28
+ printEffectStacktrace(d, span, effectStack, options);
27
29
  maybePrintNodeStacktrace(d, span, stack, isPlainString, options);
28
30
  return [...d, '\r\n'].join('');
29
31
  }).join('\r\n');
@@ -1 +1 @@
1
- {"version":3,"file":"pretty-print.js","names":["isInterruptedOnly","color","captureErrorsFrom","formatFailuresTitle","maybePrintNodeStacktrace","maybePrintSpanAttributes","maybeWarnAboutPlainStrings","printEffectStacktrace","prettyPrintOptionsDefault","prettyPrint","cause","options","failures","title","bold","yellow","underline","length","map","errorType","message","errorMessage","stack","span","isPlainString","failureIndex","d","spanAttributesStack","join"],"sources":["../../src/pretty-print.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAqBA,iBAAiB,QAAQ,cAAc;AAC5D,OAAOC,KAAK,MAAM,YAAY;AAE9B,SAASC,iBAAiB,QAAQ,6CAA6C;AAC/E,SAASC,mBAAmB,QAAQ,kDAAkD;AACtF,SAASC,wBAAwB,QAAQ,wDAAwD;AACjG,SAASC,wBAAwB,QAAQ,wDAAwD;AACjG,SAASC,0BAA0B,QAAQ,2DAA2D;AACtG,SAASC,qBAAqB,QAAQ,oDAAoD;AAC1F,SAEEC,yBAAyB,QACpB,sCAAsC;AAE7C,OAAO,MAAMC,WAAW,GAAGA,CACzBC,KAAe,EACfC,OAAA,GAA8BH,yBAAyB,KAC7C;EACV,IAAIR,iBAAiB,CAACU,KAAK,CAAC,EAAE;IAC5B,OAAO,wCAAwC;EACjD;EAEA,MAAME,QAAQ,GAAGV,iBAAiB,CAAIQ,KAAK,CAAC;EAE5C,MAAMG,KAAK,GAAG,WAAWZ,KAAK,CAACa,IAAI,CACjCb,KAAK,CAACc,MAAM,CACVd,KAAK,CAACe,SAAS,CACb,GAAGJ,QAAQ,CAACK,MAAM,SAASL,QAAQ,CAACK,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,UAAU,CACpE,CACF,CACF,UAAU;EAEX,OACEJ,KAAK,GACLD,QAAQ,CACLM,GAAG,CACF,CACE;IAAEC,SAAS;IAAEC,OAAO,EAAEC,YAAY;IAAEC,KAAK;IAAEC,IAAI;IAAEC;EAAa,CAAE,EAChEC,YAAY,KACV;IACF,MAAMC,CAAC,GAAa,CAClBvB,mBAAmB,CACjBgB,SAAS,EACTE,YAAY,EACZT,QAAQ,CAACK,MAAM,EACfQ,YAAY,CACb,CACF;IAEDnB,0BAA0B,CAACoB,CAAC,EAAEF,aAAa,CAAC;IAE5C,MAAMG,mBAAmB,GAAGtB,wBAAwB,CAClDqB,CAAC,EACDH,IAAI,EACJC,aAAa,EACbb,OAAO,CACR;IAEDJ,qBAAqB,CAACmB,CAAC,EAAEH,IAAI,EAAEI,mBAAmB,EAAEhB,OAAO,CAAC;IAC5DP,wBAAwB,CAACsB,CAAC,EAAEH,IAAI,EAAED,KAAK,EAAEE,aAAa,EAAEb,OAAO,CAAC;IAEhE,OAAO,CAAC,GAAGe,CAAC,EAAE,MAAM,CAAC,CAACE,IAAI,CAAC,EAAE,CAAC;EAChC,CAAC,CACF,CACAA,IAAI,CAAC,MAAM,CAAC;AAEnB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pretty-print.js","names":["isInterruptedOnly","color","captureErrorsFrom","formatFailuresTitle","maybePrintNodeStacktrace","maybePrintSpanAttributes","maybeWarnAboutPlainStrings","printEffectStacktrace","maybeAddErrorToSpansStack","prettyPrintOptionsDefault","prettyPrint","cause","options","failures","title","bold","yellow","underline","length","map","errorType","message","errorMessage","stack","span","isPlainString","failureIndex","d","spanAttributesStack","effectStack","join"],"sources":["../../src/pretty-print.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAqBA,iBAAiB,QAAQ,cAAc;AAC5D,OAAOC,KAAK,MAAM,YAAY;AAE9B,SAASC,iBAAiB,QAAQ,6CAA6C;AAC/E,SAASC,mBAAmB,QAAQ,kDAAkD;AACtF,SAASC,wBAAwB,QAAQ,wDAAwD;AACjG,SAASC,wBAAwB,QAAQ,wDAAwD;AACjG,SAASC,0BAA0B,QAAQ,2DAA2D;AACtG,SAASC,qBAAqB,QAAQ,oDAAoD;AAC1F,SAASC,yBAAyB,QAAQ,iDAAiD;AAC3F,SAEEC,yBAAyB,QACpB,sCAAsC;AAE7C,OAAO,MAAMC,WAAW,GAAGA,CACzBC,KAAe,EACfC,OAAA,GAA8BH,yBAAyB,KAC7C;EACV,IAAIT,iBAAiB,CAACW,KAAK,CAAC,EAAE;IAC5B,OAAO,wCAAwC;EACjD;EAEA,MAAME,QAAQ,GAAGX,iBAAiB,CAAIS,KAAK,CAAC;EAE5C,MAAMG,KAAK,GAAG,WAAWb,KAAK,CAACc,IAAI,CACjCd,KAAK,CAACe,MAAM,CACVf,KAAK,CAACgB,SAAS,CACb,GAAGJ,QAAQ,CAACK,MAAM,SAASL,QAAQ,CAACK,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,UAAU,CACpE,CACF,CACF,UAAU;EAEX,OACEJ,KAAK,GACLD,QAAQ,CACLM,GAAG,CACF,CACE;IAAEC,SAAS;IAAEC,OAAO,EAAEC,YAAY;IAAEC,KAAK;IAAEC,IAAI;IAAEC;EAAa,CAAE,EAChEC,YAAY,KACV;IACF,MAAMC,CAAC,GAAa,CAClBxB,mBAAmB,CACjBiB,SAAS,EACTE,YAAY,EACZT,QAAQ,CAACK,MAAM,EACfQ,YAAY,CACb,CACF;IAEDpB,0BAA0B,CAACqB,CAAC,EAAEF,aAAa,CAAC;IAE5C,MAAMG,mBAAmB,GAAGvB,wBAAwB,CAClDsB,CAAC,EACDH,IAAI,EACJC,aAAa,EACbb,OAAO,CACR;IAED,MAAMiB,WAAW,GAAGrB,yBAAyB,CAC3Ce,KAAK,EACLK,mBAAmB,CACpB;IAEDrB,qBAAqB,CAACoB,CAAC,EAAEH,IAAI,EAAEK,WAAW,EAAEjB,OAAO,CAAC;IACpDR,wBAAwB,CAACuB,CAAC,EAAEH,IAAI,EAAED,KAAK,EAAEE,aAAa,EAAEb,OAAO,CAAC;IAEhE,OAAO,CAAC,GAAGe,CAAC,EAAE,MAAM,CAAC,CAACG,IAAI,CAAC,EAAE,CAAC;EAChC,CAAC,CACF,CACAA,IAAI,CAAC,MAAM,CAAC;AAEnB,CAAC","ignoreList":[]}
@@ -5,7 +5,8 @@ export const runPromise = async (effect, options = prettyPrintOptionsDefault) =>
5
5
  if (options.enabled === false) {
6
6
  return Effect.fail(e);
7
7
  }
8
- console.error(prettyPrint(e, options));
8
+ const prettyError = prettyPrint(e, options);
9
+ console.error(prettyError);
9
10
  return Effect.fail('❌ runPromise failure');
10
11
  })));
11
12
  //# sourceMappingURL=run-promise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-promise.js","names":["Effect","pipe","prettyPrint","prettyPrintOptionsDefault","runPromise","effect","options","sandbox","catchAll","e","enabled","fail","console","error"],"sources":["../../../src/runners/run-promise.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAErC,SAASC,WAAW,QAAQ,aAAa;AACzC,SAEEC,yBAAyB,QACpB,uCAAuC;AAE9C,OAAO,MAAMC,UAAU,GAAG,MAAAA,CACxBC,MAA2B,EAC3BC,OAAA,GAA8BH,yBAAyB,KAEvD,MAAMH,MAAM,CAACI,UAAU,CACrBH,IAAI,CACFI,MAAM,EACNL,MAAM,CAACO,OAAO,EACdP,MAAM,CAACQ,QAAQ,CAAEC,CAAC,IAAI;EACpB,IAAIH,OAAO,CAACI,OAAO,KAAK,KAAK,EAAE;IAC7B,OAAOV,MAAM,CAACW,IAAI,CAACF,CAAC,CAAC;EACvB;EAEAG,OAAO,CAACC,KAAK,CAACX,WAAW,CAACO,CAAC,EAAEH,OAAO,CAAC,CAAC;EAEtC,OAAON,MAAM,CAACW,IAAI,CAAC,sBAAsB,CAAU;AACrD,CAAC,CAAC,CACH,CACF","ignoreList":[]}
1
+ {"version":3,"file":"run-promise.js","names":["Effect","pipe","prettyPrint","prettyPrintOptionsDefault","runPromise","effect","options","sandbox","catchAll","e","enabled","fail","prettyError","console","error"],"sources":["../../../src/runners/run-promise.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AAErC,SAASC,WAAW,QAAQ,aAAa;AACzC,SAEEC,yBAAyB,QACpB,uCAAuC;AAE9C,OAAO,MAAMC,UAAU,GAAG,MAAAA,CACxBC,MAA2B,EAC3BC,OAAA,GAA8BH,yBAAyB,KAEvD,MAAMH,MAAM,CAACI,UAAU,CACrBH,IAAI,CACFI,MAAM,EACNL,MAAM,CAACO,OAAO,EACdP,MAAM,CAACQ,QAAQ,CAAEC,CAAC,IAAI;EACpB,IAAIH,OAAO,CAACI,OAAO,KAAK,KAAK,EAAE;IAC7B,OAAOV,MAAM,CAACW,IAAI,CAACF,CAAC,CAAC;EACvB;EAEA,MAAMG,WAAW,GAAGV,WAAW,CAACO,CAAC,EAAEH,OAAO,CAAC;EAC3CO,OAAO,CAACC,KAAK,CAACF,WAAW,CAAC;EAE1B,OAAOZ,MAAM,CAACW,IAAI,CAAC,sBAA+B,CAAC;AACrD,CAAC,CAAC,CACH,CACF","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import { Effect } from 'effect';
1
+ import { Effect, pipe } from 'effect';
2
2
  import { stackAtRegex } from '../logic/stack/stack-regex.js';
3
3
  import { getErrorRelatedSources } from './get-error-related-sources.js';
4
- export const maybeMapSourcemaps = stacktrace => Effect.forEach(stacktrace, stackLine => Effect.gen(function* () {
4
+ export const maybeMapSourcemaps = stacktrace => pipe(Effect.forEach(stacktrace, stackLine => Effect.gen(function* () {
5
5
  const chunks = stackLine.split(' ');
6
6
  const path = chunks.length === 2 ? chunks[1] : chunks[chunks.length - 1].slice(1, -1);
7
7
  const details = yield* getErrorRelatedSources(path);
@@ -12,10 +12,14 @@ export const maybeMapSourcemaps = stacktrace => Effect.forEach(stacktrace, stack
12
12
  sourcesPath: undefined
13
13
  };
14
14
  }
15
+ const regex = new RegExp(`${process.cwd()}/node_modules/`);
16
+ if (details.sourcesPath?.match(regex)) {
17
+ return undefined;
18
+ }
15
19
  return {
16
20
  runPath: details.runPath,
17
21
  sourcesPath: details.sourcesPath,
18
22
  source: details.source
19
23
  };
20
- }));
24
+ })), Effect.map(array => array.filter(maybeSources => maybeSources !== undefined)));
21
25
  //# sourceMappingURL=maybe-map-sourcemaps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maybe-map-sourcemaps.js","names":["Effect","stackAtRegex","getErrorRelatedSources","maybeMapSourcemaps","stacktrace","forEach","stackLine","gen","chunks","split","path","length","slice","details","undefined","runPath","replaceAll","source","sourcesPath"],"sources":["../../../src/source-maps/maybe-map-sourcemaps.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAG/B,SAASC,YAAY,QAAQ,+BAA+B;AAE5D,SAASC,sBAAsB,QAAQ,gCAAgC;AAGvE,OAAO,MAAMC,kBAAkB,GAC7BC,UAAoB,IAEpBJ,MAAM,CAACK,OAAO,CAACD,UAAU,EAAGE,SAAS,IACnCN,MAAM,CAACO,GAAG,CAAC,aAAS;EAClB,MAAMC,MAAM,GAAGF,SAAS,CAACG,KAAK,CAAC,GAAG,CAAC;EACnC,MAAMC,IAAI,GACRF,MAAM,CAACG,MAAM,KAAK,CAAC,GACfH,MAAM,CAAC,CAAC,CAAC,GACTA,MAAM,CAACA,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAE5C,MAAMC,OAAO,GAAG,OAAOX,sBAAsB,CAACQ,IAAI,CAAC;EACnD,IAAIG,OAAO,KAAKC,SAAS,EAAE;IACzB,OAAO;MACLC,OAAO,EAAET,SAAS,CAACU,UAAU,CAACf,YAAY,EAAE,KAAK,CAAC;MAClDgB,MAAM,EAAEH,SAAS;MACjBI,WAAW,EAAEJ;KACd;EACH;EAEA,OAAO;IACLC,OAAO,EAAEF,OAAO,CAACE,OAAO;IACxBG,WAAW,EAAEL,OAAO,CAACK,WAAW;IAChCD,MAAM,EAAEJ,OAAO,CAACI;GACjB;AACH,CAAC,CAAC,CACH","ignoreList":[]}
1
+ {"version":3,"file":"maybe-map-sourcemaps.js","names":["Effect","pipe","stackAtRegex","getErrorRelatedSources","maybeMapSourcemaps","stacktrace","forEach","stackLine","gen","chunks","split","path","length","slice","details","undefined","runPath","replaceAll","source","sourcesPath","regex","RegExp","process","cwd","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;AAGvE,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,KAAK,CAAC,GAAG,CAAC;EACnC,MAAMC,IAAI,GACRF,MAAM,CAACG,MAAM,KAAK,CAAC,GACfH,MAAM,CAAC,CAAC,CAAC,GACTA,MAAM,CAACA,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAE5C,MAAMC,OAAO,GAAG,OAAOX,sBAAsB,CAACQ,IAAI,CAAC;EACnD,IAAIG,OAAO,KAAKC,SAAS,EAAE;IACzB,OAAO;MACLC,OAAO,EAAET,SAAS,CAACU,UAAU,CAACf,YAAY,EAAE,KAAK,CAAC;MAClDgB,MAAM,EAAEH,SAAS;MACjBI,WAAW,EAAEJ;KACd;EACH;EAEA,MAAMK,KAAK,GAAG,IAAIC,MAAM,CAAC,GAAGC,OAAO,CAACC,GAAG,EAAE,gBAAgB,CAAC;EAC1D,IAAIT,OAAO,CAACK,WAAW,EAAEK,KAAK,CAACJ,KAAK,CAAC,EAAE;IACrC,OAAOL,SAAS;EAClB;EAEA,OAAO;IACLC,OAAO,EAAEF,OAAO,CAACE,OAAO;IACxBG,WAAW,EAAEL,OAAO,CAACK,WAAW;IAChCD,MAAM,EAAEJ,OAAO,CAACI;GACjB;AACH,CAAC,CAAC,CACH,EACDlB,MAAM,CAACyB,GAAG,CAAEC,KAAK,IACfA,KAAK,CAACC,MAAM,CAAEC,YAAY,IAAKA,YAAY,KAAKb,SAAS,CAAC,CAC3D,CACF","ignoreList":[]}
@@ -2,6 +2,7 @@ import { Effect, Option } from 'effect';
2
2
  import { splitSpansAttributesByTypes } from '../logic/spans/split-spans-attributes-by-type.js';
3
3
  import { stackAtRegex } from '../logic/stack/stack-regex.js';
4
4
  import { stripCwdPath } from '../logic/strip-cwd-path.js';
5
+ import { removeNodeModulesEntriesFromStack } from '../logic/spans/maybe-add-error-to-spans-stack.js';
5
6
  import { maybeMapSourcemaps } from './maybe-map-sourcemaps.js';
6
7
  export const transformRawError = ({
7
8
  reverseSpans,
@@ -15,6 +16,11 @@ export const transformRawError = ({
15
16
  }) => Effect.gen(function* () {
16
17
  const sources = [];
17
18
  const spans = [];
19
+ if (maybeStack) {
20
+ const relevantStackEntries = removeNodeModulesEntriesFromStack(maybeStack);
21
+ const errorSources = yield* maybeMapSourcemaps(relevantStackEntries);
22
+ sources.push(...errorSources);
23
+ }
18
24
  if (span !== undefined) {
19
25
  let current = span;
20
26
  while (current !== undefined && current._tag === 'Span') {
@@ -1 +1 @@
1
- {"version":3,"file":"transform-raw-error.js","names":["Effect","Option","splitSpansAttributesByTypes","stackAtRegex","stripCwdPath","maybeMapSourcemaps","transformRawError","reverseSpans","stripCwd","message","stack","maybeStack","span","errorType","isPlainString","gen","sources","spans","undefined","current","_tag","name","attributes","allAttributes","status","stacktrace","errorSources","duration","endTime","startTime","BigInt","push","Object","fromEntries","durationInMilliseconds","getOrUndefined","parent","replaceAll","split","length","toReversed"],"sources":["../../../src/source-maps/transform-raw-error.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,MAAM,QAAQ,QAAQ;AAIvC,SAASC,2BAA2B,QAAQ,kDAAkD;AAC9F,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,YAAY,QAAQ,4BAA4B;AAIzD,SAASC,kBAAkB,QAAQ,2BAA2B;AAE9D,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,KACZd,MAAM,CAACe,GAAG,CAAC,aAAS;EAClB,MAAMC,OAAO,GAA0B,EAAE;EACzC,MAAMC,KAAK,GAAG,EAAE;EAEhB,IAAIL,IAAI,KAAKM,SAAS,EAAE;IACtB,IAAIC,OAAO,GAA+BP,IAAI;IAE9C,OAAOO,OAAO,KAAKD,SAAS,IAAIC,OAAO,CAACC,IAAI,KAAK,MAAM,EAAE;MACvD,MAAM;QAAEC,IAAI;QAAEC,UAAU,EAAEC,aAAa;QAAEC;MAAM,CAAE,GAAGL,OAAO;MAE3D,MAAM;QAAEG,UAAU;QAAEG;MAAU,CAAE,GAC9BvB,2BAA2B,CAACqB,aAAa,CAAC;MAE5C,MAAMG,YAAY,GAAG,OAAOrB,kBAAkB,CAACoB,UAAU,CAAC;MAE1D,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,GAC3DZ,SAAS;MAEfF,OAAO,CAACe,IAAI,CAAC,GAAGL,YAAY,CAAC;MAC7BT,KAAK,CAACc,IAAI,CAAC;QACTV,IAAI;QACJC,UAAU,EAAEU,MAAM,CAACC,WAAW,CAACX,UAAU,CAAC;QAC1CY,sBAAsB,EAAEP;OACzB,CAAC;MACFR,OAAO,GAAGlB,MAAM,CAACkC,cAAc,CAAChB,OAAO,CAACiB,MAAM,CAAC;IACjD;EACF;EAEA,IAAI1B,KAAK;EACT,IAAIC,UAAU,KAAKO,SAAS,EAAE;IAC5BR,KAAK,GAAGF,QAAQ,KAAK,IAAI,GAAGJ,YAAY,CAACO,UAAU,CAAC,GAAGA,UAAU;EACnE;EAEA,OAAO;IACLE,SAAS;IACTJ,OAAO;IACPC,KAAK,EAAEA,KAAK,EAAE2B,UAAU,CAAClC,YAAY,EAAE,KAAK,CAAC,CAACmC,KAAK,CAAC,MAAM,CAAC;IAC3DtB,OAAO,EAAEA,OAAO,CAACuB,MAAM,GAAG,CAAC,GAAGvB,OAAO,GAAGE,SAAS;IACjDD,KAAK,EAAEV,YAAY,KAAK,IAAI,GAAGU,KAAK,CAACuB,UAAU,EAAE,GAAGvB,KAAK;IACzDH;GACD;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"transform-raw-error.js","names":["Effect","Option","splitSpansAttributesByTypes","stackAtRegex","stripCwdPath","removeNodeModulesEntriesFromStack","maybeMapSourcemaps","transformRawError","reverseSpans","stripCwd","message","stack","maybeStack","span","errorType","isPlainString","gen","sources","spans","relevantStackEntries","errorSources","push","undefined","current","_tag","name","attributes","allAttributes","status","stacktrace","duration","endTime","startTime","BigInt","Object","fromEntries","durationInMilliseconds","getOrUndefined","parent","replaceAll","split","length","toReversed"],"sources":["../../../src/source-maps/transform-raw-error.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,MAAM,QAAQ,QAAQ;AAIvC,SAASC,2BAA2B,QAAQ,kDAAkD;AAC9F,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,YAAY,QAAQ,4BAA4B;AAGzD,SAASC,iCAAiC,QAAQ,kDAAkD;AAEpG,SAASC,kBAAkB,QAAQ,2BAA2B;AAE9D,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,KACZf,MAAM,CAACgB,GAAG,CAAC,aAAS;EAClB,MAAMC,OAAO,GAA0B,EAAE;EACzC,MAAMC,KAAK,GAAG,EAAE;EAEhB,IAAIN,UAAU,EAAE;IACd,MAAMO,oBAAoB,GACxBd,iCAAiC,CAACO,UAAU,CAAC;IAC/C,MAAMQ,YAAY,GAAG,OAAOd,kBAAkB,CAACa,oBAAoB,CAAC;IAEpEF,OAAO,CAACI,IAAI,CAAC,GAAGD,YAAY,CAAC;EAC/B;EAEA,IAAIP,IAAI,KAAKS,SAAS,EAAE;IACtB,IAAIC,OAAO,GAA+BV,IAAI;IAE9C,OAAOU,OAAO,KAAKD,SAAS,IAAIC,OAAO,CAACC,IAAI,KAAK,MAAM,EAAE;MACvD,MAAM;QAAEC,IAAI;QAAEC,UAAU,EAAEC,aAAa;QAAEC;MAAM,CAAE,GAAGL,OAAO;MAE3D,MAAM;QAAEG,UAAU;QAAEG;MAAU,CAAE,GAC9B3B,2BAA2B,CAACyB,aAAa,CAAC;MAE5C,MAAMP,YAAY,GAAG,OAAOd,kBAAkB,CAACuB,UAAU,CAAC;MAE1D,MAAMC,QAAQ,GACZF,MAAM,CAACJ,IAAI,KAAK,OAAO,GACnB,CAAC,GAAG,CAACI,MAAM,CAACG,OAAO,GAAGH,MAAM,CAACI,SAAS,IAAIC,MAAM,CAAC,OAAO,CAAC,EAAE,GAC3DX,SAAS;MAEfL,OAAO,CAACI,IAAI,CAAC,GAAGD,YAAY,CAAC;MAC7BF,KAAK,CAACG,IAAI,CAAC;QACTI,IAAI;QACJC,UAAU,EAAEQ,MAAM,CAACC,WAAW,CAACT,UAAU,CAAC;QAC1CU,sBAAsB,EAAEN;OACzB,CAAC;MAEFP,OAAO,GAAGtB,MAAM,CAACoC,cAAc,CAACd,OAAO,CAACe,MAAM,CAAC;IACjD;EACF;EAEA,IAAI3B,KAAK;EACT,IAAIC,UAAU,KAAKU,SAAS,EAAE;IAC5BX,KAAK,GAAGF,QAAQ,KAAK,IAAI,GAAGL,YAAY,CAACQ,UAAU,CAAC,GAAGA,UAAU;EACnE;EAEA,OAAO;IACLE,SAAS;IACTJ,OAAO;IACPC,KAAK,EAAEA,KAAK,EAAE4B,UAAU,CAACpC,YAAY,EAAE,KAAK,CAAC,CAACqC,KAAK,CAAC,MAAM,CAAC;IAC3DvB,OAAO,EAAEA,OAAO,CAACwB,MAAM,GAAG,CAAC,GAAGxB,OAAO,GAAGK,SAAS;IACjDJ,KAAK,EAAEV,YAAY,KAAK,IAAI,GAAGU,KAAK,CAACwB,UAAU,EAAE,GAAGxB,KAAK;IACzDH;GACD;AACH,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  }
18
18
  },
19
19
  "name": "effect-errors",
20
- "version": "1.6.2",
20
+ "version": "1.7.0",
21
21
  "author": "jpb06 <jp.bois.06@outlook.fr>",
22
22
  "description": "A POC for errors reporting in Effect",
23
23
  "keywords": [
@@ -51,8 +51,8 @@
51
51
  "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
52
  },
53
53
  "dependencies": {
54
- "@effect/schema": "^0.70.3",
55
- "effect": "^3.6.2",
54
+ "@effect/schema": "^0.71.0",
55
+ "effect": "^3.6.4",
56
56
  "source-map-js": "^1.2.0"
57
57
  },
58
58
  "devDependencies": {
@@ -62,7 +62,7 @@
62
62
  "@babel/plugin-transform-modules-commonjs": "^7.24.8",
63
63
  "@biomejs/biome": "^1.8.3",
64
64
  "@types/fs-extra": "^11.0.4",
65
- "@types/node": "^22.2.0",
65
+ "@types/node": "^22.3.0",
66
66
  "@vitest/coverage-v8": "^2.0.5",
67
67
  "babel-plugin-annotate-pure-calls": "^0.4.0",
68
68
  "copyfiles": "^2.4.1",