UNPKG

@cliz/inlets

Version:
54 lines (53 loc) 2.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const cli_1 = require("@cliz/cli"); const forward_1 = require("../core/forward"); exports.default = (0, cli_1.defineSubCommand)(createCommand => { return createCommand('inlets forward') .option('-l, --local <local>', 'Specify local host:port') .option('-r, --remote <remote>', 'Specify remote host:port') .option('-c, --config <config>', 'Specify config file, default: $HOME/.config/inlets.yml', { default: cli_1.api.path.configfile('inlets.yml'), }) .action(async ({ options }) => { var _a; const { local, remote, config: configFile } = options; if (local || remote) { const [_localHost, _localPort] = local.split(':'); const [_remoteHost, _remotePort] = remote.split(':'); const servers = [ { localHost: _localHost, localPort: +_localPort, remoteHost: _remoteHost, remotePort: +_remotePort, }, ]; return (0, forward_1.forward)({ servers, }); } if (!await cli_1.api.fs.isExist(configFile)) { console.error(`inlets config not found: ${configFile}`); return; } const config = await cli_1.api.fs.yml.load(configFile); const _servers = (_a = config === null || config === void 0 ? void 0 : config.forward) === null || _a === void 0 ? void 0 : _a.servers; if (!_servers || !_servers.length) { console.error(`inlets forward servers not found in ${configFile}`); return; } const servers = _servers.map(_server => { const [_localHost, _localPort, _remoteHost, _remotePort] = _server.split(':'); return { localHost: _localHost, localPort: +_localPort, remoteHost: _remoteHost, remotePort: +_remotePort, }; }); return (0, forward_1.forward)({ servers, }); }); });