![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/dceprojects.corals.io/node_modules/webpack-dev-server/lib/utils/ |
'use strict'; /* eslint-disable no-shadow, no-undefined */ const webpack = require('webpack'); const addEntries = require('./addEntries'); const getSocketClientPath = require('./getSocketClientPath'); function updateCompiler(compiler, options) { if (options.inline !== false) { const findHMRPlugin = (config) => { if (!config.plugins) { return undefined; } return config.plugins.find( (plugin) => plugin.constructor === webpack.HotModuleReplacementPlugin ); }; const compilers = []; const compilersWithoutHMR = []; let webpackConfig; if (compiler.compilers) { webpackConfig = []; compiler.compilers.forEach((compiler) => { webpackConfig.push(compiler.options); compilers.push(compiler); if (!findHMRPlugin(compiler.options)) { compilersWithoutHMR.push(compiler); } }); } else { webpackConfig = compiler.options; compilers.push(compiler); if (!findHMRPlugin(compiler.options)) { compilersWithoutHMR.push(compiler); } } // it's possible that we should clone the config before doing // this, but it seems safe not to since it actually reflects // the changes we are making to the compiler // important: this relies on the fact that addEntries now // prevents duplicate new entries. addEntries(webpackConfig, options); compilers.forEach((compiler) => { const config = compiler.options; compiler.hooks.entryOption.call(config.context, config.entry); const providePlugin = new webpack.ProvidePlugin({ __webpack_dev_server_client__: getSocketClientPath(options), }); providePlugin.apply(compiler); }); // do not apply the plugin unless it didn't exist before. if (options.hot || options.hotOnly) { compilersWithoutHMR.forEach((compiler) => { // addDevServerEntrypoints above should have added the plugin // to the compiler options const plugin = findHMRPlugin(compiler.options); if (plugin) { plugin.apply(compiler); } }); } } } module.exports = updateCompiler;