exorcist-stream

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

exorcist

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

相关推荐

  • 理解 Node.js Stream 模块

    流概念是学习 Node 绕不过去的概念之一,它的底层代码也非常复杂,它能够优化对于文件或者数据处理的内存优化与流程优化,本文主要是讲述了对于 Stream 的实现与使用。

    2 年前
  • 深入nodejs中流(stream)的理解

    流的基本概念及理解 流是一种数据传输手段,是有顺序的,有起点和终点,比如你要把数据从一个地方传到另外一个地方 流非常重要,gulp,webpack,HTTP里的请求和响应,http里的sock...

    2 年前
  • 浅析Node.js的Stream模块中的Readable对象

    我一直都很不愿意扯 nodejs 的流,因为从第一次看到它我就觉得它的设计实在是太恶心了。但是没办法,Stream 规范(https://streams.spec.whatwg.org/)尚未普及,而...

    3 年前
  • 对fs.createreadstream VS fs.readfile Node.js的利弊是什么?

    Kent Brewster(https://stackoverflow.com/users/1151280/kentbrewster)提出了一个问题:What are the pros and con...

    2 年前
  • 学Node必须掌握的Buffer和Stream

    本文并不介绍 Buffer 和 Stream 使用的api,而是把对 Buffer 和 Stream 的理解带给大家。 之前发了篇文章《Nodejs核心模块简介》(https://segmentfa...

    10 个月前
  • 如何使用 FutureBuilder and StreamBuilder 优雅的构建高质量项目

    本篇文章将介绍从 setState 开始,到 futureBuilder 、 streamBuilder 来优雅的构建你的高质量项目,而不引发 setState 带来的副作用,如对文章感兴趣,请 点击...

    4 天前
  • 在 Flutter 里使用 Stream

    前言 在 Flutter 中有两种处理异步操作的方式 Future 和 Stream,Future 用于处理单个异步操作,Stream 用来处理连续的异步操作。比如往水杯倒水,将一个水杯倒满为一个 F...

    2 个月前
  • 【每日一包0023】concat-stream

    github地址:https://github.com/ABCDdouyae...(https://github.com/ABCDdouyaer/apackperdayNO.1) concatst...

    2 年前
  • 【每日一包0022】through2-map,through2-filter,stream-spigot

    github地址:https://github.com/ABCDdouyae...(https://github.com/ABCDdouyaer/apackperdayNO.1) through2...

    2 年前
  • zipstream

    Creates ZIP output streams. zipstream Creates ZIP output streams. Depends on Node's buildin zlib...

    1 年前

官方社区

扫码加入 JavaScript 社区