Skip to content
This repository was archived by the owner on Jun 28, 2025. It is now read-only.

jridgewell/source-map

Repository files navigation

Development moved to monorepo

See https://github.com/jridgewell/sourcemaps/tree/main/packages/source-map for latest code.


@jridgewell/source-map

Packages @jridgewell/trace-mapping and @jridgewell/gen-mapping into the familiar source-map API

This isn't the full API, but it's the core functionality. This wraps @jridgewell/trace-mapping and @jridgewell/gen-mapping implementations.

Installation

npm install @jridgewell/source-map

Usage

TODO

SourceMapConsumer

import { SourceMapConsumer } from '@jridgewell/source-map';
const smc = new SourceMapConsumer({
  version: 3,
  names: ['foo'],
  sources: ['input.js'],
  mappings: 'AAAAA',
});

SourceMapConsumer.fromSourceMap(mapGenerator[, mapUrl])

Transforms a SourceMapGenerator into a SourceMapConsumer.

const smg = new SourceMapGenerator();

const smc = SourceMapConsumer.fromSourceMap(map);
smc.originalPositionFor({ line: 1, column: 0 });

SourceMapConsumer.prototype.originalPositionFor(generatedPosition)

const smc = new SourceMapConsumer(map);
smc.originalPositionFor({ line: 1, column: 0 });

SourceMapConsumer.prototype.mappings

const smc = new SourceMapConsumer(map);
smc.mappings; // AAAA

SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)

const smc = new SourceMapConsumer(map);
smc.allGeneratedpositionsfor({ line: 1, column: 5, source: "baz.ts" });
// [
//   { line: 2, column: 8 }
// ]

SourceMapConsumer.prototype.eachMapping(callback[, context[, order]])

This implementation currently does not support the "order" parameter. This function can only iterate in Generated order.

const smc = new SourceMapConsumer(map);
smc.eachMapping((mapping) => {
// { source: 'baz.ts',
//   generatedLine: 4,
//   generatedColumn: 5,
//   originalLine: 4,
//   originalColumn: 5,
//   name: null }
});

SourceMapConsumer.prototype.generatedPositionFor(originalPosition)

const smc = new SourceMapConsumer(map);
smc.generatedPositionFor({ line: 1, column: 5, source: "baz.ts" });
// { line: 2, column: 8 }

SourceMapConsumer.prototype.hasContentsOfAllSources()

const smc = new SourceMapConsumer(map);
smc.hasContentsOfAllSources();
// true

SourceMapConsumer.prototype.sourceContentFor(source[, returnNullOnMissing])

const smc = new SourceMapConsumer(map);
smc.generatedPositionFor("baz.ts");
// "export default ..."

SourceMapConsumer.prototype.version

Returns the source map's version

SourceMapGenerator

import { SourceMapGenerator } from '@jridgewell/source-map';
const smg = new SourceMapGenerator({
  file: 'output.js',
  sourceRoot: 'https://example.com/',
});

SourceMapGenerator.fromSourceMap(map)

Transform a SourceMapConsumer into a SourceMapGenerator.

const smc = new SourceMapConsumer();
const smg = SourceMapGenerator.fromSourceMap(smc);

SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])

This method is not implemented yet

SourceMapGenerator.prototype.addMapping(mapping)

const smg = new SourceMapGenerator();
smg.addMapping({
  generated: { line: 1, column: 0 },
  source: 'input.js',
  original: { line: 1, column: 0 },
  name: 'foo',
});

SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)

const smg = new SourceMapGenerator();
smg.setSourceContent('input.js', 'foobar');

SourceMapGenerator.prototype.toJSON()

const smg = new SourceMapGenerator();
smg.toJSON(); // { version: 3, names: [], sources: [], mappings: '' }

SourceMapGenerator.prototype.toString()

const smg = new SourceMapGenerator();
smg.toJSON(); // "{version:3,names:[],sources:[],mappings:''}"

SourceMapGenerator.prototype.toDecodedMap()

const smg = new SourceMapGenerator();
smg.toDecodedMap(); // { version: 3, names: [], sources: [], mappings: [] }

Known differences with other implementations

This implementation has some differences with source-map and source-map-js.

  • SourceMapConsumer.prototype.eachMapping()
    • Does not support the order argument
  • SourceMapGenerator.prototype.applySourceMap()
    • Not implemented

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy