intreface.cli
Version:
Intreface Dev Tools
33 lines (32 loc) • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const system_1 = require("../@utility/system");
const io_1 = require("../@utility/io");
const type_1 = require("../@utility/type");
const chalk_1 = require("chalk");
const objectPath = require("object-path");
const path = require("path");
const hook = async function (options) {
if (!system_1.isWin) {
this.error(`${chalk_1.default.red('💩')} intreface.cli supports ${chalk_1.default.red.underline('Windows Only')}.`);
}
// validate config
if (!['init', 'help'].includes(options.id)) {
const config = objectPath(system_1.readConfig());
const appExecutable = path.join(config.get('directory.server', ''), 'WinNMP.exe');
if (type_1.isObjectEmpty(config.get(''))) {
this.error(`${chalk_1.default.red('💩')} intreface.cli ${chalk_1.default.red.underline('Should Be Initialized')}. Run "${chalk_1.default.green('intreface init')}".`);
}
// validate important parameters
if (!io_1.isFileExist(appExecutable)) {
this.error(`${chalk_1.default.red('💩')} server environment executable ${chalk_1.default.red.underline('Does Not Exist')}.`);
}
if (!io_1.isDirectoryExist(config.get('directory.bitrix'))) {
this.error(`${chalk_1.default.red('💩')} bitrix directory "${config.get('directory.bitrix')}" ${chalk_1.default.red.underline('Does Not Exist')}.`);
}
if (!io_1.isDirectoryExist(config.get('directory.server'))) {
this.error(`${chalk_1.default.red('💩')} server environment directory "${config.get('directory.server')}" ${chalk_1.default.red.underline('Does Not Exist')}.`);
}
}
};
exports.default = hook;