README
Externalizes the source map found inside a stream to an external .map
file or stream.
Works with both JavaScript and CSS input streams.
NOTE: forked from thlorenz/exorcist and PR#26 applied.
var browserify = require('browserify')
, path = require('path')
, fs = require('fs')
, exorcist = require('exorcist')
, mapfile = path.join(__dirname, 'bundle.js.map')
browserify()
.require(require.resolve('./main'), { entry: true })
.bundle({ debug: true })
.pipe(exorcist(mapfile))
.pipe(fs.createWriteStream(path.join(__dirname, 'bundle.js'), 'utf8'))
// or pipe to a stream instead.
// create a stream which will accept the source map
var strung = require('strung');
, sourceMap = strung();
browserify()
.require(require.resolve('./main'), { entry: true })
.bundle({ debug: true })
// you must supply the URL argument with a stream
.pipe(exorcist(sourceMap, '/bundle.js.map'))
.pipe(fs.createWriteStream(path.join(__dirname, 'bundle.js'), 'utf8'))
// get source map from the stream.
console.log(sourceMap.string);
command line example
browserify main.js --debug | exorcist bundle.js.map > bundle.js
Table of Contents generated with DocToc
Usage
exorcist map_file [options]
Externalizes the source map of the file streamed in.
The source map is written as JSON to map_file, and the original file is streamed out with its
sourceMappingURL set to the path of map_file (or to the value of the --url option).
OPTIONS:
--base -b Base path for calculating relative source paths. (default: use absolute paths)
--root -r Root URL for loading relative source paths. Set as sourceRoot in the source map. (default: '')
--url -u Full URL to source map. Set as sourceMappingURL in the output stream. (default: map_file)
EXAMPLE:
Bundle main.js with browserify into bundle.js and externalize the map to bundle.js.map.
browserify main.js --debug | exorcist bundle.js.map > bundle.js
Installation
npm install exorcist
API
-
exorcist(file, url, root, base) → {TransformStream}
-
Externalizes the source map of the file streamed in.
The source map is written as JSON to
file
, and the original file is streamed out with itssourceMappingURL
set to the path offile
(or to the value ofurl
).Events (in addition to stream events)
missing-map
emitted if no map was found in the stream (the src is still piped through in this case, but no map file is written)
Parameters:
Name Type Argument Description file
String full path to the map file to which to write the extracted source map
url
String <optional>
full URL to the map file, set as
sourceMappingURL
in the streaming output (default: file)root
String <optional>
root URL for loading relative source paths, set as
sourceRoot
in the source map (default: '')base
String <optional>
base path for calculating relative source paths (default: use absolute paths)
Returns:
transform stream into which to pipe the code containing the source map
- Type
- TransformStream
generated with docme
Integration with other tools
License
MIT