@@ -3,6 +3,7 @@ const webpack = require('webpack');
3
3
const BundleAnalyzerPlugin = require ( 'webpack-bundle-analyzer' ) . BundleAnalyzerPlugin ;
4
4
const pkg = require ( './package.json' ) ;
5
5
6
+ const externals = [ 'jspdf' , 'html2canvas' ] ;
6
7
const banner = `${ pkg . name } v${ pkg . version }
7
8
Copyright (c) ${ ( new Date ) . getFullYear ( ) } Erik Koopmans
8
9
Released under the ${ pkg . license } License.` ;
@@ -13,7 +14,7 @@ module.exports = env => {
13
14
const watch = isDev ;
14
15
const useAnalyzer = env . analyzer ;
15
16
16
- const makeBrowserConfig = ( filename , { bundle, min } = { } ) => ( {
17
+ const makeUMDConfig = ( filename , { bundle, min } = { } ) => ( {
17
18
output : {
18
19
filename,
19
20
library : {
@@ -24,8 +25,8 @@ module.exports = env => {
24
25
}
25
26
} ,
26
27
target : 'browserslist' ,
27
- externals : bundle ? [ ] : [ 'jspdf' , 'html2canvas' ] ,
28
- externalsType : 'global ' ,
28
+ externals : bundle ? [ ] : externals ,
29
+ externalsType : 'umd ' ,
29
30
optimization : { minimize : min } ,
30
31
devtool : min ? 'source-map' : false ,
31
32
bundleAnalyzer : {
@@ -35,30 +36,12 @@ module.exports = env => {
35
36
} ,
36
37
} ) ;
37
38
38
- const makeNodeConfig = ( filename , { libraryTarget, target, externalsType, ...config } ) => ( {
39
- output : {
40
- filename,
41
- libraryTarget,
42
- } ,
43
- target,
44
- externals : [ 'jspdf' , 'html2canvas' ] ,
45
- externalsType,
46
- babelOptions : {
47
- presets : [ '@babel/preset-env' ] ,
48
- targets : { node : "current" } ,
49
- } ,
50
- ...config ,
51
- } ) ;
52
-
53
-
54
39
const builds = {
55
- browser : makeBrowserConfig ( 'html2pdf.js' ) ,
56
- browserBundle : makeBrowserConfig ( 'html2pdf.bundle.js' , { bundle : true } ) ,
57
- node : makeNodeConfig ( 'require/html2pdf.cjs.js' , { libraryTarget : 'commonjs2' , target : 'node' , externalsType : 'commonjs' } ) ,
58
- es : makeNodeConfig ( 'include/html2pdf.es.js' , { libraryTarget : 'module' , target : 'es6' , externalsType : 'module' , experiments : { outputModule : true } } ) ,
40
+ umd : makeUMDConfig ( 'html2pdf.js' ) ,
41
+ umdBundle : makeUMDConfig ( 'html2pdf.bundle.js' , { bundle : true } ) ,
59
42
...( isDev ? { } : {
60
- browserMin : makeBrowserConfig ( 'html2pdf.min.js' , { min : true } ) ,
61
- browserBundleMin : makeBrowserConfig ( 'html2pdf.bundle.min.js' , { bundle : true , min : true } ) ,
43
+ umdMin : makeUMDConfig ( 'html2pdf.min.js' , { min : true } ) ,
44
+ umdBundleMin : makeUMDConfig ( 'html2pdf.bundle.min.js' , { bundle : true , min : true } ) ,
62
45
} ) ,
63
46
} ;
64
47
0 commit comments