0.4.0 • Published 9 years ago

exorcist-stream v0.4.0

Weekly downloads
69
License
MIT
Repository
github
Last release
9 years ago

exorcist build status

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

generated with docme

Integration with other tools

License

MIT