| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import buildSourceMapTree from './build-source-map-tree';
- import { traceMappings } from './source-map-tree';
- import SourceMap from './source-map';
- import type { SourceMapInput, SourceMapLoader, Options } from './types';
- export type {
- SourceMapSegment,
- EncodedSourceMap,
- EncodedSourceMap as RawSourceMap,
- DecodedSourceMap,
- SourceMapInput,
- SourceMapLoader,
- LoaderContext,
- Options,
- } from './types';
- export type { SourceMap };
- /**
- * Traces through all the mappings in the root sourcemap, through the sources
- * (and their sourcemaps), all the way back to the original source location.
- *
- * `loader` will be called every time we encounter a source file. If it returns
- * a sourcemap, we will recurse into that sourcemap to continue the trace. If
- * it returns a falsey value, that source file is treated as an original,
- * unmodified source file.
- *
- * Pass `excludeContent` to exclude any self-containing source file content
- * from the output sourcemap.
- *
- * Pass `decodedMappings` to receive a SourceMap with decoded (instead of
- * VLQ encoded) mappings.
- */
- export default function remapping(
- input: SourceMapInput | SourceMapInput[],
- loader: SourceMapLoader,
- options?: boolean | Options,
- ): SourceMap {
- const opts =
- typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
- const tree = buildSourceMapTree(input, loader);
- return new SourceMap(traceMappings(tree), opts);
- }
|