From 985b55739360e9733cba2b04cdf8b555d1c5453a Mon Sep 17 00:00:00 2001 From: Danny McCormick Date: Tue, 6 Aug 2019 09:26:34 -0400 Subject: [PATCH] npmrc in RUNNER_TEMP --- lib/authutil.js | 7 +++++-- src/authutil.ts | 6 +++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/authutil.js b/lib/authutil.js index aaf660b9..162872eb 100644 --- a/lib/authutil.js +++ b/lib/authutil.js @@ -13,7 +13,7 @@ const path = __importStar(require("path")); const core = __importStar(require("@actions/core")); const github = __importStar(require("@actions/github")); function configAuthentication(registryUrl) { - const npmrc = path.resolve(process.cwd(), '.npmrc'); + const npmrc = path.resolve(process.env['RUNNER_TEMP'] || process.cwd(), '.npmrc'); writeRegistryToFile(registryUrl, npmrc); } exports.configAuthentication = configAuthentication; @@ -38,7 +38,10 @@ function writeRegistryToFile(registryUrl, fileLocation) { } // Remove http: or https: from front of registry. const authString = registryUrl.replace(/(^\w+:|^)/, '') + ':_authToken=${NODE_AUTH_TOKEN}'; - const registryString = scope ? `${scope}:registry=${registryUrl}` : `registry=${registryUrl}`; + const registryString = scope + ? `${scope}:registry=${registryUrl}` + : `registry=${registryUrl}`; newContents += `${registryString}${os.EOL}always-auth=true${os.EOL}${authString}`; fs.writeFileSync(fileLocation, newContents); + core.exportVariable('NPM_CONFIG_USERCONFIG', fileLocation); } diff --git a/src/authutil.ts b/src/authutil.ts index 7a114d29..8c401498 100644 --- a/src/authutil.ts +++ b/src/authutil.ts @@ -5,7 +5,10 @@ import * as core from '@actions/core'; import * as github from '@actions/github'; export function configAuthentication(registryUrl: string) { - const npmrc: string = path.resolve(process.cwd(), '.npmrc'); + const npmrc: string = path.resolve( + process.env['RUNNER_TEMP'] || process.cwd(), + '.npmrc' + ); writeRegistryToFile(registryUrl, npmrc); } @@ -38,4 +41,5 @@ function writeRegistryToFile(registryUrl: string, fileLocation: string) { : `registry=${registryUrl}`; newContents += `${registryString}${os.EOL}always-auth=true${os.EOL}${authString}`; fs.writeFileSync(fileLocation, newContents); + core.exportVariable('NPM_CONFIG_USERCONFIG', fileLocation); }