123456789101112131415161718192021222324252627282930313233343536 |
- require("dotenv").config();
- const { exec, execSync } = require("child_process");
- const { existsSync, writeFileSync } = require('fs')
- let TAIPY_GUI_DIR = process.env.TAIPY_GUI_DIR;
- if (!TAIPY_GUI_DIR) {
- TAIPY_GUI_DIR = execSync(process.platform === "win32" ? 'pipenv run pip show taipy-gui | findStr "Location:"' : "pipenv run pip show taipy-gui | grep Location:").toString().trim().substring(9).trim();
- !existsSync(".env") && writeFileSync(".env", `TAIPY_GUI_DIR=${TAIPY_GUI_DIR}`);
- }
- taipy_webapp_dir = `${TAIPY_GUI_DIR}/taipy/gui/webapp`
- if (!existsSync(taipy_webapp_dir)) {
- console.error(`Cannot find the Taipy GUI (${taipy_webapp_dir}) webapp directory.\nMake sure TAIPY_GUI_DIR is set properly.`);
- process.exit(1);
- }
- let spinner = "|/-\\";
- let i = 0;
- let spinnerTimer;
- exec(`npm i && npm i ${taipy_webapp_dir}`)
- .on("spawn", () => {
- spinnerTimer = setInterval(() => {
- process.stdout.write("Installing the Taipy GUI library... \r" + spinner[i++]);
- i = i % spinner.length;
- }, 150);
- })
- .on("exit", (code) => {
- clearInterval(spinnerTimer);
- if (code === 0) {
- console.log("\nInstallation finished");
- } else {
- console.log(`\nInstallation failed (code ${code})`);
- }
- });
|