Skip to content

Commit 956a946

Browse files
committed
feat: support sourceMap from npm package
1 parent d7b608f commit 956a946

8 files changed

Lines changed: 192 additions & 58 deletions

File tree

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
"ast-matcher": "^1.0.2",
4747
"base64-arraybuffer": "^0.1.5",
4848
"cherow": "^1.6.9",
49+
"convert-source-map": "^1.6.0",
4950
"del": "^3.0.0",
5051
"dumber-module-loader": "^0.15.13",
5152
"escope": "^3.6.0",

spec/bundler.spec.js

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ test('Bundler traces files', t => {
9898
t.deepEqual(bundleMap, {
9999
'entry-bundle': {
100100
files: [
101-
{contents: 'var pre = 1;'},
102-
{contents: 'setup;'},
103-
{contents: 'dumber-module-loader;'},
101+
{contents: 'var pre = 1;', path: undefined, sourceMap: undefined},
102+
{contents: 'setup;', path: 'local/setup.js', sourceMap: undefined},
103+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
104104
{contents: 'define.switchToUserSpace();'},
105105
{path: 'src/app.js', contents: "define('app',[\"foo\",\"page/one\"],1);", sourceMap: undefined},
106106
{path: 'src/page/one.js', contents: "define('page/one',[\"foo/bar\",\"loo\"],1);", sourceMap: undefined},
@@ -111,8 +111,8 @@ test('Bundler traces files', t => {
111111
{contents: 'define.switchToUserSpace();'}
112112
],
113113
appendFiles: [
114-
{contents: 'after;'},
115-
{contents: 'var ape = 1;'},
114+
{contents: 'after;', path: 'local/after.js', sourceMap: undefined},
115+
{contents: 'var ape = 1;', path: undefined, sourceMap: undefined},
116116
],
117117
config: {
118118
baseUrl: '/dist',
@@ -147,7 +147,7 @@ test('Bundler can optionally skip dumber-module-loader', t => {
147147
t.deepEqual(bundleMap, {
148148
'entry-bundle': {
149149
files: [
150-
{contents: 'dev-dumber-module-loader;'},
150+
{contents: 'dev-dumber-module-loader;', path: undefined, sourceMap: undefined},
151151
{contents: 'define.switchToUserSpace();'},
152152
{path: 'src/app.js', contents: "define('app',[],1);", sourceMap: undefined}
153153
],
@@ -193,16 +193,16 @@ test('Bundler traces files, split bundles', t => {
193193
t.deepEqual(bundleMap, {
194194
'entry-bundle': {
195195
files: [
196-
{contents: 'var pre = 1;'},
197-
{contents: 'setup;'},
198-
{contents: 'dumber-module-loader;'},
196+
{contents: 'var pre = 1;', path: undefined, sourceMap: undefined},
197+
{contents: 'setup;', path: 'local/setup.js', sourceMap: undefined},
198+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
199199
{contents: 'define.switchToUserSpace();'},
200200
{path: 'src/app.js', contents: "define('app',[\"foo\",\"page/one\"],1);", sourceMap: undefined},
201201
{path: 'src/page/one.js', contents: "define('page/one',[\"foo/bar\",\"loo\"],1);", sourceMap: undefined}
202202
],
203203
appendFiles: [
204-
{contents: 'after;'},
205-
{contents: 'var ape = 1;'},
204+
{contents: 'after;', path: 'local/after.js', sourceMap: undefined},
205+
{contents: 'var ape = 1;', path: undefined, sourceMap: undefined},
206206
],
207207
config: {
208208
baseUrl: '/dist',
@@ -267,13 +267,13 @@ test('Bundler traces files, split bundles, case2', t => {
267267
t.deepEqual(bundleMap, {
268268
'main': {
269269
files: [
270-
{contents: 'var pre = 1;'},
271-
{contents: 'setup;'},
272-
{contents: 'dumber-module-loader;'},
270+
{contents: 'var pre = 1;', path: undefined, sourceMap: undefined},
271+
{contents: 'setup;', path: 'local/setup.js', sourceMap: undefined},
272+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
273273
],
274274
appendFiles: [
275-
{contents: 'after;'},
276-
{contents: 'var ape = 1;'},
275+
{contents: 'after;', path: 'local/after.js', sourceMap: undefined},
276+
{contents: 'var ape = 1;', path: undefined, sourceMap: undefined},
277277
],
278278
config: {
279279
baseUrl: 'scripts',
@@ -338,7 +338,7 @@ test('Bundler traces files, sorts shim', t => {
338338
t.deepEqual(bundleMap, {
339339
'entry-bundle': {
340340
files: [
341-
{contents: 'dumber-module-loader;'},
341+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
342342
{contents: 'define.switchToUserSpace();'},
343343
{path: 'src/app.js', contents: "define('app',[\"fs\",\"bootstrap\"],1);", sourceMap: undefined},
344344
{contents: 'define.switchToPackageSpace();'},
@@ -380,7 +380,7 @@ test('Bundler ignores module when onRequire returns false', t => {
380380
t.deepEqual(bundleMap, {
381381
'entry-bundle': {
382382
files: [
383-
{contents: 'dumber-module-loader;'},
383+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
384384
{contents: 'define.switchToUserSpace();'},
385385
{path: 'src/app.js', contents: "define('app',[\"foo\"],1);", sourceMap: undefined},
386386
],
@@ -420,7 +420,7 @@ test('Bundler replaces deps when onRequire returns array', t => {
420420
t.deepEqual(bundleMap, {
421421
'entry-bundle': {
422422
files: [
423-
{contents: 'dumber-module-loader;'},
423+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
424424
{contents: 'define.switchToUserSpace();'},
425425
{path: 'src/app.js', contents: "define('app',[\"foo\"],1);", sourceMap: undefined},
426426
{contents: 'define.switchToPackageSpace();'},
@@ -463,7 +463,7 @@ test('Bundler supports implementation returned by onRequire', t => {
463463
t.deepEqual(bundleMap, {
464464
'entry-bundle': {
465465
files: [
466-
{contents: 'dumber-module-loader;'},
466+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
467467
{contents: 'define.switchToUserSpace();'},
468468
{path: 'src/app.js', contents: "define('app',[\"foo\"],1);", sourceMap: undefined},
469469
{contents: 'define.switchToPackageSpace();'},
@@ -505,7 +505,7 @@ test('Bundler swallows onRequire exception', t => {
505505
t.deepEqual(bundleMap, {
506506
'entry-bundle': {
507507
files: [
508-
{contents: 'dumber-module-loader;'},
508+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
509509
{contents: 'define.switchToUserSpace();'},
510510
{path: 'src/app.js', contents: "define('app',[\"foo\"],1);", sourceMap: undefined},
511511
{contents: 'define.switchToPackageSpace();'},
@@ -546,7 +546,7 @@ test('Bundler swallows onRequire promise rejection', t => {
546546
t.deepEqual(bundleMap, {
547547
'entry-bundle': {
548548
files: [
549-
{contents: 'dumber-module-loader;'},
549+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
550550
{contents: 'define.switchToUserSpace();'},
551551
{path: 'src/app.js', contents: "define('app',[\"foo\"],1);", sourceMap: undefined},
552552
{contents: 'define.switchToPackageSpace();'},
@@ -617,7 +617,7 @@ test('Bundler traces files, split bundles, continuously update bundles in watch
617617
t.deepEqual(bundleMap, {
618618
'entry-bundle': {
619619
files: [
620-
{contents: 'dumber-module-loader;'}
620+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined}
621621
],
622622
config: {
623623
baseUrl: '/dist',
@@ -669,7 +669,7 @@ test('Bundler traces files, split bundles, continuously update bundles in watch
669669
t.deepEqual(bundleMap, {
670670
'entry-bundle': {
671671
files: [
672-
{contents: 'dumber-module-loader;'},
672+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
673673
{contents: 'define.switchToPackageSpace();'},
674674
{path: 'node_modules/loo/loo.js', contents: "define('loo/loo',[],1);define('loo',['loo/loo'],function(m){return m;});", sourceMap: undefined},
675675
{contents: 'define.switchToUserSpace();'}
@@ -720,7 +720,7 @@ test('Bundler traces files, split bundles, continuously update bundles in watch
720720
t.deepEqual(bundleMap, {
721721
'entry-bundle': {
722722
files: [
723-
{contents: 'dumber-module-loader;'},
723+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
724724
{contents: 'define.switchToPackageSpace();'},
725725
{path: 'node_modules/loo/loo.js', contents: "define('loo/loo',[],1);define('loo',['loo/loo'],function(m){return m;});", sourceMap: undefined},
726726
{contents: 'define.switchToUserSpace();'}
@@ -778,7 +778,7 @@ test('Bundler supports inject css by default', t => {
778778
t.deepEqual(bundleMap, {
779779
'entry-bundle': {
780780
files: [
781-
{contents: 'dumber-module-loader;'},
781+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
782782
{contents: 'define.switchToUserSpace();'},
783783
{path: 'src/app.js', contents: "define('app',[\"c.css\"],1);", sourceMap: undefined},
784784
{path: 'src/c.css', contents: "define('text!c.css',function(){return \"lorem\";});", sourceMap: undefined},
@@ -820,7 +820,7 @@ test('Bundler can optionally turn off inject css', t => {
820820
t.deepEqual(bundleMap, {
821821
'entry-bundle': {
822822
files: [
823-
{contents: 'dumber-module-loader;'},
823+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
824824
{contents: 'define.switchToUserSpace();'},
825825
{path: 'src/app.js', contents: "define('app',[\"c.css\"],1);", sourceMap: undefined},
826826
{path: 'src/c.css', contents: "define('text!c.css',function(){return \"lorem\";});", sourceMap: undefined}
@@ -866,7 +866,7 @@ test('Bundler traces files with paths mapping', t => {
866866
t.deepEqual(bundleMap, {
867867
'entry-bundle': {
868868
files: [
869-
{contents: 'dumber-module-loader;'},
869+
{contents: 'dumber-module-loader;', path: 'node_modules/dumber-module-loader/dist/index.js', sourceMap: undefined},
870870
{contents: 'define.switchToUserSpace();'},
871871
{path: 'test/app.spec.js', contents: "define('../test/app.spec',[\"../src/app\"],1);", sourceMap: undefined},
872872
{path: 'src/app.js', contents: "define('app',[\"el!foo\"],1);", sourceMap: undefined},

spec/map-file-comment.css.map

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)