mirror of
				https://github.com/docker/login-action.git
				synced 2025-10-31 01:40:11 +08:00 
			
		
		
		
	handle proxy settings for aws-sdk
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									17f28ab24d
								
							
						
					
					
						commit
						caca3368ce
					
				
							
								
								
									
										984
									
								
								dist/bridge.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										984
									
								
								dist/bridge.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,984 @@ | ||||
| /******/ (() => { // webpackBootstrap
 | ||||
| /******/ 	"use strict"; | ||||
| /******/ 	var __webpack_modules__ = ({ | ||||
| 
 | ||||
| /***/ 989: | ||||
| /***/ ((__unused_webpack_module, exports) => { | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /** | ||||
|  * __        ___    ____  _   _ ___ _   _  ____ | ||||
|  * \ \      / / \  |  _ \| \ | |_ _| \ | |/ ___| | ||||
|  *  \ \ /\ / / _ \ | |_) |  \| || ||  \| | |  _ | ||||
|  *   \ V  V / ___ \|  _ <| |\  || || |\  | |_| | | ||||
|  *    \_/\_/_/   \_\_| \_\_| \_|___|_| \_|\____| | ||||
|  * | ||||
|  * This file is critical for vm2. It implements the bridge between the host and the sandbox. | ||||
|  * If you do not know exactly what you are doing, you should NOT edit this file. | ||||
|  * | ||||
|  * The file is loaded in the host and sandbox to handle objects in both directions. | ||||
|  * This is done to ensure that RangeErrors are from the correct context. | ||||
|  * The boundary between the sandbox and host might throw RangeErrors from both contexts. | ||||
|  * Therefore, thisFromOther and friends can handle objects from both domains. | ||||
|  * | ||||
|  * Method parameters have comments to tell from which context they came. | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| const globalsList = [ | ||||
| 	'Number', | ||||
| 	'String', | ||||
| 	'Boolean', | ||||
| 	'Date', | ||||
| 	'RegExp', | ||||
| 	'Map', | ||||
| 	'WeakMap', | ||||
| 	'Set', | ||||
| 	'WeakSet', | ||||
| 	'Promise', | ||||
| 	'Function' | ||||
| ]; | ||||
| 
 | ||||
| const errorsList = [ | ||||
| 	'RangeError', | ||||
| 	'ReferenceError', | ||||
| 	'SyntaxError', | ||||
| 	'TypeError', | ||||
| 	'EvalError', | ||||
| 	'URIError', | ||||
| 	'Error' | ||||
| ]; | ||||
| 
 | ||||
| const OPNA = 'Operation not allowed on contextified object.'; | ||||
| 
 | ||||
| const thisGlobalPrototypes = { | ||||
| 	__proto__: null, | ||||
| 	Object: Object.prototype, | ||||
| 	Array: Array.prototype | ||||
| }; | ||||
| 
 | ||||
| for (let i = 0; i < globalsList.length; i++) { | ||||
| 	const key = globalsList[i]; | ||||
| 	const g = global[key]; | ||||
| 	if (g) thisGlobalPrototypes[key] = g.prototype; | ||||
| } | ||||
| 
 | ||||
| for (let i = 0; i < errorsList.length; i++) { | ||||
| 	const key = errorsList[i]; | ||||
| 	const g = global[key]; | ||||
| 	if (g) thisGlobalPrototypes[key] = g.prototype; | ||||
| } | ||||
| 
 | ||||
| const { | ||||
| 	getPrototypeOf: thisReflectGetPrototypeOf, | ||||
| 	setPrototypeOf: thisReflectSetPrototypeOf, | ||||
| 	defineProperty: thisReflectDefineProperty, | ||||
| 	deleteProperty: thisReflectDeleteProperty, | ||||
| 	getOwnPropertyDescriptor: thisReflectGetOwnPropertyDescriptor, | ||||
| 	isExtensible: thisReflectIsExtensible, | ||||
| 	preventExtensions: thisReflectPreventExtensions, | ||||
| 	apply: thisReflectApply, | ||||
| 	construct: thisReflectConstruct, | ||||
| 	set: thisReflectSet, | ||||
| 	get: thisReflectGet, | ||||
| 	has: thisReflectHas, | ||||
| 	ownKeys: thisReflectOwnKeys, | ||||
| 	enumerate: thisReflectEnumerate, | ||||
| } = Reflect; | ||||
| 
 | ||||
| const thisObject = Object; | ||||
| const { | ||||
| 	freeze: thisObjectFreeze, | ||||
| 	prototype: thisObjectPrototype | ||||
| } = thisObject; | ||||
| const thisObjectHasOwnProperty = thisObjectPrototype.hasOwnProperty; | ||||
| const ThisProxy = Proxy; | ||||
| const ThisWeakMap = WeakMap; | ||||
| const { | ||||
| 	get: thisWeakMapGet, | ||||
| 	set: thisWeakMapSet | ||||
| } = ThisWeakMap.prototype; | ||||
| const ThisMap = Map; | ||||
| const thisMapGet = ThisMap.prototype.get; | ||||
| const thisMapSet = ThisMap.prototype.set; | ||||
| const thisFunction = Function; | ||||
| const thisFunctionBind = thisFunction.prototype.bind; | ||||
| const thisArrayIsArray = Array.isArray; | ||||
| const thisErrorCaptureStackTrace = Error.captureStackTrace; | ||||
| 
 | ||||
| const thisSymbolToString = Symbol.prototype.toString; | ||||
| const thisSymbolToStringTag = Symbol.toStringTag; | ||||
| 
 | ||||
| /** | ||||
|  * VMError. | ||||
|  * | ||||
|  * @public | ||||
|  * @extends {Error} | ||||
|  */ | ||||
| class VMError extends Error { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Create VMError instance. | ||||
| 	 * | ||||
| 	 * @public | ||||
| 	 * @param {string} message - Error message. | ||||
| 	 * @param {string} code - Error code. | ||||
| 	 */ | ||||
| 	constructor(message, code) { | ||||
| 		super(message); | ||||
| 
 | ||||
| 		this.name = 'VMError'; | ||||
| 		this.code = code; | ||||
| 
 | ||||
| 		thisErrorCaptureStackTrace(this, this.constructor); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| thisGlobalPrototypes['VMError'] = VMError.prototype; | ||||
| 
 | ||||
| function thisUnexpected() { | ||||
| 	return new VMError('Unexpected'); | ||||
| } | ||||
| 
 | ||||
| if (!thisReflectSetPrototypeOf(exports, null)) throw thisUnexpected(); | ||||
| 
 | ||||
| function thisSafeGetOwnPropertyDescriptor(obj, key) { | ||||
| 	const desc = thisReflectGetOwnPropertyDescriptor(obj, key); | ||||
| 	if (!desc) return desc; | ||||
| 	if (!thisReflectSetPrototypeOf(desc, null)) throw thisUnexpected(); | ||||
| 	return desc; | ||||
| } | ||||
| 
 | ||||
| function thisThrowCallerCalleeArgumentsAccess(key) { | ||||
| 	'use strict'; | ||||
| 	thisThrowCallerCalleeArgumentsAccess[key]; | ||||
| 	return thisUnexpected(); | ||||
| } | ||||
| 
 | ||||
| function thisIdMapping(factory, other) { | ||||
| 	return other; | ||||
| } | ||||
| 
 | ||||
| const thisThrowOnKeyAccessHandler = thisObjectFreeze({ | ||||
| 	__proto__: null, | ||||
| 	get(target, key, receiver) { | ||||
| 		if (typeof key === 'symbol') { | ||||
| 			key = thisReflectApply(thisSymbolToString, key, []); | ||||
| 		} | ||||
| 		throw new VMError(`Unexpected access to key '${key}'`); | ||||
| 	} | ||||
| }); | ||||
| 
 | ||||
| const emptyForzenObject = thisObjectFreeze({ | ||||
| 	__proto__: null | ||||
| }); | ||||
| 
 | ||||
| const thisThrowOnKeyAccess = new ThisProxy(emptyForzenObject, thisThrowOnKeyAccessHandler); | ||||
| 
 | ||||
| function SafeBase() {} | ||||
| 
 | ||||
| if (!thisReflectDefineProperty(SafeBase, 'prototype', { | ||||
| 	__proto__: null, | ||||
| 	value: thisThrowOnKeyAccess | ||||
| })) throw thisUnexpected(); | ||||
| 
 | ||||
| function SHARED_FUNCTION() {} | ||||
| 
 | ||||
| const TEST_PROXY_HANDLER = thisObjectFreeze({ | ||||
| 	__proto__: thisThrowOnKeyAccess, | ||||
| 	construct() { | ||||
| 		return this; | ||||
| 	} | ||||
| }); | ||||
| 
 | ||||
| function thisIsConstructor(obj) { | ||||
| 	// Note: obj@any(unsafe)
 | ||||
| 	const Func = new ThisProxy(obj, TEST_PROXY_HANDLER); | ||||
| 	try { | ||||
| 		// eslint-disable-next-line no-new
 | ||||
| 		new Func(); | ||||
| 		return true; | ||||
| 	} catch (e) { | ||||
| 		return false; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function thisCreateTargetObject(obj, proto) { | ||||
| 	// Note: obj@any(unsafe) proto@any(unsafe) returns@this(unsafe) throws@this(unsafe)
 | ||||
| 	let base; | ||||
| 	if (typeof obj === 'function') { | ||||
| 		if (thisIsConstructor(obj)) { | ||||
| 			// Bind the function since bound functions do not have a prototype property.
 | ||||
| 			base = thisReflectApply(thisFunctionBind, SHARED_FUNCTION, [null]); | ||||
| 		} else { | ||||
| 			base = () => {}; | ||||
| 		} | ||||
| 	} else if (thisArrayIsArray(obj)) { | ||||
| 		base = []; | ||||
| 	} else { | ||||
| 		return {__proto__: proto}; | ||||
| 	} | ||||
| 	if (!thisReflectSetPrototypeOf(base, proto)) throw thisUnexpected(); | ||||
| 	return base; | ||||
| } | ||||
| 
 | ||||
| function createBridge(otherInit, registerProxy) { | ||||
| 
 | ||||
| 	const mappingOtherToThis = new ThisWeakMap(); | ||||
| 	const protoMappings = new ThisMap(); | ||||
| 	const protoName = new ThisMap(); | ||||
| 
 | ||||
| 	function thisAddProtoMapping(proto, other, name) { | ||||
| 		// Note: proto@this(unsafe) other@other(unsafe) name@this(unsafe) throws@this(unsafe)
 | ||||
| 		thisReflectApply(thisMapSet, protoMappings, [proto, thisIdMapping]); | ||||
| 		thisReflectApply(thisMapSet, protoMappings, [other, | ||||
| 			(factory, object) => thisProxyOther(factory, object, proto)]); | ||||
| 		if (name) thisReflectApply(thisMapSet, protoName, [proto, name]); | ||||
| 	} | ||||
| 
 | ||||
| 	function thisAddProtoMappingFactory(protoFactory, other, name) { | ||||
| 		// Note: protoFactory@this(unsafe) other@other(unsafe) name@this(unsafe) throws@this(unsafe)
 | ||||
| 		let proto; | ||||
| 		thisReflectApply(thisMapSet, protoMappings, [other, | ||||
| 			(factory, object) => { | ||||
| 				if (!proto) { | ||||
| 					proto = protoFactory(); | ||||
| 					thisReflectApply(thisMapSet, protoMappings, [proto, thisIdMapping]); | ||||
| 					if (name) thisReflectApply(thisMapSet, protoName, [proto, name]); | ||||
| 				} | ||||
| 				return thisProxyOther(factory, object, proto); | ||||
| 			}]); | ||||
| 	} | ||||
| 
 | ||||
| 	const result = { | ||||
| 		__proto__: null, | ||||
| 		globalPrototypes: thisGlobalPrototypes, | ||||
| 		safeGetOwnPropertyDescriptor: thisSafeGetOwnPropertyDescriptor, | ||||
| 		fromArguments: thisFromOtherArguments, | ||||
| 		from: thisFromOther, | ||||
| 		fromWithFactory: thisFromOtherWithFactory, | ||||
| 		ensureThis: thisEnsureThis, | ||||
| 		mapping: mappingOtherToThis, | ||||
| 		connect: thisConnect, | ||||
| 		reflectSet: thisReflectSet, | ||||
| 		reflectGet: thisReflectGet, | ||||
| 		reflectDefineProperty: thisReflectDefineProperty, | ||||
| 		reflectDeleteProperty: thisReflectDeleteProperty, | ||||
| 		reflectApply: thisReflectApply, | ||||
| 		reflectConstruct: thisReflectConstruct, | ||||
| 		reflectHas: thisReflectHas, | ||||
| 		reflectOwnKeys: thisReflectOwnKeys, | ||||
| 		reflectEnumerate: thisReflectEnumerate, | ||||
| 		reflectGetPrototypeOf: thisReflectGetPrototypeOf, | ||||
| 		reflectIsExtensible: thisReflectIsExtensible, | ||||
| 		reflectPreventExtensions: thisReflectPreventExtensions, | ||||
| 		objectHasOwnProperty: thisObjectHasOwnProperty, | ||||
| 		weakMapSet: thisWeakMapSet, | ||||
| 		addProtoMapping: thisAddProtoMapping, | ||||
| 		addProtoMappingFactory: thisAddProtoMappingFactory, | ||||
| 		defaultFactory, | ||||
| 		protectedFactory, | ||||
| 		readonlyFactory, | ||||
| 		VMError | ||||
| 	}; | ||||
| 
 | ||||
| 	const isHost = typeof otherInit !== 'object'; | ||||
| 
 | ||||
| 	if (isHost) { | ||||
| 		otherInit = otherInit(result, registerProxy); | ||||
| 	} | ||||
| 
 | ||||
| 	result.other = otherInit; | ||||
| 
 | ||||
| 	const { | ||||
| 		globalPrototypes: otherGlobalPrototypes, | ||||
| 		safeGetOwnPropertyDescriptor: otherSafeGetOwnPropertyDescriptor, | ||||
| 		fromArguments: otherFromThisArguments, | ||||
| 		from: otherFromThis, | ||||
| 		mapping: mappingThisToOther, | ||||
| 		reflectSet: otherReflectSet, | ||||
| 		reflectGet: otherReflectGet, | ||||
| 		reflectDefineProperty: otherReflectDefineProperty, | ||||
| 		reflectDeleteProperty: otherReflectDeleteProperty, | ||||
| 		reflectApply: otherReflectApply, | ||||
| 		reflectConstruct: otherReflectConstruct, | ||||
| 		reflectHas: otherReflectHas, | ||||
| 		reflectOwnKeys: otherReflectOwnKeys, | ||||
| 		reflectEnumerate: otherReflectEnumerate, | ||||
| 		reflectGetPrototypeOf: otherReflectGetPrototypeOf, | ||||
| 		reflectIsExtensible: otherReflectIsExtensible, | ||||
| 		reflectPreventExtensions: otherReflectPreventExtensions, | ||||
| 		objectHasOwnProperty: otherObjectHasOwnProperty, | ||||
| 		weakMapSet: otherWeakMapSet | ||||
| 	} = otherInit; | ||||
| 
 | ||||
| 	function thisOtherHasOwnProperty(object, key) { | ||||
| 		// Note: object@other(safe) key@prim throws@this(unsafe)
 | ||||
| 		try { | ||||
| 			return otherReflectApply(otherObjectHasOwnProperty, object, [key]) === true; | ||||
| 		} catch (e) { // @other(unsafe)
 | ||||
| 			throw thisFromOther(e); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	function thisDefaultGet(handler, object, key, desc) { | ||||
| 		// Note: object@other(unsafe) key@prim desc@other(safe)
 | ||||
| 		let ret; // @other(unsafe)
 | ||||
| 		if (desc.get || desc.set) { | ||||
| 			const getter = desc.get; | ||||
| 			if (!getter) return undefined; | ||||
| 			try { | ||||
| 				ret = otherReflectApply(getter, object, [key]); | ||||
| 			} catch (e) { | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 		} else { | ||||
| 			ret = desc.value; | ||||
| 		} | ||||
| 		return handler.fromOtherWithContext(ret); | ||||
| 	} | ||||
| 
 | ||||
| 	function otherFromThisIfAvailable(to, from, key) { | ||||
| 		// Note: to@other(safe) from@this(safe) key@prim throws@this(unsafe)
 | ||||
| 		if (!thisReflectApply(thisObjectHasOwnProperty, from, [key])) return false; | ||||
| 		try { | ||||
| 			to[key] = otherFromThis(from[key]); | ||||
| 		} catch (e) { // @other(unsafe)
 | ||||
| 			throw thisFromOther(e); | ||||
| 		} | ||||
| 		return true; | ||||
| 	} | ||||
| 
 | ||||
| 	class BaseHandler extends SafeBase { | ||||
| 
 | ||||
| 		constructor(object) { | ||||
| 			// Note: object@other(unsafe) throws@this(unsafe)
 | ||||
| 			super(); | ||||
| 			this.object = object; | ||||
| 		} | ||||
| 
 | ||||
| 		getFactory() { | ||||
| 			return defaultFactory; | ||||
| 		} | ||||
| 
 | ||||
| 		fromOtherWithContext(other) { | ||||
| 			// Note: other@other(unsafe) throws@this(unsafe)
 | ||||
| 			return thisFromOtherWithFactory(this.getFactory(), other); | ||||
| 		} | ||||
| 
 | ||||
| 		doPreventExtensions(target, object, factory) { | ||||
| 			// Note: target@this(unsafe) object@other(unsafe) throws@this(unsafe)
 | ||||
| 			let keys; // @other(safe-array-of-prim)
 | ||||
| 			try { | ||||
| 				keys = otherReflectOwnKeys(object); | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 			for (let i = 0; i < keys.length; i++) { | ||||
| 				const key = keys[i]; // @prim
 | ||||
| 				let desc; | ||||
| 				try { | ||||
| 					desc = otherSafeGetOwnPropertyDescriptor(object, key); | ||||
| 				} catch (e) { // @other(unsafe)
 | ||||
| 					throw thisFromOther(e); | ||||
| 				} | ||||
| 				if (!desc) continue; | ||||
| 				if (!desc.configurable) { | ||||
| 					const current = thisSafeGetOwnPropertyDescriptor(target, key); | ||||
| 					if (current && !current.configurable) continue; | ||||
| 					if (desc.get || desc.set) { | ||||
| 						desc.get = this.fromOtherWithContext(desc.get); | ||||
| 						desc.set = this.fromOtherWithContext(desc.set); | ||||
| 					} else if (typeof object === 'function' && (key === 'caller' || key === 'callee' || key === 'arguments')) { | ||||
| 						desc.value = null; | ||||
| 					} else { | ||||
| 						desc.value = this.fromOtherWithContext(desc.value); | ||||
| 					} | ||||
| 				} else { | ||||
| 					if (desc.get || desc.set) { | ||||
| 						desc = { | ||||
| 							__proto__: null, | ||||
| 							configurable: true, | ||||
| 							enumerable: desc.enumerable, | ||||
| 							writable: true, | ||||
| 							value: null | ||||
| 						}; | ||||
| 					} else { | ||||
| 						desc.value = null; | ||||
| 					} | ||||
| 				} | ||||
| 				if (!thisReflectDefineProperty(target, key, desc)) throw thisUnexpected(); | ||||
| 			} | ||||
| 			if (!thisReflectPreventExtensions(target)) throw thisUnexpected(); | ||||
| 		} | ||||
| 
 | ||||
| 		get(target, key, receiver) { | ||||
| 			// Note: target@this(unsafe) key@prim receiver@this(unsafe) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			switch (key) { | ||||
| 				case 'constructor': { | ||||
| 					const desc = otherSafeGetOwnPropertyDescriptor(object, key); | ||||
| 					if (desc) return thisDefaultGet(this, object, key, desc); | ||||
| 					const proto = thisReflectGetPrototypeOf(target); | ||||
| 					return proto === null ? undefined : proto.constructor; | ||||
| 				} | ||||
| 				case '__proto__': { | ||||
| 					const desc = otherSafeGetOwnPropertyDescriptor(object, key); | ||||
| 					if (desc) return thisDefaultGet(this, object, key, desc); | ||||
| 					return thisReflectGetPrototypeOf(target); | ||||
| 				} | ||||
| 				case thisSymbolToStringTag: | ||||
| 					if (!thisOtherHasOwnProperty(object, thisSymbolToStringTag)) { | ||||
| 						const proto = thisReflectGetPrototypeOf(target); | ||||
| 						const name = thisReflectApply(thisMapGet, protoName, [proto]); | ||||
| 						if (name) return name; | ||||
| 					} | ||||
| 					break; | ||||
| 				case 'arguments': | ||||
| 				case 'caller': | ||||
| 				case 'callee': | ||||
| 					if (thisOtherHasOwnProperty(object, key)) throw thisThrowCallerCalleeArgumentsAccess(key); | ||||
| 					break; | ||||
| 			} | ||||
| 			let ret; // @other(unsafe)
 | ||||
| 			try { | ||||
| 				ret = otherReflectGet(object, key); | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 			return this.fromOtherWithContext(ret); | ||||
| 		} | ||||
| 
 | ||||
| 		set(target, key, value, receiver) { | ||||
| 			// Note: target@this(unsafe) key@prim value@this(unsafe) receiver@this(unsafe) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			if (key === '__proto__' && !thisOtherHasOwnProperty(object, key)) { | ||||
| 				return this.setPrototypeOf(target, value); | ||||
| 			} | ||||
| 			try { | ||||
| 				value = otherFromThis(value); | ||||
| 				return otherReflectSet(object, key, value) === true; | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		getPrototypeOf(target) { | ||||
| 			// Note: target@this(unsafe)
 | ||||
| 			return thisReflectGetPrototypeOf(target); | ||||
| 		} | ||||
| 
 | ||||
| 		setPrototypeOf(target, value) { | ||||
| 			// Note: target@this(unsafe) throws@this(unsafe)
 | ||||
| 			throw new VMError(OPNA); | ||||
| 		} | ||||
| 
 | ||||
| 		apply(target, context, args) { | ||||
| 			// Note: target@this(unsafe) context@this(unsafe) args@this(safe-array) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			let ret; // @other(unsafe)
 | ||||
| 			try { | ||||
| 				context = otherFromThis(context); | ||||
| 				args = otherFromThisArguments(args); | ||||
| 				ret = otherReflectApply(object, context, args); | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 			return thisFromOther(ret); | ||||
| 		} | ||||
| 
 | ||||
| 		construct(target, args, newTarget) { | ||||
| 			// Note: target@this(unsafe) args@this(safe-array) newTarget@this(unsafe) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			let ret; // @other(unsafe)
 | ||||
| 			try { | ||||
| 				args = otherFromThisArguments(args); | ||||
| 				ret = otherReflectConstruct(object, args); | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 			return thisFromOtherWithFactory(this.getFactory(), ret, thisFromOther(object)); | ||||
| 		} | ||||
| 
 | ||||
| 		getOwnPropertyDescriptorDesc(target, prop, desc) { | ||||
| 			// Note: target@this(unsafe) prop@prim desc@other{safe} throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			if (desc && typeof object === 'function' && (prop === 'arguments' || prop === 'caller' || prop === 'callee')) desc.value = null; | ||||
| 			return desc; | ||||
| 		} | ||||
| 
 | ||||
| 		getOwnPropertyDescriptor(target, prop) { | ||||
| 			// Note: target@this(unsafe) prop@prim throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			let desc; // @other(safe)
 | ||||
| 			try { | ||||
| 				desc = otherSafeGetOwnPropertyDescriptor(object, prop); | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 
 | ||||
| 			desc = this.getOwnPropertyDescriptorDesc(target, prop, desc); | ||||
| 
 | ||||
| 			if (!desc) return undefined; | ||||
| 
 | ||||
| 			let thisDesc; | ||||
| 			if (desc.get || desc.set) { | ||||
| 				thisDesc = { | ||||
| 					__proto__: null, | ||||
| 					get: this.fromOtherWithContext(desc.get), | ||||
| 					set: this.fromOtherWithContext(desc.set), | ||||
| 					enumerable: desc.enumerable === true, | ||||
| 					configurable: desc.configurable === true | ||||
| 				}; | ||||
| 			} else { | ||||
| 				thisDesc = { | ||||
| 					__proto__: null, | ||||
| 					value: this.fromOtherWithContext(desc.value), | ||||
| 					writable: desc.writable === true, | ||||
| 					enumerable: desc.enumerable === true, | ||||
| 					configurable: desc.configurable === true | ||||
| 				}; | ||||
| 			} | ||||
| 			if (!thisDesc.configurable) { | ||||
| 				const oldDesc = thisSafeGetOwnPropertyDescriptor(target, prop); | ||||
| 				if (!oldDesc || oldDesc.configurable || oldDesc.writable !== thisDesc.writable) { | ||||
| 					if (!thisReflectDefineProperty(target, prop, thisDesc)) throw thisUnexpected(); | ||||
| 				} | ||||
| 			} | ||||
| 			return thisDesc; | ||||
| 		} | ||||
| 
 | ||||
| 		definePropertyDesc(target, prop, desc) { | ||||
| 			// Note: target@this(unsafe) prop@prim desc@this(safe) throws@this(unsafe)
 | ||||
| 			return desc; | ||||
| 		} | ||||
| 
 | ||||
| 		defineProperty(target, prop, desc) { | ||||
| 			// Note: target@this(unsafe) prop@prim desc@this(unsafe) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			if (!thisReflectSetPrototypeOf(desc, null)) throw thisUnexpected(); | ||||
| 
 | ||||
| 			desc = this.definePropertyDesc(target, prop, desc); | ||||
| 
 | ||||
| 			if (!desc) return false; | ||||
| 
 | ||||
| 			let otherDesc = {__proto__: null}; | ||||
| 			let hasFunc = true; | ||||
| 			let hasValue = true; | ||||
| 			let hasBasic = true; | ||||
| 			hasFunc &= otherFromThisIfAvailable(otherDesc, desc, 'get'); | ||||
| 			hasFunc &= otherFromThisIfAvailable(otherDesc, desc, 'set'); | ||||
| 			hasValue &= otherFromThisIfAvailable(otherDesc, desc, 'value'); | ||||
| 			hasValue &= otherFromThisIfAvailable(otherDesc, desc, 'writable'); | ||||
| 			hasBasic &= otherFromThisIfAvailable(otherDesc, desc, 'enumerable'); | ||||
| 			hasBasic &= otherFromThisIfAvailable(otherDesc, desc, 'configurable'); | ||||
| 
 | ||||
| 			try { | ||||
| 				if (!otherReflectDefineProperty(object, prop, otherDesc)) return false; | ||||
| 				if (otherDesc.configurable !== true && (!hasBasic || !(hasFunc || hasValue))) { | ||||
| 					otherDesc = otherSafeGetOwnPropertyDescriptor(object, prop); | ||||
| 				} | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 
 | ||||
| 			if (!otherDesc.configurable) { | ||||
| 				let thisDesc; | ||||
| 				if (otherDesc.get || otherDesc.set) { | ||||
| 					thisDesc = { | ||||
| 						__proto__: null, | ||||
| 						get: this.fromOtherWithContext(otherDesc.get), | ||||
| 						set: this.fromOtherWithContext(otherDesc.set), | ||||
| 						enumerable: otherDesc.enumerable, | ||||
| 						configurable: otherDesc.configurable | ||||
| 					}; | ||||
| 				} else { | ||||
| 					thisDesc = { | ||||
| 						__proto__: null, | ||||
| 						value: this.fromOtherWithContext(otherDesc.value), | ||||
| 						writable: otherDesc.writable, | ||||
| 						enumerable: otherDesc.enumerable, | ||||
| 						configurable: otherDesc.configurable | ||||
| 					}; | ||||
| 				} | ||||
| 				if (!thisReflectDefineProperty(target, prop, thisDesc)) throw thisUnexpected(); | ||||
| 			} | ||||
| 			return true; | ||||
| 		} | ||||
| 
 | ||||
| 		deleteProperty(target, prop) { | ||||
| 			// Note: target@this(unsafe) prop@prim throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			try { | ||||
| 				return otherReflectDeleteProperty(object, prop) === true; | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		has(target, key) { | ||||
| 			// Note: target@this(unsafe) key@prim throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			try { | ||||
| 				return otherReflectHas(object, key) === true; | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		isExtensible(target) { | ||||
| 			// Note: target@this(unsafe) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			try { | ||||
| 				if (otherReflectIsExtensible(object)) return true; | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 			if (thisReflectIsExtensible(target)) { | ||||
| 				this.doPreventExtensions(target, object, this); | ||||
| 			} | ||||
| 			return false; | ||||
| 		} | ||||
| 
 | ||||
| 		ownKeys(target) { | ||||
| 			// Note: target@this(unsafe) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			let res; // @other(unsafe)
 | ||||
| 			try { | ||||
| 				res = otherReflectOwnKeys(object); | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 			return thisFromOther(res); | ||||
| 		} | ||||
| 
 | ||||
| 		preventExtensions(target) { | ||||
| 			// Note: target@this(unsafe) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			try { | ||||
| 				if (!otherReflectPreventExtensions(object)) return false; | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 			if (thisReflectIsExtensible(target)) { | ||||
| 				this.doPreventExtensions(target, object, this); | ||||
| 			} | ||||
| 			return true; | ||||
| 		} | ||||
| 
 | ||||
| 		enumerate(target) { | ||||
| 			// Note: target@this(unsafe) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			let res; // @other(unsafe)
 | ||||
| 			try { | ||||
| 				res = otherReflectEnumerate(object); | ||||
| 			} catch (e) { // @other(unsafe)
 | ||||
| 				throw thisFromOther(e); | ||||
| 			} | ||||
| 			return this.fromOtherWithContext(res); | ||||
| 		} | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	function defaultFactory(object) { | ||||
| 		// Note: other@other(unsafe) returns@this(unsafe) throws@this(unsafe)
 | ||||
| 		return new BaseHandler(object); | ||||
| 	} | ||||
| 
 | ||||
| 	class ProtectedHandler extends BaseHandler { | ||||
| 
 | ||||
| 		getFactory() { | ||||
| 			return protectedFactory; | ||||
| 		} | ||||
| 
 | ||||
| 		set(target, key, value, receiver) { | ||||
| 			// Note: target@this(unsafe) key@prim value@this(unsafe) receiver@this(unsafe) throws@this(unsafe)
 | ||||
| 			if (typeof value === 'function') { | ||||
| 				return thisReflectDefineProperty(receiver, key, { | ||||
| 					__proto__: null, | ||||
| 					value: value, | ||||
| 					writable: true, | ||||
| 					enumerable: true, | ||||
| 					configurable: true | ||||
| 				}) === true; | ||||
| 			} | ||||
| 			return super.set(target, key, value, receiver); | ||||
| 		} | ||||
| 
 | ||||
| 		definePropertyDesc(target, prop, desc) { | ||||
| 			// Note: target@this(unsafe) prop@prim desc@this(safe) throws@this(unsafe)
 | ||||
| 			if (desc && (desc.set || desc.get || typeof desc.value === 'function')) return undefined; | ||||
| 			return desc; | ||||
| 		} | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	function protectedFactory(object) { | ||||
| 		// Note: other@other(unsafe) returns@this(unsafe) throws@this(unsafe)
 | ||||
| 		return new ProtectedHandler(object); | ||||
| 	} | ||||
| 
 | ||||
| 	class ReadOnlyHandler extends BaseHandler { | ||||
| 
 | ||||
| 		getFactory() { | ||||
| 			return readonlyFactory; | ||||
| 		} | ||||
| 
 | ||||
| 		set(target, key, value, receiver) { | ||||
| 			// Note: target@this(unsafe) key@prim value@this(unsafe) receiver@this(unsafe) throws@this(unsafe)
 | ||||
| 			return thisReflectDefineProperty(receiver, key, { | ||||
| 				__proto__: null, | ||||
| 				value: value, | ||||
| 				writable: true, | ||||
| 				enumerable: true, | ||||
| 				configurable: true | ||||
| 			}); | ||||
| 		} | ||||
| 
 | ||||
| 		setPrototypeOf(target, value) { | ||||
| 			// Note: target@this(unsafe) throws@this(unsafe)
 | ||||
| 			return false; | ||||
| 		} | ||||
| 
 | ||||
| 		defineProperty(target, prop, desc) { | ||||
| 			// Note: target@this(unsafe) prop@prim desc@this(unsafe) throws@this(unsafe)
 | ||||
| 			return false; | ||||
| 		} | ||||
| 
 | ||||
| 		deleteProperty(target, prop) { | ||||
| 			// Note: target@this(unsafe) prop@prim throws@this(unsafe)
 | ||||
| 			return false; | ||||
| 		} | ||||
| 
 | ||||
| 		isExtensible(target) { | ||||
| 			// Note: target@this(unsafe) throws@this(unsafe)
 | ||||
| 			return false; | ||||
| 		} | ||||
| 
 | ||||
| 		preventExtensions(target) { | ||||
| 			// Note: target@this(unsafe) throws@this(unsafe)
 | ||||
| 			return false; | ||||
| 		} | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	function readonlyFactory(object) { | ||||
| 		// Note: other@other(unsafe) returns@this(unsafe) throws@this(unsafe)
 | ||||
| 		return new ReadOnlyHandler(object); | ||||
| 	} | ||||
| 
 | ||||
| 	class ReadOnlyMockHandler extends ReadOnlyHandler { | ||||
| 
 | ||||
| 		constructor(object, mock) { | ||||
| 			// Note: object@other(unsafe) mock:this(unsafe) throws@this(unsafe)
 | ||||
| 			super(object); | ||||
| 			this.mock = mock; | ||||
| 		} | ||||
| 
 | ||||
| 		get(target, key, receiver) { | ||||
| 			// Note: target@this(unsafe) key@prim receiver@this(unsafe) throws@this(unsafe)
 | ||||
| 			const object = this.object; // @other(unsafe)
 | ||||
| 			const mock = this.mock; | ||||
| 			if (thisReflectApply(thisObjectHasOwnProperty, mock, key) && !thisOtherHasOwnProperty(object, key)) { | ||||
| 				return mock[key]; | ||||
| 			} | ||||
| 			return super.get(target, key, receiver); | ||||
| 		} | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	function thisFromOther(other) { | ||||
| 		// Note: other@other(unsafe) returns@this(unsafe) throws@this(unsafe)
 | ||||
| 		return thisFromOtherWithFactory(defaultFactory, other); | ||||
| 	} | ||||
| 
 | ||||
| 	function thisProxyOther(factory, other, proto) { | ||||
| 		const target = thisCreateTargetObject(other, proto); | ||||
| 		const handler = factory(other); | ||||
| 		const proxy = new ThisProxy(target, handler); | ||||
| 		try { | ||||
| 			otherReflectApply(otherWeakMapSet, mappingThisToOther, [proxy, other]); | ||||
| 			registerProxy(proxy, handler); | ||||
| 		} catch (e) { | ||||
| 			throw new VMError('Unexpected error'); | ||||
| 		} | ||||
| 		if (!isHost) { | ||||
| 			thisReflectApply(thisWeakMapSet, mappingOtherToThis, [other, proxy]); | ||||
| 			return proxy; | ||||
| 		} | ||||
| 		const proxy2 = new ThisProxy(proxy, emptyForzenObject); | ||||
| 		try { | ||||
| 			otherReflectApply(otherWeakMapSet, mappingThisToOther, [proxy2, other]); | ||||
| 			registerProxy(proxy2, handler); | ||||
| 		} catch (e) { | ||||
| 			throw new VMError('Unexpected error'); | ||||
| 		} | ||||
| 		thisReflectApply(thisWeakMapSet, mappingOtherToThis, [other, proxy2]); | ||||
| 		return proxy2; | ||||
| 	} | ||||
| 
 | ||||
| 	function thisEnsureThis(other) { | ||||
| 		const type = typeof other; | ||||
| 		switch (type) { | ||||
| 			case 'object': | ||||
| 			case 'function': | ||||
| 				if (other === null) { | ||||
| 					return null; | ||||
| 				} else { | ||||
| 					let proto = thisReflectGetPrototypeOf(other); | ||||
| 					if (!proto) { | ||||
| 						return other; | ||||
| 					} | ||||
| 					while (proto) { | ||||
| 						const mapping = thisReflectApply(thisMapGet, protoMappings, [proto]); | ||||
| 						if (mapping) { | ||||
| 							const mapped = thisReflectApply(thisWeakMapGet, mappingOtherToThis, [other]); | ||||
| 							if (mapped) return mapped; | ||||
| 							return mapping(defaultFactory, other); | ||||
| 						} | ||||
| 						proto = thisReflectGetPrototypeOf(proto); | ||||
| 					} | ||||
| 					return other; | ||||
| 				} | ||||
| 
 | ||||
| 			case 'undefined': | ||||
| 			case 'string': | ||||
| 			case 'number': | ||||
| 			case 'boolean': | ||||
| 			case 'symbol': | ||||
| 			case 'bigint': | ||||
| 				return other; | ||||
| 
 | ||||
| 			default: // new, unknown types can be dangerous
 | ||||
| 				throw new VMError(`Unknown type '${type}'`); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	function thisFromOtherWithFactory(factory, other, proto) { | ||||
| 		for (let loop = 0; loop < 10; loop++) { | ||||
| 			const type = typeof other; | ||||
| 			switch (type) { | ||||
| 				case 'object': | ||||
| 				case 'function': | ||||
| 					if (other === null) { | ||||
| 						return null; | ||||
| 					} else { | ||||
| 						const mapped = thisReflectApply(thisWeakMapGet, mappingOtherToThis, [other]); | ||||
| 						if (mapped) return mapped; | ||||
| 						if (proto) { | ||||
| 							return thisProxyOther(factory, other, proto); | ||||
| 						} | ||||
| 						try { | ||||
| 							proto = otherReflectGetPrototypeOf(other); | ||||
| 						} catch (e) { // @other(unsafe)
 | ||||
| 							other = e; | ||||
| 							break; | ||||
| 						} | ||||
| 						if (!proto) { | ||||
| 							return thisProxyOther(factory, other, null); | ||||
| 						} | ||||
| 						while (proto) { | ||||
| 							const mapping = thisReflectApply(thisMapGet, protoMappings, [proto]); | ||||
| 							if (mapping) return mapping(factory, other); | ||||
| 							try { | ||||
| 								proto = otherReflectGetPrototypeOf(proto); | ||||
| 							} catch (e) { // @other(unsafe)
 | ||||
| 								other = e; | ||||
| 								break; | ||||
| 							} | ||||
| 						} | ||||
| 						return thisProxyOther(factory, other, thisObjectPrototype); | ||||
| 					} | ||||
| 
 | ||||
| 				case 'undefined': | ||||
| 				case 'string': | ||||
| 				case 'number': | ||||
| 				case 'boolean': | ||||
| 				case 'symbol': | ||||
| 				case 'bigint': | ||||
| 					return other; | ||||
| 
 | ||||
| 				default: // new, unknown types can be dangerous
 | ||||
| 					throw new VMError(`Unknown type '${type}'`); | ||||
| 			} | ||||
| 			factory = defaultFactory; | ||||
| 			proto = undefined; | ||||
| 		} | ||||
| 		throw new VMError('Exception recursion depth'); | ||||
| 	} | ||||
| 
 | ||||
| 	function thisFromOtherArguments(args) { | ||||
| 		// Note: args@other(safe-array) returns@this(safe-array) throws@this(unsafe)
 | ||||
| 		const arr = []; | ||||
| 		for (let i = 0; i < args.length; i++) { | ||||
| 			const value = thisFromOther(args[i]); | ||||
| 			thisReflectDefineProperty(arr, i, { | ||||
| 				__proto__: null, | ||||
| 				value: value, | ||||
| 				writable: true, | ||||
| 				enumerable: true, | ||||
| 				configurable: true | ||||
| 			}); | ||||
| 		} | ||||
| 		return arr; | ||||
| 	} | ||||
| 
 | ||||
| 	function thisConnect(obj, other) { | ||||
| 		// Note: obj@this(unsafe) other@other(unsafe) throws@this(unsafe)
 | ||||
| 		try { | ||||
| 			otherReflectApply(otherWeakMapSet, mappingThisToOther, [obj, other]); | ||||
| 		} catch (e) { | ||||
| 			throw new VMError('Unexpected error'); | ||||
| 		} | ||||
| 		thisReflectApply(thisWeakMapSet, mappingOtherToThis, [other, obj]); | ||||
| 	} | ||||
| 
 | ||||
| 	thisAddProtoMapping(thisGlobalPrototypes.Object, otherGlobalPrototypes.Object); | ||||
| 	thisAddProtoMapping(thisGlobalPrototypes.Array, otherGlobalPrototypes.Array); | ||||
| 
 | ||||
| 	for (let i = 0; i < globalsList.length; i++) { | ||||
| 		const key = globalsList[i]; | ||||
| 		const tp = thisGlobalPrototypes[key]; | ||||
| 		const op = otherGlobalPrototypes[key]; | ||||
| 		if (tp && op) thisAddProtoMapping(tp, op, key); | ||||
| 	} | ||||
| 
 | ||||
| 	for (let i = 0; i < errorsList.length; i++) { | ||||
| 		const key = errorsList[i]; | ||||
| 		const tp = thisGlobalPrototypes[key]; | ||||
| 		const op = otherGlobalPrototypes[key]; | ||||
| 		if (tp && op) thisAddProtoMapping(tp, op, 'Error'); | ||||
| 	} | ||||
| 
 | ||||
| 	thisAddProtoMapping(thisGlobalPrototypes.VMError, otherGlobalPrototypes.VMError, 'Error'); | ||||
| 
 | ||||
| 	result.BaseHandler = BaseHandler; | ||||
| 	result.ProtectedHandler = ProtectedHandler; | ||||
| 	result.ReadOnlyHandler = ReadOnlyHandler; | ||||
| 	result.ReadOnlyMockHandler = ReadOnlyMockHandler; | ||||
| 
 | ||||
| 	return result; | ||||
| } | ||||
| 
 | ||||
| exports.createBridge = createBridge; | ||||
| exports.VMError = VMError; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }) | ||||
| 
 | ||||
| /******/ 	}); | ||||
| /************************************************************************/ | ||||
| /******/ 	/* webpack/runtime/compat */ | ||||
| /******/ 	 | ||||
| /******/ 	if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";/************************************************************************/ | ||||
| /******/ 	 | ||||
| /******/ 	// startup
 | ||||
| /******/ 	// Load entry module and return exports
 | ||||
| /******/ 	// This entry module is referenced by other modules so it can't be inlined
 | ||||
| /******/ 	var __webpack_exports__ = {}; | ||||
| /******/ 	__webpack_modules__[989](0, __webpack_exports__); | ||||
| /******/ 	module.exports = __webpack_exports__; | ||||
| /******/ 	 | ||||
| /******/ })() | ||||
| ; | ||||
							
								
								
									
										1033
									
								
								dist/events.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1033
									
								
								dist/events.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										53878
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										53878
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										473
									
								
								dist/setup-node-sandbox.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										473
									
								
								dist/setup-node-sandbox.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,473 @@ | ||||
| /******/ (() => { // webpackBootstrap
 | ||||
| /******/ 	"use strict"; | ||||
| /******/ 	/* webpack/runtime/compat */ | ||||
| /******/ 	 | ||||
| /******/ 	if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";/************************************************************************/ | ||||
| var __webpack_exports__ = {}; | ||||
| /* global host, data, VMError */ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| const LocalError = Error; | ||||
| const LocalTypeError = TypeError; | ||||
| const LocalWeakMap = WeakMap; | ||||
| 
 | ||||
| const { | ||||
| 	apply: localReflectApply, | ||||
| 	defineProperty: localReflectDefineProperty | ||||
| } = Reflect; | ||||
| 
 | ||||
| const { | ||||
| 	set: localWeakMapSet, | ||||
| 	get: localWeakMapGet | ||||
| } = LocalWeakMap.prototype; | ||||
| 
 | ||||
| const { | ||||
| 	isArray: localArrayIsArray | ||||
| } = Array; | ||||
| 
 | ||||
| function uncurryThis(func) { | ||||
| 	return (thiz, ...args) => localReflectApply(func, thiz, args); | ||||
| } | ||||
| 
 | ||||
| const localArrayPrototypeSlice = uncurryThis(Array.prototype.slice); | ||||
| const localArrayPrototypeIncludes = uncurryThis(Array.prototype.includes); | ||||
| const localArrayPrototypePush = uncurryThis(Array.prototype.push); | ||||
| const localArrayPrototypeIndexOf = uncurryThis(Array.prototype.indexOf); | ||||
| const localArrayPrototypeSplice = uncurryThis(Array.prototype.splice); | ||||
| const localStringPrototypeStartsWith = uncurryThis(String.prototype.startsWith); | ||||
| const localStringPrototypeSlice = uncurryThis(String.prototype.slice); | ||||
| const localStringPrototypeIndexOf = uncurryThis(String.prototype.indexOf); | ||||
| 
 | ||||
| const { | ||||
| 	argv: optionArgv, | ||||
| 	env: optionEnv, | ||||
| 	console: optionConsole, | ||||
| 	vm, | ||||
| 	resolver, | ||||
| 	extensions | ||||
| } = data; | ||||
| 
 | ||||
| function ensureSandboxArray(a) { | ||||
| 	return localArrayPrototypeSlice(a); | ||||
| } | ||||
| 
 | ||||
| const globalPaths = ensureSandboxArray(resolver.globalPaths); | ||||
| 
 | ||||
| class Module { | ||||
| 
 | ||||
| 	constructor(id, path, parent) { | ||||
| 		this.id = id; | ||||
| 		this.filename = id; | ||||
| 		this.path = path; | ||||
| 		this.parent = parent; | ||||
| 		this.loaded = false; | ||||
| 		this.paths = path ? ensureSandboxArray(resolver.genLookupPaths(path)) : []; | ||||
| 		this.children = []; | ||||
| 		this.exports = {}; | ||||
| 	} | ||||
| 
 | ||||
| 	_updateChildren(child, isNew) { | ||||
| 		const children = this.children; | ||||
| 		if (children && (isNew || !localArrayPrototypeIncludes(children, child))) { | ||||
| 			localArrayPrototypePush(children, child); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	require(id) { | ||||
| 		return requireImpl(this, id, false); | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| const originalRequire = Module.prototype.require; | ||||
| const cacheBuiltins = {__proto__: null}; | ||||
| 
 | ||||
| function requireImpl(mod, id, direct) { | ||||
| 	if (direct && mod.require !== originalRequire) { | ||||
| 		return mod.require(id); | ||||
| 	} | ||||
| 	const filename = resolver.resolve(mod, id, undefined, Module._extensions, direct); | ||||
| 	if (localStringPrototypeStartsWith(filename, 'node:')) { | ||||
| 		id = localStringPrototypeSlice(filename, 5); | ||||
| 		let nmod = cacheBuiltins[id]; | ||||
| 		if (!nmod) { | ||||
| 			nmod = resolver.loadBuiltinModule(vm, id); | ||||
| 			if (!nmod) throw new VMError(`Cannot find module '${filename}'`, 'ENOTFOUND'); | ||||
| 			cacheBuiltins[id] = nmod; | ||||
| 		} | ||||
| 		return nmod; | ||||
| 	} | ||||
| 
 | ||||
| 	const cachedModule = Module._cache[filename]; | ||||
| 	if (cachedModule !== undefined) { | ||||
| 		mod._updateChildren(cachedModule, false); | ||||
| 		return cachedModule.exports; | ||||
| 	} | ||||
| 
 | ||||
| 	let nmod = cacheBuiltins[id]; | ||||
| 	if (nmod) return nmod; | ||||
| 	nmod = resolver.loadBuiltinModule(vm, id); | ||||
| 	if (nmod) { | ||||
| 		cacheBuiltins[id] = nmod; | ||||
| 		return nmod; | ||||
| 	} | ||||
| 
 | ||||
| 	const path = resolver.pathDirname(filename); | ||||
| 	const module = new Module(filename, path, mod); | ||||
| 	resolver.registerModule(module, filename, path, mod, direct); | ||||
| 	mod._updateChildren(module, true); | ||||
| 	try { | ||||
| 		Module._cache[filename] = module; | ||||
| 		const handler = findBestExtensionHandler(filename); | ||||
| 		handler(module, filename); | ||||
| 		module.loaded = true; | ||||
| 	} catch (e) { | ||||
| 		delete Module._cache[filename]; | ||||
| 		const children = mod.children; | ||||
| 		if (localArrayIsArray(children)) { | ||||
| 			const index = localArrayPrototypeIndexOf(children, module); | ||||
| 			if (index !== -1) { | ||||
| 				localArrayPrototypeSplice(children, index, 1); | ||||
| 			} | ||||
| 		} | ||||
| 		throw e; | ||||
| 	} | ||||
| 
 | ||||
| 	return module.exports; | ||||
| } | ||||
| 
 | ||||
| Module.builtinModules = ensureSandboxArray(resolver.getBuiltinModulesList()); | ||||
| Module.globalPaths = globalPaths; | ||||
| Module._extensions = {__proto__: null}; | ||||
| Module._cache = {__proto__: null}; | ||||
| 
 | ||||
| { | ||||
| 	const keys = Object.getOwnPropertyNames(extensions); | ||||
| 	for (let i = 0; i < keys.length; i++) { | ||||
| 		const key = keys[i]; | ||||
| 		const handler = extensions[key]; | ||||
| 		Module._extensions[key] = (mod, filename) => handler(mod, filename); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function findBestExtensionHandler(filename) { | ||||
| 	const name = resolver.pathBasename(filename); | ||||
| 	for (let i = 0; (i = localStringPrototypeIndexOf(name, '.', i + 1)) !== -1;) { | ||||
| 		const ext = localStringPrototypeSlice(name, i + 1); | ||||
| 		const handler = Module._extensions[ext]; | ||||
| 		if (handler) return handler; | ||||
| 	} | ||||
| 	const js = Module._extensions['.js']; | ||||
| 	if (js) return js; | ||||
| 	const keys = Object.getOwnPropertyNames(Module._extensions); | ||||
| 	if (keys.length === 0) throw new VMError(`Failed to load '${filename}': Unknown type.`, 'ELOADFAIL'); | ||||
| 	return Module._extensions[keys[0]]; | ||||
| } | ||||
| 
 | ||||
| function createRequireForModule(mod) { | ||||
| 	// eslint-disable-next-line no-shadow
 | ||||
| 	function require(id) { | ||||
| 		return requireImpl(mod, id, true); | ||||
| 	} | ||||
| 	function resolve(id, options) { | ||||
| 		return resolver.resolve(mod, id, options, Module._extensions, true); | ||||
| 	} | ||||
| 	require.resolve = resolve; | ||||
| 	function paths(id) { | ||||
| 		return ensureSandboxArray(resolver.lookupPaths(mod, id)); | ||||
| 	} | ||||
| 	resolve.paths = paths; | ||||
| 
 | ||||
| 	require.extensions = Module._extensions; | ||||
| 
 | ||||
| 	require.cache = Module._cache; | ||||
| 
 | ||||
| 	return require; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Prepare sandbox. | ||||
|  */ | ||||
| 
 | ||||
| const TIMERS = new LocalWeakMap(); | ||||
| 
 | ||||
| class Timeout { | ||||
| } | ||||
| 
 | ||||
| class Interval { | ||||
| } | ||||
| 
 | ||||
| class Immediate { | ||||
| } | ||||
| 
 | ||||
| function clearTimer(timer) { | ||||
| 	const obj = localReflectApply(localWeakMapGet, TIMERS, [timer]); | ||||
| 	if (obj) { | ||||
| 		obj.clear(obj.value); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // This is a function and not an arrow function, since the original is also a function
 | ||||
| // eslint-disable-next-line no-shadow
 | ||||
| global.setTimeout = function setTimeout(callback, delay, ...args) { | ||||
| 	if (typeof callback !== 'function') throw new LocalTypeError('"callback" argument must be a function'); | ||||
| 	const obj = new Timeout(callback, args); | ||||
| 	const cb = () => { | ||||
| 		localReflectApply(callback, null, args); | ||||
| 	}; | ||||
| 	const tmr = host.setTimeout(cb, delay); | ||||
| 
 | ||||
| 	const ref = { | ||||
| 		__proto__: null, | ||||
| 		clear: host.clearTimeout, | ||||
| 		value: tmr | ||||
| 	}; | ||||
| 
 | ||||
| 	localReflectApply(localWeakMapSet, TIMERS, [obj, ref]); | ||||
| 	return obj; | ||||
| }; | ||||
| 
 | ||||
| // eslint-disable-next-line no-shadow
 | ||||
| global.setInterval = function setInterval(callback, interval, ...args) { | ||||
| 	if (typeof callback !== 'function') throw new LocalTypeError('"callback" argument must be a function'); | ||||
| 	const obj = new Interval(); | ||||
| 	const cb = () => { | ||||
| 		localReflectApply(callback, null, args); | ||||
| 	}; | ||||
| 	const tmr = host.setInterval(cb, interval); | ||||
| 
 | ||||
| 	const ref = { | ||||
| 		__proto__: null, | ||||
| 		clear: host.clearInterval, | ||||
| 		value: tmr | ||||
| 	}; | ||||
| 
 | ||||
| 	localReflectApply(localWeakMapSet, TIMERS, [obj, ref]); | ||||
| 	return obj; | ||||
| }; | ||||
| 
 | ||||
| // eslint-disable-next-line no-shadow
 | ||||
| global.setImmediate = function setImmediate(callback, ...args) { | ||||
| 	if (typeof callback !== 'function') throw new LocalTypeError('"callback" argument must be a function'); | ||||
| 	const obj = new Immediate(); | ||||
| 	const cb = () => { | ||||
| 		localReflectApply(callback, null, args); | ||||
| 	}; | ||||
| 	const tmr = host.setImmediate(cb); | ||||
| 
 | ||||
| 	const ref = { | ||||
| 		__proto__: null, | ||||
| 		clear: host.clearImmediate, | ||||
| 		value: tmr | ||||
| 	}; | ||||
| 
 | ||||
| 	localReflectApply(localWeakMapSet, TIMERS, [obj, ref]); | ||||
| 	return obj; | ||||
| }; | ||||
| 
 | ||||
| // eslint-disable-next-line no-shadow
 | ||||
| global.clearTimeout = function clearTimeout(timeout) { | ||||
| 	clearTimer(timeout); | ||||
| }; | ||||
| 
 | ||||
| // eslint-disable-next-line no-shadow
 | ||||
| global.clearInterval = function clearInterval(interval) { | ||||
| 	clearTimer(interval); | ||||
| }; | ||||
| 
 | ||||
| // eslint-disable-next-line no-shadow
 | ||||
| global.clearImmediate = function clearImmediate(immediate) { | ||||
| 	clearTimer(immediate); | ||||
| }; | ||||
| 
 | ||||
| const localProcess = host.process; | ||||
| 
 | ||||
| function vmEmitArgs(event, args) { | ||||
| 	const allargs = [event]; | ||||
| 	for (let i = 0; i < args.length; i++) { | ||||
| 		if (!localReflectDefineProperty(allargs, i + 1, { | ||||
| 			__proto__: null, | ||||
| 			value: args[i], | ||||
| 			writable: true, | ||||
| 			enumerable: true, | ||||
| 			configurable: true | ||||
| 		})) throw new LocalError('Unexpected'); | ||||
| 	} | ||||
| 	return localReflectApply(vm.emit, vm, allargs); | ||||
| } | ||||
| 
 | ||||
| const LISTENERS = new LocalWeakMap(); | ||||
| const LISTENER_HANDLER = new LocalWeakMap(); | ||||
| 
 | ||||
| /** | ||||
|  * | ||||
|  * @param {*} name | ||||
|  * @param {*} handler | ||||
|  * @this process | ||||
|  * @return {this} | ||||
|  */ | ||||
| function addListener(name, handler) { | ||||
| 	if (name !== 'beforeExit' && name !== 'exit') { | ||||
| 		throw new LocalError(`Access denied to listen for '${name}' event.`); | ||||
| 	} | ||||
| 
 | ||||
| 	let cb = localReflectApply(localWeakMapGet, LISTENERS, [handler]); | ||||
| 	if (!cb) { | ||||
| 		cb = () => { | ||||
| 			handler(); | ||||
| 		}; | ||||
| 		localReflectApply(localWeakMapSet, LISTENER_HANDLER, [cb, handler]); | ||||
| 		localReflectApply(localWeakMapSet, LISTENERS, [handler, cb]); | ||||
| 	} | ||||
| 
 | ||||
| 	localProcess.on(name, cb); | ||||
| 
 | ||||
| 	return this; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * | ||||
|  * @this process | ||||
|  * @return {this} | ||||
|  */ | ||||
| // eslint-disable-next-line no-shadow
 | ||||
| function process() { | ||||
| 	return this; | ||||
| } | ||||
| 
 | ||||
| // FIXME wrong class structure
 | ||||
| global.process = { | ||||
| 	__proto__: process.prototype, | ||||
| 	argv: optionArgv !== undefined ? optionArgv : [], | ||||
| 	title: localProcess.title, | ||||
| 	version: localProcess.version, | ||||
| 	versions: localProcess.versions, | ||||
| 	arch: localProcess.arch, | ||||
| 	platform: localProcess.platform, | ||||
| 	env: optionEnv !== undefined ? optionEnv : {}, | ||||
| 	pid: localProcess.pid, | ||||
| 	features: localProcess.features, | ||||
| 	nextTick: function nextTick(callback, ...args) { | ||||
| 		if (typeof callback !== 'function') { | ||||
| 			throw new LocalError('Callback must be a function.'); | ||||
| 		} | ||||
| 
 | ||||
| 		localProcess.nextTick(()=>{ | ||||
| 			localReflectApply(callback, null, args); | ||||
| 		}); | ||||
| 	}, | ||||
| 	hrtime: function hrtime(time) { | ||||
| 		return localProcess.hrtime(time); | ||||
| 	}, | ||||
| 	cwd: function cwd() { | ||||
| 		return localProcess.cwd(); | ||||
| 	}, | ||||
| 	addListener, | ||||
| 	on: addListener, | ||||
| 
 | ||||
| 	once: function once(name, handler) { | ||||
| 		if (name !== 'beforeExit' && name !== 'exit') { | ||||
| 			throw new LocalError(`Access denied to listen for '${name}' event.`); | ||||
| 		} | ||||
| 
 | ||||
| 		let triggered = false; | ||||
| 		const cb = () => { | ||||
| 			if (triggered) return; | ||||
| 			triggered = true; | ||||
| 			localProcess.removeListener(name, cb); | ||||
| 			handler(); | ||||
| 		}; | ||||
| 		localReflectApply(localWeakMapSet, LISTENER_HANDLER, [cb, handler]); | ||||
| 
 | ||||
| 		localProcess.on(name, cb); | ||||
| 
 | ||||
| 		return this; | ||||
| 	}, | ||||
| 
 | ||||
| 	listeners: function listeners(name) { | ||||
| 		if (name !== 'beforeExit' && name !== 'exit') { | ||||
| 			// Maybe add ({__proto__:null})[name] to throw when name fails in https://tc39.es/ecma262/#sec-topropertykey.
 | ||||
| 			return []; | ||||
| 		} | ||||
| 
 | ||||
| 		// Filter out listeners, which were not created in this sandbox
 | ||||
| 		const all = localProcess.listeners(name); | ||||
| 		const filtered = []; | ||||
| 		let j = 0; | ||||
| 		for (let i = 0; i < all.length; i++) { | ||||
| 			const h = localReflectApply(localWeakMapGet, LISTENER_HANDLER, [all[i]]); | ||||
| 			if (h) { | ||||
| 				if (!localReflectDefineProperty(filtered, j, { | ||||
| 					__proto__: null, | ||||
| 					value: h, | ||||
| 					writable: true, | ||||
| 					enumerable: true, | ||||
| 					configurable: true | ||||
| 				})) throw new LocalError('Unexpected'); | ||||
| 				j++; | ||||
| 			} | ||||
| 		} | ||||
| 		return filtered; | ||||
| 	}, | ||||
| 
 | ||||
| 	removeListener: function removeListener(name, handler) { | ||||
| 		if (name !== 'beforeExit' && name !== 'exit') { | ||||
| 			return this; | ||||
| 		} | ||||
| 
 | ||||
| 		const cb = localReflectApply(localWeakMapGet, LISTENERS, [handler]); | ||||
| 		if (cb) localProcess.removeListener(name, cb); | ||||
| 
 | ||||
| 		return this; | ||||
| 	}, | ||||
| 
 | ||||
| 	umask: function umask() { | ||||
| 		if (arguments.length) { | ||||
| 			throw new LocalError('Access denied to set umask.'); | ||||
| 		} | ||||
| 
 | ||||
| 		return localProcess.umask(); | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| if (optionConsole === 'inherit') { | ||||
| 	global.console = host.console; | ||||
| } else if (optionConsole === 'redirect') { | ||||
| 	global.console = { | ||||
| 		debug(...args) { | ||||
| 			vmEmitArgs('console.debug', args); | ||||
| 		}, | ||||
| 		log(...args) { | ||||
| 			vmEmitArgs('console.log', args); | ||||
| 		}, | ||||
| 		info(...args) { | ||||
| 			vmEmitArgs('console.info', args); | ||||
| 		}, | ||||
| 		warn(...args) { | ||||
| 			vmEmitArgs('console.warn', args); | ||||
| 		}, | ||||
| 		error(...args) { | ||||
| 			vmEmitArgs('console.error', args); | ||||
| 		}, | ||||
| 		dir(...args) { | ||||
| 			vmEmitArgs('console.dir', args); | ||||
| 		}, | ||||
| 		time() {}, | ||||
| 		timeEnd() {}, | ||||
| 		trace(...args) { | ||||
| 			vmEmitArgs('console.trace', args); | ||||
| 		} | ||||
| 	}; | ||||
| } | ||||
| 
 | ||||
| return { | ||||
| 	__proto__: null, | ||||
| 	Module, | ||||
| 	jsonParse: JSON.parse, | ||||
| 	createRequireForModule | ||||
| }; | ||||
| 
 | ||||
| module.exports = __webpack_exports__; | ||||
| /******/ })() | ||||
| ; | ||||
							
								
								
									
										462
									
								
								dist/setup-sandbox.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										462
									
								
								dist/setup-sandbox.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,462 @@ | ||||
| /******/ (() => { // webpackBootstrap
 | ||||
| /******/ 	"use strict"; | ||||
| /******/ 	/* webpack/runtime/compat */ | ||||
| /******/ 	 | ||||
| /******/ 	if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";/************************************************************************/ | ||||
| var __webpack_exports__ = {}; | ||||
| /* global host, bridge, data, context */ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| const { | ||||
| 	Object: localObject, | ||||
| 	Array: localArray, | ||||
| 	Error: LocalError, | ||||
| 	Reflect: localReflect, | ||||
| 	Proxy: LocalProxy, | ||||
| 	WeakMap: LocalWeakMap, | ||||
| 	Function: localFunction, | ||||
| 	Promise: localPromise, | ||||
| 	eval: localEval | ||||
| } = global; | ||||
| 
 | ||||
| const { | ||||
| 	freeze: localObjectFreeze | ||||
| } = localObject; | ||||
| 
 | ||||
| const { | ||||
| 	getPrototypeOf: localReflectGetPrototypeOf, | ||||
| 	apply: localReflectApply, | ||||
| 	deleteProperty: localReflectDeleteProperty, | ||||
| 	has: localReflectHas, | ||||
| 	defineProperty: localReflectDefineProperty, | ||||
| 	setPrototypeOf: localReflectSetPrototypeOf, | ||||
| 	getOwnPropertyDescriptor: localReflectGetOwnPropertyDescriptor | ||||
| } = localReflect; | ||||
| 
 | ||||
| const { | ||||
| 	isArray: localArrayIsArray | ||||
| } = localArray; | ||||
| 
 | ||||
| const { | ||||
| 	ensureThis, | ||||
| 	ReadOnlyHandler, | ||||
| 	from, | ||||
| 	fromWithFactory, | ||||
| 	readonlyFactory, | ||||
| 	connect, | ||||
| 	addProtoMapping, | ||||
| 	VMError, | ||||
| 	ReadOnlyMockHandler | ||||
| } = bridge; | ||||
| 
 | ||||
| const { | ||||
| 	allowAsync, | ||||
| 	GeneratorFunction, | ||||
| 	AsyncFunction, | ||||
| 	AsyncGeneratorFunction | ||||
| } = data; | ||||
| 
 | ||||
| const localWeakMapGet = LocalWeakMap.prototype.get; | ||||
| 
 | ||||
| function localUnexpected() { | ||||
| 	return new VMError('Should not happen'); | ||||
| } | ||||
| 
 | ||||
| // global is originally prototype of host.Object so it can be used to climb up from the sandbox.
 | ||||
| if (!localReflectSetPrototypeOf(context, localObject.prototype)) throw localUnexpected(); | ||||
| 
 | ||||
| Object.defineProperties(global, { | ||||
| 	global: {value: global, writable: true, configurable: true, enumerable: true}, | ||||
| 	globalThis: {value: global, writable: true, configurable: true}, | ||||
| 	GLOBAL: {value: global, writable: true, configurable: true}, | ||||
| 	root: {value: global, writable: true, configurable: true} | ||||
| }); | ||||
| 
 | ||||
| if (!localReflectDefineProperty(global, 'VMError', { | ||||
| 	__proto__: null, | ||||
| 	value: VMError, | ||||
| 	writable: true, | ||||
| 	enumerable: false, | ||||
| 	configurable: true | ||||
| })) throw localUnexpected(); | ||||
| 
 | ||||
| // Fixes buffer unsafe allocation
 | ||||
| /* eslint-disable no-use-before-define */ | ||||
| class BufferHandler extends ReadOnlyHandler { | ||||
| 
 | ||||
| 	apply(target, thiz, args) { | ||||
| 		if (args.length > 0 && typeof args[0] === 'number') { | ||||
| 			return LocalBuffer.alloc(args[0]); | ||||
| 		} | ||||
| 		return localReflectApply(LocalBuffer.from, LocalBuffer, args); | ||||
| 	} | ||||
| 
 | ||||
| 	construct(target, args, newTarget) { | ||||
| 		if (args.length > 0 && typeof args[0] === 'number') { | ||||
| 			return LocalBuffer.alloc(args[0]); | ||||
| 		} | ||||
| 		return localReflectApply(LocalBuffer.from, LocalBuffer, args); | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| /* eslint-enable no-use-before-define */ | ||||
| 
 | ||||
| const LocalBuffer = fromWithFactory(obj => new BufferHandler(obj), host.Buffer); | ||||
| 
 | ||||
| 
 | ||||
| if (!localReflectDefineProperty(global, 'Buffer', { | ||||
| 	__proto__: null, | ||||
| 	value: LocalBuffer, | ||||
| 	writable: true, | ||||
| 	enumerable: false, | ||||
| 	configurable: true | ||||
| })) throw localUnexpected(); | ||||
| 
 | ||||
| addProtoMapping(LocalBuffer.prototype, host.Buffer.prototype, 'Uint8Array'); | ||||
| 
 | ||||
| /** | ||||
|  * | ||||
|  * @param {*} size Size of new buffer | ||||
|  * @this LocalBuffer | ||||
|  * @return {LocalBuffer} | ||||
|  */ | ||||
| function allocUnsafe(size) { | ||||
| 	return LocalBuffer.alloc(size); | ||||
| } | ||||
| 
 | ||||
| connect(allocUnsafe, host.Buffer.allocUnsafe); | ||||
| 
 | ||||
| /** | ||||
|  * | ||||
|  * @param {*} size Size of new buffer | ||||
|  * @this LocalBuffer | ||||
|  * @return {LocalBuffer} | ||||
|  */ | ||||
| function allocUnsafeSlow(size) { | ||||
| 	return LocalBuffer.alloc(size); | ||||
| } | ||||
| 
 | ||||
| connect(allocUnsafeSlow, host.Buffer.allocUnsafeSlow); | ||||
| 
 | ||||
| /** | ||||
|  * Replacement for Buffer inspect | ||||
|  * | ||||
|  * @param {*} recurseTimes | ||||
|  * @param {*} ctx | ||||
|  * @this LocalBuffer | ||||
|  * @return {string} | ||||
|  */ | ||||
| function inspect(recurseTimes, ctx) { | ||||
| 	// Mimic old behavior, could throw but didn't pass a test.
 | ||||
| 	const max = host.INSPECT_MAX_BYTES; | ||||
| 	const actualMax = Math.min(max, this.length); | ||||
| 	const remaining = this.length - max; | ||||
| 	let str = this.hexSlice(0, actualMax).replace(/(.{2})/g, '$1 ').trim(); | ||||
| 	if (remaining > 0) str += ` ... ${remaining} more byte${remaining > 1 ? 's' : ''}`; | ||||
| 	return `<${this.constructor.name} ${str}>`; | ||||
| } | ||||
| 
 | ||||
| connect(inspect, host.Buffer.prototype.inspect); | ||||
| 
 | ||||
| connect(localFunction.prototype.bind, host.Function.prototype.bind); | ||||
| 
 | ||||
| connect(localObject.prototype.__defineGetter__, host.Object.prototype.__defineGetter__); | ||||
| connect(localObject.prototype.__defineSetter__, host.Object.prototype.__defineSetter__); | ||||
| connect(localObject.prototype.__lookupGetter__, host.Object.prototype.__lookupGetter__); | ||||
| connect(localObject.prototype.__lookupSetter__, host.Object.prototype.__lookupSetter__); | ||||
| 
 | ||||
| /* | ||||
|  * PrepareStackTrace sanitization | ||||
|  */ | ||||
| 
 | ||||
| const oldPrepareStackTraceDesc = localReflectGetOwnPropertyDescriptor(LocalError, 'prepareStackTrace'); | ||||
| 
 | ||||
| let currentPrepareStackTrace = LocalError.prepareStackTrace; | ||||
| const wrappedPrepareStackTrace = new LocalWeakMap(); | ||||
| if (typeof currentPrepareStackTrace === 'function') { | ||||
| 	wrappedPrepareStackTrace.set(currentPrepareStackTrace, currentPrepareStackTrace); | ||||
| } | ||||
| 
 | ||||
| let OriginalCallSite; | ||||
| LocalError.prepareStackTrace = (e, sst) => { | ||||
| 	OriginalCallSite = sst[0].constructor; | ||||
| }; | ||||
| new LocalError().stack; | ||||
| if (typeof OriginalCallSite === 'function') { | ||||
| 	LocalError.prepareStackTrace = undefined; | ||||
| 
 | ||||
| 	function makeCallSiteGetters(list) { | ||||
| 		const callSiteGetters = []; | ||||
| 		for (let i=0; i<list.length; i++) { | ||||
| 			const name = list[i]; | ||||
| 			const func = OriginalCallSite.prototype[name]; | ||||
| 			callSiteGetters[i] = {__proto__: null, | ||||
| 				name, | ||||
| 				propName: '_' + name, | ||||
| 				func: (thiz) => { | ||||
| 					return localReflectApply(func, thiz, []); | ||||
| 				} | ||||
| 			}; | ||||
| 		} | ||||
| 		return callSiteGetters; | ||||
| 	} | ||||
| 
 | ||||
| 	function applyCallSiteGetters(thiz, callSite, getters) { | ||||
| 		for (let i=0; i<getters.length; i++) { | ||||
| 			const getter = getters[i]; | ||||
| 			localReflectDefineProperty(thiz, getter.propName, { | ||||
| 				__proto__: null, | ||||
| 				value: getter.func(callSite) | ||||
| 			}); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	const callSiteGetters = makeCallSiteGetters([ | ||||
| 		'getTypeName', | ||||
| 		'getFunctionName', | ||||
| 		'getMethodName', | ||||
| 		'getFileName', | ||||
| 		'getLineNumber', | ||||
| 		'getColumnNumber', | ||||
| 		'getEvalOrigin', | ||||
| 		'isToplevel', | ||||
| 		'isEval', | ||||
| 		'isNative', | ||||
| 		'isConstructor', | ||||
| 		'isAsync', | ||||
| 		'isPromiseAll', | ||||
| 		'getPromiseIndex' | ||||
| 	]); | ||||
| 
 | ||||
| 	class CallSite { | ||||
| 		constructor(callSite) { | ||||
| 			applyCallSiteGetters(this, callSite, callSiteGetters); | ||||
| 		} | ||||
| 		getThis() { | ||||
| 			return undefined; | ||||
| 		} | ||||
| 		getFunction() { | ||||
| 			return undefined; | ||||
| 		} | ||||
| 		toString() { | ||||
| 			return 'CallSite {}'; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 	for (let i=0; i<callSiteGetters.length; i++) { | ||||
| 		const name = callSiteGetters[i].name; | ||||
| 		const funcProp = localReflectGetOwnPropertyDescriptor(OriginalCallSite.prototype, name); | ||||
| 		if (!funcProp) continue; | ||||
| 		const propertyName = callSiteGetters[i].propName; | ||||
| 		const func = {func() { | ||||
| 			return this[propertyName]; | ||||
| 		}}.func; | ||||
| 		const nameProp = localReflectGetOwnPropertyDescriptor(func, 'name'); | ||||
| 		if (!nameProp) throw localUnexpected(); | ||||
| 		nameProp.value = name; | ||||
| 		if (!localReflectDefineProperty(func, 'name', nameProp)) throw localUnexpected(); | ||||
| 		funcProp.value = func; | ||||
| 		if (!localReflectDefineProperty(CallSite.prototype, name, funcProp)) throw localUnexpected(); | ||||
| 	} | ||||
| 
 | ||||
| 	if (!localReflectDefineProperty(LocalError, 'prepareStackTrace', { | ||||
| 		configurable: false, | ||||
| 		enumerable: false, | ||||
| 		get() { | ||||
| 			return currentPrepareStackTrace; | ||||
| 		}, | ||||
| 		set(value) { | ||||
| 			if (typeof(value) !== 'function') { | ||||
| 				currentPrepareStackTrace = value; | ||||
| 				return; | ||||
| 			} | ||||
| 			const wrapped = localReflectApply(localWeakMapGet, wrappedPrepareStackTrace, [value]); | ||||
| 			if (wrapped) { | ||||
| 				currentPrepareStackTrace = wrapped; | ||||
| 				return; | ||||
| 			} | ||||
| 			const newWrapped = (error, sst) => { | ||||
| 				if (localArrayIsArray(sst)) { | ||||
| 					for (let i=0; i < sst.length; i++) { | ||||
| 						const cs = sst[i]; | ||||
| 						if (typeof cs === 'object' && localReflectGetPrototypeOf(cs) === OriginalCallSite.prototype) { | ||||
| 							sst[i] = new CallSite(cs); | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 				return value(error, sst); | ||||
| 			}; | ||||
| 			wrappedPrepareStackTrace.set(value, newWrapped); | ||||
| 			wrappedPrepareStackTrace.set(newWrapped, newWrapped); | ||||
| 			currentPrepareStackTrace = newWrapped; | ||||
| 		} | ||||
| 	})) throw localUnexpected(); | ||||
| } else if (oldPrepareStackTraceDesc) { | ||||
| 	localReflectDefineProperty(LocalError, 'prepareStackTrace', oldPrepareStackTraceDesc); | ||||
| } else { | ||||
| 	localReflectDeleteProperty(LocalError, 'prepareStackTrace'); | ||||
| } | ||||
| 
 | ||||
| /* | ||||
|  * Exception sanitization | ||||
|  */ | ||||
| 
 | ||||
| const withProxy = localObjectFreeze({ | ||||
| 	__proto__: null, | ||||
| 	has(target, key) { | ||||
| 		if (key === host.INTERNAL_STATE_NAME) return false; | ||||
| 		return localReflectHas(target, key); | ||||
| 	} | ||||
| }); | ||||
| 
 | ||||
| const interanState = localObjectFreeze({ | ||||
| 	__proto__: null, | ||||
| 	wrapWith(x) { | ||||
| 		return new LocalProxy(x, withProxy); | ||||
| 	}, | ||||
| 	handleException: ensureThis, | ||||
| 	import(what) { | ||||
| 		throw new VMError('Dynamic Import not supported'); | ||||
| 	} | ||||
| }); | ||||
| 
 | ||||
| if (!localReflectDefineProperty(global, host.INTERNAL_STATE_NAME, { | ||||
| 	__proto__: null, | ||||
| 	configurable: false, | ||||
| 	enumerable: false, | ||||
| 	writable: false, | ||||
| 	value: interanState | ||||
| })) throw localUnexpected(); | ||||
| 
 | ||||
| /* | ||||
|  * Eval sanitization | ||||
|  */ | ||||
| 
 | ||||
| function throwAsync() { | ||||
| 	return new VMError('Async not available'); | ||||
| } | ||||
| 
 | ||||
| function makeFunction(inputArgs, isAsync, isGenerator) { | ||||
| 	const lastArgs = inputArgs.length - 1; | ||||
| 	let code = lastArgs >= 0 ? `${inputArgs[lastArgs]}` : ''; | ||||
| 	let args = lastArgs > 0 ? `${inputArgs[0]}` : ''; | ||||
| 	for (let i = 1; i < lastArgs; i++) { | ||||
| 		args += `,${inputArgs[i]}`; | ||||
| 	} | ||||
| 	try { | ||||
| 		code = host.transformAndCheck(args, code, isAsync, isGenerator, allowAsync); | ||||
| 	} catch (e) { | ||||
| 		throw bridge.from(e); | ||||
| 	} | ||||
| 	return localEval(code); | ||||
| } | ||||
| 
 | ||||
| const FunctionHandler = { | ||||
| 	__proto__: null, | ||||
| 	apply(target, thiz, args) { | ||||
| 		return makeFunction(args, this.isAsync, this.isGenerator); | ||||
| 	}, | ||||
| 	construct(target, args, newTarget) { | ||||
| 		return makeFunction(args, this.isAsync, this.isGenerator); | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| const EvalHandler = { | ||||
| 	__proto__: null, | ||||
| 	apply(target, thiz, args) { | ||||
| 		if (args.length === 0) return undefined; | ||||
| 		let code = `${args[0]}`; | ||||
| 		try { | ||||
| 			code = host.transformAndCheck(null, code, false, false, allowAsync); | ||||
| 		} catch (e) { | ||||
| 			throw bridge.from(e); | ||||
| 		} | ||||
| 		return localEval(code); | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| const AsyncErrorHandler = { | ||||
| 	__proto__: null, | ||||
| 	apply(target, thiz, args) { | ||||
| 		throw throwAsync(); | ||||
| 	}, | ||||
| 	construct(target, args, newTarget) { | ||||
| 		throw throwAsync(); | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| function makeCheckFunction(isAsync, isGenerator) { | ||||
| 	if (isAsync && !allowAsync) return AsyncErrorHandler; | ||||
| 	return { | ||||
| 		__proto__: FunctionHandler, | ||||
| 		isAsync, | ||||
| 		isGenerator | ||||
| 	}; | ||||
| } | ||||
| 
 | ||||
| function overrideWithProxy(obj, prop, value, handler) { | ||||
| 	const proxy = new LocalProxy(value, handler); | ||||
| 	if (!localReflectDefineProperty(obj, prop, {__proto__: null, value: proxy})) throw localUnexpected(); | ||||
| 	return proxy; | ||||
| } | ||||
| 
 | ||||
| const proxiedFunction = overrideWithProxy(localFunction.prototype, 'constructor', localFunction, makeCheckFunction(false, false)); | ||||
| if (GeneratorFunction) { | ||||
| 	if (!localReflectSetPrototypeOf(GeneratorFunction, proxiedFunction)) throw localUnexpected(); | ||||
| 	overrideWithProxy(GeneratorFunction.prototype, 'constructor', GeneratorFunction, makeCheckFunction(false, true)); | ||||
| } | ||||
| if (AsyncFunction) { | ||||
| 	if (!localReflectSetPrototypeOf(AsyncFunction, proxiedFunction)) throw localUnexpected(); | ||||
| 	overrideWithProxy(AsyncFunction.prototype, 'constructor', AsyncFunction, makeCheckFunction(true, false)); | ||||
| } | ||||
| if (AsyncGeneratorFunction) { | ||||
| 	if (!localReflectSetPrototypeOf(AsyncGeneratorFunction, proxiedFunction)) throw localUnexpected(); | ||||
| 	overrideWithProxy(AsyncGeneratorFunction.prototype, 'constructor', AsyncGeneratorFunction, makeCheckFunction(true, true)); | ||||
| } | ||||
| 
 | ||||
| global.Function = proxiedFunction; | ||||
| global.eval = new LocalProxy(localEval, EvalHandler); | ||||
| 
 | ||||
| /* | ||||
|  * Promise sanitization | ||||
|  */ | ||||
| 
 | ||||
| if (localPromise && !allowAsync) { | ||||
| 
 | ||||
| 	const PromisePrototype = localPromise.prototype; | ||||
| 
 | ||||
| 	overrideWithProxy(PromisePrototype, 'then', PromisePrototype.then, AsyncErrorHandler); | ||||
| 	// This seems not to work, and will produce
 | ||||
| 	// UnhandledPromiseRejectionWarning: TypeError: Method Promise.prototype.then called on incompatible receiver [object Object].
 | ||||
| 	// This is likely caused since the host.Promise.prototype.then cannot use the VM Proxy object.
 | ||||
| 	// Contextify.connect(host.Promise.prototype.then, Promise.prototype.then);
 | ||||
| 
 | ||||
| 	if (PromisePrototype.finally) { | ||||
| 		overrideWithProxy(PromisePrototype, 'finally', PromisePrototype.finally, AsyncErrorHandler); | ||||
| 		// Contextify.connect(host.Promise.prototype.finally, Promise.prototype.finally);
 | ||||
| 	} | ||||
| 	if (Promise.prototype.catch) { | ||||
| 		overrideWithProxy(PromisePrototype, 'catch', PromisePrototype.catch, AsyncErrorHandler); | ||||
| 		// Contextify.connect(host.Promise.prototype.catch, Promise.prototype.catch);
 | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| function readonly(other, mock) { | ||||
| 	// Note: other@other(unsafe) mock@other(unsafe) returns@this(unsafe) throws@this(unsafe)
 | ||||
| 	if (!mock) return fromWithFactory(readonlyFactory, other); | ||||
| 	const tmock = from(mock); | ||||
| 	return fromWithFactory(obj=>new ReadOnlyMockHandler(obj, tmock), other); | ||||
| } | ||||
| 
 | ||||
| return { | ||||
| 	__proto__: null, | ||||
| 	readonly, | ||||
| 	global | ||||
| }; | ||||
| 
 | ||||
| module.exports = __webpack_exports__; | ||||
| /******/ })() | ||||
| ; | ||||
| @ -31,7 +31,8 @@ | ||||
|     "@actions/exec": "^1.1.0", | ||||
|     "@actions/io": "^1.1.1", | ||||
|     "@aws-sdk/client-ecr": "^3.45.0", | ||||
|     "@aws-sdk/client-ecr-public": "^3.45.0" | ||||
|     "@aws-sdk/client-ecr-public": "^3.45.0", | ||||
|     "proxy-agent": "^5.0.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/jest": "^26.0.23", | ||||
|  | ||||
							
								
								
									
										28
									
								
								src/aws.ts
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								src/aws.ts
									
									
									
									
									
								
							| @ -1,6 +1,8 @@ | ||||
| import * as core from '@actions/core'; | ||||
| import {ECR} from '@aws-sdk/client-ecr'; | ||||
| import {ECRPUBLIC} from '@aws-sdk/client-ecr-public'; | ||||
| import {NodeHttpHandler} from '@aws-sdk/node-http-handler'; | ||||
| import ProxyAgent from 'proxy-agent'; | ||||
| 
 | ||||
| const ecrRegistryRegex = /^(([0-9]{12})\.dkr\.ecr\.(.+)\.amazonaws\.com(.cn)?)(\/([^:]+)(:.+)?)?$/; | ||||
| 
 | ||||
| @ -54,6 +56,20 @@ export const getRegistriesData = async (registry: string, username?: string, pas | ||||
|     authTokenRequest['registryIds'] = accountIDs; | ||||
|   } | ||||
| 
 | ||||
|   let httpProxyAgent: any = null; | ||||
|   const httpProxy = process.env.http_proxy || process.env.HTTP_PROXY || ''; | ||||
|   if (httpProxy) { | ||||
|     core.debug(`Using http proxy ${httpProxy}`); | ||||
|     httpProxyAgent = new ProxyAgent(httpProxy); | ||||
|   } | ||||
| 
 | ||||
|   let httpsProxyAgent: any = null; | ||||
|   const httpsProxy = process.env.https_proxy || process.env.HTTPS_PROXY || ''; | ||||
|   if (httpsProxy) { | ||||
|     core.debug(`Using https proxy ${httpsProxy}`); | ||||
|     httpsProxyAgent = new ProxyAgent(httpsProxy); | ||||
|   } | ||||
| 
 | ||||
|   const credentials = | ||||
|     username && password | ||||
|       ? { | ||||
| @ -67,7 +83,11 @@ export const getRegistriesData = async (registry: string, username?: string, pas | ||||
|     const ecrPublic = new ECRPUBLIC({ | ||||
|       customUserAgent: 'docker-login-action', | ||||
|       credentials, | ||||
|       region: region | ||||
|       region: region, | ||||
|       requestHandler: new NodeHttpHandler({ | ||||
|         httpAgent: httpProxyAgent, | ||||
|         httpsAgent: httpsProxyAgent | ||||
|       }) | ||||
|     }); | ||||
|     const authTokenResponse = await ecrPublic.getAuthorizationToken(authTokenRequest); | ||||
|     if (!authTokenResponse.authorizationData || !authTokenResponse.authorizationData.authorizationToken) { | ||||
| @ -87,7 +107,11 @@ export const getRegistriesData = async (registry: string, username?: string, pas | ||||
|     const ecr = new ECR({ | ||||
|       customUserAgent: 'docker-login-action', | ||||
|       credentials, | ||||
|       region: region | ||||
|       region: region, | ||||
|       requestHandler: new NodeHttpHandler({ | ||||
|         httpAgent: httpProxyAgent, | ||||
|         httpsAgent: httpsProxyAgent | ||||
|       }) | ||||
|     }); | ||||
|     const authTokenResponse = await ecr.getAuthorizationToken(authTokenRequest); | ||||
|     if (!Array.isArray(authTokenResponse.authorizationData) || !authTokenResponse.authorizationData.length) { | ||||
|  | ||||
							
								
								
									
										283
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										283
									
								
								yarn.lock
									
									
									
									
									
								
							| @ -1301,6 +1301,11 @@ acorn-walk@^7.1.1: | ||||
|   resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" | ||||
|   integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== | ||||
| 
 | ||||
| acorn-walk@^8.2.0: | ||||
|   version "8.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" | ||||
|   integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== | ||||
| 
 | ||||
| acorn@^7.1.1: | ||||
|   version "7.4.1" | ||||
|   resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" | ||||
| @ -1311,7 +1316,12 @@ acorn@^8.2.4: | ||||
|   resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" | ||||
|   integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== | ||||
| 
 | ||||
| agent-base@6: | ||||
| acorn@^8.7.0: | ||||
|   version "8.7.0" | ||||
|   resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" | ||||
|   integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== | ||||
| 
 | ||||
| agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: | ||||
|   version "6.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" | ||||
|   integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== | ||||
| @ -1392,6 +1402,13 @@ assign-symbols@^1.0.0: | ||||
|   resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" | ||||
|   integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= | ||||
| 
 | ||||
| ast-types@^0.13.2: | ||||
|   version "0.13.4" | ||||
|   resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" | ||||
|   integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== | ||||
|   dependencies: | ||||
|     tslib "^2.0.1" | ||||
| 
 | ||||
| asynckit@^0.4.0: | ||||
|   version "0.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" | ||||
| @ -1552,6 +1569,11 @@ buffer-from@1.x, buffer-from@^1.0.0: | ||||
|   resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" | ||||
|   integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== | ||||
| 
 | ||||
| bytes@3.1.2: | ||||
|   version "3.1.2" | ||||
|   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" | ||||
|   integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== | ||||
| 
 | ||||
| cache-base@^1.0.1: | ||||
|   version "1.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" | ||||
| @ -1731,6 +1753,11 @@ copy-descriptor@^0.1.0: | ||||
|   resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" | ||||
|   integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= | ||||
| 
 | ||||
| core-util-is@~1.0.0: | ||||
|   version "1.0.3" | ||||
|   resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" | ||||
|   integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== | ||||
| 
 | ||||
| cross-spawn@^6.0.0: | ||||
|   version "6.0.5" | ||||
|   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" | ||||
| @ -1768,6 +1795,11 @@ cssstyle@^2.3.0: | ||||
|   dependencies: | ||||
|     cssom "~0.3.6" | ||||
| 
 | ||||
| data-uri-to-buffer@3: | ||||
|   version "3.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" | ||||
|   integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== | ||||
| 
 | ||||
| data-urls@^2.0.0: | ||||
|   version "2.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" | ||||
| @ -1843,11 +1875,26 @@ define-property@^2.0.2: | ||||
|     is-descriptor "^1.0.2" | ||||
|     isobject "^3.0.1" | ||||
| 
 | ||||
| degenerator@^3.0.1: | ||||
|   version "3.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.1.tgz#7ef78ec0c8577a544477308ddf1d2d6e88d51f5b" | ||||
|   integrity sha512-LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ== | ||||
|   dependencies: | ||||
|     ast-types "^0.13.2" | ||||
|     escodegen "^1.8.1" | ||||
|     esprima "^4.0.0" | ||||
|     vm2 "^3.9.3" | ||||
| 
 | ||||
| delayed-stream@~1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" | ||||
|   integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= | ||||
| 
 | ||||
| depd@~1.1.2: | ||||
|   version "1.1.2" | ||||
|   resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" | ||||
|   integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= | ||||
| 
 | ||||
| detect-newline@^3.0.0: | ||||
|   version "3.1.0" | ||||
|   resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" | ||||
| @ -1929,6 +1976,18 @@ escape-string-regexp@^2.0.0: | ||||
|   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" | ||||
|   integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== | ||||
| 
 | ||||
| escodegen@^1.8.1: | ||||
|   version "1.14.3" | ||||
|   resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" | ||||
|   integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== | ||||
|   dependencies: | ||||
|     esprima "^4.0.1" | ||||
|     estraverse "^4.2.0" | ||||
|     esutils "^2.0.2" | ||||
|     optionator "^0.8.1" | ||||
|   optionalDependencies: | ||||
|     source-map "~0.6.1" | ||||
| 
 | ||||
| escodegen@^2.0.0: | ||||
|   version "2.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" | ||||
| @ -1946,6 +2005,11 @@ esprima@^4.0.0, esprima@^4.0.1: | ||||
|   resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" | ||||
|   integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== | ||||
| 
 | ||||
| estraverse@^4.2.0: | ||||
|   version "4.3.0" | ||||
|   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" | ||||
|   integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== | ||||
| 
 | ||||
| estraverse@^5.2.0: | ||||
|   version "5.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" | ||||
| @ -2070,6 +2134,11 @@ fb-watchman@^2.0.0: | ||||
|   dependencies: | ||||
|     bser "2.1.1" | ||||
| 
 | ||||
| file-uri-to-path@2: | ||||
|   version "2.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" | ||||
|   integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== | ||||
| 
 | ||||
| fill-range@^4.0.0: | ||||
|   version "4.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" | ||||
| @ -2116,6 +2185,15 @@ fragment-cache@^0.2.1: | ||||
|   dependencies: | ||||
|     map-cache "^0.2.2" | ||||
| 
 | ||||
| fs-extra@^8.1.0: | ||||
|   version "8.1.0" | ||||
|   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" | ||||
|   integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== | ||||
|   dependencies: | ||||
|     graceful-fs "^4.2.0" | ||||
|     jsonfile "^4.0.0" | ||||
|     universalify "^0.1.0" | ||||
| 
 | ||||
| fs.realpath@^1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" | ||||
| @ -2126,6 +2204,14 @@ fsevents@^2.1.2: | ||||
|   resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" | ||||
|   integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== | ||||
| 
 | ||||
| ftp@^0.3.10: | ||||
|   version "0.3.10" | ||||
|   resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" | ||||
|   integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= | ||||
|   dependencies: | ||||
|     readable-stream "1.1.x" | ||||
|     xregexp "2.0.0" | ||||
| 
 | ||||
| function-bind@^1.1.1: | ||||
|   version "1.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" | ||||
| @ -2160,6 +2246,18 @@ get-stream@^5.0.0: | ||||
|   dependencies: | ||||
|     pump "^3.0.0" | ||||
| 
 | ||||
| get-uri@3: | ||||
|   version "3.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" | ||||
|   integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== | ||||
|   dependencies: | ||||
|     "@tootallnate/once" "1" | ||||
|     data-uri-to-buffer "3" | ||||
|     debug "4" | ||||
|     file-uri-to-path "2" | ||||
|     fs-extra "^8.1.0" | ||||
|     ftp "^0.3.10" | ||||
| 
 | ||||
| get-value@^2.0.3, get-value@^2.0.6: | ||||
|   version "2.0.6" | ||||
|   resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" | ||||
| @ -2182,6 +2280,11 @@ globals@^11.1.0: | ||||
|   resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" | ||||
|   integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== | ||||
| 
 | ||||
| graceful-fs@^4.1.6, graceful-fs@^4.2.0: | ||||
|   version "4.2.9" | ||||
|   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" | ||||
|   integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== | ||||
| 
 | ||||
| graceful-fs@^4.2.4: | ||||
|   version "4.2.6" | ||||
|   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" | ||||
| @ -2257,7 +2360,18 @@ html-escaper@^2.0.0: | ||||
|   resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" | ||||
|   integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== | ||||
| 
 | ||||
| http-proxy-agent@^4.0.1: | ||||
| http-errors@1.8.1: | ||||
|   version "1.8.1" | ||||
|   resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" | ||||
|   integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== | ||||
|   dependencies: | ||||
|     depd "~1.1.2" | ||||
|     inherits "2.0.4" | ||||
|     setprototypeof "1.2.0" | ||||
|     statuses ">= 1.5.0 < 2" | ||||
|     toidentifier "1.0.1" | ||||
| 
 | ||||
| http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: | ||||
|   version "4.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" | ||||
|   integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== | ||||
| @ -2266,7 +2380,7 @@ http-proxy-agent@^4.0.1: | ||||
|     agent-base "6" | ||||
|     debug "4" | ||||
| 
 | ||||
| https-proxy-agent@^5.0.0: | ||||
| https-proxy-agent@5, https-proxy-agent@^5.0.0: | ||||
|   version "5.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" | ||||
|   integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== | ||||
| @ -2307,11 +2421,16 @@ inflight@^1.0.4: | ||||
|     once "^1.3.0" | ||||
|     wrappy "1" | ||||
| 
 | ||||
| inherits@2: | ||||
| inherits@2, inherits@2.0.4, inherits@~2.0.1: | ||||
|   version "2.0.4" | ||||
|   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" | ||||
|   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== | ||||
| 
 | ||||
| ip@^1.1.5: | ||||
|   version "1.1.5" | ||||
|   resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" | ||||
|   integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= | ||||
| 
 | ||||
| is-accessor-descriptor@^0.1.6: | ||||
|   version "0.1.6" | ||||
|   resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" | ||||
| @ -2460,6 +2579,11 @@ is-wsl@^2.2.0: | ||||
|   dependencies: | ||||
|     is-docker "^2.0.0" | ||||
| 
 | ||||
| isarray@0.0.1: | ||||
|   version "0.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" | ||||
|   integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= | ||||
| 
 | ||||
| isarray@1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" | ||||
| @ -2986,6 +3110,13 @@ json5@2.x, json5@^2.1.2: | ||||
|   dependencies: | ||||
|     minimist "^1.2.5" | ||||
| 
 | ||||
| jsonfile@^4.0.0: | ||||
|   version "4.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" | ||||
|   integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= | ||||
|   optionalDependencies: | ||||
|     graceful-fs "^4.1.6" | ||||
| 
 | ||||
| kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: | ||||
|   version "3.2.2" | ||||
|   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" | ||||
| @ -3053,6 +3184,13 @@ lru-cache@^4.1.5: | ||||
|     pseudomap "^1.0.2" | ||||
|     yallist "^2.1.2" | ||||
| 
 | ||||
| lru-cache@^5.1.1: | ||||
|   version "5.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" | ||||
|   integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== | ||||
|   dependencies: | ||||
|     yallist "^3.0.2" | ||||
| 
 | ||||
| lru-cache@^6.0.0: | ||||
|   version "6.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" | ||||
| @ -3197,6 +3335,11 @@ natural-compare@^1.4.0: | ||||
|   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" | ||||
|   integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= | ||||
| 
 | ||||
| netmask@^2.0.1: | ||||
|   version "2.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" | ||||
|   integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== | ||||
| 
 | ||||
| nice-try@^1.0.4: | ||||
|   version "1.0.5" | ||||
|   resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" | ||||
| @ -3348,6 +3491,30 @@ p-try@^2.0.0: | ||||
|   resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" | ||||
|   integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== | ||||
| 
 | ||||
| pac-proxy-agent@^5.0.0: | ||||
|   version "5.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz#b718f76475a6a5415c2efbe256c1c971c84f635e" | ||||
|   integrity sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ== | ||||
|   dependencies: | ||||
|     "@tootallnate/once" "1" | ||||
|     agent-base "6" | ||||
|     debug "4" | ||||
|     get-uri "3" | ||||
|     http-proxy-agent "^4.0.1" | ||||
|     https-proxy-agent "5" | ||||
|     pac-resolver "^5.0.0" | ||||
|     raw-body "^2.2.0" | ||||
|     socks-proxy-agent "5" | ||||
| 
 | ||||
| pac-resolver@^5.0.0: | ||||
|   version "5.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-5.0.0.tgz#1d717a127b3d7a9407a16d6e1b012b13b9ba8dc0" | ||||
|   integrity sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA== | ||||
|   dependencies: | ||||
|     degenerator "^3.0.1" | ||||
|     ip "^1.1.5" | ||||
|     netmask "^2.0.1" | ||||
| 
 | ||||
| parse-json@^5.0.0: | ||||
|   version "5.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" | ||||
| @ -3445,6 +3612,25 @@ prompts@^2.0.1: | ||||
|     kleur "^3.0.3" | ||||
|     sisteransi "^1.0.5" | ||||
| 
 | ||||
| proxy-agent@^5.0.0: | ||||
|   version "5.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-5.0.0.tgz#d31405c10d6e8431fde96cba7a0c027ce01d633b" | ||||
|   integrity sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g== | ||||
|   dependencies: | ||||
|     agent-base "^6.0.0" | ||||
|     debug "4" | ||||
|     http-proxy-agent "^4.0.0" | ||||
|     https-proxy-agent "^5.0.0" | ||||
|     lru-cache "^5.1.1" | ||||
|     pac-proxy-agent "^5.0.0" | ||||
|     proxy-from-env "^1.0.0" | ||||
|     socks-proxy-agent "^5.0.0" | ||||
| 
 | ||||
| proxy-from-env@^1.0.0: | ||||
|   version "1.1.0" | ||||
|   resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" | ||||
|   integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== | ||||
| 
 | ||||
| pseudomap@^1.0.2: | ||||
|   version "1.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" | ||||
| @ -3468,6 +3654,16 @@ punycode@^2.1.1: | ||||
|   resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" | ||||
|   integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== | ||||
| 
 | ||||
| raw-body@^2.2.0: | ||||
|   version "2.4.3" | ||||
|   resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" | ||||
|   integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== | ||||
|   dependencies: | ||||
|     bytes "3.1.2" | ||||
|     http-errors "1.8.1" | ||||
|     iconv-lite "0.4.24" | ||||
|     unpipe "1.0.0" | ||||
| 
 | ||||
| react-is@^17.0.1: | ||||
|   version "17.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" | ||||
| @ -3492,6 +3688,16 @@ read-pkg@^5.2.0: | ||||
|     parse-json "^5.0.0" | ||||
|     type-fest "^0.6.0" | ||||
| 
 | ||||
| readable-stream@1.1.x: | ||||
|   version "1.1.14" | ||||
|   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" | ||||
|   integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= | ||||
|   dependencies: | ||||
|     core-util-is "~1.0.0" | ||||
|     inherits "~2.0.1" | ||||
|     isarray "0.0.1" | ||||
|     string_decoder "~0.10.x" | ||||
| 
 | ||||
| regex-not@^1.0.0, regex-not@^1.0.2: | ||||
|   version "1.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" | ||||
| @ -3638,6 +3844,11 @@ set-value@^2.0.0, set-value@^2.0.1: | ||||
|     is-plain-object "^2.0.3" | ||||
|     split-string "^3.0.1" | ||||
| 
 | ||||
| setprototypeof@1.2.0: | ||||
|   version "1.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" | ||||
|   integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== | ||||
| 
 | ||||
| shebang-command@^1.2.0: | ||||
|   version "1.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" | ||||
| @ -3687,6 +3898,11 @@ slash@^3.0.0: | ||||
|   resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" | ||||
|   integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== | ||||
| 
 | ||||
| smart-buffer@^4.2.0: | ||||
|   version "4.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" | ||||
|   integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== | ||||
| 
 | ||||
| snapdragon-node@^2.0.1: | ||||
|   version "2.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" | ||||
| @ -3717,6 +3933,23 @@ snapdragon@^0.8.1: | ||||
|     source-map-resolve "^0.5.0" | ||||
|     use "^3.1.0" | ||||
| 
 | ||||
| socks-proxy-agent@5, socks-proxy-agent@^5.0.0: | ||||
|   version "5.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" | ||||
|   integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== | ||||
|   dependencies: | ||||
|     agent-base "^6.0.2" | ||||
|     debug "4" | ||||
|     socks "^2.3.3" | ||||
| 
 | ||||
| socks@^2.3.3: | ||||
|   version "2.6.2" | ||||
|   resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" | ||||
|   integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== | ||||
|   dependencies: | ||||
|     ip "^1.1.5" | ||||
|     smart-buffer "^4.2.0" | ||||
| 
 | ||||
| source-map-resolve@^0.5.0: | ||||
|   version "0.5.3" | ||||
|   resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" | ||||
| @ -3809,6 +4042,11 @@ static-extend@^0.1.1: | ||||
|     define-property "^0.2.5" | ||||
|     object-copy "^0.1.0" | ||||
| 
 | ||||
| "statuses@>= 1.5.0 < 2": | ||||
|   version "1.5.0" | ||||
|   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" | ||||
|   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= | ||||
| 
 | ||||
| string-length@^4.0.1: | ||||
|   version "4.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" | ||||
| @ -3826,6 +4064,11 @@ string-width@^4.1.0, string-width@^4.2.0: | ||||
|     is-fullwidth-code-point "^3.0.0" | ||||
|     strip-ansi "^6.0.0" | ||||
| 
 | ||||
| string_decoder@~0.10.x: | ||||
|   version "0.10.31" | ||||
|   resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" | ||||
|   integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= | ||||
| 
 | ||||
| strip-ansi@^6.0.0: | ||||
|   version "6.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" | ||||
| @ -3939,6 +4182,11 @@ to-regex@^3.0.1, to-regex@^3.0.2: | ||||
|     regex-not "^1.0.2" | ||||
|     safe-regex "^1.1.0" | ||||
| 
 | ||||
| toidentifier@1.0.1: | ||||
|   version "1.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" | ||||
|   integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== | ||||
| 
 | ||||
| tough-cookie@^4.0.0: | ||||
|   version "4.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" | ||||
| @ -3976,7 +4224,7 @@ tslib@^1.11.1: | ||||
|   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" | ||||
|   integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== | ||||
| 
 | ||||
| tslib@^2.3.0: | ||||
| tslib@^2.0.1, tslib@^2.3.0: | ||||
|   version "2.3.1" | ||||
|   resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" | ||||
|   integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== | ||||
| @ -4043,11 +4291,16 @@ union-value@^1.0.0: | ||||
|     is-extendable "^0.1.1" | ||||
|     set-value "^2.0.1" | ||||
| 
 | ||||
| universalify@^0.1.2: | ||||
| universalify@^0.1.0, universalify@^0.1.2: | ||||
|   version "0.1.2" | ||||
|   resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" | ||||
|   integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== | ||||
| 
 | ||||
| unpipe@1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" | ||||
|   integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= | ||||
| 
 | ||||
| unset-value@^1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" | ||||
| @ -4088,6 +4341,14 @@ validate-npm-package-license@^3.0.1: | ||||
|     spdx-correct "^3.0.0" | ||||
|     spdx-expression-parse "^3.0.0" | ||||
| 
 | ||||
| vm2@^3.9.3: | ||||
|   version "3.9.7" | ||||
|   resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.7.tgz#bb87aa677c97c61e23a6cb6547e44e990517a6f6" | ||||
|   integrity sha512-g/GZ7V0Mlmch3eDVOATvAXr1GsJNg6kQ5PjvYy3HbJMCRn5slNbo/u73Uy7r5yUej1cRa3ZjtoVwcWSQuQ/fow== | ||||
|   dependencies: | ||||
|     acorn "^8.7.0" | ||||
|     acorn-walk "^8.2.0" | ||||
| 
 | ||||
| w3c-hr-time@^1.0.2: | ||||
|   version "1.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" | ||||
| @ -4203,6 +4464,11 @@ xmlchars@^2.2.0: | ||||
|   resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" | ||||
|   integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== | ||||
| 
 | ||||
| xregexp@2.0.0: | ||||
|   version "2.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" | ||||
|   integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= | ||||
| 
 | ||||
| y18n@^4.0.0: | ||||
|   version "4.0.3" | ||||
|   resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" | ||||
| @ -4213,6 +4479,11 @@ yallist@^2.1.2: | ||||
|   resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" | ||||
|   integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= | ||||
| 
 | ||||
| yallist@^3.0.2: | ||||
|   version "3.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" | ||||
|   integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== | ||||
| 
 | ||||
| yallist@^4.0.0: | ||||
|   version "4.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 CrazyMax
						CrazyMax