From a93fe7f7bb2f261b222922ee087776a1725e6e89 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 00:17:34 +0000 Subject: [PATCH 1/2] fix: apply audit fixes --- dist/index.js | 3493 ++++++++++++++++++++++++++++--------------------- 1 file changed, 1985 insertions(+), 1508 deletions(-) diff --git a/dist/index.js b/dist/index.js index 742f75f..492990f 100644 --- a/dist/index.js +++ b/dist/index.js @@ -7504,121 +7504,6 @@ function onceStrict (fn) { } -/***/ }), - -/***/ 7777: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var parseUrl = (__nccwpck_require__(7016).parse); - -var DEFAULT_PORTS = { - ftp: 21, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443, -}; - -var stringEndsWith = String.prototype.endsWith || function(s) { - return s.length <= this.length && - this.indexOf(s, this.length - s.length) !== -1; -}; - -/** - * @param {string|object} url - The URL, or the result from url.parse. - * @return {string} The URL of the proxy that should handle the request to the - * given URL. If no proxy is set, this will be an empty string. - */ -function getProxyForUrl(url) { - var parsedUrl = typeof url === 'string' ? parseUrl(url) : url || {}; - var proto = parsedUrl.protocol; - var hostname = parsedUrl.host; - var port = parsedUrl.port; - if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') { - return ''; // Don't proxy URLs without a valid scheme or host. - } - - proto = proto.split(':', 1)[0]; - // Stripping ports in this way instead of using parsedUrl.hostname to make - // sure that the brackets around IPv6 addresses are kept. - hostname = hostname.replace(/:\d*$/, ''); - port = parseInt(port) || DEFAULT_PORTS[proto] || 0; - if (!shouldProxy(hostname, port)) { - return ''; // Don't proxy URLs that match NO_PROXY. - } - - var proxy = - getEnv('npm_config_' + proto + '_proxy') || - getEnv(proto + '_proxy') || - getEnv('npm_config_proxy') || - getEnv('all_proxy'); - if (proxy && proxy.indexOf('://') === -1) { - // Missing scheme in proxy, default to the requested URL's scheme. - proxy = proto + '://' + proxy; - } - return proxy; -} - -/** - * Determines whether a given URL should be proxied. - * - * @param {string} hostname - The host name of the URL. - * @param {number} port - The effective port of the URL. - * @returns {boolean} Whether the given URL should be proxied. - * @private - */ -function shouldProxy(hostname, port) { - var NO_PROXY = - (getEnv('npm_config_no_proxy') || getEnv('no_proxy')).toLowerCase(); - if (!NO_PROXY) { - return true; // Always proxy if NO_PROXY is not set. - } - if (NO_PROXY === '*') { - return false; // Never proxy if wildcard is set. - } - - return NO_PROXY.split(/[,\s]/).every(function(proxy) { - if (!proxy) { - return true; // Skip zero-length hosts. - } - var parsedProxy = proxy.match(/^(.+):(\d+)$/); - var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy; - var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0; - if (parsedProxyPort && parsedProxyPort !== port) { - return true; // Skip if ports don't match. - } - - if (!/^[.*]/.test(parsedProxyHostname)) { - // No wildcards, so stop proxying if there is an exact match. - return hostname !== parsedProxyHostname; - } - - if (parsedProxyHostname.charAt(0) === '*') { - // Remove leading wildcard. - parsedProxyHostname = parsedProxyHostname.slice(1); - } - // Stop proxying if the hostname ends with the no_proxy host. - return !stringEndsWith.call(hostname, parsedProxyHostname); - }); -} - -/** - * Get the value for an environment variable. - * - * @param {string} key - The name of the environment variable. - * @return {string} The value of the environment variable. - * @private - */ -function getEnv(key) { - return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ''; -} - -exports.getProxyForUrl = getProxyForUrl; - - /***/ }), /***/ 1450: @@ -39823,7 +39708,7 @@ const { isArray } = Array; * * @returns {boolean} True if the value is undefined, otherwise false */ -const isUndefined = typeOfTest("undefined"); +const isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer @@ -39850,7 +39735,7 @@ function isBuffer(val) { * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ -const isArrayBuffer = kindOfTest("ArrayBuffer"); +const isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer @@ -39861,7 +39746,7 @@ const isArrayBuffer = kindOfTest("ArrayBuffer"); */ function isArrayBufferView(val) { let result; - if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) { + if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { result = ArrayBuffer.isView(val); } else { result = val && val.buffer && isArrayBuffer(val.buffer); @@ -39876,7 +39761,7 @@ function isArrayBufferView(val) { * * @returns {boolean} True if value is a String, otherwise false */ -const isString = typeOfTest("string"); +const isString = typeOfTest('string'); /** * Determine if a value is a Function @@ -39884,7 +39769,7 @@ const isString = typeOfTest("string"); * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ -const isFunction = typeOfTest("function"); +const isFunction = typeOfTest('function'); /** * Determine if a value is a Number @@ -39893,7 +39778,7 @@ const isFunction = typeOfTest("function"); * * @returns {boolean} True if value is a Number, otherwise false */ -const isNumber = typeOfTest("number"); +const isNumber = typeOfTest('number'); /** * Determine if a value is an Object @@ -39902,7 +39787,7 @@ const isNumber = typeOfTest("number"); * * @returns {boolean} True if value is an Object, otherwise false */ -const isObject = (thing) => thing !== null && typeof thing === "object"; +const isObject = (thing) => thing !== null && typeof thing === 'object'; /** * Determine if a value is a Boolean @@ -39920,7 +39805,7 @@ const isBoolean = (thing) => thing === true || thing === false; * @returns {boolean} True if value is a plain Object, otherwise false */ const isPlainObject = (val) => { - if (kindOf(val) !== "object") { + if (kindOf(val) !== 'object') { return false; } @@ -39948,10 +39833,7 @@ const isEmptyObject = (val) => { } try { - return ( - Object.keys(val).length === 0 && - Object.getPrototypeOf(val) === Object.prototype - ); + return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype; } catch (e) { // Fallback for any other objects that might cause RangeError with Object.keys() return false; @@ -39965,7 +39847,7 @@ const isEmptyObject = (val) => { * * @returns {boolean} True if value is a Date, otherwise false */ -const isDate = kindOfTest("Date"); +const isDate = kindOfTest('Date'); /** * Determine if a value is a File @@ -39974,7 +39856,32 @@ const isDate = kindOfTest("Date"); * * @returns {boolean} True if value is a File, otherwise false */ -const isFile = kindOfTest("File"); +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a React Native Blob + * React Native "blob": an object with a `uri` attribute. Optionally, it can + * also have a `name` and `type` attribute to specify filename and content type + * + * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71 + * + * @param {*} value The value to test + * + * @returns {boolean} True if value is a React Native Blob, otherwise false + */ +const isReactNativeBlob = (value) => { + return !!(value && typeof value.uri !== 'undefined'); +} + +/** + * Determine if environment is React Native + * ReactNative `FormData` has a non-standard `getParts()` method + * + * @param {*} formData The formData to test + * + * @returns {boolean} True if environment is React Native, otherwise false + */ +const isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined'; /** * Determine if a value is a Blob @@ -39983,7 +39890,7 @@ const isFile = kindOfTest("File"); * * @returns {boolean} True if value is a Blob, otherwise false */ -const utils_isBlob = kindOfTest("Blob"); +const utils_isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList @@ -39992,7 +39899,7 @@ const utils_isBlob = kindOfTest("Blob"); * * @returns {boolean} True if value is a File, otherwise false */ -const isFileList = kindOfTest("FileList"); +const isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream @@ -40010,17 +39917,27 @@ const isStream = (val) => isObject(val) && isFunction(val.pipe); * * @returns {boolean} True if value is an FormData, otherwise false */ +function getGlobal() { + if (typeof globalThis !== 'undefined') return globalThis; + if (typeof self !== 'undefined') return self; + if (typeof window !== 'undefined') return window; + if (typeof global !== 'undefined') return global; + return {}; +} + +const G = getGlobal(); +const FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined; + const isFormData = (thing) => { let kind; - return ( - thing && - ((typeof FormData === "function" && thing instanceof FormData) || - (isFunction(thing.append) && - ((kind = kindOf(thing)) === "formdata" || - // detect form-data instance - (kind === "object" && - isFunction(thing.toString) && - thing.toString() === "[object FormData]")))) + return thing && ( + (FormDataCtor && thing instanceof FormDataCtor) || ( + isFunction(thing.append) && ( + (kind = kindOf(thing)) === 'formdata' || + // detect form-data instance + (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') + ) + ) ); }; @@ -40031,13 +39948,13 @@ const isFormData = (thing) => { * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ -const isURLSearchParams = kindOfTest("URLSearchParams"); +const isURLSearchParams = kindOfTest('URLSearchParams'); const [isReadableStream, utils_isRequest, isResponse, isHeaders] = [ - "ReadableStream", - "Request", - "Response", - "Headers", + 'ReadableStream', + 'Request', + 'Response', + 'Headers', ].map(kindOfTest); /** @@ -40047,9 +39964,9 @@ const [isReadableStream, utils_isRequest, isResponse, isHeaders] = [ * * @returns {String} The String freed of excess whitespace */ -const trim = (str) => - str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); - +const trim = (str) => { + return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); +}; /** * Iterate over an Array or an Object invoking a function for each item. * @@ -40068,7 +39985,7 @@ const trim = (str) => */ function forEach(obj, fn, { allOwnKeys = false } = {}) { // Don't bother if no value provided - if (obj === null || typeof obj === "undefined") { + if (obj === null || typeof obj === 'undefined') { return; } @@ -40076,7 +39993,7 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { let l; // Force an array if not already something iterable - if (typeof obj !== "object") { + if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } @@ -40093,9 +40010,7 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { } // Iterate over object keys - const keys = allOwnKeys - ? Object.getOwnPropertyNames(obj) - : Object.keys(obj); + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); const len = keys.length; let key; @@ -40106,6 +40021,14 @@ function forEach(obj, fn, { allOwnKeys = false } = {}) { } } +/** + * Finds a key in an object, case-insensitive, returning the actual key name. + * Returns null if the object is a Buffer or if no match is found. + * + * @param {Object} obj - The object to search. + * @param {string} key - The key to find (case-insensitive). + * @returns {?string} The actual key name if found, otherwise null. + */ function findKey(obj, key) { if (isBuffer(obj)) { return null; @@ -40126,16 +40049,11 @@ function findKey(obj, key) { const _global = (() => { /*eslint no-undef:0*/ - if (typeof globalThis !== "undefined") return globalThis; - return typeof self !== "undefined" - ? self - : typeof window !== "undefined" - ? window - : global; + if (typeof globalThis !== 'undefined') return globalThis; + return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global; })(); -const isContextDefined = (context) => - !isUndefined(context) && context !== _global; +const isContextDefined = (context) => !isUndefined(context) && context !== _global; /** * Accepts varargs expecting each argument to be an object, then @@ -40160,7 +40078,7 @@ function merge(/* obj1, obj2, obj3, ... */) { const result = {}; const assignValue = (val, key) => { // Skip dangerous property names to prevent prototype pollution - if (key === "__proto__" || key === "constructor" || key === "prototype") { + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { return; } @@ -40213,7 +40131,7 @@ const extend = (a, b, thisArg, { allOwnKeys } = {}) => { }); } }, - { allOwnKeys }, + { allOwnKeys } ); return a; }; @@ -40242,17 +40160,14 @@ const stripBOM = (content) => { * @returns {void} */ const inherits = (constructor, superConstructor, props, descriptors) => { - constructor.prototype = Object.create( - superConstructor.prototype, - descriptors, - ); - Object.defineProperty(constructor.prototype, "constructor", { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + Object.defineProperty(constructor.prototype, 'constructor', { value: constructor, writable: true, enumerable: false, configurable: true, }); - Object.defineProperty(constructor, "super", { + Object.defineProperty(constructor, 'super', { value: superConstructor.prototype, }); props && Object.assign(constructor.prototype, props); @@ -40282,20 +40197,13 @@ const toFlatObject = (sourceObj, destObj, filter, propFilter) => { i = props.length; while (i-- > 0) { prop = props[i]; - if ( - (!propFilter || propFilter(prop, sourceObj, destObj)) && - !merged[prop] - ) { + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } sourceObj = filter !== false && getPrototypeOf(sourceObj); - } while ( - sourceObj && - (!filter || filter(sourceObj, destObj)) && - sourceObj !== Object.prototype - ); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; }; @@ -40352,7 +40260,7 @@ const isTypedArray = ((TypedArray) => { return (thing) => { return TypedArray && thing instanceof TypedArray; }; -})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array)); +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); /** * For each entry in the object, call the function with the key and value. @@ -40395,14 +40303,12 @@ const matchAll = (regExp, str) => { }; /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ -const isHTMLForm = kindOfTest("HTMLFormElement"); +const isHTMLForm = kindOfTest('HTMLFormElement'); const toCamelCase = (str) => { - return str - .toLowerCase() - .replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { - return p1.toUpperCase() + p2; - }); + return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + }); }; /* Creating a function that will check if an object has a property. */ @@ -40419,7 +40325,7 @@ const utils_hasOwnProperty = ( * * @returns {boolean} True if value is a RegExp object, otherwise false */ -const isRegExp = kindOfTest("RegExp"); +const isRegExp = kindOfTest('RegExp'); const reduceDescriptors = (obj, reducer) => { const descriptors = Object.getOwnPropertyDescriptors(obj); @@ -40443,10 +40349,7 @@ const reduceDescriptors = (obj, reducer) => { const freezeMethods = (obj) => { reduceDescriptors(obj, (descriptor, name) => { // skip restricted props in strict mode - if ( - isFunction(obj) && - ["arguments", "caller", "callee"].indexOf(name) !== -1 - ) { + if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { return false; } @@ -40456,7 +40359,7 @@ const freezeMethods = (obj) => { descriptor.enumerable = false; - if ("writable" in descriptor) { + if ('writable' in descriptor) { descriptor.writable = false; return; } @@ -40469,6 +40372,14 @@ const freezeMethods = (obj) => { }); }; +/** + * Converts an array or a delimited string into an object set with values as keys and true as values. + * Useful for fast membership checks. + * + * @param {Array|string} arrayOrString - The array or string to convert. + * @param {string} delimiter - The delimiter to use if input is a string. + * @returns {Object} An object with keys from the array or string, values set to true. + */ const toObjectSet = (arrayOrString, delimiter) => { const obj = {}; @@ -40478,9 +40389,7 @@ const toObjectSet = (arrayOrString, delimiter) => { }); }; - isArray(arrayOrString) - ? define(arrayOrString) - : define(String(arrayOrString).split(delimiter)); + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); return obj; }; @@ -40488,9 +40397,7 @@ const toObjectSet = (arrayOrString, delimiter) => { const noop = () => {}; const toFiniteNumber = (value, defaultValue) => { - return value != null && Number.isFinite((value = +value)) - ? value - : defaultValue; + return value != null && Number.isFinite((value = +value)) ? value : defaultValue; }; /** @@ -40504,11 +40411,17 @@ function isSpecCompliantForm(thing) { return !!( thing && isFunction(thing.append) && - thing[toStringTag] === "FormData" && + thing[toStringTag] === 'FormData' && thing[iterator] ); } +/** + * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers. + * + * @param {Object} obj - The object to convert. + * @returns {Object} The JSON-compatible object. + */ const toJSONObject = (obj) => { const stack = new Array(10); @@ -40523,7 +40436,7 @@ const toJSONObject = (obj) => { return source; } - if (!("toJSON" in source)) { + if (!('toJSON' in source)) { stack[i] = source; const target = isArray(source) ? [] : {}; @@ -40544,8 +40457,20 @@ const toJSONObject = (obj) => { return visit(obj, 0); }; -const isAsyncFn = kindOfTest("AsyncFunction"); +/** + * Determines if a value is an async function. + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is an async function, otherwise false. + */ +const isAsyncFn = kindOfTest('AsyncFunction'); +/** + * Determines if a value is thenable (has then and catch methods). + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is thenable, otherwise false. + */ const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && @@ -40555,6 +40480,14 @@ const isThenable = (thing) => // original code // https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 +/** + * Provides a cross-platform setImmediate implementation. + * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout. + * + * @param {boolean} setImmediateSupported - Whether setImmediate is supported. + * @param {boolean} postMessageSupported - Whether postMessage is supported. + * @returns {Function} A function to schedule a callback asynchronously. + */ const _setImmediate = ((setImmediateSupported, postMessageSupported) => { if (setImmediateSupported) { return setImmediate; @@ -40563,27 +40496,33 @@ const _setImmediate = ((setImmediateSupported, postMessageSupported) => { return postMessageSupported ? ((token, callbacks) => { _global.addEventListener( - "message", + 'message', ({ source, data }) => { if (source === _global && data === token) { callbacks.length && callbacks.shift()(); } }, - false, + false ); return (cb) => { callbacks.push(cb); - _global.postMessage(token, "*"); + _global.postMessage(token, '*'); }; })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb); -})(typeof setImmediate === "function", isFunction(_global.postMessage)); +})(typeof setImmediate === 'function', isFunction(_global.postMessage)); +/** + * Schedules a microtask or asynchronous callback as soon as possible. + * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate. + * + * @type {Function} + */ const asap = - typeof queueMicrotask !== "undefined" + typeof queueMicrotask !== 'undefined' ? queueMicrotask.bind(_global) - : (typeof process !== "undefined" && process.nextTick) || _setImmediate; + : (typeof process !== 'undefined' && process.nextTick) || _setImmediate; // ********************* @@ -40608,6 +40547,8 @@ const isIterable = (thing) => thing != null && isFunction(thing[iterator]); isUndefined, isDate, isFile, + isReactNativeBlob, + isReactNative, isBlob: utils_isBlob, isRegExp, isFunction, @@ -40655,14 +40596,20 @@ const isIterable = (thing) => thing != null && isFunction(thing[iterator]); class AxiosError extends Error { - static from(error, code, config, request, response, customProps) { - const axiosError = new AxiosError(error.message, code || error.code, config, request, response); - axiosError.cause = error; - axiosError.name = error.name; - customProps && Object.assign(axiosError, customProps); - return axiosError; + static from(error, code, config, request, response, customProps) { + const axiosError = new AxiosError(error.message, code || error.code, config, request, response); + axiosError.cause = error; + axiosError.name = error.name; + + // Preserve status from the original error if not already set from response + if (error.status != null && axiosError.status == null) { + axiosError.status = error.status; } + customProps && Object.assign(axiosError, customProps); + return axiosError; + } + /** * Create an Error with the specified message, config, error code, request and response. * @@ -40675,37 +40622,48 @@ class AxiosError extends Error { * @returns {Error} The created error. */ constructor(message, code, config, request, response) { - super(message); - this.name = 'AxiosError'; - this.isAxiosError = true; - code && (this.code = code); - config && (this.config = config); - request && (this.request = request); - if (response) { - this.response = response; - this.status = response.status; - } + super(message); + + // Make message enumerable to maintain backward compatibility + // The native Error constructor sets message as non-enumerable, + // but axios < v1.13.3 had it as enumerable + Object.defineProperty(this, 'message', { + value: message, + enumerable: true, + writable: true, + configurable: true + }); + + this.name = 'AxiosError'; + this.isAxiosError = true; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + if (response) { + this.response = response; + this.status = response.status; + } } - toJSON() { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: utils.toJSONObject(this.config), - code: this.code, - status: this.status, - }; - } + toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: utils.toJSONObject(this.config), + code: this.code, + status: this.status, + }; + } } // This can be changed to static properties as soon as the parser options in .eslint.cjs are updated. @@ -40772,11 +40730,14 @@ function removeBrackets(key) { */ function renderKey(path, key, dots) { if (!path) return key; - return path.concat(key).map(function each(token, i) { - // eslint-disable-next-line no-param-reassign - token = removeBrackets(token); - return !dots && i ? '[' + token + ']' : token; - }).join(dots ? '.' : ''); + return path + .concat(key) + .map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }) + .join(dots ? '.' : ''); } /** @@ -40826,21 +40787,26 @@ function toFormData(obj, formData, options) { formData = formData || new (classes_FormData || FormData)(); // eslint-disable-next-line no-param-reassign - options = utils.toFlatObject(options, { - metaTokens: true, - dots: false, - indexes: false - }, false, function defined(option, source) { - // eslint-disable-next-line no-eq-null,eqeqeq - return !utils.isUndefined(source[option]); - }); + options = utils.toFlatObject( + options, + { + metaTokens: true, + dots: false, + indexes: false, + }, + false, + function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !utils.isUndefined(source[option]); + } + ); const metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define const visitor = options.visitor || defaultVisitor; const dots = options.dots; const indexes = options.indexes; - const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; + const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob); const useBlob = _Blob && utils.isSpecCompliantForm(formData); if (!utils.isFunction(visitor)) { @@ -40882,6 +40848,11 @@ function toFormData(obj, formData, options) { function defaultVisitor(value, key, path) { let arr = value; + if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) { + formData.append(renderKey(path, key, dots), convertValue(value)); + return false; + } + if (value && !path && typeof value === 'object') { if (utils.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign @@ -40890,17 +40861,22 @@ function toFormData(obj, formData, options) { value = JSON.stringify(value); } else if ( (utils.isArray(value) && isFlatArray(value)) || - ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)) - )) { + ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))) + ) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); arr.forEach(function each(el, index) { - !(utils.isUndefined(el) || el === null) && formData.append( - // eslint-disable-next-line no-nested-ternary - indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), - convertValue(el) - ); + !(utils.isUndefined(el) || el === null) && + formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true + ? renderKey([key], index, dots) + : indexes === null + ? key + : key + '[]', + convertValue(el) + ); }); return false; } @@ -40920,7 +40896,7 @@ function toFormData(obj, formData, options) { const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, - isVisitable + isVisitable, }); function build(value, path) { @@ -40933,9 +40909,9 @@ function toFormData(obj, formData, options) { stack.push(value); utils.forEach(value, function each(el, key) { - const result = !(utils.isUndefined(el) || el === null) && visitor.call( - formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers - ); + const result = + !(utils.isUndefined(el) || el === null) && + visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers); if (result === true) { build(el, path ? path.concat(key) : [key]); @@ -40977,7 +40953,7 @@ function encode(str) { ')': '%29', '~': '%7E', '%20': '+', - '%00': '\x00' + '%00': '\x00', }; return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; @@ -41005,13 +40981,17 @@ AxiosURLSearchParams_prototype.append = function append(name, value) { }; AxiosURLSearchParams_prototype.toString = function toString(encoder) { - const _encode = encoder ? function(value) { - return encoder.call(this, value, encode); - } : encode; + const _encode = encoder + ? function (value) { + return encoder.call(this, value, encode); + } + : encode; - return this._pairs.map(function each(pair) { - return _encode(pair[0]) + '=' + _encode(pair[1]); - }, '').join('&'); + return this._pairs + .map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '') + .join('&'); }; /* harmony default export */ const helpers_AxiosURLSearchParams = (AxiosURLSearchParams); @@ -41023,19 +41003,19 @@ AxiosURLSearchParams_prototype.toString = function toString(encoder) { /** - * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their - * URI encoded counterparts + * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with + * their plain counterparts (`:`, `$`, `,`, `+`). * * @param {string} val The value to be encoded. * * @returns {string} The encoded value. */ function buildURL_encode(val) { - return encodeURIComponent(val). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'); + return encodeURIComponent(val) + .replace(/%3A/gi, ':') + .replace(/%24/g, '$') + .replace(/%2C/gi, ',') + .replace(/%20/g, '+'); } /** @@ -41052,11 +41032,13 @@ function buildURL(url, params, options) { return url; } - const _encode = options && options.encode || buildURL_encode; + const _encode = (options && options.encode) || buildURL_encode; - const _options = utils.isFunction(options) ? { - serialize: options - } : options; + const _options = utils.isFunction(options) + ? { + serialize: options, + } + : options; const serializeFn = _options && _options.serialize; @@ -41065,13 +41047,13 @@ function buildURL(url, params, options) { if (serializeFn) { serializedParams = serializeFn(params, _options); } else { - serializedParams = utils.isURLSearchParams(params) ? - params.toString() : - new helpers_AxiosURLSearchParams(params, _options).toString(_encode); + serializedParams = utils.isURLSearchParams(params) + ? params.toString() + : new helpers_AxiosURLSearchParams(params, _options).toString(_encode); } if (serializedParams) { - const hashmarkIndex = url.indexOf("#"); + const hashmarkIndex = url.indexOf('#'); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); @@ -41106,7 +41088,7 @@ class InterceptorManager { fulfilled, rejected, synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null + runWhen: options ? options.runWhen : null, }); return this.handlers.length - 1; } @@ -41163,7 +41145,7 @@ class InterceptorManager { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false, - legacyInterceptorReqResOrdering: true + legacyInterceptorReqResOrdering: true, }); // EXTERNAL MODULE: external "crypto" @@ -41181,19 +41163,19 @@ var external_url_ = __nccwpck_require__(7016); -const ALPHA = 'abcdefghijklmnopqrstuvwxyz' +const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; const DIGIT = '0123456789'; const ALPHABET = { DIGIT, ALPHA, - ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT -} + ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT, +}; const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { let str = ''; - const {length} = alphabet; + const { length } = alphabet; const randomValues = new Uint32Array(size); external_crypto_.randomFillSync(randomValues); for (let i = 0; i < size; i++) { @@ -41201,25 +41183,24 @@ const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { } return str; -} - +}; /* harmony default export */ const node = ({ isNode: true, classes: { URLSearchParams: classes_URLSearchParams, FormData: classes_FormData, - Blob: typeof Blob !== 'undefined' && Blob || null + Blob: (typeof Blob !== 'undefined' && Blob) || null, }, ALPHABET, generateString, - protocols: [ 'http', 'https', 'file', 'data' ] + protocols: ['http', 'https', 'file', 'data'], }); ;// CONCATENATED MODULE: ./node_modules/axios/lib/platform/common/utils.js const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; -const _navigator = typeof navigator === 'object' && navigator || undefined; +const _navigator = (typeof navigator === 'object' && navigator) || undefined; /** * Determine if we're running in a standard browser environment @@ -41238,7 +41219,8 @@ const _navigator = typeof navigator === 'object' && navigator || undefined; * * @returns {boolean} */ -const hasStandardBrowserEnv = hasBrowserEnv && +const hasStandardBrowserEnv = + hasBrowserEnv && (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); /** @@ -41259,7 +41241,7 @@ const hasStandardBrowserWebWorkerEnv = (() => { ); })(); -const origin = hasBrowserEnv && window.location.href || 'http://localhost'; +const origin = (hasBrowserEnv && window.location.href) || 'http://localhost'; @@ -41269,7 +41251,7 @@ const origin = hasBrowserEnv && window.location.href || 'http://localhost'; /* harmony default export */ const platform = ({ ...common_utils_namespaceObject, - ...node + ...node, }); ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/toURLEncodedForm.js @@ -41281,7 +41263,7 @@ const origin = hasBrowserEnv && window.location.href || 'http://localhost'; function toURLEncodedForm(data, options) { return helpers_toFormData(data, new platform.classes.URLSearchParams(), { - visitor: function(value, key, path, helpers) { + visitor: function (value, key, path, helpers) { if (platform.isNode && utils.isBuffer(value)) { this.append(key, value.toString('base64')); return false; @@ -41289,7 +41271,7 @@ function toURLEncodedForm(data, options) { return helpers.defaultVisitor.apply(this, arguments); }, - ...options + ...options, }); } @@ -41310,7 +41292,7 @@ function parsePropPath(name) { // foo.x.y.z // foo-x-y-z // foo x y z - return utils.matchAll(/\w+|\[(\w*)]/g, name).map(match => { + return utils.matchAll(/\w+|\[(\w*)]/g, name).map((match) => { return match[0] === '[]' ? '' : match[1] || match[0]; }); } @@ -41427,96 +41409,107 @@ function stringifySafely(rawValue, parser, encoder) { } const defaults = { - transitional: defaults_transitional, adapter: ['xhr', 'http', 'fetch'], - transformRequest: [function transformRequest(data, headers) { - const contentType = headers.getContentType() || ''; - const hasJSONContentType = contentType.indexOf('application/json') > -1; - const isObjectPayload = utils.isObject(data); + transformRequest: [ + function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = utils.isObject(data); - if (isObjectPayload && utils.isHTMLForm(data)) { - data = new FormData(data); - } + if (isObjectPayload && utils.isHTMLForm(data)) { + data = new FormData(data); + } - const isFormData = utils.isFormData(data); + const isFormData = utils.isFormData(data); - if (isFormData) { - return hasJSONContentType ? JSON.stringify(helpers_formDataToJSON(data)) : data; - } + if (isFormData) { + return hasJSONContentType ? JSON.stringify(helpers_formDataToJSON(data)) : data; + } - if (utils.isArrayBuffer(data) || - utils.isBuffer(data) || - utils.isStream(data) || - utils.isFile(data) || - utils.isBlob(data) || - utils.isReadableStream(data) - ) { - return data; - } - if (utils.isArrayBufferView(data)) { - return data.buffer; - } - if (utils.isURLSearchParams(data)) { - headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); - return data.toString(); - } + if ( + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) || + utils.isReadableStream(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } - let isFileList; + let isFileList; - if (isObjectPayload) { - if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { - return toURLEncodedForm(data, this.formSerializer).toString(); - } + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return toURLEncodedForm(data, this.formSerializer).toString(); + } - if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { - const _FormData = this.env && this.env.FormData; + if ( + (isFileList = utils.isFileList(data)) || + contentType.indexOf('multipart/form-data') > -1 + ) { + const _FormData = this.env && this.env.FormData; - return helpers_toFormData( - isFileList ? {'files[]': data} : data, - _FormData && new _FormData(), - this.formSerializer - ); + return helpers_toFormData( + isFileList ? { 'files[]': data } : data, + _FormData && new _FormData(), + this.formSerializer + ); + } } - } - if (isObjectPayload || hasJSONContentType ) { - headers.setContentType('application/json', false); - return stringifySafely(data); - } + if (isObjectPayload || hasJSONContentType) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } - return data; - }], + return data; + }, + ], - transformResponse: [function transformResponse(data) { - const transitional = this.transitional || defaults.transitional; - const forcedJSONParsing = transitional && transitional.forcedJSONParsing; - const JSONRequested = this.responseType === 'json'; + transformResponse: [ + function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; - if (utils.isResponse(data) || utils.isReadableStream(data)) { - return data; - } + if (utils.isResponse(data) || utils.isReadableStream(data)) { + return data; + } - if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { - const silentJSONParsing = transitional && transitional.silentJSONParsing; - const strictJSONParsing = !silentJSONParsing && JSONRequested; + if ( + data && + utils.isString(data) && + ((forcedJSONParsing && !this.responseType) || JSONRequested) + ) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; - try { - return JSON.parse(data, this.parseReviver); - } catch (e) { - if (strictJSONParsing) { - if (e.name === 'SyntaxError') { - throw core_AxiosError.from(e, core_AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + try { + return JSON.parse(data, this.parseReviver); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw core_AxiosError.from(e, core_AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; } - throw e; } } - } - return data; - }], + return data; + }, + ], /** * A timeout in milliseconds to abort a request. If set to 0 (default) a @@ -41532,7 +41525,7 @@ const defaults = { env: { FormData: platform.classes.FormData, - Blob: platform.classes.Blob + Blob: platform.classes.Blob, }, validateStatus: function validateStatus(status) { @@ -41541,10 +41534,10 @@ const defaults = { headers: { common: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type': undefined - } - } + Accept: 'application/json, text/plain, */*', + 'Content-Type': undefined, + }, + }, }; utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { @@ -41561,10 +41554,23 @@ utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { // RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers const ignoreDuplicateOf = utils.toObjectSet([ - 'age', 'authorization', 'content-length', 'content-type', 'etag', - 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', - 'last-modified', 'location', 'max-forwards', 'proxy-authorization', - 'referer', 'retry-after', 'user-agent' + 'age', + 'authorization', + 'content-length', + 'content-type', + 'etag', + 'expires', + 'from', + 'host', + 'if-modified-since', + 'if-unmodified-since', + 'last-modified', + 'location', + 'max-forwards', + 'proxy-authorization', + 'referer', + 'retry-after', + 'user-agent', ]); /** @@ -41581,31 +41587,32 @@ const ignoreDuplicateOf = utils.toObjectSet([ * * @returns {Object} Headers parsed into an object */ -/* harmony default export */ const parseHeaders = (rawHeaders => { +/* harmony default export */ const parseHeaders = ((rawHeaders) => { const parsed = {}; let key; let val; let i; - rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { - i = line.indexOf(':'); - key = line.substring(0, i).trim().toLowerCase(); - val = line.substring(i + 1).trim(); + rawHeaders && + rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); - if (!key || (parsed[key] && ignoreDuplicateOf[key])) { - return; - } + if (!key || (parsed[key] && ignoreDuplicateOf[key])) { + return; + } - if (key === 'set-cookie') { - if (parsed[key]) { - parsed[key].push(val); + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } } else { - parsed[key] = [val]; + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - }); + }); return parsed; }); @@ -41618,16 +41625,49 @@ const ignoreDuplicateOf = utils.toObjectSet([ const $internals = Symbol('internals'); +const isValidHeaderValue = (value) => !/[\r\n]/.test(value); + +function assertValidHeaderValue(value, header) { + if (value === false || value == null) { + return; + } + + if (utils.isArray(value)) { + value.forEach((v) => assertValidHeaderValue(v, header)); + return; + } + + if (!isValidHeaderValue(String(value))) { + throw new Error(`Invalid character in header content ["${header}"]`); + } +} + function normalizeHeader(header) { return header && String(header).trim().toLowerCase(); } +function stripTrailingCRLF(str) { + let end = str.length; + + while (end > 0) { + const charCode = str.charCodeAt(end - 1); + + if (charCode !== 10 && charCode !== 13) { + break; + } + + end -= 1; + } + + return end === str.length ? str : str.slice(0, end); +} + function normalizeValue(value) { if (value === false || value == null) { return value; } - return utils.isArray(value) ? value.map(normalizeValue) : String(value); + return utils.isArray(value) ? value.map(normalizeValue) : stripTrailingCRLF(String(value)); } function parseTokens(str) { @@ -41665,8 +41705,10 @@ function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { } function formatHeader(header) { - return header.trim() - .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return header + .trim() + .toLowerCase() + .replace(/([a-z\d])(\w*)/g, (w, char, str) => { return char.toUpperCase() + str; }); } @@ -41674,12 +41716,12 @@ function formatHeader(header) { function buildAccessors(obj, header) { const accessorName = utils.toCamelCase(' ' + header); - ['get', 'set', 'has'].forEach(methodName => { + ['get', 'set', 'has'].forEach((methodName) => { Object.defineProperty(obj, methodName + accessorName, { - value: function(arg1, arg2, arg3) { + value: function (arg1, arg2, arg3) { return this[methodName].call(this, header, arg1, arg2, arg3); }, - configurable: true + configurable: true, }); }); } @@ -41701,7 +41743,13 @@ class AxiosHeaders { const key = utils.findKey(self, lHeader); - if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { + if ( + !key || + self[key] === undefined || + _rewrite === true || + (_rewrite === undefined && self[key] !== false) + ) { + assertValidHeaderValue(_value, _header); self[key || _header] = normalizeValue(_value); } } @@ -41710,21 +41758,26 @@ class AxiosHeaders { utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); if (utils.isPlainObject(header) || header instanceof this.constructor) { - setHeaders(header, valueOrRewrite) - } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { + setHeaders(header, valueOrRewrite); + } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); } else if (utils.isObject(header) && utils.isIterable(header)) { - let obj = {}, dest, key; + let obj = {}, + dest, + key; for (const entry of header) { if (!utils.isArray(entry)) { throw TypeError('Object iterator must return a key-value pair'); } - obj[key = entry[0]] = (dest = obj[key]) ? - (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1]; + obj[(key = entry[0])] = (dest = obj[key]) + ? utils.isArray(dest) + ? [...dest, entry[1]] + : [dest, entry[1]] + : entry[1]; } - setHeaders(obj, valueOrRewrite) + setHeaders(obj, valueOrRewrite); } else { header != null && setHeader(valueOrRewrite, header, rewrite); } @@ -41768,7 +41821,11 @@ class AxiosHeaders { if (header) { const key = utils.findKey(this, header); - return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); + return !!( + key && + this[key] !== undefined && + (!matcher || matchHeaderValue(this, this[key], key, matcher)) + ); } return false; @@ -41808,7 +41865,7 @@ class AxiosHeaders { while (i--) { const key = keys[i]; - if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { + if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { delete this[key]; deleted = true; } @@ -41852,7 +41909,9 @@ class AxiosHeaders { const obj = Object.create(null); utils.forEach(this, (value, header) => { - value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value); + value != null && + value !== false && + (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value); }); return obj; @@ -41863,11 +41922,13 @@ class AxiosHeaders { } toString() { - return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); + return Object.entries(this.toJSON()) + .map(([header, value]) => header + ': ' + value) + .join('\n'); } getSetCookie() { - return this.get("set-cookie") || []; + return this.get('set-cookie') || []; } get [Symbol.toStringTag]() { @@ -41887,9 +41948,12 @@ class AxiosHeaders { } static accessor(header) { - const internals = this[$internals] = (this[$internals] = { - accessors: {} - }); + const internals = + (this[$internals] = + this[$internals] = + { + accessors: {}, + }); const accessors = internals.accessors; const prototype = this.prototype; @@ -41909,17 +41973,24 @@ class AxiosHeaders { } } -AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); +AxiosHeaders.accessor([ + 'Content-Type', + 'Content-Length', + 'Accept', + 'Accept-Encoding', + 'User-Agent', + 'Authorization', +]); // reserved names hotfix -utils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { +utils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` return { get: () => value, set(headerValue) { this[mapped] = headerValue; - } - } + }, + }; }); utils.freezeMethods(AxiosHeaders); @@ -42006,13 +42077,17 @@ function settle(resolve, reject, response) { if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { - reject(new core_AxiosError( - 'Request failed with status code ' + response.status, - [core_AxiosError.ERR_BAD_REQUEST, core_AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], - response.config, - response.request, - response - )); + reject( + new core_AxiosError( + 'Request failed with status code ' + response.status, + [core_AxiosError.ERR_BAD_REQUEST, core_AxiosError.ERR_BAD_RESPONSE][ + Math.floor(response.status / 100) - 4 + ], + response.config, + response.request, + response + ) + ); } } @@ -42037,7 +42112,6 @@ function isAbsoluteURL(url) { return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } - ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/combineURLs.js @@ -42079,8 +42153,111 @@ function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) { return requestedURL; } -// EXTERNAL MODULE: ./node_modules/proxy-from-env/index.js -var proxy_from_env = __nccwpck_require__(7777); +;// CONCATENATED MODULE: ./node_modules/proxy-from-env/index.js + + +var DEFAULT_PORTS = { + ftp: 21, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443, +}; + +function parseUrl(urlString) { + try { + return new URL(urlString); + } catch { + return null; + } +} + +/** + * @param {string|object|URL} url - The URL as a string or URL instance, or a + * compatible object (such as the result from legacy url.parse). + * @return {string} The URL of the proxy that should handle the request to the + * given URL. If no proxy is set, this will be an empty string. + */ +function getProxyForUrl(url) { + var parsedUrl = (typeof url === 'string' ? parseUrl(url) : url) || {}; + var proto = parsedUrl.protocol; + var hostname = parsedUrl.host; + var port = parsedUrl.port; + if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') { + return ''; // Don't proxy URLs without a valid scheme or host. + } + + proto = proto.split(':', 1)[0]; + // Stripping ports in this way instead of using parsedUrl.hostname to make + // sure that the brackets around IPv6 addresses are kept. + hostname = hostname.replace(/:\d*$/, ''); + port = parseInt(port) || DEFAULT_PORTS[proto] || 0; + if (!shouldProxy(hostname, port)) { + return ''; // Don't proxy URLs that match NO_PROXY. + } + + var proxy = getEnv(proto + '_proxy') || getEnv('all_proxy'); + if (proxy && proxy.indexOf('://') === -1) { + // Missing scheme in proxy, default to the requested URL's scheme. + proxy = proto + '://' + proxy; + } + return proxy; +} + +/** + * Determines whether a given URL should be proxied. + * + * @param {string} hostname - The host name of the URL. + * @param {number} port - The effective port of the URL. + * @returns {boolean} Whether the given URL should be proxied. + * @private + */ +function shouldProxy(hostname, port) { + var NO_PROXY = getEnv('no_proxy').toLowerCase(); + if (!NO_PROXY) { + return true; // Always proxy if NO_PROXY is not set. + } + if (NO_PROXY === '*') { + return false; // Never proxy if wildcard is set. + } + + return NO_PROXY.split(/[,\s]/).every(function(proxy) { + if (!proxy) { + return true; // Skip zero-length hosts. + } + var parsedProxy = proxy.match(/^(.+):(\d+)$/); + var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy; + var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0; + if (parsedProxyPort && parsedProxyPort !== port) { + return true; // Skip if ports don't match. + } + + if (!/^[.*]/.test(parsedProxyHostname)) { + // No wildcards, so stop proxying if there is an exact match. + return hostname !== parsedProxyHostname; + } + + if (parsedProxyHostname.charAt(0) === '*') { + // Remove leading wildcard. + parsedProxyHostname = parsedProxyHostname.slice(1); + } + // Stop proxying if the hostname ends with the no_proxy host. + return !hostname.endsWith(parsedProxyHostname); + }); +} + +/** + * Get the value for an environment variable. + * + * @param {string} key - The name of the environment variable. + * @return {string} The value of the environment variable. + * @private + */ +function getEnv(key) { + return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ''; +} + // EXTERNAL MODULE: external "http" var external_http_ = __nccwpck_require__(8611); // EXTERNAL MODULE: external "https" @@ -42094,13 +42271,13 @@ var follow_redirects = __nccwpck_require__(1573); // EXTERNAL MODULE: external "zlib" var external_zlib_ = __nccwpck_require__(3106); ;// CONCATENATED MODULE: ./node_modules/axios/lib/env/data.js -const VERSION = "1.13.5"; +const VERSION = "1.15.0"; ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/parseProtocol.js function parseProtocol(url) { const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); - return match && match[1] || ''; + return (match && match[1]) || ''; } ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/fromDataURI.js @@ -42123,7 +42300,7 @@ const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; * @returns {Buffer|Blob} */ function fromDataURI(uri, asBlob, options) { - const _Blob = options && options.Blob || platform.classes.Blob; + const _Blob = (options && options.Blob) || platform.classes.Blob; const protocol = parseProtocol(uri); if (asBlob === undefined && _Blob) { @@ -42149,7 +42326,7 @@ function fromDataURI(uri, asBlob, options) { throw new core_AxiosError('Blob is not supported', core_AxiosError.ERR_NOT_SUPPORT); } - return new _Blob([buffer], {type: mime}); + return new _Blob([buffer], { type: mime }); } return buffer; @@ -42168,24 +42345,29 @@ var external_stream_ = __nccwpck_require__(2203); const kInternals = Symbol('internals'); -class AxiosTransformStream extends external_stream_.Transform{ +class AxiosTransformStream extends external_stream_.Transform { constructor(options) { - options = utils.toFlatObject(options, { - maxRate: 0, - chunkSize: 64 * 1024, - minChunkSize: 100, - timeWindow: 500, - ticksRate: 2, - samplesCount: 15 - }, null, (prop, source) => { - return !utils.isUndefined(source[prop]); - }); + options = utils.toFlatObject( + options, + { + maxRate: 0, + chunkSize: 64 * 1024, + minChunkSize: 100, + timeWindow: 500, + ticksRate: 2, + samplesCount: 15, + }, + null, + (prop, source) => { + return !utils.isUndefined(source[prop]); + } + ); super({ - readableHighWaterMark: options.chunkSize + readableHighWaterMark: options.chunkSize, }); - const internals = this[kInternals] = { + const internals = (this[kInternals] = { timeWindow: options.timeWindow, chunkSize: options.chunkSize, maxRate: options.maxRate, @@ -42195,10 +42377,10 @@ class AxiosTransformStream extends external_stream_.Transform{ notifiedBytesLoaded: 0, ts: Date.now(), bytes: 0, - onReadCallback: null - }; + onReadCallback: null, + }); - this.on('newListener', event => { + this.on('newListener', (event) => { if (event === 'progress') { if (!internals.isCaptured) { internals.isCaptured = true; @@ -42226,8 +42408,11 @@ class AxiosTransformStream extends external_stream_.Transform{ const timeWindow = internals.timeWindow; const divider = 1000 / timeWindow; - const bytesThreshold = (maxRate / divider); - const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; + const bytesThreshold = maxRate / divider; + const minChunkSize = + internals.minChunkSize !== false + ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) + : 0; const pushChunk = (_chunk, _callback) => { const bytes = Buffer.byteLength(_chunk); @@ -42244,7 +42429,7 @@ class AxiosTransformStream extends external_stream_.Transform{ process.nextTick(_callback); }; } - } + }; const transformChunk = (_chunk, _callback) => { const chunkSize = Buffer.byteLength(_chunk); @@ -42256,7 +42441,7 @@ class AxiosTransformStream extends external_stream_.Transform{ if (maxRate) { const now = Date.now(); - if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) { + if (!internals.ts || (passed = now - internals.ts) >= timeWindow) { internals.ts = now; bytesLeft = bytesThreshold - internals.bytes; internals.bytes = bytesLeft < 0 ? -bytesLeft : 0; @@ -42279,14 +42464,19 @@ class AxiosTransformStream extends external_stream_.Transform{ } } - if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) { + if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) { chunkRemainder = _chunk.subarray(maxChunkSize); _chunk = _chunk.subarray(0, maxChunkSize); } - pushChunk(_chunk, chunkRemainder ? () => { - process.nextTick(_callback, null, chunkRemainder); - } : _callback); + pushChunk( + _chunk, + chunkRemainder + ? () => { + process.nextTick(_callback, null, chunkRemainder); + } + : _callback + ); }; transformChunk(chunk, function transformNextChunk(err, _chunk) { @@ -42308,19 +42498,19 @@ class AxiosTransformStream extends external_stream_.Transform{ // EXTERNAL MODULE: external "events" var external_events_ = __nccwpck_require__(4434); ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/readBlob.js -const {asyncIterator} = Symbol; +const { asyncIterator } = Symbol; const readBlob = async function* (blob) { if (blob.stream) { - yield* blob.stream() + yield* blob.stream(); } else if (blob.arrayBuffer) { - yield await blob.arrayBuffer() + yield await blob.arrayBuffer(); } else if (blob[asyncIterator]) { yield* blob[asyncIterator](); } else { yield blob; } -} +}; /* harmony default export */ const helpers_readBlob = (readBlob); @@ -42341,7 +42531,7 @@ const CRLF_BYTES_COUNT = 2; class FormDataPart { constructor(name, value) { - const {escapeName} = this.constructor; + const { escapeName } = this.constructor; const isStringValue = utils.isString(value); let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${ @@ -42351,7 +42541,7 @@ class FormDataPart { if (isStringValue) { value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); } else { - headers += `Content-Type: ${value.type || "application/octet-stream"}${CRLF}` + headers += `Content-Type: ${value.type || 'application/octet-stream'}${CRLF}`; } this.headers = textEncoder.encode(headers + CRLF); @@ -42364,12 +42554,12 @@ class FormDataPart { this.value = value; } - async *encode(){ + async *encode() { yield this.headers; - const {value} = this; + const { value } = this; - if(utils.isTypedArray(value)) { + if (utils.isTypedArray(value)) { yield value; } else { yield* helpers_readBlob(value); @@ -42379,11 +42569,15 @@ class FormDataPart { } static escapeName(name) { - return String(name).replace(/[\r\n"]/g, (match) => ({ - '\r' : '%0D', - '\n' : '%0A', - '"' : '%22', - }[match])); + return String(name).replace( + /[\r\n"]/g, + (match) => + ({ + '\r': '%0D', + '\n': '%0A', + '"': '%22', + })[match] + ); } } @@ -42391,15 +42585,15 @@ const formDataToStream = (form, headersHandler, options) => { const { tag = 'form-data-boundary', size = 25, - boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET) + boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET), } = options || {}; - if(!utils.isFormData(form)) { + if (!utils.isFormData(form)) { throw TypeError('FormData instance required'); } if (boundary.length < 1 || boundary.length > 70) { - throw Error('boundary must be 10-70 characters long') + throw Error('boundary must be 10-70 characters long'); } const boundaryBytes = textEncoder.encode('--' + boundary + CRLF); @@ -42417,8 +42611,8 @@ const formDataToStream = (form, headersHandler, options) => { contentLength = utils.toFiniteNumber(contentLength); const computedHeaders = { - 'Content-Type': `multipart/form-data; boundary=${boundary}` - } + 'Content-Type': `multipart/form-data; boundary=${boundary}`, + }; if (Number.isFinite(contentLength)) { computedHeaders['Content-Length'] = contentLength; @@ -42426,14 +42620,16 @@ const formDataToStream = (form, headersHandler, options) => { headersHandler && headersHandler(computedHeaders); - return external_stream_.Readable.from((async function *() { - for(const part of parts) { - yield boundaryBytes; - yield* part.encode(); - } + return external_stream_.Readable.from( + (async function* () { + for (const part of parts) { + yield boundaryBytes; + yield* part.encode(); + } - yield footerBytes; - })()); + yield footerBytes; + })() + ); }; /* harmony default export */ const helpers_formDataToStream = (formDataToStream); @@ -42454,10 +42650,11 @@ class ZlibHeaderTransformStream extends external_stream_.Transform { this._transform = this.__transform; // Add Default Compression headers if no zlib headers are present - if (chunk[0] !== 120) { // Hex: 78 + if (chunk[0] !== 120) { + // Hex: 78 const header = Buffer.alloc(2); header[0] = 120; // Hex: 78 - header[1] = 156; // Hex: 9C + header[1] = 156; // Hex: 9C this.push(header, encoding); } } @@ -42472,20 +42669,130 @@ class ZlibHeaderTransformStream extends external_stream_.Transform { const callbackify = (fn, reducer) => { - return utils.isAsyncFn(fn) ? function (...args) { - const cb = args.pop(); - fn.apply(this, args).then((value) => { - try { - reducer ? cb(null, ...reducer(value)) : cb(null, value); - } catch (err) { - cb(err); + return utils.isAsyncFn(fn) + ? function (...args) { + const cb = args.pop(); + fn.apply(this, args).then((value) => { + try { + reducer ? cb(null, ...reducer(value)) : cb(null, value); + } catch (err) { + cb(err); + } + }, cb); } - }, cb); - } : fn; -} + : fn; +}; /* harmony default export */ const helpers_callbackify = (callbackify); +;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/shouldBypassProxy.js +const shouldBypassProxy_DEFAULT_PORTS = { + http: 80, + https: 443, + ws: 80, + wss: 443, + ftp: 21, +}; + +const parseNoProxyEntry = (entry) => { + let entryHost = entry; + let entryPort = 0; + + if (entryHost.charAt(0) === '[') { + const bracketIndex = entryHost.indexOf(']'); + + if (bracketIndex !== -1) { + const host = entryHost.slice(1, bracketIndex); + const rest = entryHost.slice(bracketIndex + 1); + + if (rest.charAt(0) === ':' && /^\d+$/.test(rest.slice(1))) { + entryPort = Number.parseInt(rest.slice(1), 10); + } + + return [host, entryPort]; + } + } + + const firstColon = entryHost.indexOf(':'); + const lastColon = entryHost.lastIndexOf(':'); + + if ( + firstColon !== -1 && + firstColon === lastColon && + /^\d+$/.test(entryHost.slice(lastColon + 1)) + ) { + entryPort = Number.parseInt(entryHost.slice(lastColon + 1), 10); + entryHost = entryHost.slice(0, lastColon); + } + + return [entryHost, entryPort]; +}; + +const normalizeNoProxyHost = (hostname) => { + if (!hostname) { + return hostname; + } + + if (hostname.charAt(0) === '[' && hostname.charAt(hostname.length - 1) === ']') { + hostname = hostname.slice(1, -1); + } + + return hostname.replace(/\.+$/, ''); +}; + +function shouldBypassProxy(location) { + let parsed; + + try { + parsed = new URL(location); + } catch (_err) { + return false; + } + + const noProxy = (process.env.no_proxy || process.env.NO_PROXY || '').toLowerCase(); + + if (!noProxy) { + return false; + } + + if (noProxy === '*') { + return true; + } + + const port = + Number.parseInt(parsed.port, 10) || shouldBypassProxy_DEFAULT_PORTS[parsed.protocol.split(':', 1)[0]] || 0; + + const hostname = normalizeNoProxyHost(parsed.hostname.toLowerCase()); + + return noProxy.split(/[\s,]+/).some((entry) => { + if (!entry) { + return false; + } + + let [entryHost, entryPort] = parseNoProxyEntry(entry); + + entryHost = normalizeNoProxyHost(entryHost); + + if (!entryHost) { + return false; + } + + if (entryPort && entryPort !== port) { + return false; + } + + if (entryHost.charAt(0) === '*') { + entryHost = entryHost.slice(1); + } + + if (entryHost.charAt(0) === '.') { + return hostname.endsWith(entryHost); + } + + return hostname === entryHost; + }); +} + ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/speedometer.js @@ -42537,7 +42844,7 @@ function speedometer(samplesCount, min) { const passed = startedAt && now - startedAt; - return passed ? Math.round(bytesCount * 1000 / passed) : undefined; + return passed ? Math.round((bytesCount * 1000) / passed) : undefined; }; } @@ -42564,23 +42871,23 @@ function throttle(fn, freq) { timer = null; } fn(...args); - } + }; const throttled = (...args) => { const now = Date.now(); const passed = now - timestamp; - if ( passed >= threshold) { + if (passed >= threshold) { invoke(args, now); } else { lastArgs = args; if (!timer) { timer = setTimeout(() => { timer = null; - invoke(lastArgs) + invoke(lastArgs); }, threshold - passed); } } - } + }; const flush = () => lastArgs && invoke(lastArgs); @@ -42598,7 +42905,7 @@ const progressEventReducer = (listener, isDownloadStream, freq = 3) => { let bytesNotified = 0; const _speedometer = helpers_speedometer(50, 250); - return helpers_throttle(e => { + return helpers_throttle((e) => { const loaded = e.loaded; const total = e.lengthComputable ? e.total : undefined; const progressBytes = loaded - bytesNotified; @@ -42610,30 +42917,37 @@ const progressEventReducer = (listener, isDownloadStream, freq = 3) => { const data = { loaded, total, - progress: total ? (loaded / total) : undefined, + progress: total ? loaded / total : undefined, bytes: progressBytes, rate: rate ? rate : undefined, estimated: rate && total && inRange ? (total - loaded) / rate : undefined, event: e, lengthComputable: total != null, - [isDownloadStream ? 'download' : 'upload']: true + [isDownloadStream ? 'download' : 'upload']: true, }; listener(data); }, freq); -} +}; const progressEventDecorator = (total, throttled) => { const lengthComputable = total != null; - return [(loaded) => throttled[0]({ - lengthComputable, - total, - loaded - }), throttled[1]]; -} + return [ + (loaded) => + throttled[0]({ + lengthComputable, + total, + loaded, + }), + throttled[1], + ]; +}; -const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args)); +const asyncDecorator = + (fn) => + (...args) => + utils.asap(() => fn(...args)); ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js /** @@ -42737,36 +43051,34 @@ function estimateDataURLDecodedBytes(url) { + const zlibOptions = { flush: external_zlib_.constants.Z_SYNC_FLUSH, - finishFlush: external_zlib_.constants.Z_SYNC_FLUSH + finishFlush: external_zlib_.constants.Z_SYNC_FLUSH, }; const brotliOptions = { flush: external_zlib_.constants.BROTLI_OPERATION_FLUSH, - finishFlush: external_zlib_.constants.BROTLI_OPERATION_FLUSH -} + finishFlush: external_zlib_.constants.BROTLI_OPERATION_FLUSH, +}; const isBrotliSupported = utils.isFunction(external_zlib_.createBrotliDecompress); -const {http: httpFollow, https: httpsFollow} = follow_redirects; +const { http: httpFollow, https: httpsFollow } = follow_redirects; const isHttps = /https:?/; -const supportedProtocols = platform.protocols.map(protocol => { +const supportedProtocols = platform.protocols.map((protocol) => { return protocol + ':'; }); - const flushOnFinish = (stream, [throttled, flush]) => { - stream - .on('end', flush) - .on('error', flush); + stream.on('end', flush).on('error', flush); return throttled; -} +}; class Http2Sessions { constructor() { @@ -42774,9 +43086,12 @@ class Http2Sessions { } getSession(authority, options) { - options = Object.assign({ - sessionTimeout: 1000 - }, options); + options = Object.assign( + { + sessionTimeout: 1000, + }, + options + ); let authoritySessions = this.sessions[authority]; @@ -42785,7 +43100,11 @@ class Http2Sessions { for (let i = 0; i < len; i++) { const [sessionHandle, sessionOptions] = authoritySessions[i]; - if (!sessionHandle.destroyed && !sessionHandle.closed && external_util_.isDeepStrictEqual(sessionOptions, options)) { + if ( + !sessionHandle.destroyed && + !sessionHandle.closed && + external_util_.isDeepStrictEqual(sessionOptions, options) + ) { return sessionHandle; } } @@ -42802,7 +43121,9 @@ class Http2Sessions { removed = true; - let entries = authoritySessions, len = entries.length, i = len; + let entries = authoritySessions, + len = entries.length, + i = len; while (i--) { if (entries[i][0] === session) { @@ -42811,6 +43132,9 @@ class Http2Sessions { } else { entries.splice(i, 1); } + if (!session.closed) { + session.close(); + } return; } } @@ -42818,10 +43142,9 @@ class Http2Sessions { const originalRequestFn = session.request; - const {sessionTimeout} = options; - - if(sessionTimeout != null) { + const { sessionTimeout } = options; + if (sessionTimeout != null) { let timer; let streamsCount = 0; @@ -42845,17 +43168,16 @@ class Http2Sessions { }); return stream; - } + }; } session.once('close', removeSession); - let entry = [ - session, - options - ]; + let entry = [session, options]; - authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry]; + authoritySessions + ? authoritySessions.push(entry) + : (authoritySessions = this.sessions[authority] = [entry]); return session; } @@ -42863,7 +43185,6 @@ class Http2Sessions { const http2Sessions = new Http2Sessions(); - /** * If the proxy or config beforeRedirects functions are defined, call them with the options * object. @@ -42893,9 +43214,11 @@ function dispatchBeforeRedirect(options, responseDetails) { function setProxy(options, configProxy, location) { let proxy = configProxy; if (!proxy && proxy !== false) { - const proxyUrl = proxy_from_env.getProxyForUrl(location); + const proxyUrl = getProxyForUrl(location); if (proxyUrl) { - proxy = new URL(proxyUrl); + if (!shouldBypassProxy(location)) { + proxy = new URL(proxyUrl); + } } } if (proxy) { @@ -42938,7 +43261,8 @@ function setProxy(options, configProxy, location) { }; } -const isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process'; +const isHttpAdapterSupported = + typeof process !== 'undefined' && utils.kindOf(process) === 'process'; // temporary hotfix @@ -42951,7 +43275,7 @@ const wrapAsync = (asyncExecutor) => { if (isDone) return; isDone = true; onDone && onDone(value, isRejected); - } + }; const _resolve = (value) => { done(value); @@ -42961,725 +43285,764 @@ const wrapAsync = (asyncExecutor) => { const _reject = (reason) => { done(reason, true); reject(reason); - } + }; asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject); - }) + }); }; -const resolveFamily = ({address, family}) => { +const resolveFamily = ({ address, family }) => { if (!utils.isString(address)) { throw TypeError('address must be a string'); } - return ({ + return { address, - family: family || (address.indexOf('.') < 0 ? 6 : 4) - }); -} + family: family || (address.indexOf('.') < 0 ? 6 : 4), + }; +}; -const buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family}); +const buildAddressEntry = (address, family) => + resolveFamily(utils.isObject(address) ? address : { address, family }); const http2Transport = { request(options, cb) { - const authority = options.protocol + '//' + options.hostname + ':' + (options.port ||(options.protocol === 'https:' ? 443 : 80)); - + const authority = + options.protocol + + '//' + + options.hostname + + ':' + + (options.port || (options.protocol === 'https:' ? 443 : 80)); - const {http2Options, headers} = options; + const { http2Options, headers } = options; - const session = http2Sessions.getSession(authority, http2Options); + const session = http2Sessions.getSession(authority, http2Options); - const { - HTTP2_HEADER_SCHEME, - HTTP2_HEADER_METHOD, - HTTP2_HEADER_PATH, - HTTP2_HEADER_STATUS - } = external_http2_.constants; + const { HTTP2_HEADER_SCHEME, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS } = + external_http2_.constants; - const http2Headers = { - [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''), - [HTTP2_HEADER_METHOD]: options.method, - [HTTP2_HEADER_PATH]: options.path, - } + const http2Headers = { + [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''), + [HTTP2_HEADER_METHOD]: options.method, + [HTTP2_HEADER_PATH]: options.path, + }; - utils.forEach(headers, (header, name) => { - name.charAt(0) !== ':' && (http2Headers[name] = header); - }); + utils.forEach(headers, (header, name) => { + name.charAt(0) !== ':' && (http2Headers[name] = header); + }); - const req = session.request(http2Headers); + const req = session.request(http2Headers); - req.once('response', (responseHeaders) => { - const response = req; //duplex + req.once('response', (responseHeaders) => { + const response = req; //duplex - responseHeaders = Object.assign({}, responseHeaders); + responseHeaders = Object.assign({}, responseHeaders); - const status = responseHeaders[HTTP2_HEADER_STATUS]; + const status = responseHeaders[HTTP2_HEADER_STATUS]; - delete responseHeaders[HTTP2_HEADER_STATUS]; + delete responseHeaders[HTTP2_HEADER_STATUS]; - response.headers = responseHeaders; + response.headers = responseHeaders; - response.statusCode = +status; + response.statusCode = +status; - cb(response); - }) + cb(response); + }); - return req; - } -} + return req; + }, +}; /*eslint consistent-return:0*/ -/* harmony default export */ const http = (isHttpAdapterSupported && function httpAdapter(config) { - return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - let {data, lookup, family, httpVersion = 1, http2Options} = config; - const {responseType, responseEncoding} = config; - const method = config.method.toUpperCase(); - let isDone; - let rejected = false; - let req; +/* harmony default export */ const http = (isHttpAdapterSupported && + function httpAdapter(config) { + return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { + let { data, lookup, family, httpVersion = 1, http2Options } = config; + const { responseType, responseEncoding } = config; + const method = config.method.toUpperCase(); + let isDone; + let rejected = false; + let req; - httpVersion = +httpVersion; + httpVersion = +httpVersion; - if (Number.isNaN(httpVersion)) { - throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`); - } + if (Number.isNaN(httpVersion)) { + throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`); + } - if (httpVersion !== 1 && httpVersion !== 2) { - throw TypeError(`Unsupported protocol version '${httpVersion}'`); - } + if (httpVersion !== 1 && httpVersion !== 2) { + throw TypeError(`Unsupported protocol version '${httpVersion}'`); + } - const isHttp2 = httpVersion === 2; + const isHttp2 = httpVersion === 2; - if (lookup) { - const _lookup = helpers_callbackify(lookup, (value) => utils.isArray(value) ? value : [value]); - // hotfix to support opt.all option which is required for node 20.x - lookup = (hostname, opt, cb) => { - _lookup(hostname, opt, (err, arg0, arg1) => { - if (err) { - return cb(err); - } + if (lookup) { + const _lookup = helpers_callbackify(lookup, (value) => (utils.isArray(value) ? value : [value])); + // hotfix to support opt.all option which is required for node 20.x + lookup = (hostname, opt, cb) => { + _lookup(hostname, opt, (err, arg0, arg1) => { + if (err) { + return cb(err); + } - const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; + const addresses = utils.isArray(arg0) + ? arg0.map((addr) => buildAddressEntry(addr)) + : [buildAddressEntry(arg0, arg1)]; - opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); - }); + opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); + }); + }; } - } - const abortEmitter = new external_events_.EventEmitter(); + const abortEmitter = new external_events_.EventEmitter(); - function abort(reason) { - try { - abortEmitter.emit('abort', !reason || reason.type ? new cancel_CanceledError(null, config, req) : reason); - } catch(err) { - console.warn('emit error', err); + function abort(reason) { + try { + abortEmitter.emit( + 'abort', + !reason || reason.type ? new cancel_CanceledError(null, config, req) : reason + ); + } catch (err) { + console.warn('emit error', err); + } } - } - abortEmitter.once('abort', reject); + abortEmitter.once('abort', reject); - const onFinished = () => { - if (config.cancelToken) { - config.cancelToken.unsubscribe(abort); - } + const onFinished = () => { + if (config.cancelToken) { + config.cancelToken.unsubscribe(abort); + } - if (config.signal) { - config.signal.removeEventListener('abort', abort); - } + if (config.signal) { + config.signal.removeEventListener('abort', abort); + } - abortEmitter.removeAllListeners(); - } + abortEmitter.removeAllListeners(); + }; - if (config.cancelToken || config.signal) { - config.cancelToken && config.cancelToken.subscribe(abort); - if (config.signal) { - config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort); + if (config.cancelToken || config.signal) { + config.cancelToken && config.cancelToken.subscribe(abort); + if (config.signal) { + config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort); + } } - } - onDone((response, isRejected) => { - isDone = true; + onDone((response, isRejected) => { + isDone = true; - if (isRejected) { - rejected = true; - onFinished(); - return; - } + if (isRejected) { + rejected = true; + onFinished(); + return; + } - const {data} = response; + const { data } = response; - if (data instanceof external_stream_.Readable || data instanceof external_stream_.Duplex) { - const offListeners = external_stream_.finished(data, () => { - offListeners(); + if (data instanceof external_stream_.Readable || data instanceof external_stream_.Duplex) { + const offListeners = external_stream_.finished(data, () => { + offListeners(); + onFinished(); + }); + } else { onFinished(); - }); - } else { - onFinished(); - } - }); - + } + }); + // Parse url + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined); + const protocol = parsed.protocol || supportedProtocols[0]; + + if (protocol === 'data:') { + // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set. + if (config.maxContentLength > -1) { + // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed. + const dataUrl = String(config.url || fullPath || ''); + const estimated = estimateDataURLDecodedBytes(dataUrl); + + if (estimated > config.maxContentLength) { + return reject( + new core_AxiosError( + 'maxContentLength size of ' + config.maxContentLength + ' exceeded', + core_AxiosError.ERR_BAD_RESPONSE, + config + ) + ); + } + } + let convertedData; + if (method !== 'GET') { + return settle(resolve, reject, { + status: 405, + statusText: 'method not allowed', + headers: {}, + config, + }); + } - // Parse url - const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); - const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined); - const protocol = parsed.protocol || supportedProtocols[0]; - - if (protocol === 'data:') { - // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set. - if (config.maxContentLength > -1) { - // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed. - const dataUrl = String(config.url || fullPath || ''); - const estimated = estimateDataURLDecodedBytes(dataUrl); - - if (estimated > config.maxContentLength) { - return reject(new core_AxiosError( - 'maxContentLength size of ' + config.maxContentLength + ' exceeded', - core_AxiosError.ERR_BAD_RESPONSE, - config - )); + try { + convertedData = fromDataURI(config.url, responseType === 'blob', { + Blob: config.env && config.env.Blob, + }); + } catch (err) { + throw core_AxiosError.from(err, core_AxiosError.ERR_BAD_REQUEST, config); } - } - let convertedData; + if (responseType === 'text') { + convertedData = convertedData.toString(responseEncoding); - if (method !== 'GET') { - return settle(resolve, reject, { - status: 405, - statusText: 'method not allowed', - headers: {}, - config - }); - } + if (!responseEncoding || responseEncoding === 'utf8') { + convertedData = utils.stripBOM(convertedData); + } + } else if (responseType === 'stream') { + convertedData = external_stream_.Readable.from(convertedData); + } - try { - convertedData = fromDataURI(config.url, responseType === 'blob', { - Blob: config.env && config.env.Blob + return settle(resolve, reject, { + data: convertedData, + status: 200, + statusText: 'OK', + headers: new core_AxiosHeaders(), + config, }); - } catch (err) { - throw core_AxiosError.from(err, core_AxiosError.ERR_BAD_REQUEST, config); } - if (responseType === 'text') { - convertedData = convertedData.toString(responseEncoding); - - if (!responseEncoding || responseEncoding === 'utf8') { - convertedData = utils.stripBOM(convertedData); - } - } else if (responseType === 'stream') { - convertedData = external_stream_.Readable.from(convertedData); + if (supportedProtocols.indexOf(protocol) === -1) { + return reject( + new core_AxiosError('Unsupported protocol ' + protocol, core_AxiosError.ERR_BAD_REQUEST, config) + ); } - return settle(resolve, reject, { - data: convertedData, - status: 200, - statusText: 'OK', - headers: new core_AxiosHeaders(), - config - }); - } + const headers = core_AxiosHeaders.from(config.headers).normalize(); - if (supportedProtocols.indexOf(protocol) === -1) { - return reject(new core_AxiosError( - 'Unsupported protocol ' + protocol, - core_AxiosError.ERR_BAD_REQUEST, - config - )); - } + // Set User-Agent (required by some servers) + // See https://github.com/axios/axios/issues/69 + // User-Agent is specified; handle case where no UA header is desired + // Only set header if it hasn't been set in config + headers.set('User-Agent', 'axios/' + VERSION, false); - const headers = core_AxiosHeaders.from(config.headers).normalize(); + const { onUploadProgress, onDownloadProgress } = config; + const maxRate = config.maxRate; + let maxUploadRate = undefined; + let maxDownloadRate = undefined; - // Set User-Agent (required by some servers) - // See https://github.com/axios/axios/issues/69 - // User-Agent is specified; handle case where no UA header is desired - // Only set header if it hasn't been set in config - headers.set('User-Agent', 'axios/' + VERSION, false); + // support for spec compliant FormData objects + if (utils.isSpecCompliantForm(data)) { + const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i); - const {onUploadProgress, onDownloadProgress} = config; - const maxRate = config.maxRate; - let maxUploadRate = undefined; - let maxDownloadRate = undefined; + data = helpers_formDataToStream( + data, + (formHeaders) => { + headers.set(formHeaders); + }, + { + tag: `axios-${VERSION}-boundary`, + boundary: (userBoundary && userBoundary[1]) || undefined, + } + ); + // support for https://www.npmjs.com/package/form-data api + } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) { + headers.set(data.getHeaders()); - // support for spec compliant FormData objects - if (utils.isSpecCompliantForm(data)) { - const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i); + if (!headers.hasContentLength()) { + try { + const knownLength = await external_util_.promisify(data.getLength).call(data); + Number.isFinite(knownLength) && + knownLength >= 0 && + headers.setContentLength(knownLength); + /*eslint no-empty:0*/ + } catch (e) {} + } + } else if (utils.isBlob(data) || utils.isFile(data)) { + data.size && headers.setContentType(data.type || 'application/octet-stream'); + headers.setContentLength(data.size || 0); + data = external_stream_.Readable.from(helpers_readBlob(data)); + } else if (data && !utils.isStream(data)) { + if (Buffer.isBuffer(data)) { + // Nothing to do... + } else if (utils.isArrayBuffer(data)) { + data = Buffer.from(new Uint8Array(data)); + } else if (utils.isString(data)) { + data = Buffer.from(data, 'utf-8'); + } else { + return reject( + new core_AxiosError( + 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', + core_AxiosError.ERR_BAD_REQUEST, + config + ) + ); + } - data = helpers_formDataToStream(data, (formHeaders) => { - headers.set(formHeaders); - }, { - tag: `axios-${VERSION}-boundary`, - boundary: userBoundary && userBoundary[1] || undefined - }); - // support for https://www.npmjs.com/package/form-data api - } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) { - headers.set(data.getHeaders()); + // Add Content-Length header if data exists + headers.setContentLength(data.length, false); - if (!headers.hasContentLength()) { - try { - const knownLength = await external_util_.promisify(data.getLength).call(data); - Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); - /*eslint no-empty:0*/ - } catch (e) { + if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { + return reject( + new core_AxiosError( + 'Request body larger than maxBodyLength limit', + core_AxiosError.ERR_BAD_REQUEST, + config + ) + ); } } - } else if (utils.isBlob(data) || utils.isFile(data)) { - data.size && headers.setContentType(data.type || 'application/octet-stream'); - headers.setContentLength(data.size || 0); - data = external_stream_.Readable.from(helpers_readBlob(data)); - } else if (data && !utils.isStream(data)) { - if (Buffer.isBuffer(data)) { - // Nothing to do... - } else if (utils.isArrayBuffer(data)) { - data = Buffer.from(new Uint8Array(data)); - } else if (utils.isString(data)) { - data = Buffer.from(data, 'utf-8'); - } else { - return reject(new core_AxiosError( - 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', - core_AxiosError.ERR_BAD_REQUEST, - config - )); - } - // Add Content-Length header if data exists - headers.setContentLength(data.length, false); + const contentLength = utils.toFiniteNumber(headers.getContentLength()); - if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { - return reject(new core_AxiosError( - 'Request body larger than maxBodyLength limit', - core_AxiosError.ERR_BAD_REQUEST, - config - )); + if (utils.isArray(maxRate)) { + maxUploadRate = maxRate[0]; + maxDownloadRate = maxRate[1]; + } else { + maxUploadRate = maxDownloadRate = maxRate; } - } - const contentLength = utils.toFiniteNumber(headers.getContentLength()); + if (data && (onUploadProgress || maxUploadRate)) { + if (!utils.isStream(data)) { + data = external_stream_.Readable.from(data, { objectMode: false }); + } - if (utils.isArray(maxRate)) { - maxUploadRate = maxRate[0]; - maxDownloadRate = maxRate[1]; - } else { - maxUploadRate = maxDownloadRate = maxRate; - } + data = external_stream_.pipeline( + [ + data, + new helpers_AxiosTransformStream({ + maxRate: utils.toFiniteNumber(maxUploadRate), + }), + ], + utils.noop + ); - if (data && (onUploadProgress || maxUploadRate)) { - if (!utils.isStream(data)) { - data = external_stream_.Readable.from(data, {objectMode: false}); + onUploadProgress && + data.on( + 'progress', + flushOnFinish( + data, + progressEventDecorator( + contentLength, + progressEventReducer(asyncDecorator(onUploadProgress), false, 3) + ) + ) + ); } - data = external_stream_.pipeline([data, new helpers_AxiosTransformStream({ - maxRate: utils.toFiniteNumber(maxUploadRate) - })], utils.noop); - - onUploadProgress && data.on('progress', flushOnFinish( - data, - progressEventDecorator( - contentLength, - progressEventReducer(asyncDecorator(onUploadProgress), false, 3) - ) - )); - } - - // HTTP basic authentication - let auth = undefined; - if (config.auth) { - const username = config.auth.username || ''; - const password = config.auth.password || ''; - auth = username + ':' + password; - } + // HTTP basic authentication + let auth = undefined; + if (config.auth) { + const username = config.auth.username || ''; + const password = config.auth.password || ''; + auth = username + ':' + password; + } - if (!auth && parsed.username) { - const urlUsername = parsed.username; - const urlPassword = parsed.password; - auth = urlUsername + ':' + urlPassword; - } + if (!auth && parsed.username) { + const urlUsername = parsed.username; + const urlPassword = parsed.password; + auth = urlUsername + ':' + urlPassword; + } - auth && headers.delete('authorization'); + auth && headers.delete('authorization'); - let path; + let path; - try { - path = buildURL( - parsed.pathname + parsed.search, - config.params, - config.paramsSerializer - ).replace(/^\?/, ''); - } catch (err) { - const customErr = new Error(err.message); - customErr.config = config; - customErr.url = config.url; - customErr.exists = true; - return reject(customErr); - } + try { + path = buildURL( + parsed.pathname + parsed.search, + config.params, + config.paramsSerializer + ).replace(/^\?/, ''); + } catch (err) { + const customErr = new Error(err.message); + customErr.config = config; + customErr.url = config.url; + customErr.exists = true; + return reject(customErr); + } - headers.set( - 'Accept-Encoding', - 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false + headers.set( + 'Accept-Encoding', + 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), + false ); - const options = { - path, - method: method, - headers: headers.toJSON(), - agents: { http: config.httpAgent, https: config.httpsAgent }, - auth, - protocol, - family, - beforeRedirect: dispatchBeforeRedirect, - beforeRedirects: {}, - http2Options - }; - - // cacheable-lookup integration hotfix - !utils.isUndefined(lookup) && (options.lookup = lookup); + const options = { + path, + method: method, + headers: headers.toJSON(), + agents: { http: config.httpAgent, https: config.httpsAgent }, + auth, + protocol, + family, + beforeRedirect: dispatchBeforeRedirect, + beforeRedirects: {}, + http2Options, + }; - if (config.socketPath) { - options.socketPath = config.socketPath; - } else { - options.hostname = parsed.hostname.startsWith("[") ? parsed.hostname.slice(1, -1) : parsed.hostname; - options.port = parsed.port; - setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path); - } + // cacheable-lookup integration hotfix + !utils.isUndefined(lookup) && (options.lookup = lookup); - let transport; - const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; + if (config.socketPath) { + options.socketPath = config.socketPath; + } else { + options.hostname = parsed.hostname.startsWith('[') + ? parsed.hostname.slice(1, -1) + : parsed.hostname; + options.port = parsed.port; + setProxy( + options, + config.proxy, + protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path + ); + } + let transport; + const isHttpsRequest = isHttps.test(options.protocol); + options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; - if (isHttp2) { - transport = http2Transport; - } else { - if (config.transport) { - transport = config.transport; - } else if (config.maxRedirects === 0) { - transport = isHttpsRequest ? external_https_ : external_http_; + if (isHttp2) { + transport = http2Transport; } else { - if (config.maxRedirects) { - options.maxRedirects = config.maxRedirects; - } - if (config.beforeRedirect) { - options.beforeRedirects.config = config.beforeRedirect; + if (config.transport) { + transport = config.transport; + } else if (config.maxRedirects === 0) { + transport = isHttpsRequest ? external_https_ : external_http_; + } else { + if (config.maxRedirects) { + options.maxRedirects = config.maxRedirects; + } + if (config.beforeRedirect) { + options.beforeRedirects.config = config.beforeRedirect; + } + transport = isHttpsRequest ? httpsFollow : httpFollow; } - transport = isHttpsRequest ? httpsFollow : httpFollow; } - } - - if (config.maxBodyLength > -1) { - options.maxBodyLength = config.maxBodyLength; - } else { - // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited - options.maxBodyLength = Infinity; - } - - if (config.insecureHTTPParser) { - options.insecureHTTPParser = config.insecureHTTPParser; - } - - // Create the request - req = transport.request(options, function handleResponse(res) { - if (req.destroyed) return; - const streams = [res]; + if (config.maxBodyLength > -1) { + options.maxBodyLength = config.maxBodyLength; + } else { + // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited + options.maxBodyLength = Infinity; + } - const responseLength = utils.toFiniteNumber(res.headers['content-length']); + if (config.insecureHTTPParser) { + options.insecureHTTPParser = config.insecureHTTPParser; + } - if (onDownloadProgress || maxDownloadRate) { - const transformStream = new helpers_AxiosTransformStream({ - maxRate: utils.toFiniteNumber(maxDownloadRate) - }); + // Create the request + req = transport.request(options, function handleResponse(res) { + if (req.destroyed) return; - onDownloadProgress && transformStream.on('progress', flushOnFinish( - transformStream, - progressEventDecorator( - responseLength, - progressEventReducer(asyncDecorator(onDownloadProgress), true, 3) - ) - )); + const streams = [res]; - streams.push(transformStream); - } + const responseLength = utils.toFiniteNumber(res.headers['content-length']); - // decompress the response body transparently if required - let responseStream = res; + if (onDownloadProgress || maxDownloadRate) { + const transformStream = new helpers_AxiosTransformStream({ + maxRate: utils.toFiniteNumber(maxDownloadRate), + }); - // return the last request in case of redirects - const lastRequest = res.req || req; + onDownloadProgress && + transformStream.on( + 'progress', + flushOnFinish( + transformStream, + progressEventDecorator( + responseLength, + progressEventReducer(asyncDecorator(onDownloadProgress), true, 3) + ) + ) + ); - // if decompress disabled we should not decompress - if (config.decompress !== false && res.headers['content-encoding']) { - // if no content, but headers still say that it is encoded, - // remove the header not confuse downstream operations - if (method === 'HEAD' || res.statusCode === 204) { - delete res.headers['content-encoding']; + streams.push(transformStream); } - switch ((res.headers['content-encoding'] || '').toLowerCase()) { - /*eslint default-case:0*/ - case 'gzip': - case 'x-gzip': - case 'compress': - case 'x-compress': - // add the unzipper to the body stream processing pipeline - streams.push(external_zlib_.createUnzip(zlibOptions)); - - // remove the content-encoding in order to not confuse downstream operations - delete res.headers['content-encoding']; - break; - case 'deflate': - streams.push(new helpers_ZlibHeaderTransformStream()); + // decompress the response body transparently if required + let responseStream = res; - // add the unzipper to the body stream processing pipeline - streams.push(external_zlib_.createUnzip(zlibOptions)); + // return the last request in case of redirects + const lastRequest = res.req || req; - // remove the content-encoding in order to not confuse downstream operations - delete res.headers['content-encoding']; - break; - case 'br': - if (isBrotliSupported) { - streams.push(external_zlib_.createBrotliDecompress(brotliOptions)); + // if decompress disabled we should not decompress + if (config.decompress !== false && res.headers['content-encoding']) { + // if no content, but headers still say that it is encoded, + // remove the header not confuse downstream operations + if (method === 'HEAD' || res.statusCode === 204) { delete res.headers['content-encoding']; } - } - } - - responseStream = streams.length > 1 ? external_stream_.pipeline(streams, utils.noop) : streams[0]; - + switch ((res.headers['content-encoding'] || '').toLowerCase()) { + /*eslint default-case:0*/ + case 'gzip': + case 'x-gzip': + case 'compress': + case 'x-compress': + // add the unzipper to the body stream processing pipeline + streams.push(external_zlib_.createUnzip(zlibOptions)); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + case 'deflate': + streams.push(new helpers_ZlibHeaderTransformStream()); + + // add the unzipper to the body stream processing pipeline + streams.push(external_zlib_.createUnzip(zlibOptions)); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + case 'br': + if (isBrotliSupported) { + streams.push(external_zlib_.createBrotliDecompress(brotliOptions)); + delete res.headers['content-encoding']; + } + } + } - const response = { - status: res.statusCode, - statusText: res.statusMessage, - headers: new core_AxiosHeaders(res.headers), - config, - request: lastRequest - }; - - if (responseType === 'stream') { - response.data = responseStream; - settle(resolve, reject, response); - } else { - const responseBuffer = []; - let totalResponseBytes = 0; + responseStream = streams.length > 1 ? external_stream_.pipeline(streams, utils.noop) : streams[0]; - responseStream.on('data', function handleStreamData(chunk) { - responseBuffer.push(chunk); - totalResponseBytes += chunk.length; + const response = { + status: res.statusCode, + statusText: res.statusMessage, + headers: new core_AxiosHeaders(res.headers), + config, + request: lastRequest, + }; - // make sure the content length is not over the maxContentLength if specified - if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { - // stream.destroy() emit aborted event before calling reject() on Node.js v16 - rejected = true; - responseStream.destroy(); - abort(new core_AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded', - core_AxiosError.ERR_BAD_RESPONSE, config, lastRequest)); - } - }); + if (responseType === 'stream') { + response.data = responseStream; + settle(resolve, reject, response); + } else { + const responseBuffer = []; + let totalResponseBytes = 0; + + responseStream.on('data', function handleStreamData(chunk) { + responseBuffer.push(chunk); + totalResponseBytes += chunk.length; + + // make sure the content length is not over the maxContentLength if specified + if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { + // stream.destroy() emit aborted event before calling reject() on Node.js v16 + rejected = true; + responseStream.destroy(); + abort( + new core_AxiosError( + 'maxContentLength size of ' + config.maxContentLength + ' exceeded', + core_AxiosError.ERR_BAD_RESPONSE, + config, + lastRequest + ) + ); + } + }); - responseStream.on('aborted', function handlerStreamAborted() { - if (rejected) { - return; - } + responseStream.on('aborted', function handlerStreamAborted() { + if (rejected) { + return; + } - const err = new core_AxiosError( - 'stream has been aborted', - core_AxiosError.ERR_BAD_RESPONSE, - config, - lastRequest - ); - responseStream.destroy(err); - reject(err); - }); + const err = new core_AxiosError( + 'stream has been aborted', + core_AxiosError.ERR_BAD_RESPONSE, + config, + lastRequest + ); + responseStream.destroy(err); + reject(err); + }); - responseStream.on('error', function handleStreamError(err) { - if (req.destroyed) return; - reject(core_AxiosError.from(err, null, config, lastRequest)); - }); + responseStream.on('error', function handleStreamError(err) { + if (req.destroyed) return; + reject(core_AxiosError.from(err, null, config, lastRequest)); + }); - responseStream.on('end', function handleStreamEnd() { - try { - let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); - if (responseType !== 'arraybuffer') { - responseData = responseData.toString(responseEncoding); - if (!responseEncoding || responseEncoding === 'utf8') { - responseData = utils.stripBOM(responseData); + responseStream.on('end', function handleStreamEnd() { + try { + let responseData = + responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); + if (responseType !== 'arraybuffer') { + responseData = responseData.toString(responseEncoding); + if (!responseEncoding || responseEncoding === 'utf8') { + responseData = utils.stripBOM(responseData); + } } + response.data = responseData; + } catch (err) { + return reject(core_AxiosError.from(err, null, config, response.request, response)); } - response.data = responseData; - } catch (err) { - return reject(core_AxiosError.from(err, null, config, response.request, response)); + settle(resolve, reject, response); + }); + } + + abortEmitter.once('abort', (err) => { + if (!responseStream.destroyed) { + responseStream.emit('error', err); + responseStream.destroy(); } - settle(resolve, reject, response); }); - } + }); - abortEmitter.once('abort', err => { - if (!responseStream.destroyed) { - responseStream.emit('error', err); - responseStream.destroy(); + abortEmitter.once('abort', (err) => { + if (req.close) { + req.close(); + } else { + req.destroy(err); } }); - }); - - abortEmitter.once('abort', err => { - if (req.close) { - req.close(); - } else { - req.destroy(err); - } - }); - // Handle errors - req.on('error', function handleRequestError(err) { - reject(core_AxiosError.from(err, null, config, req)); - }); + // Handle errors + req.on('error', function handleRequestError(err) { + reject(core_AxiosError.from(err, null, config, req)); + }); - // set tcp keep alive to prevent drop connection by peer - req.on('socket', function handleRequestSocket(socket) { - // default interval of sending ack packet is 1 minute - socket.setKeepAlive(true, 1000 * 60); - }); + // set tcp keep alive to prevent drop connection by peer + req.on('socket', function handleRequestSocket(socket) { + // default interval of sending ack packet is 1 minute + socket.setKeepAlive(true, 1000 * 60); + }); - // Handle request timeout - if (config.timeout) { - // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types. - const timeout = parseInt(config.timeout, 10); + // Handle request timeout + if (config.timeout) { + // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types. + const timeout = parseInt(config.timeout, 10); + + if (Number.isNaN(timeout)) { + abort( + new core_AxiosError( + 'error trying to parse `config.timeout` to int', + core_AxiosError.ERR_BAD_OPTION_VALUE, + config, + req + ) + ); - if (Number.isNaN(timeout)) { - abort(new core_AxiosError( - 'error trying to parse `config.timeout` to int', - core_AxiosError.ERR_BAD_OPTION_VALUE, - config, - req - )); + return; + } - return; + // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system. + // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET. + // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up. + // And then these socket which be hang up will devouring CPU little by little. + // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect. + req.setTimeout(timeout, function handleRequestTimeout() { + if (isDone) return; + let timeoutErrorMessage = config.timeout + ? 'timeout of ' + config.timeout + 'ms exceeded' + : 'timeout exceeded'; + const transitional = config.transitional || defaults_transitional; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + abort( + new core_AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? core_AxiosError.ETIMEDOUT : core_AxiosError.ECONNABORTED, + config, + req + ) + ); + }); + } else { + // explicitly reset the socket timeout value for a possible `keep-alive` request + req.setTimeout(0); } - // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system. - // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET. - // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up. - // And then these socket which be hang up will devouring CPU little by little. - // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect. - req.setTimeout(timeout, function handleRequestTimeout() { - if (isDone) return; - let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; - const transitional = config.transitional || defaults_transitional; - if (config.timeoutErrorMessage) { - timeoutErrorMessage = config.timeoutErrorMessage; - } - abort(new core_AxiosError( - timeoutErrorMessage, - transitional.clarifyTimeoutError ? core_AxiosError.ETIMEDOUT : core_AxiosError.ECONNABORTED, - config, - req - )); - }); - } else { - // explicitly reset the socket timeout value for a possible `keep-alive` request - req.setTimeout(0); - } - - - // Send the request - if (utils.isStream(data)) { - let ended = false; - let errored = false; + // Send the request + if (utils.isStream(data)) { + let ended = false; + let errored = false; - data.on('end', () => { - ended = true; - }); + data.on('end', () => { + ended = true; + }); - data.once('error', err => { - errored = true; - req.destroy(err); - }); + data.once('error', (err) => { + errored = true; + req.destroy(err); + }); - data.on('close', () => { - if (!ended && !errored) { - abort(new cancel_CanceledError('Request stream has been aborted', config, req)); - } - }); + data.on('close', () => { + if (!ended && !errored) { + abort(new cancel_CanceledError('Request stream has been aborted', config, req)); + } + }); - data.pipe(req); - } else { - data && req.write(data); - req.end(); - } + data.pipe(req); + } else { + data && req.write(data); + req.end(); + } + }); }); -}); const __setProxy = (/* unused pure expression or super */ null && (setProxy)); ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/isURLSameOrigin.js -/* harmony default export */ const isURLSameOrigin = (platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => { - url = new URL(url, platform.origin); +/* harmony default export */ const isURLSameOrigin = (platform.hasStandardBrowserEnv + ? ((origin, isMSIE) => (url) => { + url = new URL(url, platform.origin); - return ( - origin.protocol === url.protocol && - origin.host === url.host && - (isMSIE || origin.port === url.port) - ); -})( - new URL(platform.origin), - platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent) -) : () => true); + return ( + origin.protocol === url.protocol && + origin.host === url.host && + (isMSIE || origin.port === url.port) + ); + })( + new URL(platform.origin), + platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent) + ) + : () => true); ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/cookies.js -/* harmony default export */ const cookies = (platform.hasStandardBrowserEnv ? - - // Standard browser envs support document.cookie - { - write(name, value, expires, path, domain, secure, sameSite) { - if (typeof document === 'undefined') return; +/* harmony default export */ const cookies = (platform.hasStandardBrowserEnv + ? // Standard browser envs support document.cookie + { + write(name, value, expires, path, domain, secure, sameSite) { + if (typeof document === 'undefined') return; - const cookie = [`${name}=${encodeURIComponent(value)}`]; + const cookie = [`${name}=${encodeURIComponent(value)}`]; - if (utils.isNumber(expires)) { - cookie.push(`expires=${new Date(expires).toUTCString()}`); - } - if (utils.isString(path)) { - cookie.push(`path=${path}`); - } - if (utils.isString(domain)) { - cookie.push(`domain=${domain}`); - } - if (secure === true) { - cookie.push('secure'); - } - if (utils.isString(sameSite)) { - cookie.push(`SameSite=${sameSite}`); - } + if (utils.isNumber(expires)) { + cookie.push(`expires=${new Date(expires).toUTCString()}`); + } + if (utils.isString(path)) { + cookie.push(`path=${path}`); + } + if (utils.isString(domain)) { + cookie.push(`domain=${domain}`); + } + if (secure === true) { + cookie.push('secure'); + } + if (utils.isString(sameSite)) { + cookie.push(`SameSite=${sameSite}`); + } - document.cookie = cookie.join('; '); - }, + document.cookie = cookie.join('; '); + }, - read(name) { - if (typeof document === 'undefined') return null; - const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); - return match ? decodeURIComponent(match[1]) : null; - }, + read(name) { + if (typeof document === 'undefined') return null; + const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); + return match ? decodeURIComponent(match[1]) : null; + }, - remove(name) { - this.write(name, '', Date.now() - 86400000, '/'); + remove(name) { + this.write(name, '', Date.now() - 86400000, '/'); + }, } - } - - : - - // Non-standard browser env (web workers, react-native) lack needed support. - { - write() {}, - read() { - return null; - }, - remove() {} - }); - + : // Non-standard browser env (web workers, react-native) lack needed support. + { + write() {}, + read() { + return null; + }, + remove() {}, + }); ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/mergeConfig.js @@ -43687,8 +44050,7 @@ const __setProxy = (/* unused pure expression or super */ null && (setProxy)); -const headersToObject = (thing) => - thing instanceof core_AxiosHeaders ? { ...thing } : thing; +const headersToObject = (thing) => (thing instanceof core_AxiosHeaders ? { ...thing } : thing); /** * Config-specific merge-function which creates a new config-object @@ -43781,23 +44143,12 @@ function mergeConfig(config1, config2) { mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true), }; - utils.forEach( - Object.keys({ ...config1, ...config2 }), - function computeConfigValue(prop) { - if ( - prop === "__proto__" || - prop === "constructor" || - prop === "prototype" - ) - return; - const merge = utils.hasOwnProp(mergeMap, prop) - ? mergeMap[prop] - : mergeDeepProperties; - const configValue = merge(config1[prop], config2[prop], prop); - (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || - (config[prop] = configValue); - }, - ); + utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) { + if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return; + const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties; + const configValue = merge(config1[prop], config2[prop], prop); + (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + }); return config; } @@ -43819,12 +44170,22 @@ function mergeConfig(config1, config2) { newConfig.headers = headers = core_AxiosHeaders.from(headers); - newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer); + newConfig.url = buildURL( + buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), + config.params, + config.paramsSerializer + ); // HTTP basic authentication if (auth) { - headers.set('Authorization', 'Basic ' + - btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')) + headers.set( + 'Authorization', + 'Basic ' + + btoa( + (auth.username || '') + + ':' + + (auth.password ? unescape(encodeURIComponent(auth.password)) : '') + ) ); } @@ -43842,7 +44203,7 @@ function mergeConfig(config1, config2) { } }); } - } + } // Add xsrf header // This is only done if running in a standard browser environment. @@ -43864,7 +44225,6 @@ function mergeConfig(config1, config2) { return newConfig; }); - ;// CONCATENATED MODULE: ./node_modules/axios/lib/adapters/xhr.js @@ -43879,193 +44239,215 @@ function mergeConfig(config1, config2) { const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; -/* harmony default export */ const xhr = (isXHRAdapterSupported && function (config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - const _config = resolveConfig(config); - let requestData = _config.data; - const requestHeaders = core_AxiosHeaders.from(_config.headers).normalize(); - let {responseType, onUploadProgress, onDownloadProgress} = _config; - let onCanceled; - let uploadThrottled, downloadThrottled; - let flushUpload, flushDownload; +/* harmony default export */ const xhr = (isXHRAdapterSupported && + function (config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + const _config = resolveConfig(config); + let requestData = _config.data; + const requestHeaders = core_AxiosHeaders.from(_config.headers).normalize(); + let { responseType, onUploadProgress, onDownloadProgress } = _config; + let onCanceled; + let uploadThrottled, downloadThrottled; + let flushUpload, flushDownload; - function done() { - flushUpload && flushUpload(); // flush events - flushDownload && flushDownload(); // flush events + function done() { + flushUpload && flushUpload(); // flush events + flushDownload && flushDownload(); // flush events - _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); + _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); - _config.signal && _config.signal.removeEventListener('abort', onCanceled); - } + _config.signal && _config.signal.removeEventListener('abort', onCanceled); + } - let request = new XMLHttpRequest(); + let request = new XMLHttpRequest(); - request.open(_config.method.toUpperCase(), _config.url, true); + request.open(_config.method.toUpperCase(), _config.url, true); - // Set the request timeout in MS - request.timeout = _config.timeout; + // Set the request timeout in MS + request.timeout = _config.timeout; - function onloadend() { - if (!request) { - return; + function onloadend() { + if (!request) { + return; + } + // Prepare the response + const responseHeaders = core_AxiosHeaders.from( + 'getAllResponseHeaders' in request && request.getAllResponseHeaders() + ); + const responseData = + !responseType || responseType === 'text' || responseType === 'json' + ? request.responseText + : request.response; + const response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request, + }; + + settle( + function _resolve(value) { + resolve(value); + done(); + }, + function _reject(err) { + reject(err); + done(); + }, + response + ); + + // Clean up request + request = null; } - // Prepare the response - const responseHeaders = core_AxiosHeaders.from( - 'getAllResponseHeaders' in request && request.getAllResponseHeaders() - ); - const responseData = !responseType || responseType === 'text' || responseType === 'json' ? - request.responseText : request.response; - const response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config, - request - }; - settle(function _resolve(value) { - resolve(value); - done(); - }, function _reject(err) { - reject(err); - done(); - }, response); + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } - // Clean up request - request = null; - } + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if ( + request.status === 0 && + !(request.responseURL && request.responseURL.indexOf('file:') === 0) + ) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } - if ('onloadend' in request) { - // Use onloadend if available - request.onloadend = onloadend; - } else { - // Listen for ready state to emulate onloadend - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { return; } - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - // readystate handler is calling before onerror or ontimeout handlers, - // so we should call onloadend on the next 'tick' - setTimeout(onloadend); + reject(new core_AxiosError('Request aborted', core_AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; }; - } - // Handle browser request cancellation (as opposed to a manual cancellation) - request.onabort = function handleAbort() { - if (!request) { - return; - } + // Handle low level network errors + request.onerror = function handleError(event) { + // Browsers deliver a ProgressEvent in XHR onerror + // (message may be empty; when present, surface it) + // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event + const msg = event && event.message ? event.message : 'Network Error'; + const err = new core_AxiosError(msg, core_AxiosError.ERR_NETWORK, config, request); + // attach the underlying event for consumers who want details + err.event = event || null; + reject(err); + request = null; + }; - reject(new core_AxiosError('Request aborted', core_AxiosError.ECONNABORTED, config, request)); + // Handle timeout + request.ontimeout = function handleTimeout() { + let timeoutErrorMessage = _config.timeout + ? 'timeout of ' + _config.timeout + 'ms exceeded' + : 'timeout exceeded'; + const transitional = _config.transitional || defaults_transitional; + if (_config.timeoutErrorMessage) { + timeoutErrorMessage = _config.timeoutErrorMessage; + } + reject( + new core_AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? core_AxiosError.ETIMEDOUT : core_AxiosError.ECONNABORTED, + config, + request + ) + ); - // Clean up request - request = null; - }; + // Clean up request + request = null; + }; - // Handle low level network errors - request.onerror = function handleError(event) { - // Browsers deliver a ProgressEvent in XHR onerror - // (message may be empty; when present, surface it) - // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event - const msg = event && event.message ? event.message : 'Network Error'; - const err = new core_AxiosError(msg, core_AxiosError.ERR_NETWORK, config, request); - // attach the underlying event for consumers who want details - err.event = event || null; - reject(err); - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; - const transitional = _config.transitional || defaults_transitional; - if (_config.timeoutErrorMessage) { - timeoutErrorMessage = _config.timeoutErrorMessage; - } - reject(new core_AxiosError( - timeoutErrorMessage, - transitional.clarifyTimeoutError ? core_AxiosError.ETIMEDOUT : core_AxiosError.ECONNABORTED, - config, - request)); - - // Clean up request - request = null; - }; + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); - // Remove Content-Type if data is undefined - requestData === undefined && requestHeaders.setContentType(null); + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } - // Add headers to the request - if ('setRequestHeader' in request) { - utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { - request.setRequestHeader(key, val); - }); - } + // Add withCredentials to request if needed + if (!utils.isUndefined(_config.withCredentials)) { + request.withCredentials = !!_config.withCredentials; + } - // Add withCredentials to request if needed - if (!utils.isUndefined(_config.withCredentials)) { - request.withCredentials = !!_config.withCredentials; - } + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = _config.responseType; + } - // Add responseType to request if needed - if (responseType && responseType !== 'json') { - request.responseType = _config.responseType; - } + // Handle progress if needed + if (onDownloadProgress) { + [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true); + request.addEventListener('progress', downloadThrottled); + } - // Handle progress if needed - if (onDownloadProgress) { - ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true)); - request.addEventListener('progress', downloadThrottled); - } + // Not all browsers support upload events + if (onUploadProgress && request.upload) { + [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress); - // Not all browsers support upload events - if (onUploadProgress && request.upload) { - ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress)); + request.upload.addEventListener('progress', uploadThrottled); - request.upload.addEventListener('progress', uploadThrottled); + request.upload.addEventListener('loadend', flushUpload); + } - request.upload.addEventListener('loadend', flushUpload); - } + if (_config.cancelToken || _config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = (cancel) => { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new cancel_CanceledError(null, config, request) : cancel); + request.abort(); + request = null; + }; - if (_config.cancelToken || _config.signal) { - // Handle cancellation - // eslint-disable-next-line func-names - onCanceled = cancel => { - if (!request) { - return; + _config.cancelToken && _config.cancelToken.subscribe(onCanceled); + if (_config.signal) { + _config.signal.aborted + ? onCanceled() + : _config.signal.addEventListener('abort', onCanceled); } - reject(!cancel || cancel.type ? new cancel_CanceledError(null, config, request) : cancel); - request.abort(); - request = null; - }; - - _config.cancelToken && _config.cancelToken.subscribe(onCanceled); - if (_config.signal) { - _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); } - } - const protocol = parseProtocol(_config.url); - - if (protocol && platform.protocols.indexOf(protocol) === -1) { - reject(new core_AxiosError('Unsupported protocol ' + protocol + ':', core_AxiosError.ERR_BAD_REQUEST, config)); - return; - } + const protocol = parseProtocol(_config.url); + if (protocol && platform.protocols.indexOf(protocol) === -1) { + reject( + new core_AxiosError( + 'Unsupported protocol ' + protocol + ':', + core_AxiosError.ERR_BAD_REQUEST, + config + ) + ); + return; + } - // Send the request - request.send(requestData || null); + // Send the request + request.send(requestData || null); + }); }); -}); ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/composeSignals.js @@ -44073,7 +44455,7 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; const composeSignals = (signals, timeout) => { - const {length} = (signals = signals ? signals.filter(Boolean) : []); + const { length } = (signals = signals ? signals.filter(Boolean) : []); if (timeout || length) { let controller = new AbortController(); @@ -44085,40 +44467,47 @@ const composeSignals = (signals, timeout) => { aborted = true; unsubscribe(); const err = reason instanceof Error ? reason : this.reason; - controller.abort(err instanceof core_AxiosError ? err : new cancel_CanceledError(err instanceof Error ? err.message : err)); + controller.abort( + err instanceof core_AxiosError + ? err + : new cancel_CanceledError(err instanceof Error ? err.message : err) + ); } - } + }; - let timer = timeout && setTimeout(() => { - timer = null; - onabort(new core_AxiosError(`timeout of ${timeout}ms exceeded`, core_AxiosError.ETIMEDOUT)) - }, timeout) + let timer = + timeout && + setTimeout(() => { + timer = null; + onabort(new core_AxiosError(`timeout of ${timeout}ms exceeded`, core_AxiosError.ETIMEDOUT)); + }, timeout); const unsubscribe = () => { if (signals) { timer && clearTimeout(timer); timer = null; - signals.forEach(signal => { - signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort); + signals.forEach((signal) => { + signal.unsubscribe + ? signal.unsubscribe(onabort) + : signal.removeEventListener('abort', onabort); }); signals = null; } - } + }; signals.forEach((signal) => signal.addEventListener('abort', onabort)); - const {signal} = controller; + const { signal } = controller; signal.unsubscribe = () => utils.asap(unsubscribe); return signal; } -} +}; /* harmony default export */ const helpers_composeSignals = (composeSignals); ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/trackStream.js - const streamChunk = function* (chunk, chunkSize) { let len = chunk.byteLength; @@ -44135,13 +44524,13 @@ const streamChunk = function* (chunk, chunkSize) { yield chunk.slice(pos, end); pos = end; } -} +}; const readBytes = async function* (iterable, chunkSize) { for await (const chunk of readStream(iterable)) { yield* streamChunk(chunk, chunkSize); } -} +}; const readStream = async function* (stream) { if (stream[Symbol.asyncIterator]) { @@ -44152,7 +44541,7 @@ const readStream = async function* (stream) { const reader = stream.getReader(); try { for (;;) { - const {done, value} = await reader.read(); + const { done, value } = await reader.read(); if (done) { break; } @@ -44161,7 +44550,7 @@ const readStream = async function* (stream) { } finally { await reader.cancel(); } -} +}; const trackStream = (stream, chunkSize, onProgress, onFinish) => { const iterator = readBytes(stream, chunkSize); @@ -44173,38 +44562,41 @@ const trackStream = (stream, chunkSize, onProgress, onFinish) => { done = true; onFinish && onFinish(e); } - } + }; - return new ReadableStream({ - async pull(controller) { - try { - const {done, value} = await iterator.next(); + return new ReadableStream( + { + async pull(controller) { + try { + const { done, value } = await iterator.next(); - if (done) { - _onFinish(); - controller.close(); - return; - } + if (done) { + _onFinish(); + controller.close(); + return; + } - let len = value.byteLength; - if (onProgress) { - let loadedBytes = bytes += len; - onProgress(loadedBytes); + let len = value.byteLength; + if (onProgress) { + let loadedBytes = (bytes += len); + onProgress(loadedBytes); + } + controller.enqueue(new Uint8Array(value)); + } catch (err) { + _onFinish(err); + throw err; } - controller.enqueue(new Uint8Array(value)); - } catch (err) { - _onFinish(err); - throw err; - } + }, + cancel(reason) { + _onFinish(reason); + return iterator.return(); + }, }, - cancel(reason) { - _onFinish(reason); - return iterator.return(); + { + highWaterMark: 2, } - }, { - highWaterMark: 2 - }) -} + ); +}; ;// CONCATENATED MODULE: ./node_modules/axios/lib/adapters/fetch.js @@ -44219,31 +44611,33 @@ const trackStream = (stream, chunkSize, onProgress, onFinish) => { const DEFAULT_CHUNK_SIZE = 64 * 1024; -const {isFunction: fetch_isFunction} = utils; +const { isFunction: fetch_isFunction } = utils; -const globalFetchAPI = (({Request, Response}) => ({ - Request, Response +const globalFetchAPI = (({ Request, Response }) => ({ + Request, + Response, }))(utils.global); -const { - ReadableStream: fetch_ReadableStream, TextEncoder: fetch_TextEncoder -} = utils.global; - +const { ReadableStream: fetch_ReadableStream, TextEncoder: fetch_TextEncoder } = utils.global; const test = (fn, ...args) => { try { return !!fn(...args); } catch (e) { - return false + return false; } -} +}; const factory = (env) => { - env = utils.merge.call({ - skipUndefined: true - }, globalFetchAPI, env); + env = utils.merge.call( + { + skipUndefined: true, + }, + globalFetchAPI, + env + ); - const {fetch: envFetch, Request, Response} = env; + const { fetch: envFetch, Request, Response } = env; const isFetchSupported = envFetch ? fetch_isFunction(envFetch) : typeof fetch === 'function'; const isRequestSupported = fetch_isFunction(Request); const isResponseSupported = fetch_isFunction(Response); @@ -44254,46 +44648,65 @@ const factory = (env) => { const isReadableStreamSupported = isFetchSupported && fetch_isFunction(fetch_ReadableStream); - const encodeText = isFetchSupported && (typeof fetch_TextEncoder === 'function' ? - ((encoder) => (str) => encoder.encode(str))(new fetch_TextEncoder()) : - async (str) => new Uint8Array(await new Request(str).arrayBuffer()) - ); + const encodeText = + isFetchSupported && + (typeof fetch_TextEncoder === 'function' + ? ( + (encoder) => (str) => + encoder.encode(str) + )(new fetch_TextEncoder()) + : async (str) => new Uint8Array(await new Request(str).arrayBuffer())); - const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => { - let duplexAccessed = false; + const supportsRequestStream = + isRequestSupported && + isReadableStreamSupported && + test(() => { + let duplexAccessed = false; - const hasContentType = new Request(platform.origin, { - body: new fetch_ReadableStream(), - method: 'POST', - get duplex() { - duplexAccessed = true; - return 'half'; - }, - }).headers.has('Content-Type'); + const body = new fetch_ReadableStream(); - return duplexAccessed && !hasContentType; - }); + const hasContentType = new Request(platform.origin, { + body, + method: 'POST', + get duplex() { + duplexAccessed = true; + return 'half'; + }, + }).headers.has('Content-Type'); + + body.cancel(); - const supportsResponseStream = isResponseSupported && isReadableStreamSupported && + return duplexAccessed && !hasContentType; + }); + + const supportsResponseStream = + isResponseSupported && + isReadableStreamSupported && test(() => utils.isReadableStream(new Response('').body)); const resolvers = { - stream: supportsResponseStream && ((res) => res.body) + stream: supportsResponseStream && ((res) => res.body), }; - isFetchSupported && ((() => { - ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { - !resolvers[type] && (resolvers[type] = (res, config) => { - let method = res && res[type]; + isFetchSupported && + (() => { + ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => { + !resolvers[type] && + (resolvers[type] = (res, config) => { + let method = res && res[type]; - if (method) { - return method.call(res); - } + if (method) { + return method.call(res); + } - throw new core_AxiosError(`Response type '${type}' is not supported`, core_AxiosError.ERR_NOT_SUPPORT, config); - }) - }); - })()); + throw new core_AxiosError( + `Response type '${type}' is not supported`, + core_AxiosError.ERR_NOT_SUPPORT, + config + ); + }); + }); + })(); const getBodyLength = async (body) => { if (body == null) { @@ -44323,13 +44736,13 @@ const factory = (env) => { if (utils.isString(body)) { return (await encodeText(body)).byteLength; } - } + }; const resolveBodyLength = async (headers, body) => { const length = utils.toFiniteNumber(headers.getContentLength()); return length == null ? getBodyLength(body) : length; - } + }; return async (config) => { let { @@ -44344,38 +44757,47 @@ const factory = (env) => { responseType, headers, withCredentials = 'same-origin', - fetchOptions + fetchOptions, } = resolveConfig(config); let _fetch = envFetch || fetch; responseType = responseType ? (responseType + '').toLowerCase() : 'text'; - let composedSignal = helpers_composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout); + let composedSignal = helpers_composeSignals( + [signal, cancelToken && cancelToken.toAbortSignal()], + timeout + ); let request = null; - const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => { - composedSignal.unsubscribe(); - }); + const unsubscribe = + composedSignal && + composedSignal.unsubscribe && + (() => { + composedSignal.unsubscribe(); + }); let requestContentLength; try { if ( - onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && + onUploadProgress && + supportsRequestStream && + method !== 'get' && + method !== 'head' && (requestContentLength = await resolveBodyLength(headers, data)) !== 0 ) { let _request = new Request(url, { method: 'POST', body: data, - duplex: "half" + duplex: 'half', }); let contentTypeHeader; if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { - headers.setContentType(contentTypeHeader) + headers.setContentType(contentTypeHeader); } if (_request.body) { @@ -44394,7 +44816,7 @@ const factory = (env) => { // Cloudflare Workers throws when credentials are defined // see https://github.com/cloudflare/workerd/issues/902 - const isCredentialsSupported = isRequestSupported && "credentials" in Request.prototype; + const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype; const resolvedOptions = { ...fetchOptions, @@ -44402,29 +44824,35 @@ const factory = (env) => { method: method.toUpperCase(), headers: headers.normalize().toJSON(), body: data, - duplex: "half", - credentials: isCredentialsSupported ? withCredentials : undefined + duplex: 'half', + credentials: isCredentialsSupported ? withCredentials : undefined, }; request = isRequestSupported && new Request(url, resolvedOptions); - let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions)); + let response = await (isRequestSupported + ? _fetch(request, fetchOptions) + : _fetch(url, resolvedOptions)); - const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); + const isStreamResponse = + supportsResponseStream && (responseType === 'stream' || responseType === 'response'); if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) { const options = {}; - ['status', 'statusText', 'headers'].forEach(prop => { + ['status', 'statusText', 'headers'].forEach((prop) => { options[prop] = response[prop]; }); const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length')); - const [onProgress, flush] = onDownloadProgress && progressEventDecorator( - responseContentLength, - progressEventReducer(asyncDecorator(onDownloadProgress), true) - ) || []; + const [onProgress, flush] = + (onDownloadProgress && + progressEventDecorator( + responseContentLength, + progressEventReducer(asyncDecorator(onDownloadProgress), true) + )) || + []; response = new Response( trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { @@ -44437,7 +44865,10 @@ const factory = (env) => { responseType = responseType || 'text'; - let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config); + let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text']( + response, + config + ); !isStreamResponse && unsubscribe && unsubscribe(); @@ -44448,43 +44879,50 @@ const factory = (env) => { status: response.status, statusText: response.statusText, config, - request - }) - }) + request, + }); + }); } catch (err) { unsubscribe && unsubscribe(); if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) { throw Object.assign( - new core_AxiosError('Network Error', core_AxiosError.ERR_NETWORK, config, request, err && err.response), + new core_AxiosError( + 'Network Error', + core_AxiosError.ERR_NETWORK, + config, + request, + err && err.response + ), { - cause: err.cause || err + cause: err.cause || err, } - ) + ); } throw core_AxiosError.from(err, err && err.code, config, request, err && err.response); } - } -} + }; +}; const seedCache = new Map(); const getFetch = (config) => { let env = (config && config.env) || {}; - const {fetch, Request, Response} = env; - const seeds = [ - Request, Response, fetch - ]; + const { fetch, Request, Response } = env; + const seeds = [Request, Response, fetch]; - let len = seeds.length, i = len, - seed, target, map = seedCache; + let len = seeds.length, + i = len, + seed, + target, + map = seedCache; while (i--) { seed = seeds[i]; target = map.get(seed); - target === undefined && map.set(seed, target = (i ? new Map() : factory(env))) + target === undefined && map.set(seed, (target = i ? new Map() : factory(env))); map = target; } @@ -44509,7 +44947,7 @@ const adapter = getFetch(); * - `http` for Node.js * - `xhr` for browsers * - `fetch` for fetch API-based requests - * + * * @type {Object} */ const knownAdapters = { @@ -44517,7 +44955,7 @@ const knownAdapters = { xhr: xhr, fetch: { get: getFetch, - } + }, }; // Assign adapter names for easier debugging and identification @@ -44534,7 +44972,7 @@ utils.forEach(knownAdapters, (fn, value) => { /** * Render a rejection reason string for unknown or unsupported adapters - * + * * @param {string} reason * @returns {string} */ @@ -44542,17 +44980,18 @@ const renderReason = (reason) => `- ${reason}`; /** * Check if the adapter is resolved (function, null, or false) - * + * * @param {Function|null|false} adapter * @returns {boolean} */ -const isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false; +const isResolvedHandle = (adapter) => + utils.isFunction(adapter) || adapter === null || adapter === false; /** * Get the first suitable adapter from the provided list. * Tries each adapter in order until a supported one is found. * Throws an AxiosError if no adapter is suitable. - * + * * @param {Array|string|Function} adapters - Adapter(s) by name or function. * @param {Object} config - Axios request configuration * @throws {AxiosError} If no suitable adapter is available @@ -44589,14 +45028,17 @@ function getAdapter(adapters, config) { } if (!adapter) { - const reasons = Object.entries(rejectedReasons) - .map(([id, state]) => `adapter ${id} ` + + const reasons = Object.entries(rejectedReasons).map( + ([id, state]) => + `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build') - ); + ); - let s = length ? - (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : - 'as no adapter specified'; + let s = length + ? reasons.length > 1 + ? 'since :\n' + reasons.map(renderReason).join('\n') + : ' ' + renderReason(reasons[0]) + : 'as no adapter specified'; throw new core_AxiosError( `There is no suitable adapter to dispatch the request ` + s, @@ -44621,7 +45063,7 @@ function getAdapter(adapters, config) { * Exposes all known adapters * @type {Object} */ - adapters: knownAdapters + adapters: knownAdapters, }); ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/dispatchRequest.js @@ -44664,10 +45106,7 @@ function dispatchRequest(config) { config.headers = core_AxiosHeaders.from(config.headers); // Transform request data - config.data = transformData.call( - config, - config.transformRequest - ); + config.data = transformData.call(config, config.transformRequest); if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { config.headers.setContentType('application/x-www-form-urlencoded', false); @@ -44675,36 +45114,35 @@ function dispatchRequest(config) { const adapter = adapters.getAdapter(config.adapter || lib_defaults.adapter, config); - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); + return adapter(config).then( + function onAdapterResolution(response) { + throwIfCancellationRequested(config); - // Transform response data - response.data = transformData.call( - config, - config.transformResponse, - response - ); + // Transform response data + response.data = transformData.call(config, config.transformResponse, response); - response.headers = core_AxiosHeaders.from(response.headers); + response.headers = core_AxiosHeaders.from(response.headers); - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config); + return response; + }, + function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); - // Transform response data - if (reason && reason.response) { - reason.response.data = transformData.call( - config, - config.transformResponse, - reason.response - ); - reason.response.headers = core_AxiosHeaders.from(reason.response.headers); + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + config.transformResponse, + reason.response + ); + reason.response.headers = core_AxiosHeaders.from(reason.response.headers); + } } - } - return Promise.reject(reason); - }); + return Promise.reject(reason); + } + ); } ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/validator.js @@ -44735,7 +45173,15 @@ const deprecatedWarnings = {}; */ validators.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { - return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); + return ( + '[Axios v' + + VERSION + + "] Transitional option '" + + opt + + "'" + + desc + + (message ? '. ' + message : '') + ); } // eslint-disable-next-line func-names @@ -44767,7 +45213,7 @@ validators.spelling = function spelling(correctSpelling) { // eslint-disable-next-line no-console console.warn(`${opt} is likely a misspelling of ${correctSpelling}`); return true; - } + }; }; /** @@ -44793,7 +45239,10 @@ function assertOptions(options, schema, allowUnknown) { const value = options[opt]; const result = value === undefined || validator(value, opt, options); if (result !== true) { - throw new core_AxiosError('option ' + opt + ' must be ' + result, core_AxiosError.ERR_BAD_OPTION_VALUE); + throw new core_AxiosError( + 'option ' + opt + ' must be ' + result, + core_AxiosError.ERR_BAD_OPTION_VALUE + ); } continue; } @@ -44805,7 +45254,7 @@ function assertOptions(options, schema, allowUnknown) { /* harmony default export */ const validator = ({ assertOptions, - validators + validators, }); ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/Axios.js @@ -44835,7 +45284,7 @@ class Axios { this.defaults = instanceConfig || {}; this.interceptors = { request: new core_InterceptorManager(), - response: new core_InterceptorManager() + response: new core_InterceptorManager(), }; } @@ -44857,13 +45306,29 @@ class Axios { Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error()); // slice off the Error: ... line - const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; + const stack = (() => { + if (!dummy.stack) { + return ''; + } + + const firstNewlineIndex = dummy.stack.indexOf('\n'); + + return firstNewlineIndex === -1 ? '' : dummy.stack.slice(firstNewlineIndex + 1); + })(); try { if (!err.stack) { err.stack = stack; // match without the 2 top stack lines - } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { - err.stack += '\n' + stack + } else if (stack) { + const firstNewlineIndex = stack.indexOf('\n'); + const secondNewlineIndex = + firstNewlineIndex === -1 ? -1 : stack.indexOf('\n', firstNewlineIndex + 1); + const stackWithoutTwoTopLines = + secondNewlineIndex === -1 ? '' : stack.slice(secondNewlineIndex + 1); + + if (!String(err.stack).endsWith(stackWithoutTwoTopLines)) { + err.stack += '\n' + stack; + } } } catch (e) { // ignore the case where "stack" is an un-writable property @@ -44886,27 +45351,35 @@ class Axios { config = mergeConfig(this.defaults, config); - const {transitional, paramsSerializer, headers} = config; + const { transitional, paramsSerializer, headers } = config; if (transitional !== undefined) { - validator.assertOptions(transitional, { - silentJSONParsing: Axios_validators.transitional(Axios_validators.boolean), - forcedJSONParsing: Axios_validators.transitional(Axios_validators.boolean), - clarifyTimeoutError: Axios_validators.transitional(Axios_validators.boolean), - legacyInterceptorReqResOrdering: Axios_validators.transitional(Axios_validators.boolean) - }, false); + validator.assertOptions( + transitional, + { + silentJSONParsing: Axios_validators.transitional(Axios_validators.boolean), + forcedJSONParsing: Axios_validators.transitional(Axios_validators.boolean), + clarifyTimeoutError: Axios_validators.transitional(Axios_validators.boolean), + legacyInterceptorReqResOrdering: Axios_validators.transitional(Axios_validators.boolean), + }, + false + ); } if (paramsSerializer != null) { if (utils.isFunction(paramsSerializer)) { config.paramsSerializer = { - serialize: paramsSerializer - } + serialize: paramsSerializer, + }; } else { - validator.assertOptions(paramsSerializer, { - encode: Axios_validators.function, - serialize: Axios_validators.function - }, true); + validator.assertOptions( + paramsSerializer, + { + encode: Axios_validators.function, + serialize: Axios_validators.function, + }, + true + ); } } @@ -44919,26 +45392,25 @@ class Axios { config.allowAbsoluteUrls = true; } - validator.assertOptions(config, { - baseUrl: Axios_validators.spelling('baseURL'), - withXsrfToken: Axios_validators.spelling('withXSRFToken') - }, true); + validator.assertOptions( + config, + { + baseUrl: Axios_validators.spelling('baseURL'), + withXsrfToken: Axios_validators.spelling('withXSRFToken'), + }, + true + ); // Set config.method config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers - let contextHeaders = headers && utils.merge( - headers.common, - headers[config.method] - ); + let contextHeaders = headers && utils.merge(headers.common, headers[config.method]); - headers && utils.forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - (method) => { + headers && + utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { delete headers[method]; - } - ); + }); config.headers = core_AxiosHeaders.concat(contextHeaders, headers); @@ -44953,7 +45425,8 @@ class Axios { synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; const transitional = config.transitional || defaults_transitional; - const legacyInterceptorReqResOrdering = transitional && transitional.legacyInterceptorReqResOrdering; + const legacyInterceptorReqResOrdering = + transitional && transitional.legacyInterceptorReqResOrdering; if (legacyInterceptorReqResOrdering) { requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); @@ -45027,28 +45500,32 @@ class Axios { // Provide aliases for supported request methods utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request(mergeConfig(config || {}, { - method, - url, - data: (config || {}).data - })); + Axios.prototype[method] = function (url, config) { + return this.request( + mergeConfig(config || {}, { + method, + url, + data: (config || {}).data, + }) + ); }; }); utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { - return this.request(mergeConfig(config || {}, { - method, - headers: isForm ? { - 'Content-Type': 'multipart/form-data' - } : {}, - url, - data - })); + return this.request( + mergeConfig(config || {}, { + method, + headers: isForm + ? { + 'Content-Type': 'multipart/form-data', + } + : {}, + url, + data, + }) + ); }; } @@ -45086,7 +45563,7 @@ class CancelToken { const token = this; // eslint-disable-next-line func-names - this.promise.then(cancel => { + this.promise.then((cancel) => { if (!token._listeners) return; let i = token._listeners.length; @@ -45098,10 +45575,10 @@ class CancelToken { }); // eslint-disable-next-line func-names - this.promise.then = onfulfilled => { + this.promise.then = (onfulfilled) => { let _resolve; // eslint-disable-next-line func-names - const promise = new Promise(resolve => { + const promise = new Promise((resolve) => { token.subscribe(resolve); _resolve = resolve; }).then(onfulfilled); @@ -45189,7 +45666,7 @@ class CancelToken { }); return { token, - cancel + cancel, }; } } @@ -45239,7 +45716,7 @@ function spread(callback) { * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ function isAxiosError(payload) { - return utils.isObject(payload) && (payload.isAxiosError === true); + return utils.isObject(payload) && payload.isAxiosError === true; } ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/HttpStatusCode.js @@ -45354,10 +45831,10 @@ function createInstance(defaultConfig) { const instance = bind(core_Axios.prototype.request, context); // Copy axios.prototype to instance - utils.extend(instance, core_Axios.prototype, context, {allOwnKeys: true}); + utils.extend(instance, core_Axios.prototype, context, { allOwnKeys: true }); // Copy context to instance - utils.extend(instance, context, null, {allOwnKeys: true}); + utils.extend(instance, context, null, { allOwnKeys: true }); // Factory for creating new instances instance.create = function create(instanceConfig) { @@ -45401,7 +45878,7 @@ axios.mergeConfig = mergeConfig; axios.AxiosHeaders = core_AxiosHeaders; -axios.formToJSON = thing => helpers_formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); +axios.formToJSON = (thing) => helpers_formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); axios.getAdapter = adapters.getAdapter; From 13adfa3669b21783c127f19aa530ab8f0b7ec562 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 00:17:35 +0000 Subject: [PATCH 2/2] fix: apply audit fixes --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 35c13fc..45d883e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -297,13 +297,13 @@ asynckit@^0.4.0: integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== axios@^1.9.0: - version "1.13.5" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.5.tgz#5e464688fa127e11a660a2c49441c009f6567a43" - integrity "sha1-XkZGiPoSfhGmYKLElEHACfZWekM= sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==" + version "1.15.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.15.0.tgz#0fcee91ef03d386514474904b27863b2c683bf4f" + integrity "sha1-D87pHvA9OGUUR0kEsnhjssaDv08= sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==" dependencies: follow-redirects "^1.15.11" form-data "^4.0.5" - proxy-from-env "^1.1.0" + proxy-from-env "^2.1.0" balanced-match@^1.0.0: version "1.0.2" @@ -1375,10 +1375,10 @@ progress@^2.0.0: resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -proxy-from-env@^1.1.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== +proxy-from-env@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz#a7487568adad577cfaaa7e88c49cab3ab3081aba" + integrity "sha1-p0h1aK2tV3z6qn6IxJyrOrMIGro= sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==" pump@^3.0.0: version "3.0.0"