UNPKG

zcatalyst-cli

Version:

Command Line Tool for CATALYST

91 lines (90 loc) 3.91 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.urlLogger = exports.validateName = exports.validatePlatform = exports.validateStack = exports.validateBuildPath = exports.validateOptions = void 0; const path_1 = require("path"); const runtime_store_1 = __importDefault(require("../../../runtime-store")); const constants_1 = require("../../../util_modules/constants"); const fs_1 = require("../../../util_modules/fs"); const logger_1 = require("../../../util_modules/logger"); const option_1 = require("../../../util_modules/option"); function validateOptions(validationFn, option, ...args) { return __awaiter(this, void 0, void 0, function* () { const value = (0, option_1.getOptionValue)(option, false); if (value === false) { return false; } const validationRes = yield validationFn(value, ...args); if (validationRes === false) { (0, logger_1.debug)(`Invalid value for option: ${option}`); return false; } return validationRes; }); } exports.validateOptions = validateOptions; function validateBuildPath(path) { return __awaiter(this, void 0, void 0, function* () { const cwd = runtime_store_1.default.get('cwd'); if (path) { const buildPath = (0, path_1.isAbsolute)(path) ? path : (0, path_1.resolve)(cwd, path); return (yield fs_1.ASYNC.isPathExists(buildPath)) ? path : false; } return false; }); } exports.validateBuildPath = validateBuildPath; function validateStack(stack, stackPromise) { return __awaiter(this, void 0, void 0, function* () { const runtimeStacks = yield stackPromise; if (runtimeStacks.runtimes.includes(stack)) { return { runtime: stack, lang: Object.keys(constants_1.RUNTIME.language).find((lang) => stack.startsWith(lang)) }; } return false; }); } exports.validateStack = validateStack; function validatePlatform(platform, stack) { return __awaiter(this, void 0, void 0, function* () { if (!stack || stack.lang === constants_1.RUNTIME.language.java.value) { return ['javase', 'war'].includes(platform) ? platform : false; } return false; }); } exports.validatePlatform = validatePlatform; function validateName(name) { return __awaiter(this, void 0, void 0, function* () { if (name.match(constants_1.REGEX.functions.package.name)) { return name; } return false; }); } exports.validateName = validateName; function urlLogger() { const deployTargets = runtime_store_1.default.get('payload.appsail.targets', []); deployTargets.forEach((sail) => { if (sail.url !== undefined) { (0, logger_1.labeled)(`AppSail(${sail.name})`, 'URL => ' + sail.url).MESSAGE(); } (0, logger_1.labeled)(`AppSail(${sail.name})`, 'deploy successful').SUCCESS(); (0, logger_1.info)(); }); return deployTargets; } exports.urlLogger = urlLogger;