Skip to content

Commit 26c630d

Browse files
committed
Fix #71
1 parent d8b0525 commit 26c630d

File tree

3 files changed

+40
-35
lines changed

3 files changed

+40
-35
lines changed

src/LoggerHelper.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,12 @@ export class LoggerHelper {
7777
filePath: LoggerHelper.cleanUpFilePath(filePath) ?? "",
7878
fullFilePath: filePath ?? "",
7979
fileName: fileBasename(stackFrame.getFileName() ?? ""),
80-
lineNumber: stackFrame.getLineNumber(),
81-
columnNumber: stackFrame.getColumnNumber(),
82-
isConstructor: stackFrame.isConstructor(),
83-
functionName: stackFrame.getFunctionName(),
84-
typeName: stackFrame.getTypeName(),
85-
methodName: stackFrame.getMethodName(),
80+
lineNumber: stackFrame.getLineNumber() ?? undefined,
81+
columnNumber: stackFrame.getColumnNumber() ?? undefined,
82+
isConstructor: stackFrame.isConstructor() ?? undefined,
83+
functionName: stackFrame.getFunctionName() ?? undefined,
84+
typeName: stackFrame.getTypeName() ?? undefined,
85+
methodName: stackFrame.getMethodName() ?? undefined,
8686
};
8787
}
8888

@@ -223,8 +223,7 @@ export class LoggerHelper {
223223
public static _getCodeFrame(
224224
filePath: string,
225225
lineNumber: number,
226-
// eslint-disable-next-line @rushstack/no-new-null
227-
columnNumber: number | null,
226+
columnNumber: number | undefined,
228227
linesBeforeAndAfter: number
229228
): ICodeFrame | undefined {
230229
const lineNumberMinusOne: number = lineNumber - 1;

src/LoggerWithoutCallSite.ts

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -369,12 +369,14 @@ export class LoggerWithoutCallSite {
369369
const relevantCallSites: NodeJS.CallSite[] = callSites.splice(
370370
this.settings.ignoreStackLevels
371371
);
372-
const stackFrame: NodeJS.CallSite = this._callSiteWrapper(
373-
relevantCallSites[0]
374-
);
375-
const stackFrameObject: IStackFrame = LoggerHelper.toStackFrameObject(
376-
stackFrame
377-
);
372+
const stackFrame: NodeJS.CallSite | undefined =
373+
relevantCallSites[0] != null
374+
? this._callSiteWrapper(relevantCallSites[0])
375+
: undefined;
376+
const stackFrameObject: IStackFrame | undefined =
377+
stackFrame != null
378+
? LoggerHelper.toStackFrameObject(stackFrame)
379+
: undefined;
378380

379381
const requestId: string | undefined =
380382
this.settings.requestId instanceof Function
@@ -389,15 +391,15 @@ export class LoggerWithoutCallSite {
389391
date: new Date(),
390392
logLevel: logLevel,
391393
logLevelId: this._logLevels.indexOf(logLevel) as TLogLevelId,
392-
filePath: stackFrameObject.filePath,
393-
fullFilePath: stackFrameObject.fullFilePath,
394-
fileName: stackFrameObject.fileName,
395-
lineNumber: stackFrameObject.lineNumber,
396-
columnNumber: stackFrameObject.columnNumber,
397-
isConstructor: stackFrameObject.isConstructor,
398-
functionName: stackFrameObject.functionName,
399-
typeName: stackFrameObject.typeName,
400-
methodName: stackFrameObject.methodName,
394+
filePath: stackFrameObject?.filePath,
395+
fullFilePath: stackFrameObject?.fullFilePath,
396+
fileName: stackFrameObject?.fileName,
397+
lineNumber: stackFrameObject?.lineNumber,
398+
columnNumber: stackFrameObject?.columnNumber,
399+
isConstructor: stackFrameObject?.isConstructor,
400+
functionName: stackFrameObject?.functionName,
401+
typeName: stackFrameObject?.typeName,
402+
methodName: stackFrameObject?.methodName,
401403
argumentsArray: [],
402404
toJSON: () => this._logObjectToJson(logObject),
403405
};
@@ -457,11 +459,14 @@ export class LoggerWithoutCallSite {
457459
this._callSiteWrapper(relevantCallSites[0])
458460
);
459461
if (exposeErrorCodeFrame && errorCallSite.lineNumber != null) {
460-
if (errorCallSite.fullFilePath.indexOf("node_modules") < 0) {
462+
if (
463+
errorCallSite.fullFilePath != null &&
464+
errorCallSite.fullFilePath.indexOf("node_modules") < 0
465+
) {
461466
errorObject.codeFrame = LoggerHelper._getCodeFrame(
462467
errorCallSite.fullFilePath,
463468
errorCallSite.lineNumber,
464-
errorCallSite.columnNumber,
469+
errorCallSite?.columnNumber,
465470
this.settings.exposeErrorCodeFrameLinesBeforeAndAfter
466471
);
467472
}
@@ -576,6 +581,7 @@ export class LoggerWithoutCallSite {
576581
if (
577582
this.settings.displayFilePath === "displayAll" ||
578583
(this.settings.displayFilePath === "hideNodeModulesOnly" &&
584+
logObject.filePath != null &&
579585
logObject.filePath.indexOf("node_modules") < 0)
580586
) {
581587
fileLocation = `${logObject.filePath}:${logObject.lineNumber}`;

src/interfaces.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -215,23 +215,23 @@ export interface IStd {
215215
*/
216216
export interface IStackFrame {
217217
/** Relative path based on the main folder */
218-
filePath: string;
218+
filePath: string | undefined;
219219
/** Full path */
220-
fullFilePath: string;
220+
fullFilePath: string | undefined;
221221
/** Name of the file */
222-
fileName: string;
222+
fileName: string | undefined;
223223
/** Line number */
224-
lineNumber: number | null;
224+
lineNumber: number | undefined;
225225
/** Column Name */
226-
columnNumber: number | null;
226+
columnNumber: number | undefined;
227227
/** Called from constructor */
228-
isConstructor: boolean | null;
228+
isConstructor: boolean | undefined;
229229
/** Name of the function */
230-
functionName: string | null;
230+
functionName: string | undefined;
231231
/** Name of the class */
232-
typeName: string | null;
232+
typeName: string | undefined;
233233
/** Name of the Method */
234-
methodName: string | null;
234+
methodName: string | undefined;
235235
}
236236

237237
/**
@@ -390,7 +390,7 @@ export interface IHighlightStyles {
390390
export interface ICodeFrame {
391391
firstLineNumber: number;
392392
lineNumber: number;
393-
columnNumber: number | null;
393+
columnNumber: number | undefined;
394394
linesBefore: string[];
395395
relevantLine: string;
396396
linesAfter: string[];

0 commit comments

Comments
 (0)