Skip to content

Commit 5d08ab3

Browse files
authored
Merge pull request #179 from permafrost-dev/fix-stackframes-1
Fix stack frames
2 parents 6a9c336 + ba12666 commit 5d08ab3

12 files changed

Lines changed: 12 additions & 755 deletions

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
"find-up": "^5.0",
116116
"md5": "^2.3.0",
117117
"stacktrace-gps": "^3.1.2",
118+
"stacktrace-js": "^2.0.2",
118119
"tslib": "^2.5.0",
119120
"uuid": "^9.0.0",
120121
"xml-formatter": "^3.3.2"

src/Concerns/RemovesRayFrames.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
import StackFrame from '@/lib/stackframe';
1+
import { StackFrame } from 'stacktrace-js';
22

33
export class RemovesRayFrames {
44
public static removeRayFrames(frames: StackFrame[]): StackFrame[] {
5-
const result = frames
6-
.filter(frame => !RemovesRayFrames.isRayFrame(frame) && !RemovesRayFrames.isNodeFrame(frame))
7-
.filter(frame => {
8-
return !(!frame.fileName || !frame.functionName || !frame.source);
9-
});
5+
const result = frames.filter(frame => !RemovesRayFrames.isRayFrame(frame) && !RemovesRayFrames.isNodeFrame(frame));
106

117
return result;
128
}
@@ -22,10 +18,10 @@ export class RemovesRayFrames {
2218
}
2319

2420
protected static isNodeFrame(frame: StackFrame): boolean {
25-
return frame.fileName?.indexOf('node:') === 0;
21+
return frame.fileName?.includes('node:') || frame.fileName?.includes('node_modules') || false;
2622
}
2723

2824
protected static rayNamespaces(): string[] {
29-
return ['ray-node/dist', 'node-ray/dist', 'vue-ray/dist'];
25+
return ['ray-node/dist', 'node-ray/dist', 'vue-ray/dist', '-ray'];
3026
}
3127
}

src/Payloads/CallerPayload.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Payload } from '../Payloads/Payload';
22
import { RemovesRayFrames } from '../Concerns/RemovesRayFrames';
3-
import StackFrame from '@/lib/stackframe';
3+
import { StackFrame } from 'stacktrace-js';
44

55
export class CallerPayload extends Payload {
66
protected frames;

src/Payloads/ExceptionPayload.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
import { Payload } from '../Payloads/Payload';
2-
//import * as StackTrace from 'stacktrace-js/dist/stacktrace-with-promises-and-json-polyfills';
3-
import { StackTrace } from '@/lib/stacktrace';
4-
import StackFrame from 'stackframe';
2+
import * as StackTrace from 'stacktrace-js';
53

64
export class ExceptionPayload extends Payload {
75
protected exception: Error;
86

97
protected meta = {};
108

119
// eslint-disable-next-line no-undef
12-
protected stack: StackFrame[];
10+
protected stack: StackTrace.StackFrame[];
1311

1412
public constructor(exception: Error, meta: Record<string, unknown> = {}) {
1513
super();

src/Payloads/TracePayload.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Payload } from './Payload';
22
import { RemovesRayFrames } from '../Concerns/RemovesRayFrames';
3-
import StackFrame from '@/lib/stackframe';
3+
import { StackFrame } from 'stacktrace-js';
44

55
export class TracePayload extends Payload {
66
/** @var array */

src/Ray.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const BUILDING_STANDALONE_LIB = typeof __BUILDING_STANDALONE_LIB__ !== 'undefine
88

99
import * as md5lib from 'md5';
1010
import { RayScreenColors } from '@/Concerns/RayScreenColors';
11-
import { StackTrace } from '@/lib/stacktrace';
11+
import * as StackTrace from 'stacktrace-js';
1212
import { Mixin } from 'ts-mixer';
1313
import { RayColors } from './Concerns/RayColors';
1414
import { RaySizes } from './Concerns/RaySizes';
@@ -720,9 +720,7 @@ export class Ray extends Mixin(RayColors, RaySizes, RayScreenColors) {
720720
startFrameIndex = 0;
721721
}
722722

723-
const callerFrames = RemovesRayFrames.removeRayFrames(
724-
st.slice(startFrameIndex).filter(frame => !frame.functionName?.includes('Ray.')),
725-
);
723+
const callerFrames = RemovesRayFrames.removeRayFrames(st.slice(startFrameIndex));
726724

727725
return callerFrames.slice(0).shift();
728726
}

src/lib/ErrorStackParser.ts

Lines changed: 0 additions & 174 deletions
This file was deleted.

src/lib/StackGenerator.ts

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)