Introduction to source-map-support
source-map-support
is a JavaScript library that improves the debugging experience by
providing simplified stack traces. It achieves this by making use of source maps, which map compiled
code back to the original source code. This is particularly useful in environments where JavaScript
code is generated by other languages or minified before deployment.
Installation
npm install source-map-support
Basic Usage
require('source-map-support').install();
By default, source-map-support
will rewrite stack traces to use source maps if it finds
them. The install
method can accept an options object to tweak its behavior.
API Examples
Handling Stack Traces
require('source-map-support').install({ handleUncaughtExceptions: false });
This option allows you to control whether uncaught exceptions are handled by source-map-support
.
Retrieving the Source Maps
const sourceMapSupport = require('source-map-support'); const fs = require('fs'); sourceMapSupport.install({ retrieveSourceMap: function(source) { if (source === 'compiled.js') { return { url: 'original.js', map: fs.readFileSync('compiled.js.map', 'utf8') }; } return null; } });
This demonstrates how to provide custom logic for retrieving source maps. In this case, the source
map for compiled.js
is read from a file and returned.
Disabling Source Maps
require('source-map-support').install({ environment: 'node' });
This option disables the source map support if environment
is set to none
.
Application Example
// app.js const sourceMapSupport = require('source-map-support'); sourceMapSupport.install(); function brokenFunction() { throw new Error("Something went wrong!"); } try { brokenFunction(); } catch (e) { console.log(e.stack); }
This simple application demonstrates the use of source-map-support
to provide improved
stack traces for debugging purposes.
Hash: fc5d96e081b32732cf4c2f810b4d97070cae69010878fc1eeaec63765c0a35c9