specmatic
Version:
Node wrapper for Specmatic
61 lines (60 loc) • 7.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
exports.initLogger = initLogger;
var _winston = require("winston");
var _fs = _interopRequireDefault(require("fs"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var logFormat = _winston.format.printf(function (_ref) {
var level = _ref.level,
message = _ref.message,
label = _ref.label,
timestamp = _ref.timestamp;
return "[".concat(label, "] ").concat(timestamp, " ").concat(level, ": ").concat(message);
});
function getSpecmaticConfig() {
var packageJsonPath = './package.json';
var specmaticConfig;
if (_fs["default"].existsSync(packageJsonPath)) {
var packageJsonContent;
try {
packageJsonContent = _fs["default"].readFileSync(packageJsonPath);
} catch (error) {
packageJsonContent = '{}';
}
var packageConfig = JSON.parse(packageJsonContent);
specmaticConfig = packageConfig.specmatic;
}
return specmaticConfig || {};
}
function getLogLevel() {
var logLevel;
if (process.env.SPECMATIC_LOG_LEVEL) {
logLevel = process.env.SPECMATIC_LOG_LEVEL;
}
if (!logLevel || !_winston.config.syslog.levels[logLevel]) {
var specmaticConfig = getSpecmaticConfig();
logLevel = specmaticConfig.logLevel;
}
if (!logLevel || !_winston.config.syslog.levels[logLevel]) {
logLevel = 'warn';
}
return logLevel;
}
function initLogger() {
var logLevel = getLogLevel();
var logger = (0, _winston.createLogger)({
level: logLevel,
format: _winston.format.combine(_winston.format.label({
label: 'specmatic'
}), _winston.format.timestamp({
format: 'DD-MM-YYYY HH:mm:ss'
}), logFormat),
transports: [new _winston.transports.Console()]
});
return logger;
}
var _default = exports["default"] = initLogger();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2luc3RvbiIsInJlcXVpcmUiLCJfZnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJsb2dGb3JtYXQiLCJmb3JtYXQiLCJwcmludGYiLCJfcmVmIiwibGV2ZWwiLCJtZXNzYWdlIiwibGFiZWwiLCJ0aW1lc3RhbXAiLCJjb25jYXQiLCJnZXRTcGVjbWF0aWNDb25maWciLCJwYWNrYWdlSnNvblBhdGgiLCJzcGVjbWF0aWNDb25maWciLCJmcyIsImV4aXN0c1N5bmMiLCJwYWNrYWdlSnNvbkNvbnRlbnQiLCJyZWFkRmlsZVN5bmMiLCJlcnJvciIsInBhY2thZ2VDb25maWciLCJKU09OIiwicGFyc2UiLCJzcGVjbWF0aWMiLCJnZXRMb2dMZXZlbCIsImxvZ0xldmVsIiwicHJvY2VzcyIsImVudiIsIlNQRUNNQVRJQ19MT0dfTEVWRUwiLCJjb25maWciLCJzeXNsb2ciLCJsZXZlbHMiLCJpbml0TG9nZ2VyIiwibG9nZ2VyIiwiY3JlYXRlTG9nZ2VyIiwiY29tYmluZSIsInRyYW5zcG9ydHMiLCJDb25zb2xlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlnLCBjcmVhdGVMb2dnZXIsIGZvcm1hdCwgdHJhbnNwb3J0cyB9IGZyb20gJ3dpbnN0b24nXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5cbmNvbnN0IGxvZ0Zvcm1hdCA9IGZvcm1hdC5wcmludGYoKHsgbGV2ZWwsIG1lc3NhZ2UsIGxhYmVsLCB0aW1lc3RhbXAgfSkgPT4ge1xuICAgIHJldHVybiBgWyR7bGFiZWx9XSAke3RpbWVzdGFtcH0gJHtsZXZlbH06ICR7bWVzc2FnZX1gXG59KVxuXG5mdW5jdGlvbiBnZXRTcGVjbWF0aWNDb25maWcoKSB7XG4gICAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gJy4vcGFja2FnZS5qc29uJ1xuICAgIHZhciBzcGVjbWF0aWNDb25maWdcbiAgICBpZiAoZnMuZXhpc3RzU3luYyhwYWNrYWdlSnNvblBhdGgpKSB7XG4gICAgICAgIGxldCBwYWNrYWdlSnNvbkNvbnRlbnRcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHBhY2thZ2VKc29uQ29udGVudCA9IGZzLnJlYWRGaWxlU3luYyhwYWNrYWdlSnNvblBhdGgpXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBwYWNrYWdlSnNvbkNvbnRlbnQgPSAne30nXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFja2FnZUNvbmZpZyA9IEpTT04ucGFyc2UocGFja2FnZUpzb25Db250ZW50IGFzIHVua25vd24gYXMgc3RyaW5nKVxuICAgICAgICBzcGVjbWF0aWNDb25maWcgPSBwYWNrYWdlQ29uZmlnLnNwZWNtYXRpY1xuICAgIH1cbiAgICByZXR1cm4gc3BlY21hdGljQ29uZmlnIHx8IHt9XG59XG5cbmZ1bmN0aW9uIGdldExvZ0xldmVsKCkge1xuICAgIGxldCBsb2dMZXZlbFxuICAgIGlmIChwcm9jZXNzLmVudi5TUEVDTUFUSUNfTE9HX0xFVkVMKSB7XG4gICAgICAgIGxvZ0xldmVsID0gcHJvY2Vzcy5lbnYuU1BFQ01BVElDX0xPR19MRVZFTFxuICAgIH1cbiAgICBpZiAoIWxvZ0xldmVsIHx8ICFjb25maWcuc3lzbG9nLmxldmVsc1tsb2dMZXZlbF0pIHtcbiAgICAgICAgY29uc3Qgc3BlY21hdGljQ29uZmlnID0gZ2V0U3BlY21hdGljQ29uZmlnKClcbiAgICAgICAgbG9nTGV2ZWwgPSBzcGVjbWF0aWNDb25maWcubG9nTGV2ZWxcbiAgICB9XG4gICAgaWYgKCFsb2dMZXZlbCB8fCAhY29uZmlnLnN5c2xvZy5sZXZlbHNbbG9nTGV2ZWxdKSB7XG4gICAgICAgIGxvZ0xldmVsID0gJ3dhcm4nXG4gICAgfVxuICAgIHJldHVybiBsb2dMZXZlbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdExvZ2dlcigpIHtcbiAgICBsZXQgbG9nTGV2ZWwgPSBnZXRMb2dMZXZlbCgpXG4gICAgY29uc3QgbG9nZ2VyID0gY3JlYXRlTG9nZ2VyKHtcbiAgICAgICAgbGV2ZWw6IGxvZ0xldmVsLFxuICAgICAgICBmb3JtYXQ6IGZvcm1hdC5jb21iaW5lKGZvcm1hdC5sYWJlbCh7IGxhYmVsOiAnc3BlY21hdGljJyB9KSwgZm9ybWF0LnRpbWVzdGFtcCh7IGZvcm1hdDogJ0RELU1NLVlZWVkgSEg6bW06c3MnIH0pLCBsb2dGb3JtYXQpLFxuICAgICAgICB0cmFuc3BvcnRzOiBbbmV3IHRyYW5zcG9ydHMuQ29uc29sZSgpXSxcbiAgICB9KVxuICAgIHJldHVybiBsb2dnZXJcbn1cblxuZXhwb3J0IGRlZmF1bHQgaW5pdExvZ2dlcigpXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxHQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBbUIsU0FBQUUsdUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUVuQixJQUFNRSxTQUFTLEdBQUdDLGVBQU0sQ0FBQ0MsTUFBTSxDQUFDLFVBQUFDLElBQUEsRUFBMEM7RUFBQSxJQUF2Q0MsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7SUFBRUMsT0FBTyxHQUFBRixJQUFBLENBQVBFLE9BQU87SUFBRUMsS0FBSyxHQUFBSCxJQUFBLENBQUxHLEtBQUs7SUFBRUMsU0FBUyxHQUFBSixJQUFBLENBQVRJLFNBQVM7RUFDL0QsV0FBQUMsTUFBQSxDQUFXRixLQUFLLFFBQUFFLE1BQUEsQ0FBS0QsU0FBUyxPQUFBQyxNQUFBLENBQUlKLEtBQUssUUFBQUksTUFBQSxDQUFLSCxPQUFPO0FBQ3ZELENBQUMsQ0FBQztBQUVGLFNBQVNJLGtCQUFrQkEsQ0FBQSxFQUFHO0VBQzFCLElBQU1DLGVBQWUsR0FBRyxnQkFBZ0I7RUFDeEMsSUFBSUMsZUFBZTtFQUNuQixJQUFJQyxjQUFFLENBQUNDLFVBQVUsQ0FBQ0gsZUFBZSxDQUFDLEVBQUU7SUFDaEMsSUFBSUksa0JBQWtCO0lBQ3RCLElBQUk7TUFDQUEsa0JBQWtCLEdBQUdGLGNBQUUsQ0FBQ0csWUFBWSxDQUFDTCxlQUFlLENBQUM7SUFDekQsQ0FBQyxDQUFDLE9BQU9NLEtBQUssRUFBRTtNQUNaRixrQkFBa0IsR0FBRyxJQUFJO0lBQzdCO0lBQ0EsSUFBTUcsYUFBYSxHQUFHQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0wsa0JBQXVDLENBQUM7SUFDekVILGVBQWUsR0FBR00sYUFBYSxDQUFDRyxTQUFTO0VBQzdDO0VBQ0EsT0FBT1QsZUFBZSxJQUFJLENBQUMsQ0FBQztBQUNoQztBQUVBLFNBQVNVLFdBQVdBLENBQUEsRUFBRztFQUNuQixJQUFJQyxRQUFRO0VBQ1osSUFBSUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLG1CQUFtQixFQUFFO0lBQ2pDSCxRQUFRLEdBQUdDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxtQkFBbUI7RUFDOUM7RUFDQSxJQUFJLENBQUNILFFBQVEsSUFBSSxDQUFDSSxlQUFNLENBQUNDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDTixRQUFRLENBQUMsRUFBRTtJQUM5QyxJQUFNWCxlQUFlLEdBQUdGLGtCQUFrQixDQUFDLENBQUM7SUFDNUNhLFFBQVEsR0FBR1gsZUFBZSxDQUFDVyxRQUFRO0VBQ3ZDO0VBQ0EsSUFBSSxDQUFDQSxRQUFRLElBQUksQ0FBQ0ksZUFBTSxDQUFDQyxNQUFNLENBQUNDLE1BQU0sQ0FBQ04sUUFBUSxDQUFDLEVBQUU7SUFDOUNBLFFBQVEsR0FBRyxNQUFNO0VBQ3JCO0VBQ0EsT0FBT0EsUUFBUTtBQUNuQjtBQUVPLFNBQVNPLFVBQVVBLENBQUEsRUFBRztFQUN6QixJQUFJUCxRQUFRLEdBQUdELFdBQVcsQ0FBQyxDQUFDO0VBQzVCLElBQU1TLE1BQU0sR0FBRyxJQUFBQyxxQkFBWSxFQUFDO0lBQ3hCM0IsS0FBSyxFQUFFa0IsUUFBUTtJQUNmckIsTUFBTSxFQUFFQSxlQUFNLENBQUMrQixPQUFPLENBQUMvQixlQUFNLENBQUNLLEtBQUssQ0FBQztNQUFFQSxLQUFLLEVBQUU7SUFBWSxDQUFDLENBQUMsRUFBRUwsZUFBTSxDQUFDTSxTQUFTLENBQUM7TUFBRU4sTUFBTSxFQUFFO0lBQXNCLENBQUMsQ0FBQyxFQUFFRCxTQUFTLENBQUM7SUFDNUhpQyxVQUFVLEVBQUUsQ0FBQyxJQUFJQSxtQkFBVSxDQUFDQyxPQUFPLENBQUMsQ0FBQztFQUN6QyxDQUFDLENBQUM7RUFDRixPQUFPSixNQUFNO0FBQ2pCO0FBQUMsSUFBQUssUUFBQSxHQUFBQyxPQUFBLGNBRWNQLFVBQVUsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119