sourcemap-codec

WebJar for sourcemap-codec

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

sourcemap-codec
Last Version

Last Version

1.4.8
Release Date

Release Date

Type

Type

jar
Description

Description

sourcemap-codec
WebJar for sourcemap-codec
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/Rich-Harris/sourcemap-codec

Download sourcemap-codec

How to add to project

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

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

sourcemap-codec

Encode/decode the mappings property of a sourcemap.

Why?

Sourcemaps are difficult to generate and manipulate, because the mappings property – the part that actually links the generated code back to the original source – is encoded using an obscure method called Variable-length quantity. On top of that, each segment in the mapping contains offsets rather than absolute indices, which means that you can't look at a segment in isolation – you have to understand the whole sourcemap.

This package makes the process slightly easier.

Installation

npm install sourcemap-codec

Usage

import { encode, decode } from 'sourcemap-codec';

var decoded = decode( ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );

assert.deepEqual( decoded, [
	// the first line (of the generated code) has no mappings,
	// as shown by the starting semi-colon (which separates lines)
	[],

	// the second line contains four (comma-separated) segments
	[
		// segments are encoded as you'd expect:
		// [ generatedCodeColumn, sourceIndex, sourceCodeLine, sourceCodeColumn, nameIndex ]

		// i.e. the first segment begins at column 2, and maps back to the second column
		// of the second line (both zero-based) of the 0th source, and uses the 0th
		// name in the `map.names` array
		[ 2, 0, 2, 2, 0 ],

		// the remaining segments are 4-length rather than 5-length,
		// because they don't map a name
		[ 4, 0, 2, 4 ],
		[ 6, 0, 2, 5 ],
		[ 7, 0, 2, 7 ]
	],

	// the final line contains two segments
	[
		[ 2, 1, 10, 19 ],
		[ 12, 1, 11, 20 ]
	]
]);

var encoded = encode( decoded );
assert.equal( encoded, ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );

License

MIT

Versions

Version
1.4.8
1.4.6
1.4.4
1.4.3
1.4.1