Skip to content

Commit

Permalink
Merge branch 'master' into fix/wrap-aliases
Browse files Browse the repository at this point in the history
  • Loading branch information
devongovett committed Oct 6, 2018
2 parents 1e6fc95 + fa4c467 commit 9b3a2e8
Show file tree
Hide file tree
Showing 7 changed files with 1,280 additions and 5 deletions.
5 changes: 4 additions & 1 deletion src/assets/JSAsset.js
Expand Up @@ -149,7 +149,10 @@ class JSAsset extends Asset {
}

async pretransform() {
await this.loadSourceMap();
if (this.options.sourceMaps) {
await this.loadSourceMap();
}

await babel(this);

// Inline environment variables
Expand Down
1 change: 1 addition & 0 deletions src/assets/PugAsset.js
Expand Up @@ -6,6 +6,7 @@ class PugAsset extends Asset {
constructor(name, options) {
super(name, options);
this.type = 'html';
this.hmrPageReload = true;
}

async generate() {
Expand Down
10 changes: 6 additions & 4 deletions src/packagers/JSConcatPackager.js
Expand Up @@ -94,11 +94,13 @@ class JSConcatPackager extends Packager {
let [source, name] = asset.cacheData.imports[identifier];
let dep = asset.depAssets.get(asset.dependencies.get(source));

if (name === '*') {
this.markUsedExports(dep);
}
if (dep) {
if (name === '*') {
this.markUsedExports(dep);
}

this.markUsed(dep, name);
this.markUsed(dep, name);
}
}
}

Expand Down
1 change: 1 addition & 0 deletions src/transforms/terser.js
Expand Up @@ -10,6 +10,7 @@ module.exports = async function(asset) {
let customConfig = await asset.getConfig(['.uglifyrc', '.terserrc']);
let options = {
warnings: true,
safari10: true,
mangle: {
toplevel: !asset.options.scopeHoist
}
Expand Down
6 changes: 6 additions & 0 deletions test/integration/scope-hoisting/commonjs/wrap-optional/a.js
@@ -0,0 +1,6 @@
try {
output = require('noop')
}
catch(_) {
output = 42
}
12 changes: 12 additions & 0 deletions test/scope-hoisting.js
Expand Up @@ -1065,5 +1065,17 @@ describe('scope hoisting', function() {
let output = await run(b);
assert.deepEqual(output, 42);
});

it('should support optional requires', async function() {
let b = await bundle(
path.join(
__dirname,
'/integration/scope-hoisting/commonjs/wrap-optional/a.js'
)
);

let output = await run(b);
assert.deepEqual(output, 42);
});
});
});
1,250 changes: 1,250 additions & 0 deletions yarn.lock

Large diffs are not rendered by default.

0 comments on commit 9b3a2e8

Please sign in to comment.