@@ -2516,7 +2516,7 @@ exports.getOctokitOptions = getOctokitOptions;
25162516const Context = __importStar(__nccwpck_require__(9833));
25172517const Utils = __importStar(__nccwpck_require__(8187));
25182518// octokit + plugins
2519- const core_1 = __nccwpck_require__(9593 );
2519+ const core_1 = __nccwpck_require__(8163 );
25202520const plugin_rest_endpoint_methods_1 = __nccwpck_require__(2287);
25212521const plugin_paginate_rest_1 = __nccwpck_require__(6602);
25222522exports.context = new Context.Context();
@@ -32140,7 +32140,7 @@ exports.range = range;
3214032140
3214132141/***/ }),
3214232142
32143- /***/ 7395 :
32143+ /***/ 7254 :
3214432144/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
3214532145
3214632146"use strict";
@@ -32290,7 +32290,9 @@ function expand_(str, max, isTop) {
3229032290 const x = numeric(n[0]);
3229132291 const y = numeric(n[1]);
3229232292 const width = Math.max(n[0].length, n[1].length);
32293- let incr = n.length === 3 && n[2] !== undefined ? Math.abs(numeric(n[2])) : 1;
32293+ let incr = n.length === 3 && n[2] !== undefined ?
32294+ Math.max(Math.abs(numeric(n[2])), 1)
32295+ : 1;
3229432296 let test = lte;
3229532297 const reverse = y < x;
3229632298 if (reverse) {
@@ -33599,7 +33601,7 @@ exports.escape = escape;
3359933601
3360033602Object.defineProperty(exports, "__esModule", ({ value: true }));
3360133603exports.unescape = exports.escape = exports.AST = exports.Minimatch = exports.match = exports.makeRe = exports.braceExpand = exports.defaults = exports.filter = exports.GLOBSTAR = exports.sep = exports.minimatch = void 0;
33602- const brace_expansion_1 = __nccwpck_require__(7395 );
33604+ const brace_expansion_1 = __nccwpck_require__(7254 );
3360333605const assert_valid_pattern_js_1 = __nccwpck_require__(1655);
3360433606const ast_js_1 = __nccwpck_require__(7777);
3360533607const escape_js_1 = __nccwpck_require__(5374);
@@ -34765,7 +34767,7 @@ exports.unescape = unescape;
3476534767
3476634768/***/ }),
3476734769
34768- /***/ 9593 :
34770+ /***/ 8163 :
3476934771/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
3477034772
3477134773"use strict";
@@ -35285,7 +35287,7 @@ var endpoint = withDefaults(null, DEFAULTS);
3528535287
3528635288// EXTERNAL MODULE: ../node_modules/.pnpm/fast-content-type-parse@3.0.0/node_modules/fast-content-type-parse/index.js
3528735289var fast_content_type_parse = __nccwpck_require__(7265);
35288- ;// CONCATENATED MODULE: ../node_modules/.pnpm/json-with-bigint@3.5.7 /node_modules/json-with-bigint/json-with-bigint.js
35290+ ;// CONCATENATED MODULE: ../node_modules/.pnpm/json-with-bigint@3.5.8 /node_modules/json-with-bigint/json-with-bigint.js
3528935291const intRegex = /^-?\d+$/;
3529035292const noiseValue = /^-?\d+n+$/; // Noise - strings that match the custom format before being converted to it
3529135293const originalStringify = JSON.stringify;
@@ -35296,14 +35298,26 @@ const bigIntsStringify = /([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
3529635298const noiseStringify =
3529735299 /([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;
3529835300
35299- /** @typedef {(key: string, value: any, context?: { source: string }) => any} Reviver */
35301+ /**
35302+ * @typedef {(this: any, key: string | number | undefined, value: any) => any} Replacer
35303+ * @typedef {(key: string | number | undefined, value: any, context?: { source: string }) => any} Reviver
35304+ */
3530035305
3530135306/**
35302- * Function to serialize value to a JSON string.
35303- * Converts BigInt values to a custom format (strings with digits and "n" at the end) and then converts them to proper big integers in a JSON string.
35304- * @param {*} value - The value to convert to a JSON string.
35305- * @param {(Function|Array<string>|null)} [replacer] - A function that alters the behavior of the stringification process, or an array of strings to indicate properties to exclude.
35306- * @param {(string|number)} [space] - A string or number to specify indentation or pretty-printing.
35307+ * Converts a JavaScript value to a JSON string.
35308+ *
35309+ * Supports serialization of BigInt values using two strategies:
35310+ * 1. Custom format "123n" → "123" (universal fallback)
35311+ * 2. Native JSON.rawJSON() (Node.js 22+, fastest) when available
35312+ *
35313+ * All other values are serialized exactly like native JSON.stringify().
35314+ *
35315+ * @param {*} value The value to convert to a JSON string.
35316+ * @param {Replacer | Array<string | number> | null} [replacer]
35317+ * A function that alters the behavior of the stringification process,
35318+ * or an array of strings/numbers to indicate properties to exclude.
35319+ * @param {string | number} [space]
35320+ * A string or number to specify indentation or pretty-printing.
3530735321 * @returns {string} The JSON string representation.
3530835322 */
3530935323const JSONStringify = (value, replacer, space) => {
@@ -35328,8 +35342,7 @@ const JSONStringify = (value, replacer, space) => {
3532835342 const convertedToCustomJSON = originalStringify(
3532935343 value,
3533035344 (key, value) => {
35331- const isNoise =
35332- typeof value === "string" && Boolean(value.match(noiseValue));
35345+ const isNoise = typeof value === "string" && noiseValue.test(value);
3533335346
3533435347 if (isNoise) return value.toString() + "n"; // Mark noise values with additional "n" to offset the deletion of one "n" during the processing
3533535348
@@ -35352,33 +35365,71 @@ const JSONStringify = (value, replacer, space) => {
3535235365 return denoisedJSON;
3535335366};
3535435367
35368+ const featureCache = new Map();
35369+
3535535370/**
35356- * Support for JSON.parse's context.source feature detection.
35357- * @type {boolean}
35371+ * Detects if the current JSON.parse implementation supports the context.source feature.
35372+ *
35373+ * Uses toString() fingerprinting to cache results and automatically detect runtime
35374+ * replacements of JSON.parse (polyfills, mocks, etc.).
35375+ *
35376+ * @returns {boolean} true if context.source is supported, false otherwise.
3535835377 */
35359- const isContextSourceSupported = () =>
35360- JSON.parse("1", (_, __, context) => !!context && context.source === "1");
35378+ const isContextSourceSupported = () => {
35379+ const parseFingerprint = JSON.parse.toString();
35380+
35381+ if (featureCache.has(parseFingerprint)) {
35382+ return featureCache.get(parseFingerprint);
35383+ }
35384+
35385+ try {
35386+ const result = JSON.parse(
35387+ "1",
35388+ (_, __, context) => !!context?.source && context.source === "1",
35389+ );
35390+ featureCache.set(parseFingerprint, result);
35391+
35392+ return result;
35393+ } catch {
35394+ featureCache.set(parseFingerprint, false);
35395+
35396+ return false;
35397+ }
35398+ };
3536135399
3536235400/**
35363- * Convert marked big numbers to BigInt
35364- * @type {Reviver}
35401+ * Reviver function that converts custom-format BigInt strings back to BigInt values.
35402+ * Also handles "noise" strings that accidentally match the BigInt format.
35403+ *
35404+ * @param {string | number | undefined} key The object key.
35405+ * @param {*} value The value being parsed.
35406+ * @param {object} [context] Parse context (if supported by JSON.parse).
35407+ * @param {Reviver} [userReviver] User's custom reviver function.
35408+ * @returns {any} The transformed value.
3536535409 */
3536635410const convertMarkedBigIntsReviver = (key, value, context, userReviver) => {
3536735411 const isCustomFormatBigInt =
35368- typeof value === "string" && value.match(customFormat );
35412+ typeof value === "string" && customFormat.test(value );
3536935413 if (isCustomFormatBigInt) return BigInt(value.slice(0, -1));
3537035414
35371- const isNoiseValue = typeof value === "string" && value.match(noiseValue );
35415+ const isNoiseValue = typeof value === "string" && noiseValue.test(value );
3537235416 if (isNoiseValue) return value.slice(0, -1);
3537335417
3537435418 if (typeof userReviver !== "function") return value;
35419+
3537535420 return userReviver(key, value, context);
3537635421};
3537735422
3537835423/**
35379- * Faster (2x) and simpler function to parse JSON.
35380- * Based on JSON.parse's context.source feature, which is not universally available now.
35381- * Does not support the legacy custom format, used in the first version of this library.
35424+ * Fast JSON.parse implementation (~2x faster than classic fallback).
35425+ * Uses JSON.parse's context.source feature to detect integers and convert
35426+ * large numbers directly to BigInt without string manipulation.
35427+ *
35428+ * Does not support legacy custom format from v1 of this library.
35429+ *
35430+ * @param {string} text JSON string to parse.
35431+ * @param {Reviver} [reviver] Transform function to apply to each value.
35432+ * @returns {any} Parsed JavaScript value.
3538235433 */
3538335434const JSONParseV2 = (text, reviver) => {
3538435435 return JSON.parse(text, (key, value, context) => {
@@ -35403,9 +35454,21 @@ const stringsOrLargeNumbers =
3540335454const noiseValueWithQuotes = /^"-?\d+n+"$/; // Noise - strings that match the custom format before being converted to it
3540435455
3540535456/**
35406- * Function to parse JSON.
35407- * If JSON has number values greater than Number.MAX_SAFE_INTEGER, we convert those values to a custom format, then parse them to BigInt values.
35408- * Other types of values are not affected and parsed as native JSON.parse() would parse them.
35457+ * Converts a JSON string into a JavaScript value.
35458+ *
35459+ * Supports parsing of large integers using two strategies:
35460+ * 1. Classic fallback: Marks large numbers with "123n" format, then converts to BigInt
35461+ * 2. Fast path (JSONParseV2): Uses context.source feature (~2x faster) when available
35462+ *
35463+ * All other JSON values are parsed exactly like native JSON.parse().
35464+ *
35465+ * @param {string} text A valid JSON string.
35466+ * @param {Reviver} [reviver]
35467+ * A function that transforms the results. This function is called for each member
35468+ * of the object. If a member contains nested objects, the nested objects are
35469+ * transformed before the parent object is.
35470+ * @returns {any} The parsed JavaScript value.
35471+ * @throws {SyntaxError} If text is not valid JSON.
3540935472 */
3541035473const JSONParse = (text, reviver) => {
3541135474 if (!text) return originalParse(text, reviver);
@@ -35417,7 +35480,7 @@ const JSONParse = (text, reviver) => {
3541735480 stringsOrLargeNumbers,
3541835481 (text, digits, fractional, exponential) => {
3541935482 const isString = text[0] === '"';
35420- const isNoise = isString && Boolean(text.match(noiseValueWithQuotes) );
35483+ const isNoise = isString && noiseValueWithQuotes.test(text );
3542135484
3542235485 if (isNoise) return text.substring(0, text.length - 1) + 'n"'; // Mark noise values with additional "n" to offset the deletion of one "n" during the processing
3542335486
0 commit comments