combine-source-map

WebJar for combine-source-map

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

combine-source-map
Last Version

Last Version

0.8.0
Release Date

Release Date

Type

Type

jar
Description

Description

combine-source-map
WebJar for combine-source-map
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/thlorenz/combine-source-map

Download combine-source-map

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/combine-source-map/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>combine-source-map</artifactId>
    <version>0.8.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/combine-source-map/
implementation 'org.webjars.npm:combine-source-map:0.8.0'
// https://jarcasting.com/artifacts/org.webjars.npm/combine-source-map/
implementation ("org.webjars.npm:combine-source-map:0.8.0")
'org.webjars.npm:combine-source-map:jar:0.8.0'
<dependency org="org.webjars.npm" name="combine-source-map" rev="0.8.0">
  <artifact name="combine-source-map" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='combine-source-map', version='0.8.0')
)
libraryDependencies += "org.webjars.npm" % "combine-source-map" % "0.8.0"
[org.webjars.npm/combine-source-map "0.8.0"]

Dependencies

compile (4)

Group / Artifact Type Version
org.webjars.npm : convert-source-map jar [1.1.0,1.2)
org.webjars.npm : inline-source-map jar [0.6.0,0.7)
org.webjars.npm : lodash.memoize jar [3.0.3,3.1)
org.webjars.npm : source-map jar [0.5.3,0.6)

Project Modules

There are no modules declared in this project.

combine-source-map build status

Add source maps of multiple files, offset them and then combine them into one source map.

var convert = require('convert-source-map');
var combine = require('combine-source-map');

var fooComment = '//# sourceMappingURL=data:application/json;base64,eyJ2Z [..] pzJylcbiJdfQ==';
var barComment = '//# sourceMappingURL=data:application/json;base64,eyJ2Z [..] VjaycpXG4iXX0=';

var fooFile = {
    source: '(function() {\n\n  console.log(require(\'./bar.js\'));\n\n}).call(this);\n' + '\n' + fooComment
  , sourceFile: 'foo.js'
};
var barFile = {
    source: '(function() {\n\n  console.log(alert(\'alerts suck\'));\n\n}).call(this);\n' + '\n' + barComment
  , sourceFile: 'bar.js'
};

var offset = { line: 2 };
var base64 = combine
  .create('bundle.js')
  .addFile(fooFile, offset)
  .addFile(barFile, { line: offset.line + 8 })
  .base64();

var sm = convert.fromBase64(base64).toObject();
console.log(sm);
{ version: 3,
  file: 'bundle.js',
  sources: [ 'foo.coffee', 'bar.coffee' ],
  names: [],
  mappings: ';;;AAAA;CAAA;CAAA,CAAA,CAAA,IAAO,GAAK;CAAZ;;;;;ACAA;CAAA;CAAA,CAAA,CAAA,IAAO,GAAK;CAAZ',
  sourcesContent:
   [ 'console.log(require \'./bar.js\')\n',
     'console.log(alert \'alerts suck\')\n' ] }

Installation

npm install combine-source-map

API

create()

/**
 * @name create
 * @function
 * @param file {String} optional name of the generated file
 * @param sourceRoot { String} optional sourceRoot of the map to be generated
 * @return {Object} Combiner instance to which source maps can be added and later combined
 */

Combiner.prototype.addFile(opts, offset)

/**
 * Adds map to underlying source map.
 * If source contains a source map comment that has the source of the original file inlined it will offset these
 * mappings and include them.
 * If no source map comment is found or it has no source inlined, mappings for the file will be generated and included
 * 
 * @name addMap
 * @function
 * @param opts {Object} { sourceFile: {String}, source: {String} }
 * @param offset {Object} { line: {Number}, column: {Number} }
 */

Combiner.prototype.base64()

/**
* @name base64
* @function
* @return {String} base64 encoded combined source map
*/

Combiner.prototype.comment()

/**
 * @name comment
 * @function
 * @return {String} base64 encoded sourceMappingUrl comment of the combined source map
 */

removeComments(src)

/**
 * @name removeComments
 * @function
 * @param src 
 * @return {String} src with all sourceMappingUrl comments removed
 */

Example

Read and run the more elaborate example in order to get a better idea how things work.

Versions

Version
0.8.0
0.7.2
0.7.1
0.3.0