mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-04 11:13:35 +00:00 
			
		
		
		
	* Updates * Update * Update * Update * Update * Yarn sometimes prefers npmrc, so use same token * Description * Update readme * Feedback * Add type * new toolkit and scoped registries * npmrc in RUNNER_TEMP * Dont always auth * Try exporting blank token * Get auth working for now pending runner changes * Fix string interpolation for auth token. * Don't export both userconfigs * Update authutil.js * Add single quotes for authString * Fix the registry string. * Use userconfig and append trailing slash * Keep in root of repo * Try just adding auth token * Remove auth token * Try changes again * Add tests * Npm and GPR samples * Add types
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
const pump = require('pump');
 | 
						|
const bufferStream = require('./buffer-stream');
 | 
						|
 | 
						|
class MaxBufferError extends Error {
 | 
						|
	constructor() {
 | 
						|
		super('maxBuffer exceeded');
 | 
						|
		this.name = 'MaxBufferError';
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function getStream(inputStream, options) {
 | 
						|
	if (!inputStream) {
 | 
						|
		return Promise.reject(new Error('Expected a stream'));
 | 
						|
	}
 | 
						|
 | 
						|
	options = Object.assign({maxBuffer: Infinity}, options);
 | 
						|
 | 
						|
	const {maxBuffer} = options;
 | 
						|
 | 
						|
	let stream;
 | 
						|
	return new Promise((resolve, reject) => {
 | 
						|
		const rejectPromise = error => {
 | 
						|
			if (error) { // A null check
 | 
						|
				error.bufferedData = stream.getBufferedValue();
 | 
						|
			}
 | 
						|
			reject(error);
 | 
						|
		};
 | 
						|
 | 
						|
		stream = pump(inputStream, bufferStream(options), error => {
 | 
						|
			if (error) {
 | 
						|
				rejectPromise(error);
 | 
						|
				return;
 | 
						|
			}
 | 
						|
 | 
						|
			resolve();
 | 
						|
		});
 | 
						|
 | 
						|
		stream.on('data', () => {
 | 
						|
			if (stream.getBufferedLength() > maxBuffer) {
 | 
						|
				rejectPromise(new MaxBufferError());
 | 
						|
			}
 | 
						|
		});
 | 
						|
	}).then(() => stream.getBufferedValue());
 | 
						|
}
 | 
						|
 | 
						|
module.exports = getStream;
 | 
						|
module.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'}));
 | 
						|
module.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true}));
 | 
						|
module.exports.MaxBufferError = MaxBufferError;
 |