You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							45 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							45 lines
						
					
					
						
							1.3 KiB
						
					
					
				const pkg = require('./package.json'); | 
						|
const path = require('path'); | 
						|
const webpack = require('webpack'); | 
						|
const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); | 
						|
 | 
						|
const production = process.env.NODE_ENV === 'production' || false; | 
						|
 | 
						|
const banner = `clipboard.js v${pkg.version} | 
						|
https://zenorocha.github.io/clipboard.js | 
						|
 | 
						|
Licensed MIT © Zeno Rocha`; | 
						|
 | 
						|
module.exports = { | 
						|
    entry: './src/clipboard.js', | 
						|
    mode: 'production', | 
						|
    output: { | 
						|
        filename: production ? 'clipboard.min.js' : 'clipboard.js', | 
						|
        path: path.resolve(__dirname, 'dist'), | 
						|
        library: 'ClipboardJS', | 
						|
        libraryTarget: 'umd', | 
						|
        globalObject: 'this' | 
						|
    }, | 
						|
    module: { | 
						|
        rules: [ | 
						|
            {test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'} | 
						|
        ] | 
						|
    }, | 
						|
    optimization: { | 
						|
        minimize: production, | 
						|
        minimizer: [ | 
						|
            new UglifyJSPlugin({ | 
						|
                parallel: require('os').cpus().length, | 
						|
                uglifyOptions: { | 
						|
                    ie8: false, | 
						|
                    keep_fnames: false, | 
						|
                    output: { | 
						|
                        beautify: false, | 
						|
                        comments: (node, {value, type}) => type == 'comment2' && value.startsWith('!') | 
						|
                    } | 
						|
                } | 
						|
            }) | 
						|
        ] | 
						|
    }, | 
						|
    plugins: [new webpack.BannerPlugin({ banner })] | 
						|
};
 | 
						|
 |