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.
61 lines
1.0 KiB
61 lines
1.0 KiB
"use strict";
|
|
|
|
const webpack = require("webpack");
|
|
const fs = require("fs");
|
|
|
|
const args = process.argv;
|
|
|
|
let plugins = [
|
|
new webpack.BannerPlugin(fs.readFileSync('./dev/banner.txt', 'utf8'), { raw: true, entryOnly: true })
|
|
];
|
|
let externals = [];
|
|
let filename = "raphael";
|
|
|
|
|
|
if(args.indexOf('--no-deps') !== -1){
|
|
console.log('Building version without deps');
|
|
externals.push("eve");
|
|
filename += ".no-deps"
|
|
}
|
|
|
|
if(args.indexOf('--min') !== -1){
|
|
console.log('Building minified version');
|
|
plugins.push(
|
|
new webpack.optimize.UglifyJsPlugin({
|
|
compress:{
|
|
dead_code: false,
|
|
unused: false
|
|
}
|
|
})
|
|
);
|
|
filename += ".min"
|
|
}
|
|
|
|
module.exports = {
|
|
entry: './dev/raphael.amd.js',
|
|
output: {
|
|
filename: filename + ".js",
|
|
libraryTarget: "umd",
|
|
library: "Raphael"
|
|
},
|
|
|
|
externals: externals,
|
|
|
|
plugins: plugins,
|
|
|
|
loaders: [
|
|
{
|
|
test: /\.js$/,
|
|
loader: "eslint-loader",
|
|
include: "./dev/"
|
|
}
|
|
],
|
|
|
|
eslint: {
|
|
configFile: './.eslintrc'
|
|
},
|
|
|
|
resolve: {
|
|
modulesDirectories: ["bower_components"]
|
|
}
|
|
};
|