Spaces:
Sleeping
Sleeping
import inquirer from "inquirer"; | |
import dotenv from "dotenv"; | |
import { printTitle } from "./helpers.js"; | |
import { doesEnvFileExist, generateEnv, testEnvFile } from "./envGenerator.js"; | |
import { newEnvQuestions } from "./questions/newEnvQuestions.js"; | |
import { existingEnvQuestions } from "./questions/existingEnvQuestions.js"; | |
import { spawn } from "child_process"; | |
import chalk from "chalk"; | |
const handleExistingEnv = () => { | |
console.log(chalk.yellow("Existing ./next/env file found. Validating...")); | |
try { | |
testEnvFile(); | |
} catch (e) { | |
console.log(e.message); | |
return; | |
} | |
inquirer.prompt(existingEnvQuestions).then((answers) => { | |
handleRunOption(answers.runOption); | |
}); | |
}; | |
const handleNewEnv = () => { | |
inquirer.prompt(newEnvQuestions).then((answers) => { | |
dotenv.config({ path: "./.env" }); | |
generateEnv(answers); | |
console.log("\nEnv files successfully created!"); | |
handleRunOption(answers.runOption); | |
}); | |
}; | |
const handleRunOption = (runOption) => { | |
if (runOption === "docker-compose") { | |
const dockerComposeUp = spawn("docker-compose", ["up", "--build"], { | |
stdio: "inherit", | |
}); | |
} | |
if (runOption === "manual") { | |
console.log( | |
"Please go into the ./next folder and run `npm install && npm run dev`." | |
); | |
console.log( | |
"Please also go into the ./platform folder and run `poetry install && poetry run python -m reworkd_platform`." | |
); | |
console.log( | |
"Please use or update the MySQL database configuration in the env file(s)." | |
); | |
} | |
}; | |
printTitle(); | |
if (doesEnvFileExist()) { | |
handleExistingEnv(); | |
} else { | |
handleNewEnv(); | |
} | |