Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thlorenz/exorcist
Externalizes the source map found inside a stream to an external .js.map file
https://github.com/thlorenz/exorcist
Last synced: about 24 hours ago
JSON representation
Externalizes the source map found inside a stream to an external .js.map file
- Host: GitHub
- URL: https://github.com/thlorenz/exorcist
- Owner: thlorenz
- License: mit
- Created: 2014-01-16T19:32:38.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-02-07T08:43:04.000Z (almost 2 years ago)
- Last Synced: 2024-11-24T17:12:46.340Z (28 days ago)
- Language: JavaScript
- Homepage: https://www.patreon.com/bePatron?u=8663953
- Size: 47.9 KB
- Stars: 330
- Watchers: 7
- Forks: 34
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# exorcist [![build status](https://secure.travis-ci.org/thlorenz/exorcist.svg?branch=master)](http://travis-ci.org/thlorenz/exorcist)
Externalizes the source map found inside a stream to an external `.map` file or stream.
Works with both JavaScript and CSS input streams.
```js
var browserify = require('browserify')
, path = require('path')
, fs = require('fs')
, exorcist = require('exorcist')
, mapfile = path.join(__dirname, 'bundle.js.map')// from a file, to a file, and send source map to its own file
browserify({debug: true})
.require(require.resolve('./main'), { entry: true })
.bundle()
.pipe(exorcist(mapfile))
.pipe(fs.createWriteStream(path.join(__dirname, 'bundle.js'), 'utf8'))// from a stream, to a stream, and send source map to a stream
browserify([readableSourceStream], browserifyOptions)
.bundle()
.pipe(exorcist(targetSourceMapStream, '/url/path/to/replace/source/comment/with/bundle.js'))
.pipe(writableTargetStream)
```### command line example
```
browserify main.js --debug | exorcist bundle.js.map > bundle.js
```**Table of Contents** *generated with [DocToc](http://doctoc.herokuapp.com/)*
- [Usage](#usage)
- [Installation](#installation)
- [API](#api)
- [Integration with other tools](#integration-with-other-tools)
- [License](#license)## 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)--error-on-missing -e Abort with error if no map is found in the stream.
(default: warn but still pipe through source)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(input, url, root, base, errorOnMissing) → {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 and errorOnMissing is falsey
(the src is still piped through in this case, but no map file is written)Parameters:
Name
Type
Argument
Description
input
String / Object
full path to the map file to which to write the extracted source map or a writable stream
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)
errorOnMissing
Boolean
<optional>
when truthy, causes 'error' to be emitted instead of 'missing-map' if no map was found in the stream (default: falsey)
Returns:
transform stream into which to pipe the code containing the source map
Type
TransformStream*generated with [docme](https://github.com/thlorenz/docme)*
## Integration with other tools
- [using exorcist with gulp](https://github.com/thlorenz/exorcist/wiki/Recipes#gulp)
## License
MIT