UNPKG

1.12 kBJavaScriptView Raw
1var BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPlugin;
2var path = require("path");
3var webpack = require("webpack");
4var WebpackNotifierPlugin = require("webpack-notifier");
5
6var PROD = JSON.parse(process.env.PROD || false);
7var BUNDLE_ANALYZER = JSON.parse(process.env.BUNDLE_ANALYZER || false);
8
9module.exports = {
10 entry: {
11 "clipboard-polyfill": "./clipboard-polyfill.ts",
12 "clipboard-polyfill.promise": ["es6-promise/dist/es6-promise.auto.js", "./clipboard-polyfill.ts"]
13 },
14 module: {
15 rules: [
16 { test: /\.ts$/, use: "ts-loader" }
17 ]
18 },
19 output: {
20 path: __dirname + "/build",
21 filename: "[name].js",
22 library: "clipboard",
23 libraryTarget: "umd"
24 },
25 resolve: {
26 extensions: [".ts"],
27 modules: ["node_modules"]
28 },
29 plugins: [
30 new WebpackNotifierPlugin({alwaysNotify: true})
31 ]
32};
33
34if (BUNDLE_ANALYZER) {
35 module.exports.plugins.push(new BundleAnalyzerPlugin());
36}
37
38if (PROD) {
39 module.exports.plugins.push(new webpack.optimize.UglifyJsPlugin({sourceMap: false}));
40} else {
41 module.exports.devtool = "source-map";
42}