dool-build
Version:
d-band tool & dev tool
51 lines (41 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _webpack = require('webpack');
var _webpack2 = _interopRequireDefault(_webpack);
var _extractTextWebpackPlugin = require('extract-text-webpack-plugin');
var _extractTextWebpackPlugin2 = _interopRequireDefault(_extractTextWebpackPlugin);
var _CssEntryPlugin = require('./CssEntryPlugin');
var _CssEntryPlugin2 = _interopRequireDefault(_CssEntryPlugin);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (args) {
var plugins = [new _webpack2.default.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'production')
}
})];
if (args.extract) {
plugins.push(new _CssEntryPlugin2.default());
var cssFile = function cssFile(getPath) {
var name = getPath('[name]').replace(/\.css$/, '');
if (args.hash) {
return `${name}-${getPath('[chunkhash]')}.css`;
} else {
return `${name}.css`;
}
};
plugins.push(new _extractTextWebpackPlugin2.default({
filename: cssFile,
disable: false,
allChunks: true
}));
}
if (args.compress) {
plugins.push(new _webpack2.default.optimize.UglifyJsPlugin({
sourceMap: args.devtool && /source(map|-map)/.test(args.devtool)
}));
}
return plugins;
};
module.exports = exports['default'];