@cocalc/project
Version:
CoCalc: project daemon
48 lines • 2.09 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const daemonize_process_1 = __importDefault(require("daemonize-process"));
const init_program_1 = __importDefault(require("./init-program"));
const init_kucalc_1 = __importDefault(require("./init-kucalc"));
const project_setup_1 = require("./project-setup");
const { init: initClient } = require("./client"); // import { Client } from "./client";
const info_json_1 = __importDefault(require("./info-json"));
const init_1 = __importDefault(require("./servers/init"));
const public_paths_1 = __importDefault(require("./public-paths"));
const logger_1 = require("./logger");
const bug_counter_1 = require("./bug-counter");
const winston = (0, logger_1.getLogger)("project-main");
async function main() {
const { HOME } = process.env;
if (HOME == null) {
throw Error("HOME env var must be set");
}
process.chdir(HOME);
if (process.env.DATA == null) {
throw Error("DATA env var must be set");
}
// TODO: some code, e.g., smc_pyutil's cc-jupyter script, assumes
// that SMC is defined still.
process.env.SMC = process.env.DATA;
const options = (0, init_program_1.default)(); // must run before anything else.
if (options.daemon) {
winston.info("daemonize the process");
(0, daemonize_process_1.default)();
}
(0, bug_counter_1.init)();
(0, project_setup_1.cleanup)();
(0, init_kucalc_1.default)(); // must be after cleanupEnvironmentVariables, since this *adds* custom environment variables.
winston.info("main init function");
winston.info("initialize INFO.json file");
await (0, info_json_1.default)();
winston.info("create Client interface");
initClient();
winston.info("create all the servers...");
await (0, init_1.default)();
winston.info("create public paths watcher...");
(0, public_paths_1.default)();
}
main();
//# sourceMappingURL=project.js.map