How do I execute/bundle JS with Webpack from another task runner?

Viewed 45

I've been using webpack for my latest projects, but I have legacy projects using grunt or gulp or other.

In those cases, I'd still love a bundler like webpack with ultra minimal configs to use ES6 imports and such.

How do I execute a single webpack bundle command from within say gulp or longrunning node script?

I can spawn a subprocess and call webpack but I'm curious how I'd use it in legacy toolchains via JS.

webpack({...}) // does nothing

I found the use of webpack().apply() on some other stack overflow post and webpack does compile once, but not a second time when called within a gulp task.

(function exampleCreateBundle() => {
    const compiler = webpack({
      entry: './_js/index.js',
      output: {
        filename: 'main.js',
        path: path.resolve(__dirname, 'js')
      }
    });
    compiler.apply(new ProgressPlugin(function(percentage, msg) {
       console.log((percentage * 100) + '%', msg);
    }));

    // works once
})();

Thanks for any help!

Update:

Honestly, I'm just spawning a child process and running npx webpack.

At this point the question is academic.

0 Answers
Related