index.js
function (webpackConfig, paths) {

    var defaultWebpackConfig = {
        output: {
            filename: paths.output.name,
        },
        module: {
            loaders: [
                {
                    test: /\.vue$/,
                    loader: 'vue'
                },
            ]
        },
    };

    if (fs.existsSync('webpack.config.js')) {
        var customWebpackConfig = require('./../../webpack.config.js');
        defaultWebpackConfig = _.extend(defaultWebpackConfig, customWebpackConfig);
    }

    webpackConfig = _.extend(defaultWebpackConfig, webpackConfig);

    if (!_.contains(webpackConfig.module.loaders, {test: /\.vue$/, loader: 'vue'})) {
        webpackConfig.module.loaders.push({
            test: /\.vue$/,
            loader: 'vue'
        });
    }

    if (config.sourcemaps) {
        webpackConfig = _.defaults(
            webpackConfig,
            {devtool: '#source-map'}
        );
    }

    if (config.production) {
        var currPlugins = _.isArray(webpackConfig.plugins) ? webpackConfig.plugins : [];
        webpackConfig.plugins = currPlugins.concat([new UglifyJsPlugin({sourceMap: false})]);
    }

    return webpackConfig;
}
function (webpackConfig, paths) {

    var defaultWebpackConfig = {
        output: {
            filename: paths.output.name,
        },
        module: {
            loaders: [
                {
                    test: /\.vue$/,
                    loader: 'vue'
                },
            ]
        },
    };

    if (fs.existsSync('webpack.config.js')) {
        var customWebpackConfig = require('./../../webpack.config.js');
        defaultWebpackConfig = _.extend(defaultWebpackConfig, customWebpackConfig);
    }

    webpackConfig = _.extend(defaultWebpackConfig, webpackConfig);

    if (!_.contains(webpackConfig.module.loaders, {test: /\.vue$/, loader: 'vue'})) {
        webpackConfig.module.loaders.push({
            test: /\.vue$/,
            loader: 'vue'
        });
    }

    if (config.sourcemaps) {
        webpackConfig = _.defaults(
            webpackConfig,
            {devtool: '#source-map'}
        );
    }

    if (config.production) {
        var currPlugins = _.isArray(webpackConfig.plugins) ? webpackConfig.plugins : [];
        webpackConfig.plugins = currPlugins.concat([new UglifyJsPlugin({sourceMap: false})]);
    }

    return webpackConfig;
}
function ( webpackConfig , paths ) { var defaultWebpackConfig = { output : { filename : paths . output . name , } , module : { loaders : [ { test : / \.vue$ / , loader : 'vue' } , ] } , } ; if ( fs . existsSync ( 'webpack.config.js' ) ) { var customWebpackConfig = require ( './../../webpack.config.js' ) ; defaultWebpackConfig = _ . extend ( defaultWebpackConfig , customWebpackConfig ) ; } webpackConfig = _ . extend ( defaultWebpackConfig , webpackConfig ) ; if ( ! _ . contains ( webpackConfig . module . loaders , { test : / \.vue$ / , loader : 'vue' } ) ) { webpackConfig . module . loaders . push ( { test : / \.vue$ / , loader : 'vue' } ) ; } if ( config . sourcemaps ) { webpackConfig = _ . defaults ( webpackConfig , { devtool : '#source-map' } ) ; } if ( config . production ) { var currPlugins = _ . isArray ( webpackConfig . plugins ) ? webpackConfig . plugins : [ ] ; webpackConfig . plugins = currPlugins . concat ( [ new UglifyJsPlugin ( { sourceMap : false } ) ] ) ; } return webpackConfig ; }
Handle webpack config such as sourcemaps and
minification or user's cunstom webpack config.

@param {object} options
@return {object}
Handle webpack config such as sourcemaps and minification or user s cunstom webpack config .