UNPKG

rspack-chain

Version:

<p> <a href="https://npmjs.com/package/rspack-chain?activeTab=readme"> <img src="https://img.shields.io/npm/v/rspack-chain?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" /> </a> <a href="https://nodejs.org/en/about/previous-rele

79 lines (72 loc) 1.51 kB
const ChainedMap = require('./ChainedMap'); const ChainedSet = require('./ChainedSet'); module.exports = class extends ChainedMap { constructor(parent) { super(parent); this.allowedHosts = new ChainedSet(this); this.extend([ 'after', 'before', 'bonjour', 'clientLogLevel', 'compress', 'contentBase', 'contentBasePublicPath', 'disableHostCheck', 'filename', 'headers', 'historyApiFallback', 'host', 'hot', 'hotOnly', 'http2', 'https', 'index', 'injectClient', 'injectHot', 'inline', 'lazy', 'liveReload', 'mimeTypes', 'noInfo', 'onListening', 'open', 'openPage', 'overlay', 'pfx', 'pfxPassphrase', 'port', 'proxy', 'progress', 'public', 'publicPath', 'quiet', 'serveIndex', 'setup', 'socket', 'sockHost', 'sockPath', 'sockPort', 'staticOptions', 'stats', 'stdin', 'transportMode', 'useLocalIp', 'watchContentBase', 'watchOptions', 'writeToDisk', ]); } toConfig() { return this.clean({ 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']); } };