@@ -3,6 +3,7 @@ const webpack = require('webpack');
33const BundleAnalyzerPlugin = require ( 'webpack-bundle-analyzer' ) . BundleAnalyzerPlugin ;
44const pkg = require ( './package.json' ) ;
55
6+ const externals = [ 'jspdf' , 'html2canvas' ] ;
67const banner = `${ pkg . name } v${ pkg . version }
78Copyright (c) ${ ( new Date ) . getFullYear ( ) } Erik Koopmans
89Released under the ${ pkg . license } License.` ;
@@ -13,7 +14,7 @@ module.exports = env => {
1314 const watch = isDev ;
1415 const useAnalyzer = env . analyzer ;
1516
16- const makeBrowserConfig = ( filename , { bundle, min } = { } ) => ( {
17+ const makeUMDConfig = ( filename , { bundle, min } = { } ) => ( {
1718 output : {
1819 filename,
1920 library : {
@@ -24,8 +25,8 @@ module.exports = env => {
2425 }
2526 } ,
2627 target : 'browserslist' ,
27- externals : bundle ? [ ] : [ 'jspdf' , 'html2canvas' ] ,
28- externalsType : 'global ' ,
28+ externals : bundle ? [ ] : externals ,
29+ externalsType : 'umd ' ,
2930 optimization : { minimize : min } ,
3031 devtool : min ? 'source-map' : false ,
3132 bundleAnalyzer : {
@@ -35,30 +36,12 @@ module.exports = env => {
3536 } ,
3637 } ) ;
3738
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-
5439 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 } ) ,
5942 ...( 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 } ) ,
6245 } ) ,
6346 } ;
6447
0 commit comments