-
Notifications
You must be signed in to change notification settings - Fork 0
/
debug-bootloader.mjs
24 lines (22 loc) · 972 Bytes
/
debug-bootloader.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
'use strict'
// noinspection ES6ConvertRequireIntoImport
const consola = require('consola')
// noinspection ES6ConvertRequireIntoImport
const path = require('path');
['debug', 'log', 'warn', 'info', 'error'].forEach((methodName) => {
const originalLoggingMethod = consola[methodName]
console[methodName] = (firstArgument, ...otherArguments) => {
const originalPrepareStackTrace = Error.prepareStackTrace
Error.prepareStackTrace = (_, stack) => stack
const callee = new Error().stack[1]
Error.prepareStackTrace = originalPrepareStackTrace
const relativeFileName = path.relative(process.cwd(), callee.getFileName())
// const relativeFileName = path.basename(callee.getFileName())
const prefix = `.(${ relativeFileName }:${ callee.getLineNumber() }) `
if (typeof firstArgument === 'string') {
originalLoggingMethod(prefix + ' ' + firstArgument, ...otherArguments)
} else {
originalLoggingMethod(prefix, firstArgument, ...otherArguments)
}
}
})