exorcist-stream

2020-02-12

Externalizes the source map found inside a stream to an external file or stream

exorcist build status

Externalizes the source map found inside a stream to an external .mapfile or stream.

Works with both JavaScript and CSS input streams.

NOTE: forked from thlorenz/exorcistand PR#26applied.

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 Contentsgenerated 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 its sourceMappingURLset to the path of file(or to the value of url).

Events (in addition to stream events)

  • missing-mapemitted if no map was found in the stream (the src is still piped through in this case, but no map file is written)
Parameters:
NameTypeArgumentDescription
fileString

full path to the map file to which to write the extracted source map

urlString<optional>

full URL to the map file, set as sourceMappingURLin the streaming output (default: file)

rootString<optional>

root URL for loading relative source paths, set as sourceRootin the source map (default: '')

baseString<optional>

base path for calculating relative source paths (default: use absolute paths)

Source:
Returns:

transform stream into which to pipe the code containing the source map

Type
TransformStream

generated with docme

Integration with other tools

License

MIT

Repository

https://github.com/elidoran/exorcist


上一篇:lambci
下一篇:artemis-manager
相关教程
关注微信

扫码加入 JavaScript 社区

相关文章

首次访问,需要验证
微信扫码,关注即可
(仅需验证一次)

欢迎加入 JavaScript 社区

号内回复关键字:

回到顶部