polymerx-cli
Version:
Unlock the power of Polymer 3, Web Components and modern web tools.
75 lines (59 loc) • 2.08 kB
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var _chalk = _interopRequireDefault(require("chalk"));
var _asyncCommand = _interopRequireDefault(require("../lib/async-command"));
var _runWebpack = _interopRequireDefault(require("../lib/webpack/run-webpack"));
var _getPkg = _interopRequireDefault(require("../lib/get-pkg"));
var _sslCert = _interopRequireDefault(require("../lib/ssl-cert"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var _default = (0, _asyncCommand.default)({
command: 'watch [src]',
desc: 'Start a development live-reload server.',
builder: {
cwd: {
description: 'A directory to use instead of $PWD.',
default: '.'
},
src: {
description: 'Entry file (index.js)',
default: 'src'
},
port: {
description: 'Port to start a server on',
default: '8080',
alias: 'p'
},
host: {
description: 'Hostname to start a server on',
default: '0.0.0.0',
alias: 'H'
},
https: {
description: 'Use HTTPS?',
type: 'boolean',
default: false
},
config: {
description: 'Path to custom polymerx.config.js',
alias: 'c'
}
},
async handler(argv) {
const pkg = await (0, _getPkg.default)(argv.cwd);
if (argv.https || process.env.HTTPS) {
const ssl = (await (0, _sslCert.default)()) || true;
argv.https = ssl;
}
if (argv.https === true) {
console.log(_chalk.default.yellow('Reverting to `webpack-dev-server` internal certificate.'));
}
const newArgv = _extends({}, argv, {
production: false,
pkg
});
await (0, _runWebpack.default)(newArgv);
}
});
exports.default = _default;