@apica-io/url-xi
Version:
URL Check for integrations and API monitoring
115 lines • 4.75 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (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;
};
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 });
const commander_1 = require("commander");
const pmConverter_1 = require("./pmConverter");
const log4js = __importStar(require("log4js"));
const path_1 = __importDefault(require("path"));
const fs_1 = __importDefault(require("fs"));
const helpers = __importStar(require("../lib/helpers"));
const cliLogConfig = {
appenders: {
out: {
type: 'stdout',
},
},
categories: {
default: { appenders: ['out'], level: 'INFO' },
},
};
const pack = helpers.getPackageInfo();
const version = pack.version || 'version unknown';
const program = new commander_1.Command();
program.version(version);
program
.requiredOption('-c, --collection <file>', 'pm collection file')
.option('-o, --output <dir>', 'output dir')
.option('-e, --env <file>', 'environment file')
.option('-d, --debug', 'output extra debugging');
program.parse(process.argv);
const collection_file = program.opts().collection;
const env_file = program.opts().env;
const outDir = program.opts().output;
const debug = program.opts().debug;
/*
Configure logging from parameters
*/
if (debug)
cliLogConfig.categories.default.level = 'DEBUG';
log4js.configure(cliLogConfig);
const logger = log4js.getLogger('pmConvert');
logger.debug('url-xi pm converter(%s) started with %s', version, process.argv);
const collection_path = path_1.default.resolve(collection_file);
if (!fs_1.default.existsSync(collection_path) || !fs_1.default.lstatSync(collection_path).isFile()) {
console.error('The specified collection file [%s] is not valid', collection_file);
process.exit(9);
}
if (env_file) {
const env_path = path_1.default.resolve(env_file);
if (!fs_1.default.existsSync(env_path) || !fs_1.default.lstatSync(env_path).isFile()) {
console.error('The specified environment file [%s] is not valid', env_file);
process.exit(9);
}
}
if (outDir) {
const out_path = path_1.default.resolve(outDir);
if (!fs_1.default.existsSync(out_path) || !fs_1.default.lstatSync(out_path).isDirectory()) {
console.error('The output directory [%s] is not a valid directory', outDir);
process.exit(9);
}
if (path_1.default.dirname(collection_path) === out_path) {
console.error('The output directory [%s] and directory of collection file [%s] must be different directories.', outDir, collection_file);
process.exit(9);
}
}
run_cli();
function run_cli() {
return __awaiter(this, void 0, void 0, function* () {
const converter = new pmConverter_1.PMConverter(debug);
let exitCode = 0;
try {
yield converter.initFromFile(collection_file, env_file);
const test = converter.convert();
if (outDir) {
yield converter.save(test, outDir);
}
}
catch (error) {
logger.error(error);
exitCode = 1;
}
process.exit(exitCode);
});
}
//# sourceMappingURL=index.js.map