@srcmap/remapping-wasm
Advanced tools
| # @srcmap/remapping-wasm | ||
| [](https://www.npmjs.com/package/@srcmap/remapping-wasm) | ||
| [](https://github.com/BartWaardenburg/srcmap/actions/workflows/ci.yml) | ||
| High-performance source map concatenation and composition powered by Rust via WebAssembly. | ||
| **Concatenation** merges source maps from multiple bundled files into one, adjusting line offsets. **Composition** chains source maps through multiple transforms (e.g. TS -> JS -> minified) into a single map pointing to original sources. Alternative to [`@ampproject/remapping`](https://github.com/nicolo-ribaudo/source-map-js). | ||
| ## Install | ||
| ```bash | ||
| npm install @srcmap/remapping-wasm | ||
| ``` | ||
| Works in Node.js, browsers, and any WebAssembly-capable runtime. No native compilation required. | ||
| ## Usage | ||
| ### Concatenation | ||
| Merge source maps from multiple files into a single combined map: | ||
| ```js | ||
| import { ConcatBuilder } from '@srcmap/remapping-wasm' | ||
| const builder = new ConcatBuilder('bundle.js') | ||
| // Add source maps with their line offsets in the output | ||
| builder.addMap(chunkASourceMapJson, 0) // chunk A starts at line 0 | ||
| builder.addMap(chunkBSourceMapJson, 1000) // chunk B starts at line 1000 | ||
| const combinedJson = builder.toJSON() | ||
| ``` | ||
| ### Composition / Remapping | ||
| Chain source maps through a transform pipeline into a single map: | ||
| ```js | ||
| import { remap } from '@srcmap/remapping-wasm' | ||
| // Your build: original.ts -> intermediate.js -> minified.js | ||
| // You have: minified.js.map (outer) and intermediate.js.map (inner) | ||
| const composedJson = remap(minifiedSourceMapJson, (source) => { | ||
| // Called for each source in the outer map | ||
| if (source === 'intermediate.js') { | ||
| return intermediateSourceMapJson // upstream source map JSON | ||
| } | ||
| return null // no upstream map, keep as-is | ||
| }) | ||
| ``` | ||
| ## API | ||
| ### `new ConcatBuilder(file?: string)` | ||
| Create a builder for concatenating source maps. | ||
| | Method | Returns | Description | | ||
| |--------|---------|-------------| | ||
| | `addMap(json, lineOffset)` | `void` | Add a source map JSON at the given line offset | | ||
| | `toJSON()` | `string` | Generate the concatenated source map JSON | | ||
| ### `remap(outerJson, loader)` | ||
| Compose source maps through a transform chain. | ||
| | Parameter | Type | Description | | ||
| |-----------|------|-------------| | ||
| | `outerJson` | `string` | The final-stage source map JSON | | ||
| | `loader` | `(source: string) => string \| null` | Returns upstream source map JSON, or `null` | | ||
| Returns the composed source map as a JSON string. | ||
| ## Build targets | ||
| ```bash | ||
| # Node.js (default) | ||
| npm run build | ||
| # Browser (ES module + .wasm) | ||
| npm run build:web | ||
| # Bundler (e.g. webpack, vite) | ||
| npm run build:bundler | ||
| ``` | ||
| ## Part of [srcmap](https://github.com/BartWaardenburg/srcmap) | ||
| High-performance source map tooling written in Rust. See also: | ||
| - [`@srcmap/sourcemap-wasm`](https://www.npmjs.com/package/@srcmap/sourcemap-wasm) - Source map parser (WASM) | ||
| - [`@srcmap/generator-wasm`](https://www.npmjs.com/package/@srcmap/generator-wasm) - Source map generator (WASM) | ||
| - [`@srcmap/symbolicate-wasm`](https://www.npmjs.com/package/@srcmap/symbolicate-wasm) - Stack trace symbolication (WASM) | ||
| ## License | ||
| MIT |
+99
| # @srcmap/remapping-wasm | ||
| [](https://www.npmjs.com/package/@srcmap/remapping-wasm) | ||
| [](https://github.com/BartWaardenburg/srcmap/actions/workflows/ci.yml) | ||
| High-performance source map concatenation and composition powered by Rust via WebAssembly. | ||
| **Concatenation** merges source maps from multiple bundled files into one, adjusting line offsets. **Composition** chains source maps through multiple transforms (e.g. TS -> JS -> minified) into a single map pointing to original sources. Alternative to [`@ampproject/remapping`](https://github.com/nicolo-ribaudo/source-map-js). | ||
| ## Install | ||
| ```bash | ||
| npm install @srcmap/remapping-wasm | ||
| ``` | ||
| Works in Node.js, browsers, and any WebAssembly-capable runtime. No native compilation required. | ||
| ## Usage | ||
| ### Concatenation | ||
| Merge source maps from multiple files into a single combined map: | ||
| ```js | ||
| import { ConcatBuilder } from '@srcmap/remapping-wasm' | ||
| const builder = new ConcatBuilder('bundle.js') | ||
| // Add source maps with their line offsets in the output | ||
| builder.addMap(chunkASourceMapJson, 0) // chunk A starts at line 0 | ||
| builder.addMap(chunkBSourceMapJson, 1000) // chunk B starts at line 1000 | ||
| const combinedJson = builder.toJSON() | ||
| ``` | ||
| ### Composition / Remapping | ||
| Chain source maps through a transform pipeline into a single map: | ||
| ```js | ||
| import { remap } from '@srcmap/remapping-wasm' | ||
| // Your build: original.ts -> intermediate.js -> minified.js | ||
| // You have: minified.js.map (outer) and intermediate.js.map (inner) | ||
| const composedJson = remap(minifiedSourceMapJson, (source) => { | ||
| // Called for each source in the outer map | ||
| if (source === 'intermediate.js') { | ||
| return intermediateSourceMapJson // upstream source map JSON | ||
| } | ||
| return null // no upstream map, keep as-is | ||
| }) | ||
| ``` | ||
| ## API | ||
| ### `new ConcatBuilder(file?: string)` | ||
| Create a builder for concatenating source maps. | ||
| | Method | Returns | Description | | ||
| |--------|---------|-------------| | ||
| | `addMap(json, lineOffset)` | `void` | Add a source map JSON at the given line offset | | ||
| | `toJSON()` | `string` | Generate the concatenated source map JSON | | ||
| ### `remap(outerJson, loader)` | ||
| Compose source maps through a transform chain. | ||
| | Parameter | Type | Description | | ||
| |-----------|------|-------------| | ||
| | `outerJson` | `string` | The final-stage source map JSON | | ||
| | `loader` | `(source: string) => string \| null` | Returns upstream source map JSON, or `null` | | ||
| Returns the composed source map as a JSON string. | ||
| ## Build targets | ||
| ```bash | ||
| # Node.js (default) | ||
| npm run build | ||
| # Browser (ES module + .wasm) | ||
| npm run build:web | ||
| # Bundler (e.g. webpack, vite) | ||
| npm run build:bundler | ||
| ``` | ||
| ## Part of [srcmap](https://github.com/BartWaardenburg/srcmap) | ||
| High-performance source map tooling written in Rust. See also: | ||
| - [`@srcmap/sourcemap-wasm`](https://www.npmjs.com/package/@srcmap/sourcemap-wasm) - Source map parser (WASM) | ||
| - [`@srcmap/generator-wasm`](https://www.npmjs.com/package/@srcmap/generator-wasm) - Source map generator (WASM) | ||
| - [`@srcmap/symbolicate-wasm`](https://www.npmjs.com/package/@srcmap/symbolicate-wasm) - Stack trace symbolication (WASM) | ||
| ## License | ||
| MIT |
+18
-6
| { | ||
| "name": "@srcmap/remapping-wasm", | ||
| "version": "0.1.3", | ||
| "version": "0.2.0", | ||
| "description": "High-performance source map concatenation and remapping powered by Rust (WebAssembly)", | ||
@@ -8,11 +8,22 @@ "type": "module", | ||
| "types": "pkg/srcmap_remapping_wasm.d.ts", | ||
| "browser": "web/srcmap_remapping_wasm.js", | ||
| "module": "web/srcmap_remapping_wasm.js", | ||
| "exports": { | ||
| ".": { | ||
| "node": "./pkg/srcmap_remapping_wasm.js", | ||
| "browser": "./web/srcmap_remapping_wasm.js", | ||
| "default": "./pkg/srcmap_remapping_wasm.js" | ||
| } | ||
| }, | ||
| "license": "MIT", | ||
| "files": [ | ||
| "pkg/", | ||
| "web/", | ||
| "README.md" | ||
| ], | ||
| "scripts": { | ||
| "build": "wasm-pack build --target nodejs", | ||
| "build:web": "wasm-pack build --target web", | ||
| "build:bundler": "wasm-pack build --target bundler", | ||
| "build": "wasm-pack build --target nodejs --out-dir pkg", | ||
| "build:web": "wasm-pack build --target web --out-dir web", | ||
| "build:bundler": "wasm-pack build --target bundler --out-dir bundler", | ||
| "build:all": "npm run build && npm run build:web", | ||
| "test": "node --test __tests__/remapping-wasm.test.mjs" | ||
@@ -22,3 +33,3 @@ }, | ||
| "type": "git", | ||
| "url": "https://github.com/BartWaardenburg/srcmap" | ||
| "url": "git+https://github.com/BartWaardenburg/srcmap.git" | ||
| }, | ||
@@ -34,4 +45,5 @@ "keywords": [ | ||
| "webassembly", | ||
| "performance" | ||
| "performance", | ||
| "browser" | ||
| ] | ||
| } |
+2
-2
| { | ||
| "name": "srcmap-remapping-wasm", | ||
| "description": "WebAssembly bindings for srcmap-remapping", | ||
| "version": "0.1.2", | ||
| "version": "0.2.0", | ||
| "license": "MIT", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/bartwaardenburg/srcmap" | ||
| "url": "https://github.com/BartWaardenburg/srcmap" | ||
| }, | ||
@@ -10,0 +10,0 @@ "files": [ |
Sorry, the diff of this file is not supported yet
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
250395
10.37%8
33.33%0
-100%100
Infinity%0
-100%