@withkeystone/cli
Version:
Keystone CLI - Test automation for modern web apps
54 lines • 2.34 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = require("commander");
const server_js_1 = require("./server.js");
const chalk_1 = __importDefault(require("chalk"));
const fs_1 = require("fs");
const path_1 = require("path");
// Import auth commands
const init_js_1 = require("./commands/init.js");
const logout_js_1 = require("./commands/logout.js");
const auth_status_js_1 = require("./commands/auth-status.js");
// Get package version
const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'package.json'), 'utf-8'));
const version = packageJson.version;
const program = new commander_1.Command();
program
.name('keystone')
.description('Keystone CLI - Test automation for modern web apps')
.version(version);
// Add authentication commands
program.addCommand(init_js_1.initCommand);
program.addCommand(logout_js_1.logoutCommand);
program.addCommand(auth_status_js_1.authStatusCommand);
// Runner command (previously 'start')
program
.command('start')
.description('Start local runner server')
.option('-p, --port <port>', 'WebSocket port', '9223')
.option('--headless', 'Run browser in headless mode')
.option('--debug', 'Enable debug logging')
.option('--proxy', 'Enable proxy mode for cloud Studio access')
.option('--backend-url <url>', 'Backend URL (default: https://api.withkeystone.com)')
.action(async (options) => {
const displayMode = options.proxy ? 'Proxy Mode' : 'Local Mode';
console.log(chalk_1.default.blue(`
╔═══════════════════════════════════════╗
║ Keystone CLI v${version} ║
║ ${displayMode.padEnd(26)} ║
╚═══════════════════════════════════════╝
`));
await (0, server_js_1.startServer)({
port: parseInt(options.port),
headless: options.headless,
debug: options.debug,
proxy: options.proxy,
backendUrl: options.backendUrl
});
});
program.parse();
//# sourceMappingURL=index.js.map