diff --git a/src/utils/Mappings.js b/src/utils/Mappings.js index 5467e78..6026200 100644 --- a/src/utils/Mappings.js +++ b/src/utils/Mappings.js @@ -48,7 +48,9 @@ export default class Mappings { originalCharIndex += 1; } - this.pending = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column]; + this.pending = sourceIndex > 0 + ? [this.generatedCodeColumn, sourceIndex, loc.line, loc.column] + : null; } advance(str) { diff --git a/test/MagicString.js b/test/MagicString.js index e7bede9..3d290a5 100644 --- a/test/MagicString.js +++ b/test/MagicString.js @@ -193,10 +193,10 @@ describe('MagicString', () => { assert.equal(map.file, 'output.md'); assert.deepEqual(map.sources, ['input.md']); assert.deepEqual(map.sourcesContent, ['abcdefghijkl']); - assert.equal(map.mappings, 'AAAA,CAAC,CAAC,CAAC,AAAM,CAAC,CAAC'); + assert.equal(map.mappings, 'AAAA,CAAC,CAAC,CAAO,CAAC,CAAC'); - assert.equal(map.toString(), '{"version":3,"file":"output.md","sources":["input.md"],"sourcesContent":["abcdefghijkl"],"names":[],"mappings":"AAAA,CAAC,CAAC,CAAC,AAAM,CAAC,CAAC"}'); - assert.equal(map.toUrl(), 'data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0Lm1kIiwic291cmNlcyI6WyJpbnB1dC5tZCJdLCJzb3VyY2VzQ29udGVudCI6WyJhYmNkZWZnaGlqa2wiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQyxDQUFDLENBQUMsQUFBTSxDQUFDLENBQUMifQ=='); + assert.equal(map.toString(), '{"version":3,"file":"output.md","sources":["input.md"],"sourcesContent":["abcdefghijkl"],"names":[],"mappings":"AAAA,CAAC,CAAC,CAAO,CAAC,CAAC"}'); + assert.equal(map.toUrl(), 'data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0Lm1kIiwic291cmNlcyI6WyJpbnB1dC5tZCJdLCJzb3VyY2VzQ29udGVudCI6WyJhYmNkZWZnaGlqa2wiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQyxDQUFDLENBQU8sQ0FBQyxDQUFDIn0='); const smc = new SourceMapConsumer(map); let loc; @@ -264,8 +264,8 @@ describe('MagicString', () => { assert.deepEqual(map.sources, ['input.md']); assert.deepEqual(map.sourcesContent, ['abcdefghijkl']); - assert.equal(map.toString(), '{"version":3,"file":"output.md","sources":["input.md"],"sourcesContent":["abcdefghijkl"],"names":[],"mappings":"AAAA,GAAG,GAAG,AAAG,CAAC"}'); - assert.equal(map.toUrl(), 'data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0Lm1kIiwic291cmNlcyI6WyJpbnB1dC5tZCJdLCJzb3VyY2VzQ29udGVudCI6WyJhYmNkZWZnaGlqa2wiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsR0FBRyxHQUFHLEFBQUcsQ0FBQyJ9'); + assert.equal(map.toString(), '{"version":3,"file":"output.md","sources":["input.md"],"sourcesContent":["abcdefghijkl"],"names":[],"mappings":"AAAA,GAAG,GAAM,CAAC"}'); + assert.equal(map.toUrl(), 'data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0Lm1kIiwic291cmNlcyI6WyJpbnB1dC5tZCJdLCJzb3VyY2VzQ29udGVudCI6WyJhYmNkZWZnaGlqa2wiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsR0FBRyxHQUFNLENBQUMifQ=='); const smc = new SourceMapConsumer(map); let loc;