From 71f09de8125956a774ce385005fe3f2fa25e7d0f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 21 Jul 2026 00:41:23 +0000 Subject: [PATCH] chore(deps): update dependency esbuild to v0.28.1 --- dist/index.js | 511 +++++++++++++++++++++++++++++++++++----------- package-lock.json | 226 ++++++++++---------- package.json | 2 +- 3 files changed, 518 insertions(+), 221 deletions(-) diff --git a/dist/index.js b/dist/index.js index 571a2f22..79f78597 100644 --- a/dist/index.js +++ b/dist/index.js @@ -53360,6 +53360,25 @@ var require_axios = __commonJS({ iterator, toStringTag } = Symbol; + var hasOwnProperty = (({ + hasOwnProperty: hasOwnProperty2 + }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype); + var hasOwnInPrototypeChain = (thing, prop) => { + let obj = thing; + const seen = []; + while (obj != null && obj !== Object.prototype) { + if (seen.indexOf(obj) !== -1) { + return false; + } + seen.push(obj); + if (hasOwnProperty(obj, prop)) { + return true; + } + obj = getPrototypeOf(obj); + } + return false; + }; + var getSafeProp = (obj, prop) => obj != null && hasOwnInPrototypeChain(obj, prop) ? obj[prop] : void 0; var kindOf = /* @__PURE__ */ ((cache) => (thing) => { const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); @@ -53392,11 +53411,14 @@ var require_axios = __commonJS({ var isObject = (thing) => thing !== null && typeof thing === "object"; var isBoolean = (thing) => thing === true || thing === false; var isPlainObject = (val) => { - if (kindOf(val) !== "object") { + if (!isObject(val)) { return false; } const prototype2 = getPrototypeOf(val); - return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(toStringTag in val) && !(iterator in val); + return (prototype2 === null || prototype2 === Object.prototype || getPrototypeOf(prototype2) === null) && // Treat any genuine (non-Object.prototype-polluted) Symbol.toStringTag or + // Symbol.iterator as evidence the value is a tagged/iterable type rather + // than a plain object, while ignoring keys injected onto Object.prototype. + !hasOwnInPrototypeChain(val, toStringTag) && !hasOwnInPrototypeChain(val, iterator); }; var isEmptyObject = (val) => { if (!isObject(val) || isBuffer(val)) { @@ -53649,9 +53671,6 @@ var require_axios = __commonJS({ return p1.toUpperCase() + p2; }); }; - var hasOwnProperty = (({ - hasOwnProperty: hasOwnProperty2 - }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype); var { propertyIsEnumerable } = Object.prototype; @@ -53752,6 +53771,7 @@ var require_axios = __commonJS({ })(typeof setImmediate === "function", isFunction$1(_global.postMessage)); var asap = typeof queueMicrotask !== "undefined" ? queueMicrotask.bind(_global) : typeof process !== "undefined" && process.nextTick || _setImmediate; var isIterable = (thing) => thing != null && isFunction$1(thing[iterator]); + var isSafeIterable = (thing) => thing != null && hasOwnInPrototypeChain(thing, iterator) && isIterable(thing); var utils$1 = { isArray, isArrayBuffer, @@ -53797,6 +53817,8 @@ var require_axios = __commonJS({ hasOwnProperty, hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + hasOwnInPrototypeChain, + getSafeProp, reduceDescriptors, freezeMethods, toObjectSet, @@ -53812,7 +53834,8 @@ var require_axios = __commonJS({ isThenable, setImmediate: _setImmediate, asap, - isIterable + isIterable, + isSafeIterable }; var ignoreDuplicateOf = utils$1.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"]); var parseHeaders = (rawHeaders) => { @@ -53950,13 +53973,19 @@ var require_axios = __commonJS({ setHeaders(header, valueOrRewrite); } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { setHeaders(parseHeaders(header), valueOrRewrite); - } else if (utils$1.isObject(header) && utils$1.isIterable(header)) { - let obj = {}, dest, key; + } else if (utils$1.isObject(header) && utils$1.isSafeIterable(header)) { + let obj = /* @__PURE__ */ Object.create(null), dest, key; for (const entry of header) { if (!utils$1.isArray(entry)) { throw new TypeError("Object iterator must return a key-value pair"); } - obj[key = entry[0]] = (dest = obj[key]) ? utils$1.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1]; + key = entry[0]; + if (utils$1.hasOwnProp(obj, key)) { + dest = obj[key]; + obj[key] = utils$1.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]; + } else { + obj[key] = entry[1]; + } } setHeaders(obj, valueOrRewrite); } else { @@ -54161,7 +54190,13 @@ var require_axios = __commonJS({ var AxiosError = class _AxiosError extends Error { static from(error2, code, config, request, response, customProps) { const axiosError = new _AxiosError(error2.message, code || error2.code, config, request, response); - axiosError.cause = error2; + Object.defineProperty(axiosError, "cause", { + __proto__: null, + value: error2, + writable: true, + enumerable: false, + configurable: true + }); axiosError.name = error2.name; if (error2.status != null && axiosError.status == null) { axiosError.status = error2.status; @@ -54238,6 +54273,7 @@ var require_axios = __commonJS({ AxiosError.ERR_NOT_SUPPORT = "ERR_NOT_SUPPORT"; AxiosError.ERR_INVALID_URL = "ERR_INVALID_URL"; AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED = "ERR_FORM_DATA_DEPTH_EXCEEDED"; + var DEFAULT_FORM_DATA_MAX_DEPTH = 100; function isVisitable(thing) { return utils$1.isPlainObject(thing) || utils$1.isArray(thing); } @@ -54274,8 +54310,9 @@ var require_axios = __commonJS({ const dots = options.dots; const indexes = options.indexes; const _Blob = options.Blob || typeof Blob !== "undefined" && Blob; - const maxDepth = options.maxDepth === void 0 ? 100 : options.maxDepth; + const maxDepth = options.maxDepth === void 0 ? DEFAULT_FORM_DATA_MAX_DEPTH : options.maxDepth; const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); + const stack = []; if (!utils$1.isFunction(visitor)) { throw new TypeError("visitor must be a function"); } @@ -54291,10 +54328,38 @@ var require_axios = __commonJS({ throw new AxiosError("Blob is not supported. Use a Buffer instead."); } if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { - return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value); + if (useBlob && typeof _Blob === "function") { + return new _Blob([value]); + } + if (typeof Buffer !== "undefined") { + return Buffer.from(value); + } + throw new AxiosError("Blob is not supported. Use a Buffer instead.", AxiosError.ERR_NOT_SUPPORT); } return value; } + function throwIfMaxDepthExceeded(depth) { + if (depth > maxDepth) { + throw new AxiosError("Object is too deeply nested (" + depth + " levels). Max depth: " + maxDepth, AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED); + } + } + function stringifyWithDepthLimit(value, depth) { + if (maxDepth === Infinity) { + return JSON.stringify(value); + } + const ancestors = []; + return JSON.stringify(value, function limitDepth(_key, currentValue) { + if (!utils$1.isObject(currentValue)) { + return currentValue; + } + while (ancestors.length && ancestors[ancestors.length - 1] !== this) { + ancestors.pop(); + } + ancestors.push(currentValue); + throwIfMaxDepthExceeded(depth + ancestors.length - 1); + return currentValue; + }); + } function defaultVisitor(value, key, path2) { let arr = value; if (utils$1.isReactNative(formData) && utils$1.isReactNativeBlob(value)) { @@ -54304,7 +54369,7 @@ var require_axios = __commonJS({ if (value && !path2 && typeof value === "object") { if (utils$1.endsWith(key, "{}")) { key = metaTokens ? key : key.slice(0, -2); - value = JSON.stringify(value); + value = stringifyWithDepthLimit(value, 1); } else if (utils$1.isArray(value) && isFlatArray(value) || (utils$1.isFileList(value) || utils$1.endsWith(key, "[]")) && (arr = utils$1.toArray(value))) { key = removeBrackets(key); arr.forEach(function each(el, index) { @@ -54323,7 +54388,6 @@ var require_axios = __commonJS({ formData.append(renderKey(path2, key, dots), convertValue(value)); return false; } - const stack = []; const exposedHelpers = Object.assign(predicates, { defaultVisitor, convertValue, @@ -54331,9 +54395,7 @@ var require_axios = __commonJS({ }); function build(value, path2, depth = 0) { if (utils$1.isUndefined(value)) return; - if (depth > maxDepth) { - throw new AxiosError("Object is too deeply nested (" + depth + " levels). Max depth: " + maxDepth, AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED); - } + throwIfMaxDepthExceeded(depth); if (stack.indexOf(value) !== -1) { throw new Error("Circular reference detected in " + path2.join(".")); } @@ -54374,9 +54436,7 @@ var require_axios = __commonJS({ this._pairs.push([name, value]); }; prototype.toString = function toString2(encoder) { - const _encode = encoder ? function(value) { - return encoder.call(this, value, encode$1); - } : encode$1; + const _encode = encoder ? (value) => encoder.call(this, value, encode$1) : encode$1; return this._pairs.map(function each(pair) { return _encode(pair[0]) + "=" + _encode(pair[1]); }, "").join("&"); @@ -54388,11 +54448,12 @@ var require_axios = __commonJS({ if (!params) { return url2; } - const _encode = options && options.encode || encode; + url2 = url2 || ""; const _options = utils$1.isFunction(options) ? { serialize: options } : options; - const serializeFn = _options && _options.serialize; + const _encode = utils$1.getSafeProp(_options, "encode") || encode; + const serializeFn = utils$1.getSafeProp(_options, "serialize"); let serializedParams; if (serializeFn) { serializedParams = serializeFn(params, _options); @@ -54475,7 +54536,8 @@ var require_axios = __commonJS({ forcedJSONParsing: true, clarifyTimeoutError: false, legacyInterceptorReqResOrdering: true, - advertiseZstdAcceptEncoding: false + advertiseZstdAcceptEncoding: false, + validateStatusUndefinedResolves: true }; var URLSearchParams2 = url.URLSearchParams; var ALPHA = "abcdefghijklmnopqrstuvwxyz"; @@ -54540,10 +54602,21 @@ var require_axios = __commonJS({ ...options }); } + var MAX_DEPTH = DEFAULT_FORM_DATA_MAX_DEPTH; + function throwIfDepthExceeded(index) { + if (index > MAX_DEPTH) { + throw new AxiosError("FormData field is too deeply nested (" + index + " levels). Max depth: " + MAX_DEPTH, AxiosError.ERR_FORM_DATA_DEPTH_EXCEEDED); + } + } function parsePropPath(name) { - return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map((match) => { - return match[0] === "[]" ? "" : match[1] || match[0]; - }); + const path2 = []; + const pattern = /\w+|\[(\w*)]/g; + let match; + while ((match = pattern.exec(name)) !== null) { + throwIfDepthExceeded(path2.length); + path2.push(match[0] === "[]" ? "" : match[1] || match[0]); + } + return path2; } function arrayToObject(arr) { const obj = {}; @@ -54559,6 +54632,7 @@ var require_axios = __commonJS({ } function formDataToJSON(formData) { function buildPath(path2, value, target, index) { + throwIfDepthExceeded(index); let name = path2[index++]; if (name === "__proto__") return true; const isNumericKey = Number.isFinite(+name); @@ -54745,9 +54819,28 @@ var require_axios = __commonJS({ function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; } - function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) { + var malformedHttpProtocol = /^https?:(?!\/\/)/i; + var httpProtocolControlCharacters = /[\t\n\r]/g; + function stripLeadingC0ControlOrSpace(url2) { + let i = 0; + while (i < url2.length && url2.charCodeAt(i) <= 32) { + i++; + } + return url2.slice(i); + } + function normalizeURLForProtocolCheck(url2) { + return stripLeadingC0ControlOrSpace(url2).replace(httpProtocolControlCharacters, ""); + } + function assertValidHttpProtocolURL(url2, config) { + if (typeof url2 === "string" && malformedHttpProtocol.test(normalizeURLForProtocolCheck(url2))) { + throw new AxiosError('Invalid URL: missing "//" after protocol', AxiosError.ERR_INVALID_URL, config); + } + } + function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls, config) { + assertValidHttpProtocolURL(requestedURL, config); let isRelativeUrl = !isAbsoluteURL(requestedURL); if (baseURL && (isRelativeUrl || allowAbsoluteUrls === false)) { + assertValidHttpProtocolURL(baseURL, config); return combineURLs(baseURL, requestedURL); } return requestedURL; @@ -54817,7 +54910,7 @@ var require_axios = __commonJS({ function getEnv(key) { return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ""; } - var VERSION = "1.17.0"; + var VERSION = "1.18.1"; function parseProtocol(url2) { const match = /^([-+\w]{1,25}):(?:\/\/)?/.exec(url2); return match && match[1] || ""; @@ -54839,13 +54932,13 @@ var require_axios = __commonJS({ const params = match[2]; const encoding = match[3] ? "base64" : "utf8"; const body = match[4]; - let mime; + let mime = ""; if (type) { mime = params ? type + params : type; } else if (params) { mime = "text/plain" + params; } - const buffer = Buffer.from(decodeURIComponent(body), encoding); + const buffer = encoding === "base64" ? Buffer.from(body, "base64") : Buffer.from(decodeURIComponent(body), encoding); if (asBlob) { if (!_Blob) { throw new AxiosError("Blob is not supported", AxiosError.ERR_NOT_SUPPORT); @@ -55169,13 +55262,29 @@ var require_axios = __commonJS({ }, cb); } : fn; }; - var LOOPBACK_HOSTNAMES = /* @__PURE__ */ new Set(["localhost"]); + var LOOPBACK_HOSTNAMES = /* @__PURE__ */ new Set(["localhost", "0.0.0.0"]); var isIPv4Loopback = (host) => { const parts = host.split("."); if (parts.length !== 4) return false; if (parts[0] !== "127") return false; return parts.every((p) => /^\d+$/.test(p) && Number(p) >= 0 && Number(p) <= 255); }; + var isIPv6ZeroGroup = (group) => /^0{1,4}$/.test(group); + var isIPv6Unspecified = (host) => { + if (host === "::") return true; + const compressionIndex = host.indexOf("::"); + if (compressionIndex !== -1) { + if (compressionIndex !== host.lastIndexOf("::")) return false; + const left = host.slice(0, compressionIndex); + const right = host.slice(compressionIndex + 2); + const leftGroups = left ? left.split(":") : []; + const rightGroups = right ? right.split(":") : []; + const explicitGroups = leftGroups.length + rightGroups.length; + return explicitGroups < 8 && leftGroups.every(isIPv6ZeroGroup) && rightGroups.every(isIPv6ZeroGroup); + } + const groups = host.split(":"); + return groups.length === 8 && groups.every(isIPv6ZeroGroup); + }; var isIPv6Loopback = (host) => { if (host === "::1") return true; const v4MappedDotted = host.match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/i); @@ -55198,6 +55307,7 @@ var require_axios = __commonJS({ if (!host) return false; if (LOOPBACK_HOSTNAMES.has(host)) return true; if (isIPv4Loopback(host)) return true; + if (isIPv6Unspecified(host)) return true; return isIPv6Loopback(host); }; var DEFAULT_PORTS = { @@ -55390,6 +55500,8 @@ var require_axios = __commonJS({ }), throttled[1]]; }; var asyncDecorator = (fn) => (...args) => utils$1.asap(() => fn(...args)); + var isHexDigit = (charCode) => charCode >= 48 && charCode <= 57 || charCode >= 65 && charCode <= 70 || charCode >= 97 && charCode <= 102; + var isPercentEncodedByte = (str, i, len) => i + 2 < len && isHexDigit(str.charCodeAt(i + 1)) && isHexDigit(str.charCodeAt(i + 2)); function estimateDataURLDecodedBytes(url2) { if (!url2 || typeof url2 !== "string") return 0; if (!url2.startsWith("data:")) return 0; @@ -55405,7 +55517,7 @@ var require_axios = __commonJS({ if (body.charCodeAt(i) === 37 && i + 2 < len) { const a = body.charCodeAt(i + 1); const b = body.charCodeAt(i + 2); - const isHex = (a >= 48 && a <= 57 || a >= 65 && a <= 70 || a >= 97 && a <= 102) && (b >= 48 && b <= 57 || b >= 65 && b <= 70 || b >= 97 && b <= 102); + const isHex = isHexDigit(a) && isHexDigit(b); if (isHex) { effectiveLen -= 2; i += 2; @@ -55437,13 +55549,13 @@ var require_axios = __commonJS({ const bytes2 = groups * 3 - (pad || 0); return bytes2 > 0 ? bytes2 : 0; } - if (typeof Buffer !== "undefined" && typeof Buffer.byteLength === "function") { - return Buffer.byteLength(body, "utf8"); - } let bytes = 0; for (let i = 0, len = body.length; i < len; i++) { const c = body.charCodeAt(i); - if (c < 128) { + if (c === 37 && isPercentEncodedByte(body, i, len)) { + bytes += 1; + i += 2; + } else if (c < 128) { bytes += 1; } else if (c < 2048) { bytes += 2; @@ -55499,6 +55611,33 @@ var require_axios = __commonJS({ var kAxiosInstalledTunnel = Symbol("axios.http.installedTunnel"); var tunnelingAgentCache = /* @__PURE__ */ new Map(); var tunnelingAgentCacheUser = /* @__PURE__ */ new WeakMap(); + var NODE_NATIVE_ENV_PROXY_SUPPORT = { + 22: 21, + 24: 5 + }; + function isNodeNativeEnvProxySupported(nodeVersion = process.versions && process.versions.node) { + if (!nodeVersion) { + return false; + } + const [major, minor] = nodeVersion.split(".").map((part) => Number(part)); + if (!Number.isInteger(major) || !Number.isInteger(minor)) { + return false; + } + if (major > 24) { + return true; + } + return NODE_NATIVE_ENV_PROXY_SUPPORT[major] != null && minor >= NODE_NATIVE_ENV_PROXY_SUPPORT[major]; + } + function isNodeEnvProxyEnabled(agent, nodeVersion = process.versions && process.versions.node) { + if (!isNodeNativeEnvProxySupported(nodeVersion)) { + return false; + } + const agentOptions = agent && agent.options; + return Boolean(agentOptions && utils$1.hasOwnProp(agentOptions, "proxyEnv") && agentOptions.proxyEnv != null); + } + function getProxyEnvAgent(options, configHttpAgent, configHttpsAgent) { + return isHttps.test(options.protocol) ? configHttpsAgent || https.globalAgent : configHttpAgent || http.globalAgent; + } function getTunnelingAgent(agentOptions, userHttpsAgent) { const key = agentOptions.protocol + "//" + agentOptions.hostname + ":" + (agentOptions.port || "") + "#" + (agentOptions.auth || ""); const cache = userHttpsAgent ? tunnelingAgentCacheUser.get(userHttpsAgent) || tunnelingAgentCacheUser.set(userHttpsAgent, /* @__PURE__ */ new Map()).get(userHttpsAgent) : tunnelingAgentCache; @@ -55550,13 +55689,37 @@ var require_axios = __commonJS({ if (options.beforeRedirects.auth) { options.beforeRedirects.auth(options); } + if (options.beforeRedirects.sensitiveHeaders) { + options.beforeRedirects.sensitiveHeaders(options, requestDetails); + } if (options.beforeRedirects.config) { options.beforeRedirects.config(options, responseDetails, requestDetails); } } - function setProxy(options, configProxy, location2, isRedirect, configHttpsAgent) { + function stripMatchingHeaders(headers, sensitiveSet) { + if (!headers) { + return; + } + Object.keys(headers).forEach((header) => { + if (sensitiveSet.has(header.toLowerCase())) { + delete headers[header]; + } + }); + } + function isSameOriginRedirect(redirectOptions, requestDetails) { + if (!requestDetails) { + return false; + } + try { + return new URL(requestDetails.url).origin === new URL(redirectOptions.href).origin; + } catch (e) { + return false; + } + } + function setProxy(options, configProxy, location2, isRedirect, configHttpsAgent, configHttpAgent) { let proxy = configProxy; - if (!proxy && proxy !== false) { + const proxyEnvAgent = getProxyEnvAgent(options, configHttpAgent, configHttpsAgent); + if (!proxy && proxy !== false && !isNodeEnvProxyEnabled(proxyEnvAgent)) { const proxyUrl = getProxyForUrl(location2); if (proxyUrl) { if (!shouldBypassProxy(location2)) { @@ -55647,7 +55810,7 @@ var require_axios = __commonJS({ } } options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { - setProxy(redirectOptions, configProxy, redirectOptions.href, true, configHttpsAgent); + setProxy(redirectOptions, configProxy, redirectOptions.href, true, configHttpsAgent, configHttpAgent); }; } var isHttpAdapterSupported = typeof process !== "undefined" && utils$1.kindOf(process) === "process"; @@ -55724,7 +55887,7 @@ var require_axios = __commonJS({ }; var httpAdapter = isHttpAdapterSupported && function httpAdapter2(config) { return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - const own2 = (key) => utils$1.hasOwnProp(config, key) ? config[key] : void 0; + const own2 = (key) => utils$1.getSafeProp(config, key); const transitional = own2("transitional") || transitionalDefaults; let data = own2("data"); let lookup = own2("lookup"); @@ -55732,9 +55895,17 @@ var require_axios = __commonJS({ let httpVersion = own2("httpVersion"); if (httpVersion === void 0) httpVersion = 1; let http2Options = own2("http2Options"); + const httpAgent = own2("httpAgent"); + const httpsAgent = own2("httpsAgent"); + const configProxy = own2("proxy"); const responseType = own2("responseType"); const responseEncoding = own2("responseEncoding"); - const method = config.method.toUpperCase(); + const socketPath = own2("socketPath"); + const method = own2("method").toUpperCase(); + const maxRedirects = own2("maxRedirects"); + const maxBodyLength = own2("maxBodyLength"); + const maxContentLength = own2("maxContentLength"); + const decompress = own2("decompress"); let isDone; let rejected = false; let req; @@ -55773,9 +55944,11 @@ var require_axios = __commonJS({ } } function createTimeoutError() { - let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded"; - if (config.timeoutErrorMessage) { - timeoutErrorMessage = config.timeoutErrorMessage; + const configTimeout = own2("timeout"); + let timeoutErrorMessage = configTimeout ? "timeout of " + configTimeout + "ms exceeded" : "timeout exceeded"; + const configTimeoutErrorMessage = own2("timeoutErrorMessage"); + if (configTimeoutErrorMessage) { + timeoutErrorMessage = configTimeoutErrorMessage; } return new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, req); } @@ -55816,15 +55989,16 @@ var require_axios = __commonJS({ onFinished(); } }); - const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); - const parsed = new URL(fullPath, platform2.hasBrowserEnv ? platform2.origin : void 0); + const fullPath = buildFullPath(own2("baseURL"), own2("url"), own2("allowAbsoluteUrls"), config); + const urlBase = socketPath ? "http://localhost" : platform2.hasBrowserEnv ? platform2.origin : void 0; + const parsed = new URL(fullPath, urlBase); const protocol = parsed.protocol || supportedProtocols[0]; if (protocol === "data:") { - if (config.maxContentLength > -1) { - const dataUrl = String(config.url || fullPath || ""); + if (maxContentLength > -1) { + const dataUrl = String(own2("url") || fullPath || ""); const estimated = estimateDataURLDecodedBytes(dataUrl); - if (estimated > config.maxContentLength) { - return reject(new AxiosError("maxContentLength size of " + config.maxContentLength + " exceeded", AxiosError.ERR_BAD_RESPONSE, config)); + if (estimated > maxContentLength) { + return reject(new AxiosError("maxContentLength size of " + maxContentLength + " exceeded", AxiosError.ERR_BAD_RESPONSE, config)); } } let convertedData; @@ -55837,7 +56011,7 @@ var require_axios = __commonJS({ }); } try { - convertedData = fromDataURI(config.url, responseType === "blob", { + convertedData = fromDataURI(own2("url"), responseType === "blob", { Blob: config.env && config.env.Blob }); } catch (err) { @@ -55902,7 +56076,7 @@ var require_axios = __commonJS({ return reject(new AxiosError("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", AxiosError.ERR_BAD_REQUEST, config)); } headers.setContentLength(data.length, false); - if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { + if (maxBodyLength > -1 && data.length > maxBodyLength) { return reject(new AxiosError("Request body larger than maxBodyLength limit", AxiosError.ERR_BAD_REQUEST, config)); } } @@ -55927,8 +56101,8 @@ var require_axios = __commonJS({ let auth = void 0; const configAuth = own2("auth"); if (configAuth) { - const username = configAuth.username || ""; - const password = configAuth.password || ""; + const username = utils$1.getSafeProp(configAuth, "username") || ""; + const password = utils$1.getSafeProp(configAuth, "password") || ""; auth = username + ":" + password; } if (!auth && (parsed.username || parsed.password)) { @@ -55939,13 +56113,12 @@ var require_axios = __commonJS({ auth && headers.delete("authorization"); let path$1; try { - path$1 = buildURL(parsed.pathname + parsed.search, config.params, config.paramsSerializer).replace(/^\?/, ""); + path$1 = buildURL(parsed.pathname + parsed.search, own2("params"), own2("paramsSerializer")).replace(/^\?/, ""); } catch (err) { - const customErr = new Error(err.message); - customErr.config = config; - customErr.url = config.url; - customErr.exists = true; - return reject(customErr); + return reject(AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config, null, null, { + url: own2("url"), + exists: true + })); } headers.set("Accept-Encoding", utils$1.hasOwnProp(transitional, "advertiseZstdAcceptEncoding") && transitional.advertiseZstdAcceptEncoding === true ? ACCEPT_ENCODING_WITH_ZSTD : ACCEPT_ENCODING, false); const options = Object.assign(/* @__PURE__ */ Object.create(null), { @@ -55953,8 +56126,8 @@ var require_axios = __commonJS({ method, headers: toByteStringHeaderObject(headers), agents: { - http: config.httpAgent, - https: config.httpsAgent + http: httpAgent, + https: httpsAgent }, auth, protocol, @@ -55964,7 +56137,6 @@ var require_axios = __commonJS({ http2Options }); !utils$1.isUndefined(lookup) && (options.lookup = lookup); - const socketPath = own2("socketPath"); if (socketPath) { if (typeof socketPath !== "string") { return reject(new AxiosError("socketPath must be a string", AxiosError.ERR_BAD_OPTION_VALUE, config)); @@ -55982,13 +56154,14 @@ var require_axios = __commonJS({ } 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, false, config.httpsAgent); + setProxy(options, configProxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path, false, httpsAgent, httpAgent); } let transport; let isNativeTransport = false; + let transportEnforcesMaxBodyLength = false; const isHttpsRequest = isHttps.test(options.protocol); if (options.agent == null) { - options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; + options.agent = isHttpsRequest ? httpsAgent : httpAgent; } if (isHttp2) { transport = http2Transport; @@ -55996,12 +56169,14 @@ var require_axios = __commonJS({ const configTransport = own2("transport"); if (configTransport) { transport = configTransport; - } else if (config.maxRedirects === 0) { + } else if (maxRedirects === 0) { transport = isHttpsRequest ? https : http; isNativeTransport = true; } else { - if (config.maxRedirects) { - options.maxRedirects = config.maxRedirects; + transportEnforcesMaxBodyLength = true; + options.sensitiveHeaders = []; + if (maxRedirects) { + options.maxRedirects = maxRedirects; } const configBeforeRedirect = own2("beforeRedirect"); if (configBeforeRedirect) { @@ -56019,11 +56194,32 @@ var require_axios = __commonJS({ } }; } + const sensitiveHeaders = own2("sensitiveHeaders"); + if (sensitiveHeaders != null) { + if (!utils$1.isArray(sensitiveHeaders)) { + return reject(new AxiosError("sensitiveHeaders must be an array of strings", AxiosError.ERR_BAD_OPTION_VALUE, config)); + } + const sensitiveSet = /* @__PURE__ */ new Set(); + for (const header of sensitiveHeaders) { + if (!utils$1.isString(header)) { + return reject(new AxiosError("sensitiveHeaders must be an array of strings", AxiosError.ERR_BAD_OPTION_VALUE, config)); + } + sensitiveSet.add(header.toLowerCase()); + } + if (sensitiveSet.size) { + options.sensitiveHeaders = Array.from(sensitiveSet); + options.beforeRedirects.sensitiveHeaders = function beforeRedirectSensitiveHeaders(redirectOptions, requestDetails) { + if (!isSameOriginRedirect(redirectOptions, requestDetails)) { + stripMatchingHeaders(redirectOptions.headers, sensitiveSet); + } + }; + } + } transport = isHttpsRequest ? httpsFollow : httpFollow; } } - if (config.maxBodyLength > -1) { - options.maxBodyLength = config.maxBodyLength; + if (maxBodyLength > -1) { + options.maxBodyLength = maxBodyLength; } else { options.maxBodyLength = Infinity; } @@ -56042,7 +56238,7 @@ var require_axios = __commonJS({ } let responseStream = res; const lastRequest = res.req || req; - if (config.decompress !== false && res.headers["content-encoding"]) { + if (decompress !== false && res.headers["content-encoding"]) { if (method === "HEAD" || res.statusCode === 204) { delete res.headers["content-encoding"]; } @@ -56083,8 +56279,8 @@ var require_axios = __commonJS({ request: lastRequest }; if (responseType === "stream") { - if (config.maxContentLength > -1) { - const limit = config.maxContentLength; + if (maxContentLength > -1) { + const limit = maxContentLength; const source = responseStream; async function* enforceMaxContentLength() { let totalResponseBytes = 0; @@ -56108,10 +56304,10 @@ var require_axios = __commonJS({ responseStream.on("data", function handleStreamData(chunk) { responseBuffer.push(chunk); totalResponseBytes += chunk.length; - if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { + if (maxContentLength > -1 && totalResponseBytes > maxContentLength) { rejected = true; responseStream.destroy(); - abort(new AxiosError("maxContentLength size of " + config.maxContentLength + " exceeded", AxiosError.ERR_BAD_RESPONSE, config, lastRequest)); + abort(new AxiosError("maxContentLength size of " + maxContentLength + " exceeded", AxiosError.ERR_BAD_RESPONSE, config, lastRequest)); } }); responseStream.on("aborted", function handlerStreamAborted() { @@ -56161,7 +56357,9 @@ var require_axios = __commonJS({ }); const boundSockets = /* @__PURE__ */ new Set(); req.on("socket", function handleRequestSocket(socket) { - socket.setKeepAlive(true, 1e3 * 60); + if (typeof socket.setKeepAlive === "function") { + socket.setKeepAlive(true, 1e3 * 60); + } if (!socket[kAxiosSocketListener]) { socket.on("error", function handleSocketError(err) { const current = socket[kAxiosCurrentReq]; @@ -56183,8 +56381,8 @@ var require_axios = __commonJS({ } boundSockets.clear(); }); - if (config.timeout) { - const timeout = parseInt(config.timeout, 10); + if (own2("timeout")) { + const timeout = parseInt(own2("timeout"), 10); if (Number.isNaN(timeout)) { abort(new AxiosError("error trying to parse `config.timeout` to int", AxiosError.ERR_BAD_OPTION_VALUE, config, req)); return; @@ -56216,8 +56414,8 @@ var require_axios = __commonJS({ } }); let uploadStream = data; - if (config.maxBodyLength > -1 && config.maxRedirects === 0) { - const limit = config.maxBodyLength; + if (maxBodyLength > -1 && !transportEnforcesMaxBodyLength) { + const limit = maxBodyLength; let bytesSent = 0; uploadStream = stream.pipeline([data, new stream.Transform({ transform(chunk, _enc, cb) { @@ -56273,7 +56471,11 @@ var require_axios = __commonJS({ const cookie = cookies2[i].replace(/^\s+/, ""); const eq = cookie.indexOf("="); if (eq !== -1 && cookie.slice(0, eq) === name) { - return decodeURIComponent(cookie.slice(eq + 1)); + try { + return decodeURIComponent(cookie.slice(eq + 1)); + } catch (e) { + return cookie.slice(eq + 1); + } } } return null; @@ -56298,6 +56500,7 @@ var require_axios = __commonJS({ ...thing } : thing; function mergeConfig(config1, config2) { + config1 = config1 || {}; config2 = config2 || {}; const config = /* @__PURE__ */ Object.create(null); Object.defineProperty(config, "hasOwnProperty", { @@ -56340,6 +56543,23 @@ var require_axios = __commonJS({ return getMergedValue(void 0, a); } } + function getMergedTransitionalOption(prop) { + const transitional2 = utils$1.hasOwnProp(config2, "transitional") ? config2.transitional : void 0; + if (!utils$1.isUndefined(transitional2)) { + if (utils$1.isPlainObject(transitional2)) { + if (utils$1.hasOwnProp(transitional2, prop)) { + return transitional2[prop]; + } + } else { + return void 0; + } + } + const transitional1 = utils$1.hasOwnProp(config1, "transitional") ? config1.transitional : void 0; + if (utils$1.isPlainObject(transitional1) && utils$1.hasOwnProp(transitional1, prop)) { + return transitional1[prop]; + } + return void 0; + } function mergeDirectKeys(a, b, prop) { if (utils$1.hasOwnProp(config2, prop)) { return getMergedValue(a, b); @@ -56390,6 +56610,13 @@ var require_axios = __commonJS({ const configValue = merge2(a, b, prop); utils$1.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue); }); + if (utils$1.hasOwnProp(config2, "validateStatus") && utils$1.isUndefined(config2.validateStatus) && getMergedTransitionalOption("validateStatusUndefinedResolves") === false) { + if (utils$1.hasOwnProp(config1, "validateStatus")) { + config.validateStatus = getMergedValue(void 0, config1.validateStatus); + } else { + delete config.validateStatus; + } + } return config; } var FORM_DATA_CONTENT_HEADERS = ["content-type", "content-length"]; @@ -56398,7 +56625,7 @@ var require_axios = __commonJS({ headers.set(formHeaders); return; } - Object.entries(formHeaders).forEach(([key, val]) => { + Object.entries(formHeaders || {}).forEach(([key, val]) => { if (FORM_DATA_CONTENT_HEADERS.includes(key.toLowerCase())) { headers.set(key, val); } @@ -56418,9 +56645,15 @@ var require_axios = __commonJS({ const allowAbsoluteUrls = own2("allowAbsoluteUrls"); const url2 = own2("url"); newConfig.headers = headers = AxiosHeaders.from(headers); - newConfig.url = buildURL(buildFullPath(baseURL, url2, allowAbsoluteUrls), own2("params"), own2("paramsSerializer")); + newConfig.url = buildURL(buildFullPath(baseURL, url2, allowAbsoluteUrls, newConfig), own2("params"), own2("paramsSerializer")); if (auth) { - headers.set("Authorization", "Basic " + btoa((auth.username || "") + ":" + (auth.password ? encodeUTF8$1(auth.password) : ""))); + const username = utils$1.getSafeProp(auth, "username") || ""; + const password = utils$1.getSafeProp(auth, "password") || ""; + try { + headers.set("Authorization", "Basic " + btoa(username + ":" + (password ? encodeUTF8$1(password) : ""))); + } catch (e) { + throw AxiosError.from(e, AxiosError.ERR_BAD_OPTION_VALUE, config); + } } if (utils$1.isFormData(data)) { if (platform2.hasStandardBrowserEnv || platform2.hasStandardBrowserWebWorkerEnv || utils$1.isReactNative(data)) { @@ -56567,6 +56800,7 @@ var require_axios = __commonJS({ const protocol = parseProtocol(_config.url); if (protocol && !platform2.protocols.includes(protocol)) { reject(new AxiosError("Unsupported protocol " + protocol + ":", AxiosError.ERR_BAD_REQUEST, config)); + done(); return; } request.send(requestData || null); @@ -56602,7 +56836,9 @@ var require_axios = __commonJS({ }); signals = null; }; - signals.forEach((signal2) => signal2.addEventListener("abort", onabort)); + signals.forEach((signal2) => signal2.addEventListener("abort", onabort, { + once: true + })); const { signal } = controller; @@ -56832,12 +57068,14 @@ var require_axios = __commonJS({ composedSignal.unsubscribe(); }); let requestContentLength; + let pendingBodyError = null; + const maxBodyLengthError = () => new AxiosError("Request body larger than maxBodyLength limit", AxiosError.ERR_BAD_REQUEST, config, request); try { let auth = void 0; const configAuth = own2("auth"); if (configAuth) { - const username = configAuth.username || ""; - const password = configAuth.password || ""; + const username = utils$1.getSafeProp(configAuth, "username") || ""; + const password = utils$1.getSafeProp(configAuth, "password") || ""; auth = { username, password @@ -56870,25 +57108,42 @@ var require_axios = __commonJS({ } } if (hasMaxBodyLength && method !== "get" && method !== "head") { - const outboundLength = await resolveBodyLength(headers, data); - if (typeof outboundLength === "number" && isFinite(outboundLength) && outboundLength > maxBodyLength) { - throw new AxiosError("Request body larger than maxBodyLength limit", AxiosError.ERR_BAD_REQUEST, config, request); - } - } - if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) { - let _request = new Request(url2, { - method: "POST", - body: data, - duplex: "half" - }); - let contentTypeHeader; - if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get("content-type"))) { - headers.setContentType(contentTypeHeader); - } - if (_request.body) { - const [onProgress, flush] = progressEventDecorator(requestContentLength, progressEventReducer(asyncDecorator(onUploadProgress))); - data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush); + const outboundLength = await getBodyLength(data); + if (typeof outboundLength === "number" && isFinite(outboundLength)) { + requestContentLength = outboundLength; + if (outboundLength > maxBodyLength) { + throw maxBodyLengthError(); + } + } + } + const mustEnforceStreamBody = hasMaxBodyLength && (utils$1.isReadableStream(data) || utils$1.isStream(data)); + const trackRequestStream = (stream2, onProgress, flush) => trackStream(stream2, DEFAULT_CHUNK_SIZE, (loadedBytes) => { + if (hasMaxBodyLength && loadedBytes > maxBodyLength) { + throw pendingBodyError = maxBodyLengthError(); + } + onProgress && onProgress(loadedBytes); + }, flush); + if (supportsRequestStream && method !== "get" && method !== "head" && (onUploadProgress || mustEnforceStreamBody)) { + requestContentLength = requestContentLength == null ? await resolveBodyLength(headers, data) : requestContentLength; + if (requestContentLength !== 0 || mustEnforceStreamBody) { + let _request = new Request(url2, { + method: "POST", + body: data, + duplex: "half" + }); + let contentTypeHeader; + if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get("content-type"))) { + headers.setContentType(contentTypeHeader); + } + if (_request.body) { + const [onProgress, flush] = onUploadProgress && progressEventDecorator(requestContentLength, progressEventReducer(asyncDecorator(onUploadProgress))) || []; + data = trackRequestStream(_request.body, onProgress, flush); + } } + } else if (mustEnforceStreamBody && !isRequestSupported && isReadableStreamSupported && method !== "get" && method !== "head") { + data = trackRequestStream(data); + } else if (mustEnforceStreamBody && isRequestSupported && !supportsRequestStream && method !== "get" && method !== "head") { + throw new AxiosError("Stream request bodies are not supported by the current fetch implementation", AxiosError.ERR_NOT_SUPPORT, config, request); } if (!utils$1.isString(withCredentials)) { withCredentials = withCredentials ? "include" : "omit"; @@ -56912,8 +57167,9 @@ var require_axios = __commonJS({ }; request = isRequestSupported && new Request(url2, resolvedOptions); let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url2, resolvedOptions)); + const responseHeaders = AxiosHeaders.from(response.headers); if (hasMaxContentLength) { - const declaredLength = utils$1.toFiniteNumber(response.headers.get("content-length")); + const declaredLength = utils$1.toFiniteNumber(responseHeaders.getContentLength()); if (declaredLength != null && declaredLength > maxContentLength) { throw new AxiosError("maxContentLength size of " + maxContentLength + " exceeded", AxiosError.ERR_BAD_RESPONSE, config, request); } @@ -56924,7 +57180,7 @@ var require_axios = __commonJS({ ["status", "statusText", "headers"].forEach((prop) => { options[prop] = response[prop]; }); - const responseContentLength = utils$1.toFiniteNumber(response.headers.get("content-length")); + const responseContentLength = utils$1.toFiniteNumber(responseHeaders.getContentLength()); const [onProgress, flush] = onDownloadProgress && progressEventDecorator(responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true)) || []; let bytesRead = 0; const onChunkProgress = (loadedBytes) => { @@ -56975,13 +57231,35 @@ var require_axios = __commonJS({ const canceledError = composedSignal.reason; canceledError.config = config; request && (canceledError.request = request); - err !== canceledError && (canceledError.cause = err); + if (err !== canceledError) { + Object.defineProperty(canceledError, "cause", { + __proto__: null, + value: err, + writable: true, + enumerable: false, + configurable: true + }); + } throw canceledError; } + if (pendingBodyError) { + request && !pendingBodyError.request && (pendingBodyError.request = request); + throw pendingBodyError; + } + if (err instanceof AxiosError) { + request && !err.request && (err.request = request); + throw err; + } if (err && err.name === "TypeError" && /Load failed|fetch/i.test(err.message)) { - throw Object.assign(new AxiosError("Network Error", AxiosError.ERR_NETWORK, config, request, err && err.response), { - cause: err.cause || err + const networkError = new AxiosError("Network Error", AxiosError.ERR_NETWORK, config, request, err && err.response); + Object.defineProperty(networkError, "cause", { + __proto__: null, + value: err.cause || err, + writable: true, + enumerable: false, + configurable: true }); + throw networkError; } throw AxiosError.from(err, err && err.code, config, request, err && err.response); } @@ -57056,7 +57334,7 @@ var require_axios = __commonJS({ if (!adapter) { 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"; - throw new AxiosError(`There is no suitable adapter to dispatch the request ` + s, "ERR_NOT_SUPPORT"); + throw new AxiosError(`There is no suitable adapter to dispatch the request ` + s, AxiosError.ERR_NOT_SUPPORT); } return adapter; } @@ -57143,7 +57421,7 @@ var require_axios = __commonJS({ }; }; function assertOptions(options, schema, allowUnknown) { - if (typeof options !== "object") { + if (typeof options !== "object" || options === null) { throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE); } const keys = Object.keys(options); @@ -57235,7 +57513,8 @@ var require_axios = __commonJS({ forcedJSONParsing: validators.transitional(validators.boolean), clarifyTimeoutError: validators.transitional(validators.boolean), legacyInterceptorReqResOrdering: validators.transitional(validators.boolean), - advertiseZstdAcceptEncoding: validators.transitional(validators.boolean) + advertiseZstdAcceptEncoding: validators.transitional(validators.boolean), + validateStatusUndefinedResolves: validators.transitional(validators.boolean) }, false); } if (paramsSerializer != null) { @@ -57325,7 +57604,7 @@ var require_axios = __commonJS({ } getUri(config) { config = mergeConfig(this.defaults, config); - const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls, config); return buildURL(fullPath, config.params, config.paramsSerializer); } }; @@ -57334,7 +57613,7 @@ var require_axios = __commonJS({ return this.request(mergeConfig(config || {}, { method, url: url2, - data: (config || {}).data + data: config && utils$1.hasOwnProp(config, "data") ? config.data : void 0 })); }; }); @@ -59549,5 +59828,5 @@ urijs/src/URITemplate.js: *) axios/dist/node/axios.cjs: - (*! Axios v1.17.0 Copyright (c) 2026 Matt Zabriskie and contributors *) + (*! Axios v1.18.1 Copyright (c) 2026 Matt Zabriskie and contributors *) */ diff --git a/package-lock.json b/package-lock.json index d86063d3..694f6c53 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@types/tmp": "0.2.6", "@typescript-eslint/eslint-plugin": "8.59.2", "@typescript-eslint/parser": "8.59.2", - "esbuild": "0.25.1", + "esbuild": "0.28.1", "eslint": "9.39.4", "eslint-plugin-github": "6.0.0", "eslint-plugin-jest": "29.15.2", @@ -592,9 +592,9 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", - "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", "cpu": [ "ppc64" ], @@ -609,9 +609,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", - "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", "cpu": [ "arm" ], @@ -626,9 +626,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", - "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", "cpu": [ "arm64" ], @@ -643,9 +643,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", - "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", "cpu": [ "x64" ], @@ -660,9 +660,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", - "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", "cpu": [ "arm64" ], @@ -677,9 +677,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", - "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", "cpu": [ "x64" ], @@ -694,9 +694,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", - "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", "cpu": [ "arm64" ], @@ -711,9 +711,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", - "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", "cpu": [ "x64" ], @@ -728,9 +728,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", - "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", "cpu": [ "arm" ], @@ -745,9 +745,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", - "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", "cpu": [ "arm64" ], @@ -762,9 +762,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", - "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", "cpu": [ "ia32" ], @@ -779,9 +779,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", - "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", "cpu": [ "loong64" ], @@ -796,9 +796,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", - "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", "cpu": [ "mips64el" ], @@ -813,9 +813,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", - "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", "cpu": [ "ppc64" ], @@ -830,9 +830,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", - "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", "cpu": [ "riscv64" ], @@ -847,9 +847,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", - "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", "cpu": [ "s390x" ], @@ -864,9 +864,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", - "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", "cpu": [ "x64" ], @@ -881,9 +881,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", - "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", "cpu": [ "arm64" ], @@ -898,9 +898,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", - "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", "cpu": [ "x64" ], @@ -915,9 +915,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", - "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", "cpu": [ "arm64" ], @@ -932,9 +932,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", - "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", "cpu": [ "x64" ], @@ -948,10 +948,27 @@ "node": ">=18" } }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", - "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", "cpu": [ "x64" ], @@ -966,9 +983,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", - "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", "cpu": [ "arm64" ], @@ -983,9 +1000,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", - "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", "cpu": [ "ia32" ], @@ -1000,9 +1017,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", - "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", "cpu": [ "x64" ], @@ -3611,9 +3628,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", - "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -3624,31 +3641,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.1", - "@esbuild/android-arm": "0.25.1", - "@esbuild/android-arm64": "0.25.1", - "@esbuild/android-x64": "0.25.1", - "@esbuild/darwin-arm64": "0.25.1", - "@esbuild/darwin-x64": "0.25.1", - "@esbuild/freebsd-arm64": "0.25.1", - "@esbuild/freebsd-x64": "0.25.1", - "@esbuild/linux-arm": "0.25.1", - "@esbuild/linux-arm64": "0.25.1", - "@esbuild/linux-ia32": "0.25.1", - "@esbuild/linux-loong64": "0.25.1", - "@esbuild/linux-mips64el": "0.25.1", - "@esbuild/linux-ppc64": "0.25.1", - "@esbuild/linux-riscv64": "0.25.1", - "@esbuild/linux-s390x": "0.25.1", - "@esbuild/linux-x64": "0.25.1", - "@esbuild/netbsd-arm64": "0.25.1", - "@esbuild/netbsd-x64": "0.25.1", - "@esbuild/openbsd-arm64": "0.25.1", - "@esbuild/openbsd-x64": "0.25.1", - "@esbuild/sunos-x64": "0.25.1", - "@esbuild/win32-arm64": "0.25.1", - "@esbuild/win32-ia32": "0.25.1", - "@esbuild/win32-x64": "0.25.1" + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" } }, "node_modules/escalade": { diff --git a/package.json b/package.json index cd82819b..31da2d12 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@types/tmp": "0.2.6", "@typescript-eslint/eslint-plugin": "8.59.2", "@typescript-eslint/parser": "8.59.2", - "esbuild": "0.25.1", + "esbuild": "0.28.1", "eslint": "9.39.4", "eslint-plugin-github": "6.0.0", "eslint-plugin-jest": "29.15.2",