UNPKG

dool-build

Version:
51 lines (41 loc) 1.42 kB
'use strict'; 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'];