setup-node/src/authutil.ts
Danny McCormick 0930c1111e Update
2019-08-05 11:46:12 -04:00

30 lines
895 B
TypeScript

import * as core from '@actions/core';
import * as path from 'path';
import * as exec from '@actions/exec';
export async function configAuth(registryUrl: string) {
let npmrc: string = path.resolve(process.cwd(), '.npmrc');
let yarnrc: string = path.resolve(process.cwd(), '.yarnrc');
await writeRegistryToFile(registryUrl, 'npm', 'NPM_TOKEN');
// writeRegistryToFile(registryUrl, 'yarn', 'YARN_TOKEN');
}
async function writeRegistryToFile(
registryUrl: string,
packageManager: string,
authTokenName: string
) {
core.debug(`Setting up ${packageManager} auth`);
await exec.exec(`${packageManager} config set registry=${registryUrl}`);
await exec.exec(`${packageManager} config set always-auth=true`);
await exec.exec(
packageManager +
' config set ' +
registryUrl.replace(/(^\w+:|^)/, '') +
':_authToken ${' +
authTokenName +
'}'
);
}