Skip to content

Commit 3b7f6fe

Browse files
author
Rishabh Karnad
committed
Fixed source map generation with async SourceMapConsumer
Fixes #179
1 parent 870192b commit 3b7f6fe

File tree

2 files changed

+38
-28
lines changed

2 files changed

+38
-28
lines changed

packages/vue-native-scripts/build.js

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -505,21 +505,26 @@ if (reactNativeMinorVersion >= 59) {
505505
}
506506

507507
function sourceMapAstInPlace(tsMap, babelAst) {
508-
var tsConsumer = new sourceMap.SourceMapConsumer(tsMap);
509-
traverse$1.cheap(babelAst, function (node) {
510-
if (node.loc) {
511-
var originalStart = tsConsumer.originalPositionFor(node.loc.start);
512-
if (originalStart.line) {
513-
node.loc.start.line = originalStart.line;
514-
node.loc.start.column = originalStart.column;
515-
}
516-
var originalEnd = tsConsumer.originalPositionFor(node.loc.end);
517-
if (originalEnd.line) {
518-
node.loc.end.line = originalEnd.line;
519-
node.loc.end.column = originalEnd.column;
520-
}
508+
return sourceMap.SourceMapConsumer.with(
509+
tsMap,
510+
null,
511+
function (consumer) {
512+
traverse$1.cheap(babelAst, function (node) {
513+
if (node.loc) {
514+
var originalStart = consumer.originalPositionFor(node.loc.start);
515+
if (originalStart.line) {
516+
node.loc.start.line = originalStart.line;
517+
node.loc.start.column = originalStart.column;
518+
}
519+
var originalEnd = consumer.originalPositionFor(node.loc.end);
520+
if (originalEnd.line) {
521+
node.loc.end.line = originalEnd.line;
522+
node.loc.end.column = originalEnd.column;
523+
}
524+
}
525+
});
521526
}
522-
});
527+
);
523528
}
524529

525530
function transform(ref) {

src/platforms/vue-native/scripts/transformerPlugin.js

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,26 @@ if (reactNativeMinorVersion >= 59) {
3030
}
3131

3232
function sourceMapAstInPlace(tsMap, babelAst) {
33-
const tsConsumer = new SourceMapConsumer(tsMap);
34-
traverse.cheap(babelAst, node => {
35-
if (node.loc) {
36-
const originalStart = tsConsumer.originalPositionFor(node.loc.start);
37-
if (originalStart.line) {
38-
node.loc.start.line = originalStart.line;
39-
node.loc.start.column = originalStart.column;
40-
}
41-
const originalEnd = tsConsumer.originalPositionFor(node.loc.end);
42-
if (originalEnd.line) {
43-
node.loc.end.line = originalEnd.line;
44-
node.loc.end.column = originalEnd.column;
45-
}
33+
return SourceMapConsumer.with(
34+
tsMap,
35+
null,
36+
(consumer) => {
37+
traverse.cheap(babelAst, node => {
38+
if (node.loc) {
39+
const originalStart = consumer.originalPositionFor(node.loc.start);
40+
if (originalStart.line) {
41+
node.loc.start.line = originalStart.line;
42+
node.loc.start.column = originalStart.column;
43+
}
44+
const originalEnd = consumer.originalPositionFor(node.loc.end);
45+
if (originalEnd.line) {
46+
node.loc.end.line = originalEnd.line;
47+
node.loc.end.column = originalEnd.column;
48+
}
49+
}
50+
});
4651
}
47-
});
52+
);
4853
}
4954

5055
export function transform({ src, filename, options }) {

0 commit comments

Comments
 (0)