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
JavaScript
;
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'));
});
}