Files
node/test/fixtures/source-map/output/source_map_prepare_stack_trace.js
T
Chengzhong Wu 147abb99d1 lib: expose default prepareStackTrace
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>
2023-12-21 16:56:35 +00:00

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);
}