UNPKG

@riddance/env

Version:

37 lines 5.88 kB
/* eslint-disable unicorn/no-null */ import { relative } from 'node:path'; import { fileURLToPath } from 'node:url'; import { install, wrapCallSite } from 'source-map-support'; install({ environment: 'node', hookRequire: false, }); if (!process.env.STACK_TRACE_FULL_PATH) { const cwd = process.cwd(); Error.prepareStackTrace = (error, stack) => { const errorString = `${error.name}: ${error.message}`; const state = { nextPosition: null, curPosition: null }; const newLine = '\n at '; const processedStack = []; [...stack].reverse().forEach(inner => { // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any const wrapped = wrapCallSite(inner, state); const innerSourceUrl = wrapped.getScriptNameOrSourceURL?.bind(wrapped); if (wrapped !== inner && innerSourceUrl) { wrapped.getScriptNameOrSourceURL = function () { const original = innerSourceUrl(); if (original.startsWith('file://')) { return relative(cwd, fileURLToPath(original)); } return original; }; } // eslint-disable-next-line @typescript-eslint/no-base-to-string processedStack.push(wrapped.toString()); state.nextPosition = state.curPosition; }); state.curPosition = state.nextPosition = null; return `${errorString}${newLine}${processedStack.reverse().join(newLine)}`; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLW1hcC1zdXBwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic291cmNlLW1hcC1zdXBwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUUxRCxPQUFPLENBQUM7SUFDSixXQUFXLEVBQUUsTUFBTTtJQUNuQixXQUFXLEVBQUUsS0FBSztDQUNyQixDQUFDLENBQUE7QUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUN6QixLQUFLLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdkMsTUFBTSxXQUFXLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUVyRCxNQUFNLEtBQUssR0FBRyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFBO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQTtRQUMzQixNQUFNLGNBQWMsR0FBYSxFQUFFLENBQ2xDO1FBQUEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxxR0FBcUc7WUFDckcsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEtBQVksRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUNqRCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3RFLElBQUksT0FBTyxLQUFLLEtBQUssSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDdEMsT0FBTyxDQUFDLHdCQUF3QixHQUFHO29CQUMvQixNQUFNLFFBQVEsR0FBRyxjQUFjLEVBQUUsQ0FBQTtvQkFDakMsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7d0JBQ2pDLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtvQkFDakQsQ0FBQztvQkFDRCxPQUFPLFFBQVEsQ0FBQTtnQkFDbkIsQ0FBQyxDQUFBO1lBQ0wsQ0FBQztZQUNELGdFQUFnRTtZQUNoRSxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQ3ZDLEtBQUssQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQTtRQUMxQyxDQUFDLENBQUMsQ0FBQTtRQUNGLEtBQUssQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7UUFDN0MsT0FBTyxHQUFHLFdBQVcsR0FBRyxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFBO0lBQzlFLENBQUMsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB1bmljb3JuL25vLW51bGwgKi9cbmltcG9ydCB7IHJlbGF0aXZlIH0gZnJvbSAnbm9kZTpwYXRoJ1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJ1xuaW1wb3J0IHsgaW5zdGFsbCwgd3JhcENhbGxTaXRlIH0gZnJvbSAnc291cmNlLW1hcC1zdXBwb3J0J1xuXG5pbnN0YWxsKHtcbiAgICBlbnZpcm9ubWVudDogJ25vZGUnLFxuICAgIGhvb2tSZXF1aXJlOiBmYWxzZSxcbn0pXG5cbmlmICghcHJvY2Vzcy5lbnYuU1RBQ0tfVFJBQ0VfRlVMTF9QQVRIKSB7XG4gICAgY29uc3QgY3dkID0gcHJvY2Vzcy5jd2QoKVxuICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gKGVycm9yLCBzdGFjaykgPT4ge1xuICAgICAgICBjb25zdCBlcnJvclN0cmluZyA9IGAke2Vycm9yLm5hbWV9OiAke2Vycm9yLm1lc3NhZ2V9YFxuXG4gICAgICAgIGNvbnN0IHN0YXRlID0geyBuZXh0UG9zaXRpb246IG51bGwsIGN1clBvc2l0aW9uOiBudWxsIH1cbiAgICAgICAgY29uc3QgbmV3TGluZSA9ICdcXG4gICAgYXQgJ1xuICAgICAgICBjb25zdCBwcm9jZXNzZWRTdGFjazogc3RyaW5nW10gPSBbXVxuICAgICAgICA7Wy4uLnN0YWNrXS5yZXZlcnNlKCkuZm9yRWFjaChpbm5lciA9PiB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudCwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlZCA9IHdyYXBDYWxsU2l0ZShpbm5lciBhcyBhbnksIHN0YXRlKVxuICAgICAgICAgICAgY29uc3QgaW5uZXJTb3VyY2VVcmwgPSB3cmFwcGVkLmdldFNjcmlwdE5hbWVPclNvdXJjZVVSTD8uYmluZCh3cmFwcGVkKVxuICAgICAgICAgICAgaWYgKHdyYXBwZWQgIT09IGlubmVyICYmIGlubmVyU291cmNlVXJsKSB7XG4gICAgICAgICAgICAgICAgd3JhcHBlZC5nZXRTY3JpcHROYW1lT3JTb3VyY2VVUkwgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsID0gaW5uZXJTb3VyY2VVcmwoKVxuICAgICAgICAgICAgICAgICAgICBpZiAob3JpZ2luYWwuc3RhcnRzV2l0aCgnZmlsZTovLycpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVsYXRpdmUoY3dkLCBmaWxlVVJMVG9QYXRoKG9yaWdpbmFsKSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWJhc2UtdG8tc3RyaW5nXG4gICAgICAgICAgICBwcm9jZXNzZWRTdGFjay5wdXNoKHdyYXBwZWQudG9TdHJpbmcoKSlcbiAgICAgICAgICAgIHN0YXRlLm5leHRQb3NpdGlvbiA9IHN0YXRlLmN1clBvc2l0aW9uXG4gICAgICAgIH0pXG4gICAgICAgIHN0YXRlLmN1clBvc2l0aW9uID0gc3RhdGUubmV4dFBvc2l0aW9uID0gbnVsbFxuICAgICAgICByZXR1cm4gYCR7ZXJyb3JTdHJpbmd9JHtuZXdMaW5lfSR7cHJvY2Vzc2VkU3RhY2sucmV2ZXJzZSgpLmpvaW4obmV3TGluZSl9YFxuICAgIH1cbn1cbiJdfQ==