'use strict'; /* eslint-disable global-require, multiline-ternary, space-before-function-paren */ const ADVANCED_GROUP = 'Advanced options:'; const DISPLAY_GROUP = 'Stats options:'; const SSL_GROUP = 'SSL options:'; const CONNECTION_GROUP = 'Connection options:'; const RESPONSE_GROUP = 'Response options:'; const BASIC_GROUP = 'Basic options:'; const options = { bonjour: { type: 'boolean', describe: 'Broadcasts the server via ZeroConf networking on start' }, lazy: { type: 'boolean', describe: 'Lazy' }, inline: { type: 'boolean', default: true, describe: 'Inline mode (set to false to disable including client scripts like livereload)' }, progress: { type: 'boolean', describe: 'Print compilation progress in percentage', group: BASIC_GROUP }, 'hot-only': { type: 'boolean', describe: 'Do not refresh page if HMR fails', group: ADVANCED_GROUP }, stdin: { type: 'boolean', describe: 'close when stdin ends' }, open: { type: 'string', describe: 'Open the default browser, or optionally specify a browser name' }, useLocalIp: { type: 'boolean', describe: 'Open default browser with local IP' }, 'open-page': { type: 'string', describe: 'Open default browser with the specified page', requiresArg: true }, color: { type: 'boolean', alias: 'colors', default: function supportsColor() { // Use `require('supports-color').stdout` for supports-color >= 5.0.0. // See https://github.com/webpack/webpack-dev-server/pull/1555. return require('supports-color').stdout; }, group: DISPLAY_GROUP, describe: 'Enables/Disables colors on the console' }, info: { type: 'boolean', group: DISPLAY_GROUP, default: true, describe: 'Info' }, quiet: { type: 'boolean', group: DISPLAY_GROUP, describe: 'Quiet' }, 'client-log-level': { type: 'string', group: DISPLAY_GROUP, default: 'info', describe: 'Log level in the browser (info, warning, error or none)' }, https: { type: 'boolean', group: SSL_GROUP, describe: 'HTTPS' }, key: { type: 'string', describe: 'Path to a SSL key.', group: SSL_GROUP }, cert: { type: 'string', describe: 'Path to a SSL certificate.', group: SSL_GROUP }, cacert: { type: 'string', describe: 'Path to a SSL CA certificate.', group: SSL_GROUP }, pfx: { type: 'string', describe: 'Path to a SSL pfx file.', group: SSL_GROUP }, 'pfx-passphrase': { type: 'string', describe: 'Passphrase for pfx file.', group: SSL_GROUP }, 'content-base': { type: 'string', describe: 'A directory or URL to serve HTML content from.', group: RESPONSE_GROUP }, 'watch-content-base': { type: 'boolean', describe: 'Enable live-reloading of the content-base.', group: RESPONSE_GROUP }, 'history-api-fallback': { type: 'boolean', describe: 'Fallback to /index.html for Single Page Applications.', group: RESPONSE_GROUP }, compress: { type: 'boolean', describe: 'Enable gzip compression', group: RESPONSE_GROUP }, port: { describe: 'The port', group: CONNECTION_GROUP }, 'disable-host-check': { type: 'boolean', describe: 'Will not check the host', group: CONNECTION_GROUP }, socket: { type: 'String', describe: 'Socket to listen', group: CONNECTION_GROUP }, public: { type: 'string', describe: 'The public hostname/ip address of the server', group: CONNECTION_GROUP }, host: { type: 'string', default: 'localhost', describe: 'The hostname/ip address the server will bind to', group: CONNECTION_GROUP }, 'allowed-hosts': { type: 'string', describe: 'A comma-delimited string of hosts that are allowed to access the dev server', group: CONNECTION_GROUP } }; module.exports = options;