Retain comments when replacing

This commit is contained in:
Tim Schaub
2017-08-18 11:20:13 -04:00
parent 1e7f21f423
commit 71370405c3

View File

@@ -157,7 +157,9 @@ module.exports = function(info, api) {
})
.replaceWith(path => {
const name = `${path.value.object.name}.${path.value.property.name}`;
return j.literal(defines[name]);
const expression = j.literal(defines[name]);
expression.comments = path.value.comments;
return expression;
});
// remove goog.provide()
@@ -232,10 +234,18 @@ module.exports = function(info, api) {
Object.keys(replacements).sort().reverse().forEach(name => {
if (name.indexOf('.') > 0) {
root.find(j.MemberExpression, getMemberExpression(name))
.replaceWith(j.identifier(replacements[name]));
.replaceWith(path => {
const expression = j.identifier(replacements[name]);
expression.comments = path.value.comments;
return expression;
});
} else {
root.find(j.Identifier, {name: name})
.replaceWith(j.identifier(replacements[name]));
.replaceWith(path => {
const identifier = j.identifier(replacements[name]);
identifier.comments = path.value.comments;
return identifier;
});
}
});