escodegen
escodegen copied to clipboard
Bug on ExportDefatultDeclaration's sourcemap generation
Bug description
raw code like:
export default {
a() {}
}
escodegen generates sourcemap now is:
{
mappings: 'AAAA;AAAA;AAAA;AAAA',
// other properties
}
the correct sourcemap should be:
{
mappings: 'AAAA,eAAe;AAAA,IACdA,CAAA,GAAI;AAAA,KADU;AAAA,CAAf'
}
Reason
I found out that L1213 cause this problem, which this.generateExpression(xxx) + this.semicolon(flags)
turns SourceNode tree into string and lost sourcemap information.
I think the correct code should be:
// LINE 1213
result = join(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT));
result.push(this.semicolon(flags));