semantic-release-vsce
Version:
semantic-release plugin to package and publish VS Code extensions
26 lines (21 loc) • 687 B
JavaScript
// @ts-check
import SemanticReleaseError from '@semantic-release/error';
import { execa } from 'execa';
import process from 'node:process';
export async function verifyOvsxAuth(logger, cwd) {
logger.log('Verifying authentication for ovsx');
if (!process.env.OVSX_PAT) {
throw new SemanticReleaseError(
'Empty ovsx personal access token (`OVSX_PAT` environment variable) specified.',
'EEMPTYOVSXPAT',
);
}
try {
await execa('ovsx', ['verify-pat'], { preferLocal: true, cwd });
} catch (error) {
throw new SemanticReleaseError(
`Invalid ovsx personal access token. Additional information:\n\n${error}`,
'EINVALIDOVSXPAT',
);
}
}