html2canvas/webpack.config.js
2017-12-03 17:07:10 +08:00

70 lines
1.7 KiB
JavaScript

const webpack = require('webpack');
const fs = require('fs');
const path = require('path');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, 'package.json')));
const banner =
`${pkg.title} ${pkg.version} <${pkg.homepage}>
Copyright (c) ${(new Date()).getFullYear()} ${pkg.author.name} <${pkg.author.url}>
Released under ${pkg.license} License`;
const plugins = [
new webpack.DefinePlugin({
'__DEV__': true,
'__VERSION__': JSON.stringify(pkg.version)
}),
new webpack.BannerPlugin(banner)
];
const modules = {
loaders: [{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
}]
};
module.exports = [
{
entry: './src/index.js',
output: {
filename: './dist/html2canvas.js',
library: 'html2canvas',
libraryTarget: 'umd'
},
module: modules,
plugins
},
{
entry: './src/index.js',
output: {
filename: './dist/html2canvas.min.js',
library: 'html2canvas',
libraryTarget: 'umd'
},
module: modules,
plugins: plugins.concat([new UglifyJSPlugin(), new webpack.BannerPlugin(banner)])
},
{
entry: './src/renderer/RefTestRenderer.js',
output: {
filename: './dist/RefTestRenderer.js',
library: 'RefTestRenderer',
libraryTarget: 'umd'
},
module: modules,
plugins
},
{
entry: './tests/testrunner.js',
output: {
filename: './build/testrunner.js',
library: 'testrunner',
libraryTarget: 'umd'
},
module: modules,
plugins
}
];