aboutsummaryrefslogtreecommitdiff
path: root/node_modules/webpack-chain/src/DevServer.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack-chain/src/DevServer.js')
-rw-r--r--node_modules/webpack-chain/src/DevServer.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/node_modules/webpack-chain/src/DevServer.js b/node_modules/webpack-chain/src/DevServer.js
new file mode 100644
index 00000000..23c13639
--- /dev/null
+++ b/node_modules/webpack-chain/src/DevServer.js
@@ -0,0 +1,68 @@
+const ChainedMap = require('./ChainedMap');
+const ChainedSet = require('./ChainedSet');
+
+module.exports = class extends ChainedMap {
+ constructor(parent) {
+ super(parent);
+
+ this.allowedHosts = new ChainedSet(this);
+
+ this.extend([
+ 'bonjour',
+ 'clientLogLevel',
+ 'color',
+ 'compress',
+ 'contentBase',
+ 'disableHostCheck',
+ 'filename',
+ 'headers',
+ 'historyApiFallback',
+ 'host',
+ 'hot',
+ 'hotOnly',
+ 'https',
+ 'info',
+ 'inline',
+ 'lazy',
+ 'noInfo',
+ 'open',
+ 'openPage',
+ 'overlay',
+ 'pfx',
+ 'pfxPassphrase',
+ 'port',
+ 'proxy',
+ 'progress',
+ 'public',
+ 'publicPath',
+ 'quiet',
+ 'setup',
+ 'socket',
+ 'staticOptions',
+ 'stats',
+ 'stdin',
+ 'useLocalIp',
+ 'watchContentBase',
+ 'watchOptions',
+ ]);
+ }
+
+ toConfig() {
+ return this.clean(
+ Object.assign(
+ {
+ allowedHosts: this.allowedHosts.values(),
+ },
+ this.entries() || {}
+ )
+ );
+ }
+
+ merge(obj, omit = []) {
+ if (!omit.includes('allowedHosts') && 'allowedHosts' in obj) {
+ this.allowedHosts.merge(obj.allowedHosts);
+ }
+
+ return super.merge(obj, ['allowedHosts']);
+ }
+};