UNPKG

miridev-cli

Version:

Official CLI tool for deploying static sites to miri.dev - Deploy your websites in seconds

56 lines (46 loc) 1.33 kB
const chalk = require('chalk'); const auth = require('../utils/auth'); /** * Check if we're in an interactive environment */ function isInteractive() { return process.stdin.isTTY && process.stdout.isTTY && !process.env.CI; } /** * Wait for user input in a safe way */ function waitForEnter() { return new Promise((resolve) => { if (!isInteractive()) { // Non-interactive environment, proceed immediately resolve(); return; } const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question('Press Enter to continue...', () => { rl.close(); resolve(); }); }); } /** * Interactive login command following Supabase CLI model */ async function loginCommand() { console.log('Hello from MiriDev! Press Enter to open browser and login automatically.'); try { // Wait for user input only in interactive mode await waitForEnter(); const result = await auth.loginWithInteractiveFlow(); console.log(`Token ${result.tokenName} created successfully.`); console.log('\nYou are now logged in. Happy coding!'); } catch (error) { console.log(chalk.red(`\n❌ Login failed: ${error.message}\n`)); process.exit(1); } } module.exports = loginCommand;