34 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "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 });
 | |
| const fs = __importStar(require("fs"));
 | |
| const os = __importStar(require("os"));
 | |
| const path = __importStar(require("path"));
 | |
| function configAuth(registryUrl) {
 | |
|     let npmrc = path.resolve(process.cwd(), '.npmrc');
 | |
|     let yarnrc = path.resolve(process.cwd(), '.yarnrc');
 | |
|     writeRegistryToFile(registryUrl, npmrc, 'NPM_TOKEN');
 | |
|     writeRegistryToFile(registryUrl, yarnrc, 'YARN_TOKEN');
 | |
| }
 | |
| exports.configAuth = configAuth;
 | |
| function writeRegistryToFile(registryUrl, fileLocation, authTokenName) {
 | |
|     let newContents = '';
 | |
|     if (fs.existsSync(fileLocation)) {
 | |
|         const curContents = fs.readFileSync(fileLocation, 'utf8');
 | |
|         curContents.split(os.EOL).forEach((line) => {
 | |
|             // Add current contents unless they are setting the registry
 | |
|             if (!line.startsWith('registry')) {
 | |
|                 newContents += line + os.EOL;
 | |
|             }
 | |
|         });
 | |
|     }
 | |
|     newContents += 'registry=' + registryUrl + os.EOL + 'always-auth=true' + os.EOL + registryUrl.replace(/(^\w+:|^)/, '') + ':_authToken=${' + authTokenName + '}';
 | |
|     fs.writeFileSync(fileLocation, newContents);
 | |
| }
 |