UNPKG

roku-pkg-cli

Version:

A comprehensive CLI tool for managing multiple Roku projects with automated device discovery, build integration, and package generation. Perfect for CI/CD pipelines with full automation support.

62 lines (61 loc) 2.56 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.deviceCommand = deviceCommand; const inquirer_1 = __importDefault(require("inquirer")); const config_manager_1 = require("../lib/config-manager"); const chalk_1 = __importDefault(require("chalk")); function deviceCommand(program) { program .command('device') .description('Configure Roku device settings') .action(async () => { const configManager = new config_manager_1.ConfigManager(); const currentDevice = configManager.getRokuDevice(); console.log(chalk_1.default.bold('\n📺 Configure Roku Device\n')); // Show current device info if available if (currentDevice.ip) { console.log(chalk_1.default.cyan('Current device configuration:')); console.log(chalk_1.default.gray(` IP: ${currentDevice.ip}`)); if (currentDevice.name) { console.log(chalk_1.default.gray(` Name: ${currentDevice.name}`)); } if (currentDevice.modelName) { console.log(chalk_1.default.gray(` Model: ${currentDevice.modelName}`)); } if (currentDevice.serialNumber) { console.log(chalk_1.default.gray(` Serial: ${currentDevice.serialNumber}`)); } console.log(); } const answers = await inquirer_1.default.prompt([ { type: 'input', name: 'ip', message: 'Roku device IP address:', default: currentDevice.ip, validate: (input) => { if (!input) return 'IP address is required'; // Basic IP validation const ipRegex = /^(\d{1,3}\.){3}\d{1,3}$/; if (!ipRegex.test(input)) { return 'Please enter a valid IP address'; } return true; } }, { type: 'password', name: 'password', message: 'Roku developer password:', mask: '*', validate: (input) => input ? true : 'Password is required' } ]); configManager.setRokuDevice(answers); console.log(chalk_1.default.green('\n✓ Roku device configuration saved\n')); }); }