in packages/plugin-webpack5/src/webpackUtils.ts [74:124]
export function createChain(dir: string): Chain {
/**
* local config of webpack
*/
const chain = new Chain();
/**
* default config, include context, entry, output and mode.
*/
chain
.context(dir)
.entry('index')
.add('src/index.js')
.end()
.output.path(path.resolve(dir, 'dist'))
.filename('[name].bundle.js')
.end()
.mode('production') // production env as default
.when(isDev, config => {
config.mode('development');
})
.resolve.fallback.merge({
assert: require.resolve('assert'),
buffer: require.resolve('buffer'),
console: require.resolve('console-browserify'),
constants: require.resolve('constants-browserify'),
crypto: require.resolve('crypto-browserify'),
domain: require.resolve('domain-browser'),
events: require.resolve('events'),
http: require.resolve('stream-http'),
https: require.resolve('https-browserify'),
os: require.resolve('os-browserify/browser'),
path: require.resolve('path-browserify'),
punycode: require.resolve('punycode'),
process: require.resolve('process/browser'),
querystring: require.resolve('querystring-es3'),
stream: require.resolve('stream-browserify'),
string_decoder: require.resolve('string_decoder'),
sys: require.resolve('util'),
timers: require.resolve('timers-browserify'),
tty: require.resolve('tty-browserify'),
url: require.resolve('url'),
util: require.resolve('util'),
vm: require.resolve('vm-browserify'),
zlib: require.resolve('browserify-zlib'),
});
debug('engine', 'default webpack config: %s', chain.toString());
return chain;
}