| 
									
										
										
										
											2019-08-05 11:35:39 -04:00
										 |  |  | "use strict"; | 
					
						
							|  |  |  | var __importStar = (this && this.__importStar) || function (mod) { | 
					
						
							|  |  |  |     if (mod && mod.__esModule) return mod; | 
					
						
							|  |  |  |     var result = {}; | 
					
						
							|  |  |  |     if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; | 
					
						
							|  |  |  |     result["default"] = mod; | 
					
						
							|  |  |  |     return result; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | Object.defineProperty(exports, "__esModule", { value: true }); | 
					
						
							| 
									
										
										
										
											2019-08-05 11:51:04 -04:00
										 |  |  | const fs = __importStar(require("fs")); | 
					
						
							|  |  |  | const os = __importStar(require("os")); | 
					
						
							| 
									
										
										
										
											2019-08-05 11:35:39 -04:00
										 |  |  | const path = __importStar(require("path")); | 
					
						
							| 
									
										
										
										
											2019-08-05 11:51:04 -04:00
										 |  |  | const core = __importStar(require("@actions/core")); | 
					
						
							| 
									
										
										
										
											2019-08-05 15:18:52 -04:00
										 |  |  | const github = __importStar(require("@actions/github")); | 
					
						
							| 
									
										
										
										
											2019-08-05 13:12:37 -04:00
										 |  |  | function configAuthentication(registryUrl) { | 
					
						
							| 
									
										
										
										
											2019-08-06 14:46:42 -04:00
										 |  |  |     const npmrc = path.resolve(process.env['RUNNER_TEMP'] || process.cwd(), '.npmrc'); | 
					
						
							| 
									
										
										
										
											2019-08-06 14:08:18 -04:00
										 |  |  |     if (!registryUrl.endsWith('/')) { | 
					
						
							|  |  |  |         registryUrl += '/'; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2019-08-05 11:57:53 -04:00
										 |  |  |     writeRegistryToFile(registryUrl, npmrc); | 
					
						
							| 
									
										
										
										
											2019-08-05 11:35:39 -04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2019-08-05 13:12:37 -04:00
										 |  |  | exports.configAuthentication = configAuthentication; | 
					
						
							| 
									
										
										
										
											2019-08-05 11:57:53 -04:00
										 |  |  | function writeRegistryToFile(registryUrl, fileLocation) { | 
					
						
							| 
									
										
										
										
											2019-08-05 15:18:52 -04:00
										 |  |  |     let scope = core.getInput('scope'); | 
					
						
							|  |  |  |     if (!scope && registryUrl.indexOf('npm.pkg.github.com') > -1) { | 
					
						
							|  |  |  |         scope = github.context.repo.owner; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     if (scope && scope[0] != '@') { | 
					
						
							|  |  |  |         scope = '@' + scope; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2019-08-05 11:51:04 -04:00
										 |  |  |     core.debug(`Setting auth in ${fileLocation}`); | 
					
						
							|  |  |  |     let newContents = ''; | 
					
						
							| 
									
										
										
										
											2019-08-06 16:39:01 -04:00
										 |  |  |      | 
					
						
							| 
									
										
										
										
											2019-08-05 15:18:52 -04:00
										 |  |  |     // Remove http: or https: from front of registry.
 | 
					
						
							|  |  |  |     const authString = registryUrl.replace(/(^\w+:|^)/, '') + ':_authToken=${NODE_AUTH_TOKEN}'; | 
					
						
							| 
									
										
										
										
											2019-08-06 09:26:34 -04:00
										 |  |  |     const registryString = scope | 
					
						
							|  |  |  |         ? `${scope}:registry=${registryUrl}` | 
					
						
							|  |  |  |         : `registry=${registryUrl}`; | 
					
						
							| 
									
										
										
										
											2019-08-06 12:23:49 -04:00
										 |  |  |     newContents += `${authString}${os.EOL}${registryString}`; | 
					
						
							| 
									
										
										
										
											2019-08-05 11:51:04 -04:00
										 |  |  |     fs.writeFileSync(fileLocation, newContents); | 
					
						
							| 
									
										
										
										
											2019-08-06 14:46:42 -04:00
										 |  |  |     core.exportVariable('NPM_CONFIG_USERCONFIG', fileLocation); | 
					
						
							| 
									
										
										
										
											2019-08-06 09:47:51 -04:00
										 |  |  |     // Export empty node_auth_token so npm doesn't complain about not being able to find it
 | 
					
						
							| 
									
										
										
										
											2019-08-06 14:46:42 -04:00
										 |  |  |     core.exportVariable('NODE_AUTH_TOKEN', 'XXXXX-XXXXX-XXXXX-XXXXX'); | 
					
						
							| 
									
										
										
										
											2019-08-05 11:35:39 -04:00
										 |  |  | } |