"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const child_process_1 = require("child_process"); const files_1 = __importDefault(require("./watch/files")); const folders_1 = __importDefault(require("./watch/folders")); const confFileProvidedJSON = process.argv[process.argv.length - 1]; try { const configFileObject = JSON.parse(confFileProvidedJSON); console.log(`Running '${configFileObject.title}' ...`); if (Array.isArray(configFileObject.files) && Array.isArray(configFileObject.folders)) { throw new Error("Choose wither `files` or `folders`. Not both"); } const files = configFileObject === null || configFileObject === void 0 ? void 0 : configFileObject.files; const firstFile = files === null || files === void 0 ? void 0 : files[0]; const folders = configFileObject === null || configFileObject === void 0 ? void 0 : configFileObject.folders; const firstFolder = folders === null || folders === void 0 ? void 0 : folders[0]; const options = configFileObject.options; if (firstFile && (files === null || files === void 0 ? void 0 : files[0])) { (0, files_1.default)({ files, options }); } else if (firstFolder && (folders === null || folders === void 0 ? void 0 : folders[0])) { (0, folders_1.default)({ folders, options }); } } catch (error) { console.log(error); process.exit(); } process.on("exit", (code) => { if (code == 1) { const args = process.argv; const cmd = args.shift(); if (cmd) { (0, child_process_1.spawn)(cmd, args, { stdio: "inherit", }); } } else { process.exit(0); } });