Skip to content

Commit

Permalink
Fix missing variables for UMD and IIFE builds (#3724)
Browse files Browse the repository at this point in the history
  • Loading branch information
lukastaegert committed Aug 15, 2020
1 parent 13f18ef commit 42d2dfa
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/Chunk.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1221,7 +1221,7 @@ export default class Chunk {
format !== 'system',
format !== 'es' && format !== 'system',
interop,
format === 'amd'
format === 'amd' || format === 'umd' || format === 'iife'
),
this.imports,
usedNames,
Expand Down
14 changes: 14 additions & 0 deletions test/form/samples/handles-empty-imports-iife/_config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module.exports = {
description: 'handles empty imports when generating IIFE output',
expectedWarnings: ['MISSING_NODE_BUILTINS', 'UNRESOLVED_IMPORT'],
options: {
output: {
format: 'iife',
globals: {
dns: 'dns',
util: 'util',
fs: 'fs'
}
}
}
};
7 changes: 7 additions & 0 deletions test/form/samples/handles-empty-imports-iife/_expected.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
(function (dns, util, fs) {
'use strict';

dns.resolve('name');
fs.writeFileSync('foo', 'bar');

}(dns, util, fs));
6 changes: 6 additions & 0 deletions test/form/samples/handles-empty-imports-iife/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { resolve } from 'dns';
import 'util';
import { writeFileSync } from 'fs';

resolve('name');
writeFileSync('foo', 'bar');
14 changes: 14 additions & 0 deletions test/form/samples/handles-empty-imports-umd/_config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module.exports = {
description: 'handles empty imports when generating IIFE output',
expectedWarnings: ['MISSING_NODE_BUILTINS', 'UNRESOLVED_IMPORT'],
options: {
output: {
format: 'umd',
globals: {
dns: 'dns',
util: 'util',
fs: 'fs'
}
}
}
};
10 changes: 10 additions & 0 deletions test/form/samples/handles-empty-imports-umd/_expected.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('dns'), require('util'), require('fs')) :
typeof define === 'function' && define.amd ? define(['dns', 'util', 'fs'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.dns, global.util, global.fs));
}(this, (function (dns, util, fs) { 'use strict';

dns.resolve('name');
fs.writeFileSync('foo', 'bar');

})));
6 changes: 6 additions & 0 deletions test/form/samples/handles-empty-imports-umd/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { resolve } from 'dns';
import 'util';
import { writeFileSync } from 'fs';

resolve('name');
writeFileSync('foo', 'bar');

0 comments on commit 42d2dfa

Please sign in to comment.