From 8290e11c1a7a962b3be47bdafbe3fc138fb00c8b Mon Sep 17 00:00:00 2001 From: Rich-Harris Date: Wed, 28 Dec 2016 14:56:27 -0500 Subject: [PATCH 1/4] test that file property is being added to sourcemap (#986) --- test/cli/sourcemap-file/_config.js | 6 ++++++ test/cli/sourcemap-file/_expected/bundle.js | 2 ++ test/cli/sourcemap-file/_expected/bundle.js.map | 1 + test/cli/sourcemap-file/main.js | 1 + 4 files changed, 10 insertions(+) create mode 100644 test/cli/sourcemap-file/_config.js create mode 100644 test/cli/sourcemap-file/_expected/bundle.js create mode 100644 test/cli/sourcemap-file/_expected/bundle.js.map create mode 100644 test/cli/sourcemap-file/main.js diff --git a/test/cli/sourcemap-file/_config.js b/test/cli/sourcemap-file/_config.js new file mode 100644 index 0000000..378f192 --- /dev/null +++ b/test/cli/sourcemap-file/_config.js @@ -0,0 +1,6 @@ +const assert = require( 'assert' ); + +module.exports = { + description: 'populates file property of sourcemap (#986)', + command: 'rollup -i main.js -o _actual/bundle.js -m' +}; diff --git a/test/cli/sourcemap-file/_expected/bundle.js b/test/cli/sourcemap-file/_expected/bundle.js new file mode 100644 index 0000000..a1c70d0 --- /dev/null +++ b/test/cli/sourcemap-file/_expected/bundle.js @@ -0,0 +1,2 @@ +console.log( 42 ); +//# sourceMappingURL=bundle.js.map diff --git a/test/cli/sourcemap-file/_expected/bundle.js.map b/test/cli/sourcemap-file/_expected/bundle.js.map new file mode 100644 index 0000000..b36580a --- /dev/null +++ b/test/cli/sourcemap-file/_expected/bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundle.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":"AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC"} diff --git a/test/cli/sourcemap-file/main.js b/test/cli/sourcemap-file/main.js new file mode 100644 index 0000000..5c72ff3 --- /dev/null +++ b/test/cli/sourcemap-file/main.js @@ -0,0 +1 @@ +console.log( 42 ); From 7e717779ff5921e0b8317c4521db065818017531 Mon Sep 17 00:00:00 2001 From: Rich-Harris Date: Thu, 5 Jan 2017 10:41:02 -0500 Subject: [PATCH 2/4] put test where it belongs --- test/cli/sourcemap-file/_config.js | 6 ------ test/cli/sourcemap-file/_expected/bundle.js | 2 -- test/cli/sourcemap-file/_expected/bundle.js.map | 1 - test/sourcemaps/sourcemap-file/_config.js | 15 +++++++++++++++ .../sourcemap-file/_expected/bundle.amd.js | 6 ++++++ .../sourcemap-file/_expected/bundle.amd.js.map | 1 + .../sourcemap-file/_expected/bundle.cjs.js | 4 ++++ .../sourcemap-file/_expected/bundle.cjs.js.map | 1 + .../sourcemap-file/_expected/bundle.es.js | 2 ++ .../sourcemap-file/_expected/bundle.es.js.map | 1 + .../sourcemap-file/_expected/bundle.iife.js | 7 +++++++ .../sourcemap-file/_expected/bundle.iife.js.map | 1 + .../sourcemap-file/_expected/bundle.umd.js | 10 ++++++++++ .../sourcemap-file/_expected/bundle.umd.js.map | 1 + test/{cli => sourcemaps}/sourcemap-file/main.js | 0 test/test.js | 2 +- 16 files changed, 50 insertions(+), 10 deletions(-) delete mode 100644 test/cli/sourcemap-file/_config.js delete mode 100644 test/cli/sourcemap-file/_expected/bundle.js delete mode 100644 test/cli/sourcemap-file/_expected/bundle.js.map create mode 100644 test/sourcemaps/sourcemap-file/_config.js create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.amd.js create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.amd.js.map create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js.map create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.es.js create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.es.js.map create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.iife.js create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.iife.js.map create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.umd.js create mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.umd.js.map rename test/{cli => sourcemaps}/sourcemap-file/main.js (100%) diff --git a/test/cli/sourcemap-file/_config.js b/test/cli/sourcemap-file/_config.js deleted file mode 100644 index 378f192..0000000 --- a/test/cli/sourcemap-file/_config.js +++ /dev/null @@ -1,6 +0,0 @@ -const assert = require( 'assert' ); - -module.exports = { - description: 'populates file property of sourcemap (#986)', - command: 'rollup -i main.js -o _actual/bundle.js -m' -}; diff --git a/test/cli/sourcemap-file/_expected/bundle.js b/test/cli/sourcemap-file/_expected/bundle.js deleted file mode 100644 index a1c70d0..0000000 --- a/test/cli/sourcemap-file/_expected/bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -console.log( 42 ); -//# sourceMappingURL=bundle.js.map diff --git a/test/cli/sourcemap-file/_expected/bundle.js.map b/test/cli/sourcemap-file/_expected/bundle.js.map deleted file mode 100644 index b36580a..0000000 --- a/test/cli/sourcemap-file/_expected/bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":"AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC"} diff --git a/test/sourcemaps/sourcemap-file/_config.js b/test/sourcemaps/sourcemap-file/_config.js new file mode 100644 index 0000000..0bfd0b1 --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_config.js @@ -0,0 +1,15 @@ +const assert = require( 'assert' ); + +module.exports = { + description: 'populates file property of sourcemap when plugins are used (#986)', + options: { + plugins: [ + { + transform () {} + } + ] + }, + test: ( code, map, profile ) => { + assert.equal( map.file, `bundle.${profile.format}.js` ); + } +}; diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js b/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js new file mode 100644 index 0000000..63fb409 --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js @@ -0,0 +1,6 @@ +define(function () { 'use strict'; + +console.log( 42 ); + +}); +//# sourceMappingURL=bundle.amd.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js.map new file mode 100644 index 0000000..ea2bda6 --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundle.amd.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":";;AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,;;"} \ No newline at end of file diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js b/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js new file mode 100644 index 0000000..760e0a5 --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js @@ -0,0 +1,4 @@ +'use strict'; + +console.log( 42 ); +//# sourceMappingURL=bundle.cjs.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js.map new file mode 100644 index 0000000..b947b3d --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundle.cjs.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":";;AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC"} \ No newline at end of file diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.es.js b/test/sourcemaps/sourcemap-file/_expected/bundle.es.js new file mode 100644 index 0000000..686daf8 --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.es.js @@ -0,0 +1,2 @@ +console.log( 42 ); +//# sourceMappingURL=bundle.es.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.es.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.es.js.map new file mode 100644 index 0000000..e835b0a --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.es.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundle.es.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":"AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC"} \ No newline at end of file diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js b/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js new file mode 100644 index 0000000..f2c1255 --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js @@ -0,0 +1,7 @@ +(function () { +'use strict'; + +console.log( 42 ); + +}()); +//# sourceMappingURL=bundle.iife.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js.map new file mode 100644 index 0000000..a244e7b --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundle.iife.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":";;;AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,;;"} \ No newline at end of file diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js b/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js new file mode 100644 index 0000000..4843ebd --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js @@ -0,0 +1,10 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory() : + typeof define === 'function' && define.amd ? define(factory) : + (factory()); +}(this, (function () { 'use strict'; + +console.log( 42 ); + +}))); +//# sourceMappingURL=bundle.umd.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js.map new file mode 100644 index 0000000..2c8f726 --- /dev/null +++ b/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundle.umd.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":";;;;;;AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,;;"} \ No newline at end of file diff --git a/test/cli/sourcemap-file/main.js b/test/sourcemaps/sourcemap-file/main.js similarity index 100% rename from test/cli/sourcemap-file/main.js rename to test/sourcemaps/sourcemap-file/main.js diff --git a/test/test.js b/test/test.js index 250b25a..3a0dd82 100644 --- a/test/test.js +++ b/test/test.js @@ -461,7 +461,7 @@ describe( 'rollup', function () { if ( config.test ) { const { code, map } = bundle.generate( options ); - config.test( code, map ); + config.test( code, map, profile ); } if ( config.warnings ) { From 1032e75d462c5941fccd36c5f315919b31a4410b Mon Sep 17 00:00:00 2001 From: Rich-Harris Date: Thu, 5 Jan 2017 10:41:18 -0500 Subject: [PATCH 3/4] add file property to sourcemaps with plugins --- src/Bundle.js | 2 +- src/utils/collapseSourcemaps.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Bundle.js b/src/Bundle.js index 0cfe895..879c525 100644 --- a/src/Bundle.js +++ b/src/Bundle.js @@ -515,7 +515,7 @@ export default class Bundle { if ( file ) file = resolve( typeof process !== 'undefined' ? process.cwd() : '', file ); if ( this.hasLoaders || find( this.plugins, plugin => plugin.transform || plugin.transformBundle ) ) { - map = magicString.generateMap( {} ); + map = magicString.generateMap({}); if ( typeof map.mappings === 'string' ) { map.mappings = decode( map.mappings ); } diff --git a/src/utils/collapseSourcemaps.js b/src/utils/collapseSourcemaps.js index bd65cf4..8a7b995 100644 --- a/src/utils/collapseSourcemaps.js +++ b/src/utils/collapseSourcemaps.js @@ -1,6 +1,6 @@ import { encode } from 'sourcemap-codec'; import error from './error.js'; -import { dirname, relative, resolve } from './path.js'; +import { basename, dirname, relative, resolve } from './path.js'; class Source { constructor ( filename, content ) { @@ -159,6 +159,8 @@ export default function collapseSourcemaps ( bundle, file, map, modules, bundleS if ( file ) { const directory = dirname( file ); sources = sources.map( source => relative( directory, source ) ); + + map.file = basename( file ); } // we re-use the `map` object because it has convenient toString/toURL methods From e4f995ed62f5929ea1c10509c8d526e30b0c14c6 Mon Sep 17 00:00:00 2001 From: Rich-Harris Date: Thu, 5 Jan 2017 10:42:55 -0500 Subject: [PATCH 4/4] remove unused files --- test/sourcemaps/sourcemap-file/_expected/bundle.amd.js | 6 ------ .../sourcemap-file/_expected/bundle.amd.js.map | 1 - test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js | 4 ---- .../sourcemap-file/_expected/bundle.cjs.js.map | 1 - test/sourcemaps/sourcemap-file/_expected/bundle.es.js | 2 -- .../sourcemap-file/_expected/bundle.es.js.map | 1 - .../sourcemaps/sourcemap-file/_expected/bundle.iife.js | 7 ------- .../sourcemap-file/_expected/bundle.iife.js.map | 1 - test/sourcemaps/sourcemap-file/_expected/bundle.umd.js | 10 ---------- .../sourcemap-file/_expected/bundle.umd.js.map | 1 - 10 files changed, 34 deletions(-) delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.amd.js delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.amd.js.map delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js.map delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.es.js delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.es.js.map delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.iife.js delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.iife.js.map delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.umd.js delete mode 100644 test/sourcemaps/sourcemap-file/_expected/bundle.umd.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js b/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js deleted file mode 100644 index 63fb409..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js +++ /dev/null @@ -1,6 +0,0 @@ -define(function () { 'use strict'; - -console.log( 42 ); - -}); -//# sourceMappingURL=bundle.amd.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js.map deleted file mode 100644 index ea2bda6..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.amd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.amd.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":";;AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,;;"} \ No newline at end of file diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js b/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js deleted file mode 100644 index 760e0a5..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -console.log( 42 ); -//# sourceMappingURL=bundle.cjs.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js.map deleted file mode 100644 index b947b3d..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.cjs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.cjs.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":";;AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC"} \ No newline at end of file diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.es.js b/test/sourcemaps/sourcemap-file/_expected/bundle.es.js deleted file mode 100644 index 686daf8..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.es.js +++ /dev/null @@ -1,2 +0,0 @@ -console.log( 42 ); -//# sourceMappingURL=bundle.es.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.es.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.es.js.map deleted file mode 100644 index e835b0a..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.es.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.es.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":"AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC"} \ No newline at end of file diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js b/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js deleted file mode 100644 index f2c1255..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js +++ /dev/null @@ -1,7 +0,0 @@ -(function () { -'use strict'; - -console.log( 42 ); - -}()); -//# sourceMappingURL=bundle.iife.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js.map deleted file mode 100644 index a244e7b..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.iife.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.iife.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":";;;AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,;;"} \ No newline at end of file diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js b/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js deleted file mode 100644 index 4843ebd..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js +++ /dev/null @@ -1,10 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory() : - typeof define === 'function' && define.amd ? define(factory) : - (factory()); -}(this, (function () { 'use strict'; - -console.log( 42 ); - -}))); -//# sourceMappingURL=bundle.umd.js.map diff --git a/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js.map b/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js.map deleted file mode 100644 index 2c8f726..0000000 --- a/test/sourcemaps/sourcemap-file/_expected/bundle.umd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.umd.js","sources":["../main.js"],"sourcesContent":["console.log( 42 );\n"],"names":[],"mappings":";;;;;;AAAA,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,;;"} \ No newline at end of file