mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
Expose the default prepareStackTrace implementation as `Error.prepareStackTrace` so that userland can chain up formatting of stack traces with built-in source maps support. PR-URL: https://github.com/nodejs/node/pull/50827 Fixes: https://github.com/nodejs/node/issues/50733 Reviewed-By: Ethan Arrowood <ethan@arrowood.dev> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
35 lines
791 B
JavaScript
35 lines
791 B
JavaScript
// Flags: --enable-source-maps
|
|
|
|
'use strict';
|
|
require('../../../common');
|
|
const assert = require('assert');
|
|
Error.stackTraceLimit = 5;
|
|
|
|
assert.strictEqual(typeof Error.prepareStackTrace, 'function');
|
|
const defaultPrepareStackTrace = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = (error, trace) => {
|
|
trace = trace.filter(it => {
|
|
return it.getFunctionName() !== 'functionC';
|
|
});
|
|
return defaultPrepareStackTrace(error, trace);
|
|
};
|
|
|
|
try {
|
|
require('../enclosing-call-site-min.js');
|
|
} catch (e) {
|
|
console.log(e);
|
|
}
|
|
|
|
delete require.cache[require
|
|
.resolve('../enclosing-call-site-min.js')];
|
|
|
|
// Disable
|
|
process.setSourceMapsEnabled(false);
|
|
assert.strictEqual(process.sourceMapsEnabled, false);
|
|
|
|
try {
|
|
require('../enclosing-call-site-min.js');
|
|
} catch (e) {
|
|
console.log(e);
|
|
}
|