@coderevivehq/source-map-resolve
v0.6.2
Published
Resolve the source map and/or sources for a generated file.
Maintainers
Readme
Overview
Resolve the source map and/or sources for a generated file. The module is intended for Node.js tools and browser applications that need to locate a source map from a generated file, resolve the source paths in that map, and optionally load the original source contents.
Maintained by CodeRevive
This maintained continuation is published by CodeRevive. Security patches are our highest priority. We also review bug reports, feature requests, and suggestions from the community.
The project is based on the original source-map-resolve repository and its contributors.
Quick links
- Overview
- Maintained by CodeRevive
- Installation & setup
- Documentation
- Usage
- Contributing
- Security & support
- Credits & license
Installation & setup
npm install @coderevivehq/source-map-resolveThe package supports Node.js 14.16 and later. It can also be used in browser environments with a compatible asynchronous or synchronous read function.
Documentation
The API documentation is maintained in this README. See Usage for the resolver methods and their result objects, and Notes for source-map header handling.
Usage
var sourceMapResolve = require("@coderevivehq/source-map-resolve")
sourceMapResolve.resolve(code, codeUrl, read, function(error, result) {
if (error) {
return notifyFailure(error)
}
// result.map contains the parsed source map.
// result.sourcesResolved contains fully resolved source URLs.
// result.sourcesContent contains the loaded source contents.
})sourceMapResolve.resolveSourceMap(code, codeUrl, read, callback)
Finds a sourceMappingURL comment in code and reads the referenced source map.
codeis generated code that may contain a source-map comment.codeUrlis the URL of the generated file. Relative source-map URLs are resolved against it.read(url, callback)reads a URL and callscallback(error, content).callback(error, result)receives the parsed map, its URL, the URL used to resolve sources, and the originalsourceMappingURL.
If code contains no source-map comment, the result is null.
sourceMapResolve.resolveSources(map, mapUrl, read, [options], callback)
Resolves every source in a parsed source map and reads its contents. The result contains sourcesResolved and sourcesContent in the same order as map.sources. The optional sourceRoot option overrides or ignores the map's sourceRoot value.
sourceMapResolve.resolve(code, codeUrl, read, [options], callback)
A convenience method that resolves a source map and then its sources. If code is null, codeUrl is treated as the source-map URL and read directly.
Synchronous methods and parsing
resolveSourceMapSync, resolveSourcesSync, and resolveSync provide synchronous equivalents that return results or throw errors. parseMapToJSON(string, [data]) strips the optional )]}' XSSI prefix before parsing a source map as JSON.
Errors include a sourceMapData property containing the partial result available when the error occurred.
Notes
Source maps can also be supplied through a SourceMap: <url> response header. This module does not retrieve generated code, so callers that need this behavior must read the header while retrieving the generated file and then call resolve(null, sourceMapUrl, read, ...).
Contributing
Bug reports, focused improvements, and documentation updates are welcome through GitHub issues and pull requests. Please run npm test before submitting a change.
Security & support
Report security concerns privately through the repository's Security page. For usage questions and ordinary bugs, open a GitHub issue with a minimal reproduction when possible.
Credits & license
This project is a maintained continuation of lydell/source-map-resolve. Original code and CodeRevive-authored changes are licensed under the MIT License. Original copyright notices are retained in LICENSE.
