Как в webpack-stream параллельно скомпилить 2 файла?

Пытаюсь оседлать gulp в связке с webpack-stream. Ранее у меня был написан gulp-file для main.js и он работал замечательно. Сейчас мне понадобилось отделить часть функционала в отдельный файл. И я никак не могу понять, как сделать так, чтобы main.js компилился как и раньше, а calc.js сжался, преобразовался и переместился в ту же директорию, но как самостоятельный файл.

module.exports = function scripts() {
    return src([srcDir, calcDir])
        .pipe(plumber({
            errorHandler: notify.onError(function (err) {
                return {
                    title: 'Error in JS plugin: ' + err.plugin,
                    sound: false,
                    message: err.message
                }
            })
        }))
        .pipe(webpack({
            mode: process.env.NODE_ENV,
            output: {
                filename: '[name].min.js',
            },
            module: {
                rules: [
                    {
                        test: /\.m?js$/,
                        exclude: /(node_modules|bower_components)/,
                        use: {
                            loader: 'babel-loader',
                            options: {
                                presets: [//'@babel/preset-env']
                                    ['@babel/preset-env', {
                                        targets: { //"> 0.1%, not dead"
                                            chrome: "45", 
                                            opera: "30", 
                                            edge: "12", 
                                            firefox: "38", 
                                            safari: "9", 
                                            ie: "10", 
                                            ios: "9", 
                                            android: "4.4"
                                        }
                                    }]
                                ]
                            }
                        }
                    }]
            },
            plugins: [
                new CircularDependencyPlugin(),
                new DuplicatesPlugin(),
            ],
            devtool: 'eval-sourse-map' //(process.env.NODE_ENV = 'production') ? 'eval-sourse-map' : 'none'
        }))
        .pipe(dest(destDir))
}

Как видно, на вход я даю 2 path-а: [srcDir, calcDir] (main.js, calc.js). На выходе я хочу получить main.min.js и calc.min.js.

Причем что в main-е, так и в calc-е у меня есть import-ы, которые должны подтянуться и стать частью js кода: imports in js file

Сейчас при запуске gulp scripts, как я понимаю, вебпак конкатенирует эти файлы и засовывает их в main.min.js в eval() функцию:

введите сюда описание изображения

Помогите пожалуйста подправить код. Спасибо!


Ответы (0 шт):