Snippets

Created by Dmitry Merkulov
import { src } from 'gulp';
import multiDest from 'gulp-multi-dest';
import webpack from 'webpack-stream';
import TerserPlugin from 'terser-webpack-plugin';
import bs from 'browser-sync';

function modules() {
    return src('src/js/common.js')
        .pipe(webpack({
            optimization: {
                minimize: true,
                minimizer: [
                    new TerserPlugin({
                        extractComments: false,
                    }),
                ],
            },
            mode: 'production',
            module: {
                rules: [
                    {
                        test: /\.m?js$/,
                        exclude: /(node_modules|bower_components)/,
                        use: {
                            loader: 'babel-loader',
                            options: {
                                presets: ['@babel/preset-env']
                            }
                        }
                    }
                ]
            },
            entry: {
                common: './src/js/common.js',
                index: './src/js/index.js',
                contacts: './src/js/contacts.js',
                faq: './src/js/faq.js',
                compare: './src/js/compare.js',
                shop: './src/js/shop.js',
                post: './src/js/post.js',
            },
            output: {
                filename: '[name].min.js',
            },
        }))
        .pipe(multiDest(['build/js', 'live-demo/js']))
        .pipe(bs.stream())
}

export default modules;

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.