UNPKG

@cocalc/project

Version:
45 lines 1.72 kB
"use strict"; /* * This file is part of CoCalc: Copyright © 2022 Sagemath, Inc. * License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details */ Object.defineProperty(exports, "__esModule", { value: true }); exports.run = void 0; /* This runs a script configured via the --init [str] parameter. */ const node_child_process_1 = require("node:child_process"); const node_fs_1 = require("node:fs"); const node_path_1 = require("node:path"); const node_os_1 = require("node:os"); const promises_1 = require("node:fs/promises"); const misc_1 = require("@cocalc/util/misc"); const init_program_1 = require("./init-program"); const logger_1 = require("./logger"); const { info } = (0, logger_1.getLogger)("init-script"); async function run() { if (!init_program_1.options.init) return; const initScript = (0, node_path_1.join)((0, node_os_1.homedir)(), init_program_1.options.init); try { await (0, promises_1.access)(initScript, node_fs_1.constants.R_OK); } catch { info(`"${initScript}" does not exist`); return; } try { info(`running "${initScript}"`); const out = (0, node_fs_1.openSync)((0, misc_1.change_filename_extension)(initScript, "log"), "w"); const err = (0, node_fs_1.openSync)((0, misc_1.change_filename_extension)(initScript, "err"), "w"); // we don't detach the process, because otherwise it stays around when restarting the project (0, node_child_process_1.spawn)("bash", [initScript], { stdio: ["ignore", out, err], }); } catch (err) { info(`Problem running "${initScript}" -- ${err}`); } } exports.run = run; //# sourceMappingURL=init-script.js.map