mirror of
https://gitea.com/actions/setup-node.git
synced 2024-11-24 11:09:33 +01:00
feature: support Azure DevOps Artifacts
This commit is contained in:
parent
5b32c9063c
commit
38c86467c6
2 changed files with 21 additions and 6 deletions
|
@ -4,7 +4,11 @@ import * as path from 'path';
|
|||
import * as core from '@actions/core';
|
||||
import * as github from '@actions/github';
|
||||
|
||||
export function configAuthentication(registryUrl: string, alwaysAuth: string) {
|
||||
export function configAuthentication(
|
||||
registryUrl: string,
|
||||
alwaysAuth: string,
|
||||
username?: string
|
||||
) {
|
||||
const npmrc: string = path.resolve(
|
||||
process.env['RUNNER_TEMP'] || process.cwd(),
|
||||
'.npmrc'
|
||||
|
@ -13,13 +17,14 @@ export function configAuthentication(registryUrl: string, alwaysAuth: string) {
|
|||
registryUrl += '/';
|
||||
}
|
||||
|
||||
writeRegistryToFile(registryUrl, npmrc, alwaysAuth);
|
||||
writeRegistryToFile(registryUrl, npmrc, alwaysAuth, username);
|
||||
}
|
||||
|
||||
function writeRegistryToFile(
|
||||
registryUrl: string,
|
||||
fileLocation: string,
|
||||
alwaysAuth: string
|
||||
alwaysAuth: string,
|
||||
username?: string
|
||||
) {
|
||||
let scope: string = core.getInput('scope');
|
||||
if (!scope && registryUrl.indexOf('npm.pkg.github.com') > -1) {
|
||||
|
@ -44,8 +49,17 @@ function writeRegistryToFile(
|
|||
});
|
||||
}
|
||||
// Remove http: or https: from front of registry.
|
||||
const authString: string =
|
||||
registryUrl.replace(/(^\w+:|^)/, '') + ':_authToken=${NODE_AUTH_TOKEN}';
|
||||
const registryPrefix = registryUrl.replace(/(^\w+:|^)/, '');
|
||||
|
||||
if (username) {
|
||||
newContents += registryPrefix + `:_username=${username}${os.EOL}`;
|
||||
newContents += registryPrefix + `:_email=dummy value`;
|
||||
}
|
||||
|
||||
const authString: string = username
|
||||
? registryPrefix + ':_password=${NODE_AUTH_TOKEN}'
|
||||
: registryPrefix + ':_authToken=${NODE_AUTH_TOKEN}';
|
||||
|
||||
const registryString = `${scope}registry=${registryUrl}`;
|
||||
const alwaysAuthString = `always-auth=${alwaysAuth}`;
|
||||
newContents += `${authString}${os.EOL}${registryString}${os.EOL}${alwaysAuthString}`;
|
||||
|
|
|
@ -55,8 +55,9 @@ export async function run() {
|
|||
|
||||
const registryUrl: string = core.getInput('registry-url');
|
||||
const alwaysAuth: string = core.getInput('always-auth');
|
||||
const username: string | undefined = core.getInput('username');
|
||||
if (registryUrl) {
|
||||
auth.configAuthentication(registryUrl, alwaysAuth);
|
||||
auth.configAuthentication(registryUrl, alwaysAuth, username);
|
||||
}
|
||||
|
||||
if (cache && isCacheFeatureAvailable()) {
|
||||
|
|
Loading…
Reference in a new issue