in packages/plugin-webpack/src/webpackUtils.ts [98:143]
export function webpackConfigure(
api: PluginAPI,
opts: PluginAPIOpt,
chain?: Chain
): webpack.Configuration {
let _chain = chain;
const currrentDir = api.getCwd();
if (!_chain) {
_chain = createChain(currrentDir); // get default config
}
const directory = opts.directory || currrentDir;
const filename = opts.filename || 'webpack.config.js';
let configByUser = opts.config || null; // get user config
/**
* Get user config according to path, if user did not pass the config.
*/
if (!configByUser) {
configByUser = require(path.resolve(directory, filename));
}
if (configByUser.entry) {
/**
* delete default entry
*/
_chain.entryPoints.clear();
/**
* format entry from String to Object, needed by webpack-chain, too.
*/
if (typeof configByUser.entry === 'string') {
configByUser.entry = {
index: configByUser.entry
};
}
}
// @ts-ignore
return webpackMerge(_chain.toConfig(), configByUser);
// _chain.merge(configByUser);
// return _chain;
}