# @jridgewell/source-map

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

Latest version **0.3.11** (published 2025-08-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install @jridgewell/source-map
pnpm add @jridgewell/source-map
yarn add @jridgewell/source-map
bun add @jridgewell/source-map
```

## Health

**Score 55/100 (C)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads; pre 1.0.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 0.3.11 |
| Published | 2025-08-12 |
| First published | 2022-05-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 2 |
| Unpacked size | 32.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 53 |
| Author | Justin Ridgewell |
| Maintainers | jridgewell |
| Keywords | sourcemap, source, map |

## Links

- npm: https://www.npmjs.com/package/@jridgewell/source-map
- Repository: https://github.com/jridgewell/sourcemaps
- Homepage: https://github.com/jridgewell/sourcemaps/tree/main/packages/source-map
- Issues: https://github.com/jridgewell/sourcemaps/issues
- npm.io page: https://npm.io/package/@jridgewell/source-map

## Dependencies (2)

- [@jridgewell/gen-mapping](https://npm.io/package/@jridgewell/gen-mapping.md) ^0.3.5
- [@jridgewell/trace-mapping](https://npm.io/package/@jridgewell/trace-mapping.md) ^0.3.25

## Alternatives

- [jsforce](https://npm.io/package/jsforce.md) — 851.2K weekly downloads
- [react-native-qrcode-svg](https://npm.io/package/react-native-qrcode-svg.md) — 693.5K weekly downloads
- [@salesforce/plugin-data](https://npm.io/package/@salesforce/plugin-data.md) — 394.9K weekly downloads
- [@backstage/plugin-search-common](https://npm.io/package/@backstage/plugin-search-common.md) — 308.5K weekly downloads
- [@chain-registry/types](https://npm.io/package/@chain-registry/types.md) — 38.4K weekly downloads

## Recent versions

- 0.3.11 (latest) — 2025-08-12
- 0.3.10 — 2025-07-01
- 0.3.9 — 2025-06-30
- 0.3.8 — 2025-06-30
- 0.3.7 — 2025-06-29
- 0.3.6 — 2024-03-12
- 0.3.5 — 2023-07-03
- 0.3.4 — 2023-06-29
- 0.3.3 — 2023-04-07
- 0.3.2 — 2022-05-01
- 0.3.1 — 2022-05-01
- 0.3.0 — 2022-05-01

## README

# @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][trace-mapping] and [@jridgewell/gen-mapping][gen-mapping]
implementations.

## Installation

```sh
npm install @jridgewell/source-map
```

## Usage

TODO

### SourceMapConsumer

```typescript
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`.

```typescript
const smg = new SourceMapGenerator();

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

#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)

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

#### SourceMapConsumer.prototype.mappings

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

#### SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)

```typescript
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.

```typescript
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)

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

#### SourceMapConsumer.prototype.hasContentsOfAllSources()

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

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

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

#### SourceMapConsumer.prototype.version

Returns the source map's version

### SourceMapGenerator

```typescript
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`.

```typescript
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)

```typescript
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)

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

#### SourceMapGenerator.prototype.toJSON()

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

#### SourceMapGenerator.prototype.toString()

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

#### SourceMapGenerator.prototype.toDecodedMap()

```typescript
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

[trace-mapping]: https://github.com/jridgewell/sourcemaps/tree/main/packages/trace-mapping/
[gen-mapping]: https://github.com/jridgewell/sourcemaps/tree/main/packages/gen-mapping/

---
_Source: https://npm.io/package/@jridgewell/source-map · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
