UNPKG

approvals

Version:

Approval Tests Library - Capturing Human Intelligence

107 lines (106 loc) 3.72 kB
"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 () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultConfig = void 0; exports.getHomeApprovalConfig = getHomeApprovalConfig; exports.getConfig = getConfig; exports.configure = configure; exports.currentConfig = currentConfig; exports.reset = reset; const os = __importStar(require("os")); const fs = __importStar(require("fs")); const path = __importStar(require("path")); const _ = __importStar(require("lodash")); const yaml = __importStar(require("js-yaml")); const ReportLaunchingCircuitBreaker_1 = require("./Reporting/ReportLaunchingCircuitBreaker"); // begin-snippet: default_config exports.defaultConfig = { reporters: [ "BeyondCompare", "diffmerge", "p4merge", "tortoisemerge", "nodediff", "opendiff", "gitdiff", ], normalizeLineEndingsTo: false, failOnLineEndingDifferences: false, appendEOL: true, EOL: os.EOL, errorOnStaleApprovedFiles: true, shouldIgnoreStaleApprovedFile: () => false, stripBOM: false, forceApproveAll: false, blockUntilReporterExits: false, maxLaunches: 10, }; // end-snippet function getHomeApprovalConfig() { const homeConfigPath = path.join(os.homedir(), ".approvalsConfig"); if (fs.existsSync(homeConfigPath)) { const configFileData = fs.readFileSync(homeConfigPath).toString(); try { return yaml.load(configFileData); } catch (ex) { throw new Error("Error parsing " + homeConfigPath + ". " + ex); } } return null; } let currentConfigObj; function getConfig(configOverrides) { const homeConfig = getHomeApprovalConfig() || {}; const resultConfig = _.defaults(configOverrides || {}, currentConfigObj || {}, homeConfig, exports.defaultConfig); return resultConfig; } function configure(overrideOptions) { currentConfigObj = getConfig(overrideOptions); processConfig(currentConfigObj); return currentConfigObj; } function currentConfig() { return currentConfigObj; } function reset() { currentConfigObj = _.defaults({}, getHomeApprovalConfig(), exports.defaultConfig); } currentConfigObj = getConfig(); function processConfig(config) { if (config.maxLaunches) { ReportLaunchingCircuitBreaker_1.ReportLaunchingCircuitBreaker.setMaxLaunch(config.maxLaunches); } }