UNPKG

@grnsft/if

Version:

Impact Framework

98 lines 11.5 kB
#!/usr/bin/env node "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint-disable no-process-exit */ const path = __importStar(require("path")); const fs_1 = require("../common/util/fs"); const debug_logger_1 = require("../common/util/debug-logger"); const logger_1 = require("../common/util/logger"); const helpers_1 = require("./util/helpers"); const args_1 = require("./util/args"); const npm_1 = require("./util/npm"); const config_1 = require("./config"); const { CHECKING, DIRECTORY_YAML_FILES_NOT_FOUND, IF_CHECK_VERIFICATION_FAILURES, IF_CHECK_SUMMARY_LOG, IF_CHECK_EXECUTING, } = config_1.STRINGS; const IfCheck = async () => { // Call this function with false parameter to prevent log debug messages. debug_logger_1.debugLogger.overrideConsoleMethods(false); const commandArgs = await (0, args_1.parseIfCheckArgs)(); console.log(`${CHECKING}\n`); if (commandArgs.manifest) { const manifest = commandArgs.manifest; try { await (0, npm_1.executeCommands)(manifest); } catch (error) { const fileName = path.basename(manifest); const executedFile = manifest .replace(fileName, `re-${fileName}`) .replace('yml', 'yaml'); const manifestDirPath = path.dirname(manifest); (0, helpers_1.logStdoutFailMessage)(error, fileName); await (0, fs_1.removeFileIfExists)(`${manifestDirPath}/package.json`); await (0, fs_1.removeFileIfExists)(executedFile); } } else { const failedLogs = { count: 0, message: '' }; const directory = commandArgs.directory; const files = await (0, fs_1.getYamlFiles)(directory); if (files.length === 0) { console.log(DIRECTORY_YAML_FILES_NOT_FOUND); process.exit(1); } for await (const file of files) { const fileRelativePath = path.relative(process.env.CURRENT_DIR || process.cwd(), file); console.log(IF_CHECK_EXECUTING(fileRelativePath)); try { await (0, npm_1.executeCommands)(file); } catch (error) { const fileName = path.basename(file); const executedFile = file .replace(fileName, `re-${fileName}`) .replace('yml', 'yaml'); const failedFilesLog = (0, helpers_1.logStdoutFailMessage)(error, fileName); failedLogs.message = failedLogs.message.concat(failedFilesLog); failedLogs.count++; await (0, fs_1.removeFileIfExists)(executedFile); } } if (failedLogs.count > 0) { const passedFilesCount = files.length - failedLogs.count; console.log(IF_CHECK_VERIFICATION_FAILURES); console.log(failedLogs.message); console.log(IF_CHECK_SUMMARY_LOG(passedFilesCount, files.length)); process.exit(1); } } }; IfCheck().catch(error => { if (error instanceof Error) { logger_1.logger.error(error); process.exit(2); } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWYtY2hlY2svaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxvQ0FBb0M7QUFDcEMsMkNBQTZCO0FBRTdCLDBDQUFtRTtBQUNuRSw4REFBd0Q7QUFDeEQsa0RBQTZDO0FBRTdDLDRDQUFvRDtBQUNwRCxzQ0FBNkM7QUFDN0Msb0NBQTJDO0FBRTNDLHFDQUFpQztBQUVqQyxNQUFNLEVBQ0osUUFBUSxFQUNSLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixHQUFHLGdCQUFPLENBQUM7QUFFWixNQUFNLE9BQU8sR0FBRyxLQUFLLElBQUksRUFBRTtJQUN6Qix5RUFBeUU7SUFDekUsMEJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUxQyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsdUJBQWdCLEdBQUUsQ0FBQztJQUU3QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxJQUFJLENBQUMsQ0FBQztJQUU3QixJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7UUFDeEIsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUV0QyxJQUFJO1lBQ0YsTUFBTSxJQUFBLHFCQUFlLEVBQUMsUUFBUSxDQUFDLENBQUM7U0FDakM7UUFBQyxPQUFPLEtBQVUsRUFBRTtZQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sWUFBWSxHQUFHLFFBQVE7aUJBQzFCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxRQUFRLEVBQUUsQ0FBQztpQkFDbkMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMxQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRS9DLElBQUEsOEJBQW9CLEVBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRXRDLE1BQU0sSUFBQSx1QkFBa0IsRUFBQyxHQUFHLGVBQWUsZUFBZSxDQUFDLENBQUM7WUFDNUQsTUFBTSxJQUFBLHVCQUFrQixFQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3hDO0tBQ0Y7U0FBTTtRQUNMLE1BQU0sVUFBVSxHQUFHLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsaUJBQVksRUFBQyxTQUFVLENBQUMsQ0FBQztRQUU3QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQztZQUM1QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsSUFBSSxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUN4QyxJQUFJLENBQ0wsQ0FBQztZQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBRWxELElBQUk7Z0JBQ0YsTUFBTSxJQUFBLHFCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7WUFBQyxPQUFPLEtBQVUsRUFBRTtnQkFDbkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckMsTUFBTSxZQUFZLEdBQUcsSUFBSTtxQkFDdEIsT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLFFBQVEsRUFBRSxDQUFDO3FCQUNuQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUUxQixNQUFNLGNBQWMsR0FBRyxJQUFBLDhCQUFvQixFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDN0QsVUFBVSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDL0QsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUVuQixNQUFNLElBQUEsdUJBQWtCLEVBQUMsWUFBWSxDQUFDLENBQUM7YUFDeEM7U0FDRjtRQUVELElBQUksVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFFekQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQjtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3RCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtRQUMxQixlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb2Nlc3MtZXhpdCAqL1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtnZXRZYW1sRmlsZXMsIHJlbW92ZUZpbGVJZkV4aXN0c30gZnJvbSAnLi4vY29tbW9uL3V0aWwvZnMnO1xuaW1wb3J0IHtkZWJ1Z0xvZ2dlcn0gZnJvbSAnLi4vY29tbW9uL3V0aWwvZGVidWctbG9nZ2VyJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi9jb21tb24vdXRpbC9sb2dnZXInO1xuXG5pbXBvcnQge2xvZ1N0ZG91dEZhaWxNZXNzYWdlfSBmcm9tICcuL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge3BhcnNlSWZDaGVja0FyZ3N9IGZyb20gJy4vdXRpbC9hcmdzJztcbmltcG9ydCB7ZXhlY3V0ZUNvbW1hbmRzfSBmcm9tICcuL3V0aWwvbnBtJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuL2NvbmZpZyc7XG5cbmNvbnN0IHtcbiAgQ0hFQ0tJTkcsXG4gIERJUkVDVE9SWV9ZQU1MX0ZJTEVTX05PVF9GT1VORCxcbiAgSUZfQ0hFQ0tfVkVSSUZJQ0FUSU9OX0ZBSUxVUkVTLFxuICBJRl9DSEVDS19TVU1NQVJZX0xPRyxcbiAgSUZfQ0hFQ0tfRVhFQ1VUSU5HLFxufSA9IFNUUklOR1M7XG5cbmNvbnN0IElmQ2hlY2sgPSBhc3luYyAoKSA9PiB7XG4gIC8vIENhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGZhbHNlIHBhcmFtZXRlciB0byBwcmV2ZW50IGxvZyBkZWJ1ZyBtZXNzYWdlcy5cbiAgZGVidWdMb2dnZXIub3ZlcnJpZGVDb25zb2xlTWV0aG9kcyhmYWxzZSk7XG5cbiAgY29uc3QgY29tbWFuZEFyZ3MgPSBhd2FpdCBwYXJzZUlmQ2hlY2tBcmdzKCk7XG5cbiAgY29uc29sZS5sb2coYCR7Q0hFQ0tJTkd9XFxuYCk7XG5cbiAgaWYgKGNvbW1hbmRBcmdzLm1hbmlmZXN0KSB7XG4gICAgY29uc3QgbWFuaWZlc3QgPSBjb21tYW5kQXJncy5tYW5pZmVzdDtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBleGVjdXRlQ29tbWFuZHMobWFuaWZlc3QpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gcGF0aC5iYXNlbmFtZShtYW5pZmVzdCk7XG4gICAgICBjb25zdCBleGVjdXRlZEZpbGUgPSBtYW5pZmVzdFxuICAgICAgICAucmVwbGFjZShmaWxlTmFtZSwgYHJlLSR7ZmlsZU5hbWV9YClcbiAgICAgICAgLnJlcGxhY2UoJ3ltbCcsICd5YW1sJyk7XG4gICAgICBjb25zdCBtYW5pZmVzdERpclBhdGggPSBwYXRoLmRpcm5hbWUobWFuaWZlc3QpO1xuXG4gICAgICBsb2dTdGRvdXRGYWlsTWVzc2FnZShlcnJvciwgZmlsZU5hbWUpO1xuXG4gICAgICBhd2FpdCByZW1vdmVGaWxlSWZFeGlzdHMoYCR7bWFuaWZlc3REaXJQYXRofS9wYWNrYWdlLmpzb25gKTtcbiAgICAgIGF3YWl0IHJlbW92ZUZpbGVJZkV4aXN0cyhleGVjdXRlZEZpbGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBmYWlsZWRMb2dzID0ge2NvdW50OiAwLCBtZXNzYWdlOiAnJ307XG4gICAgY29uc3QgZGlyZWN0b3J5ID0gY29tbWFuZEFyZ3MuZGlyZWN0b3J5O1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgZ2V0WWFtbEZpbGVzKGRpcmVjdG9yeSEpO1xuXG4gICAgaWYgKGZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS5sb2coRElSRUNUT1JZX1lBTUxfRklMRVNfTk9UX0ZPVU5EKTtcbiAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICB9XG5cbiAgICBmb3IgYXdhaXQgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnN0IGZpbGVSZWxhdGl2ZVBhdGggPSBwYXRoLnJlbGF0aXZlKFxuICAgICAgICBwcm9jZXNzLmVudi5DVVJSRU5UX0RJUiB8fCBwcm9jZXNzLmN3ZCgpLFxuICAgICAgICBmaWxlXG4gICAgICApO1xuICAgICAgY29uc29sZS5sb2coSUZfQ0hFQ0tfRVhFQ1VUSU5HKGZpbGVSZWxhdGl2ZVBhdGgpKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZXhlY3V0ZUNvbW1hbmRzKGZpbGUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHBhdGguYmFzZW5hbWUoZmlsZSk7XG4gICAgICAgIGNvbnN0IGV4ZWN1dGVkRmlsZSA9IGZpbGVcbiAgICAgICAgICAucmVwbGFjZShmaWxlTmFtZSwgYHJlLSR7ZmlsZU5hbWV9YClcbiAgICAgICAgICAucmVwbGFjZSgneW1sJywgJ3lhbWwnKTtcblxuICAgICAgICBjb25zdCBmYWlsZWRGaWxlc0xvZyA9IGxvZ1N0ZG91dEZhaWxNZXNzYWdlKGVycm9yLCBmaWxlTmFtZSk7XG4gICAgICAgIGZhaWxlZExvZ3MubWVzc2FnZSA9IGZhaWxlZExvZ3MubWVzc2FnZS5jb25jYXQoZmFpbGVkRmlsZXNMb2cpO1xuICAgICAgICBmYWlsZWRMb2dzLmNvdW50Kys7XG5cbiAgICAgICAgYXdhaXQgcmVtb3ZlRmlsZUlmRXhpc3RzKGV4ZWN1dGVkRmlsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZhaWxlZExvZ3MuY291bnQgPiAwKSB7XG4gICAgICBjb25zdCBwYXNzZWRGaWxlc0NvdW50ID0gZmlsZXMubGVuZ3RoIC0gZmFpbGVkTG9ncy5jb3VudDtcblxuICAgICAgY29uc29sZS5sb2coSUZfQ0hFQ0tfVkVSSUZJQ0FUSU9OX0ZBSUxVUkVTKTtcbiAgICAgIGNvbnNvbGUubG9nKGZhaWxlZExvZ3MubWVzc2FnZSk7XG4gICAgICBjb25zb2xlLmxvZyhJRl9DSEVDS19TVU1NQVJZX0xPRyhwYXNzZWRGaWxlc0NvdW50LCBmaWxlcy5sZW5ndGgpKTtcbiAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICB9XG4gIH1cbn07XG5cbklmQ2hlY2soKS5jYXRjaChlcnJvciA9PiB7XG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICBwcm9jZXNzLmV4aXQoMik7XG4gIH1cbn0pO1xuIl19