@salesforce/plugin-trust
Version:
validate a digital signature for a npm package
46 lines • 1.82 kB
JavaScript
/*
* Copyright (c) 2022, 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 { homedir } from 'node:os';
import { SfError } from '@salesforce/core';
const hook = async function (opts) {
try {
global.cliTelemetry?.record({
eventName: 'JIT_INSTALL_STARTED',
type: 'EVENT',
version: opts.pluginVersion,
plugin: opts.pluginName,
command: opts.command.id,
});
const jitInstallArgv = [`${opts.pluginName}@${opts.pluginVersion}`];
if (opts.argv.includes('--json')) {
// pass along --json arg to plugins:install
jitInstallArgv.push('--json');
}
await opts.config.runCommand('plugins:install', jitInstallArgv);
global.cliTelemetry?.record({
eventName: 'JIT_INSTALL_SUCCESS',
type: 'EVENT',
version: opts.pluginVersion,
plugin: opts.pluginName,
command: opts.command.id,
});
}
catch (error) {
global.cliTelemetry?.record({
eventName: 'JIT_INSTALL_FAILED',
type: 'EVENT',
message: error instanceof Error ? error.message : 'malformed error',
stackTrace: error instanceof Error ? error?.stack?.replace(new RegExp(homedir(), 'g'), '<GDPR_HIDDEN>') : undefined,
version: opts.pluginVersion,
plugin: opts.pluginName,
command: opts.command.id,
});
throw new SfError(`Could not install ${opts.pluginName ?? '<opts.command.pluginName not defined>'}`, 'JitPluginInstallError');
}
};
export default hook;
//# sourceMappingURL=jitPluginInstall.js.map