import * as path from 'path'; import * as os from 'os'; import * as fs from 'fs'; import * as chalk from 'chalk'; import {TerminalConfirm} from './TerminalConfirm'; import * as dotenv from 'dotenv'; export async function migrateOptiCli(noPrompt: boolean) { const configFolder = path.join(os.homedir(), '.ocp'); if (fs.existsSync(configFolder) || !fs.existsSync(path.join(os.homedir(), '.opti'))) { return; } const question = chalk.yellow( 'No ~/.ocp config folder found, but the config folder for legacy opti CLI exists. ' + 'Do you want to copy opti CLI configuration? (y/n)' ); const copyConfig = await TerminalConfirm.ask(question, noPrompt, true); if (copyConfig) { fs.cpSync( path.join(os.homedir(), '.opti'), path.join(os.homedir(), '.ocp'), {recursive: true} ); ['.env', '.env.staging'].forEach((envFile) => { const envFilePath = path.join(os.homedir(), '.ocp', envFile); if (fs.existsSync(envFilePath)) { fs.writeFileSync( envFilePath, fs.readFileSync(envFilePath, 'utf8').replace('OPTI_ENV', 'OCP_ENV') ); } }); dotenv.config({path: path.join(os.homedir(), '.ocp/.env')}); } }