trivago / parallel-webpack

Builds multi-config webpack projects in parallel
BSD 3-Clause "New" or "Revised" License
1.48k stars 96 forks source link

Add option to disable config module loaders #95

Open flut1 opened 5 years ago

flut1 commented 5 years ago

Explain the problem

parallel-webpack uses interpret to load configuration files in different languages based on the file extension. This usually works great, but in some cases it may be unwanted behavior.

I have a build script that calls parallel-webpack using the Node API. This script is written in TypeScript and executed using ts-node. My configuration file is TypeScript as well and has the .ts extension. This causes parallel-webpack to add an additional TypeScript interpreter even though it is already running inside of ts-node.

Behaviour

parallel-webpack will break when trying to compile the .ts file that has already been transpiled to javascript by ts-node.

Workaround

I created a separate webpack.config.proxy.js, that only contains the following line:

module.exports = require('./webpack.config.ts');

This will prevent parallel-webpack from trying to interpret the config file as TypeScript.

Feature request

It would be nice to force parallel-webpack to interpret a file as plain javascript, even though it has a different file extension. For example:

var run = require('parallel-webpack').run,
    configPath = require.resolve('./webpack.config.ts');

run(configPath, { useConfigLoader: false });

Provide your Environment details

flut1 commented 5 years ago

If you think this is a good suggestion I'd be happy to create a PR

pago commented 5 years ago

Sounds reasonable. Would be happy to merge this.