UNPKG

@salesforce/plugin-release-management

Version:
57 lines 1.69 kB
/* * Copyright (c) 2020, salesforce.com, inc. * All rights reserved. * Licensed under the BSD 3-Clause license. * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ import { Env } from '@salesforce/kit'; const DEPENDENCIES = [ { name: 'AWS_ACCESS_KEY_ID', type: 'env', condition: (flags) => !!flags.sign, }, { name: 'AWS_SECRET_ACCESS_KEY', type: 'env', condition: (flags) => !!flags.sign, }, { name: 'NPM_TOKEN', type: 'env', condition: (flags) => !flags.dryrun, }, { name: 'GH_TOKEN', type: 'env', condition: (flags) => !!flags.githubrelease, }, ]; /** * * @param args that flags being validated * @param depFilter a filter function that runs on the above DEPENDENCIES * @param condition a function that runs on the args * @returns */ export function verifyDependencies(args, depFilter = (dep) => !!dep, condition = (a) => !!a && false) { const env = new Env(); const results = []; for (const dep of DEPENDENCIES.filter(depFilter)) { const result = { name: dep.name, type: dep.type, passed: true, }; if (condition(args) || dep.condition?.(args)) { result.passed = !!env.getString(dep.name); if (!result.passed) { result.message = `Set ${dep.name} environment variable`; } } results.push(result); } const failures = results.filter((r) => r.passed === false).length; return { failures, results }; } //# sourceMappingURL=dependencies.js.map