Skip to content

Commit

Permalink
Preserve legacy prop ordering in sourcemaps
Browse files Browse the repository at this point in the history
  • Loading branch information
jridgewell committed Apr 27, 2022
1 parent 6163af9 commit accb758
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 9 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Expand Up @@ -3,6 +3,6 @@
arr.map(function (x) {
return x * x;
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcnIiLCJtYXAiLCJ4Il0sInNvdXJjZXMiOlsic3RkaW4iXSwic291cmNlc0NvbnRlbnQiOlsiYXJyLm1hcCh4ID0+IHggKiB4KTsiXSwibWFwcGluZ3MiOiI7O0FBQUFBLEdBQUcsQ0FBQ0MsR0FBSixDQUFRLFVBQUFDLENBQUM7QUFBQSxTQUFJQSxDQUFDLEdBQUdBLENBQVI7QUFBQSxDQUFUIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZGluIl0sIm5hbWVzIjpbImFyciIsIm1hcCIsIngiXSwibWFwcGluZ3MiOiI7O0FBQUFBLEdBQUcsQ0FBQ0MsR0FBSixDQUFRLFVBQUFDLENBQUM7QUFBQSxTQUFJQSxDQUFDLEdBQUdBLENBQVI7QUFBQSxDQUFUIiwic291cmNlc0NvbnRlbnQiOlsiYXJyLm1hcCh4ID0+IHggKiB4KTsiXX0=

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rkb3V0IiwibmFtZXMiOltdLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJtYXBwaW5ncyI6IiJ9

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 24 additions & 3 deletions packages/babel-generator/src/source-map.ts
Expand Up @@ -14,9 +14,28 @@ import type {
} from "@jridgewell/gen-mapping";

/**
* Build a sourcemap.
* The old source-map library has a particular field order, and babel consumers
* may have tests written that depend on that ordering.
*/
function legacyPropOrder(map: DecodedSourceMap): DecodedSourceMap;
function legacyPropOrder(map: EncodedSourceMap): EncodedSourceMap;
function legacyPropOrder(
map: DecodedSourceMap | EncodedSourceMap,
): DecodedSourceMap | EncodedSourceMap {
return {
version: map.version,
sources: map.sources,
names: map.names,
mappings: map.mappings as any,
file: map.file,
sourceRoot: map.sourceRoot,
sourcesContent: map.sourcesContent,
};
}

/**
* Build a sourcemap.
*/
export default class SourceMap {
private _map: GenMapping;
private _rawMappings: Mapping[] | undefined;
Expand Down Expand Up @@ -55,11 +74,13 @@ export default class SourceMap {
* Get the sourcemap.
*/
get(): EncodedSourceMap {
return encodedMap(this._map);
const map = encodedMap(this._map);
return !process.env.BABEL_8_BREAKING ? legacyPropOrder(map) : map;
}

getDecoded(): DecodedSourceMap {
return decodedMap(this._map);
const map = decodedMap(this._map);
return !process.env.BABEL_8_BREAKING ? legacyPropOrder(map) : map;
}

getRawMappings(): Mapping[] {
Expand Down

0 comments on commit accb758

Please sign in to comment.