diff --git a/src/generators/Generator.js b/src/generators/Generator.js index 8568a515e7..beca3ec09f 100644 --- a/src/generators/Generator.js +++ b/src/generators/Generator.js @@ -168,7 +168,7 @@ export default class Generator { return { code: compiled.toString(), - map: compiled.generateMap({ includeContent: true }) + map: compiled.generateMap({ includeContent: true, file: options.outputFilename }) }; } diff --git a/test/sourcemaps.js b/test/sourcemaps.js index bafaf11a8a..80d5edb315 100644 --- a/test/sourcemaps.js +++ b/test/sourcemaps.js @@ -1,4 +1,5 @@ import * as fs from 'fs'; +import * as path from 'path'; import assert from 'assert'; import { svelte, exists } from './helpers.js'; import { SourceMapConsumer } from 'source-map'; @@ -15,11 +16,19 @@ describe( 'sourcemaps', () => { } ( solo ? it.only : it )( dir, () => { - const input = fs.readFileSync( `test/sourcemaps/${dir}/input.html`, 'utf-8' ).replace( /\s+$/, '' ); - const { code, map } = svelte.compile( input ); + const filename = path.resolve( `test/sourcemaps/${dir}/input.html` ); + const outputFilename = path.resolve( `test/sourcemaps/${dir}/output.js` ); - fs.writeFileSync( `test/sourcemaps/${dir}/output.js`, `${code}\n//# sourceMappingURL=output.js.map` ); - fs.writeFileSync( `test/sourcemaps/${dir}/output.js.map`, JSON.stringify( map, null, ' ' ) ); + const input = fs.readFileSync( filename, 'utf-8' ).replace( /\s+$/, '' ); + const { code, map } = svelte.compile( input, { + filename, + outputFilename + }); + + fs.writeFileSync( outputFilename, `${code}\n//# sourceMappingURL=output.js.map` ); + fs.writeFileSync( `${outputFilename}.map`, JSON.stringify( map, null, ' ' ) ); + + assert.deepEqual( map.sources, [ 'input.html' ]); const { test } = require( `./sourcemaps/${dir}/test.js` ); diff --git a/test/sourcemaps/basic/test.js b/test/sourcemaps/basic/test.js index b169b04f7a..a8803c0063 100644 --- a/test/sourcemaps/basic/test.js +++ b/test/sourcemaps/basic/test.js @@ -12,7 +12,7 @@ export function test ({ assert, smc, locateInSource, locateInGenerated }) { }); assert.deepEqual( actual, { - source: 'SvelteComponent.html', + source: 'input.html', name: null, line: expected.line + 1, column: expected.column @@ -26,7 +26,7 @@ export function test ({ assert, smc, locateInSource, locateInGenerated }) { }); assert.deepEqual( actual, { - source: 'SvelteComponent.html', + source: 'input.html', name: null, line: expected.line + 1, column: expected.column diff --git a/test/sourcemaps/script/test.js b/test/sourcemaps/script/test.js index 6b14b91a9d..80468b23bf 100644 --- a/test/sourcemaps/script/test.js +++ b/test/sourcemaps/script/test.js @@ -8,7 +8,7 @@ export function test ({ assert, smc, locateInSource, locateInGenerated }) { }); assert.deepEqual( actual, { - source: 'SvelteComponent.html', + source: 'input.html', name: null, line: expected.line + 1, column: expected.column