diff --git a/.github/actions/javascript/authorChecklist/index.js b/.github/actions/javascript/authorChecklist/index.js index d66b8a1a2022..cd1367ac9a87 100644 --- a/.github/actions/javascript/authorChecklist/index.js +++ b/.github/actions/javascript/authorChecklist/index.js @@ -6748,180 +6748,6 @@ exports.throttling = throttling; //# sourceMappingURL=index.js.map -/***/ }), - -/***/ 2068: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; -/* module decorator */ module = __nccwpck_require__.nmd(module); - -const colorConvert = __nccwpck_require__(6931); - -const wrapAnsi16 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); - return `\u001B[${code + offset}m`; -}; - -const wrapAnsi256 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); - return `\u001B[${38 + offset};5;${code}m`; -}; - -const wrapAnsi16m = (fn, offset) => function () { - const rgb = fn.apply(colorConvert, arguments); - return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; -}; - -function assembleStyles() { - const codes = new Map(); - const styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], - - // Bright color - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; - - // Fix humans - styles.color.grey = styles.color.gray; - - for (const groupName of Object.keys(styles)) { - const group = styles[groupName]; - - for (const styleName of Object.keys(group)) { - const style = group[styleName]; - - styles[styleName] = { - open: `\u001B[${style[0]}m`, - close: `\u001B[${style[1]}m` - }; - - group[styleName] = styles[styleName]; - - codes.set(style[0], style[1]); - } - - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); - } - - const ansi2ansi = n => n; - const rgb2rgb = (r, g, b) => [r, g, b]; - - styles.color.close = '\u001B[39m'; - styles.bgColor.close = '\u001B[49m'; - - styles.color.ansi = { - ansi: wrapAnsi16(ansi2ansi, 0) - }; - styles.color.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 0) - }; - styles.color.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 0) - }; - - styles.bgColor.ansi = { - ansi: wrapAnsi16(ansi2ansi, 10) - }; - styles.bgColor.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 10) - }; - styles.bgColor.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 10) - }; - - for (let key of Object.keys(colorConvert)) { - if (typeof colorConvert[key] !== 'object') { - continue; - } - - const suite = colorConvert[key]; - - if (key === 'ansi16') { - key = 'ansi'; - } - - if ('ansi16' in suite) { - styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); - styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); - } - - if ('ansi256' in suite) { - styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); - styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); - } - - if ('rgb' in suite) { - styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); - styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); - } - } - - return styles; -} - -// Make the export immutable -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); - - /***/ }), /***/ 3682: @@ -8629,1621 +8455,6 @@ function removeHook(state, name, method) { }))); -/***/ }), - -/***/ 8707: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - -const escapeStringRegexp = __nccwpck_require__(6920); -const ansiStyles = __nccwpck_require__(2068); -const stdoutColor = (__nccwpck_require__(9318).stdout); - -const template = __nccwpck_require__(2138); - -const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); - -// `supportsColor.level` → `ansiStyles.color[name]` mapping -const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; - -// `color-convert` models to exclude from the Chalk API due to conflicts and such -const skipModels = new Set(['gray']); - -const styles = Object.create(null); - -function applyOptions(obj, options) { - options = options || {}; - - // Detect level if not set manually - const scLevel = stdoutColor ? stdoutColor.level : 0; - obj.level = options.level === undefined ? scLevel : options.level; - obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; -} - -function Chalk(options) { - // We check for this.template here since calling `chalk.constructor()` - // by itself will have a `this` of a previously constructed chalk object - if (!this || !(this instanceof Chalk) || this.template) { - const chalk = {}; - applyOptions(chalk, options); - - chalk.template = function () { - const args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk.template].concat(args)); - }; - - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - - chalk.template.constructor = Chalk; - - return chalk.template; - } - - applyOptions(this, options); -} - -// Use bright blue on Windows as the normal blue color is illegible -if (isSimpleWindowsTerm) { - ansiStyles.blue.open = '\u001B[94m'; -} - -for (const key of Object.keys(ansiStyles)) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); - - styles[key] = { - get() { - const codes = ansiStyles[key]; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); - } - }; -} - -styles.visible = { - get() { - return build.call(this, this._styles || [], true, 'visible'); - } -}; - -ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); -for (const model of Object.keys(ansiStyles.color.ansi)) { - if (skipModels.has(model)) { - continue; - } - - styles[model] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.color.close, - closeRe: ansiStyles.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -} - -ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); -for (const model of Object.keys(ansiStyles.bgColor.ansi)) { - if (skipModels.has(model)) { - continue; - } - - const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.bgColor.close, - closeRe: ansiStyles.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -} - -const proto = Object.defineProperties(() => {}, styles); - -function build(_styles, _empty, key) { - const builder = function () { - return applyStyle.apply(builder, arguments); - }; - - builder._styles = _styles; - builder._empty = _empty; - - const self = this; - - Object.defineProperty(builder, 'level', { - enumerable: true, - get() { - return self.level; - }, - set(level) { - self.level = level; - } - }); - - Object.defineProperty(builder, 'enabled', { - enumerable: true, - get() { - return self.enabled; - }, - set(enabled) { - self.enabled = enabled; - } - }); - - // See below for fix regarding invisible grey/dim combination on Windows - builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; - - // `__proto__` is used because we must return a function, but there is - // no way to create a function with a different prototype - builder.__proto__ = proto; // eslint-disable-line no-proto - - return builder; -} - -function applyStyle() { - // Support varags, but simply cast to string in case there's only one arg - const args = arguments; - const argsLen = args.length; - let str = String(arguments[0]); - - if (argsLen === 0) { - return ''; - } - - if (argsLen > 1) { - // Don't slice `arguments`, it prevents V8 optimizations - for (let a = 1; a < argsLen; a++) { - str += ' ' + args[a]; - } - } - - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? '' : str; - } - - // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, - // see https://github.com/chalk/chalk/issues/58 - // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. - const originalDim = ansiStyles.dim.open; - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles.dim.open = ''; - } - - for (const code of this._styles.slice().reverse()) { - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - str = code.open + str.replace(code.closeRe, code.open) + code.close; - - // Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS - // https://github.com/chalk/chalk/pull/92 - str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); - } - - // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue - ansiStyles.dim.open = originalDim; - - return str; -} - -function chalkTag(chalk, strings) { - if (!Array.isArray(strings)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return [].slice.call(arguments, 1).join(' '); - } - - const args = [].slice.call(arguments, 2); - const parts = [strings.raw[0]]; - - for (let i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); - parts.push(String(strings.raw[i])); - } - - return template(chalk, parts.join('')); -} - -Object.defineProperties(Chalk.prototype, styles); - -module.exports = Chalk(); // eslint-disable-line new-cap -module.exports.supportsColor = stdoutColor; -module.exports["default"] = module.exports; // For TypeScript - - -/***/ }), - -/***/ 6920: -/***/ ((module) => { - -"use strict"; - - -var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; - -module.exports = function (str) { - if (typeof str !== 'string') { - throw new TypeError('Expected a string'); - } - - return str.replace(matchOperatorsRe, '\\$&'); -}; - - -/***/ }), - -/***/ 2138: -/***/ ((module) => { - -"use strict"; - -const TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; -const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; -const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; -const ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; - -const ESCAPES = new Map([ - ['n', '\n'], - ['r', '\r'], - ['t', '\t'], - ['b', '\b'], - ['f', '\f'], - ['v', '\v'], - ['0', '\0'], - ['\\', '\\'], - ['e', '\u001B'], - ['a', '\u0007'] -]); - -function unescape(c) { - if ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) { - return String.fromCharCode(parseInt(c.slice(1), 16)); - } - - return ESCAPES.get(c) || c; -} - -function parseArguments(name, args) { - const results = []; - const chunks = args.trim().split(/\s*,\s*/g); - let matches; - - for (const chunk of chunks) { - if (!isNaN(chunk)) { - results.push(Number(chunk)); - } else if ((matches = chunk.match(STRING_REGEX))) { - results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); - } else { - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); - } - } - - return results; -} - -function parseStyle(style) { - STYLE_REGEX.lastIndex = 0; - - const results = []; - let matches; - - while ((matches = STYLE_REGEX.exec(style)) !== null) { - const name = matches[1]; - - if (matches[2]) { - const args = parseArguments(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } - - return results; -} - -function buildStyle(chalk, styles) { - const enabled = {}; - - for (const layer of styles) { - for (const style of layer.styles) { - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } - - let current = chalk; - for (const styleName of Object.keys(enabled)) { - if (Array.isArray(enabled[styleName])) { - if (!(styleName in current)) { - throw new Error(`Unknown Chalk style: ${styleName}`); - } - - if (enabled[styleName].length > 0) { - current = current[styleName].apply(current, enabled[styleName]); - } else { - current = current[styleName]; - } - } - } - - return current; -} - -module.exports = (chalk, tmp) => { - const styles = []; - const chunks = []; - let chunk = []; - - // eslint-disable-next-line max-params - tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { - if (escapeChar) { - chunk.push(unescape(escapeChar)); - } else if (style) { - const str = chunk.join(''); - chunk = []; - chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); - styles.push({inverse, styles: parseStyle(style)}); - } else if (close) { - if (styles.length === 0) { - throw new Error('Found extraneous } in Chalk template literal'); - } - - chunks.push(buildStyle(chalk, styles)(chunk.join(''))); - chunk = []; - styles.pop(); - } else { - chunk.push(chr); - } - }); - - chunks.push(chunk.join('')); - - if (styles.length > 0) { - const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; - throw new Error(errMsg); - } - - return chunks.join(''); -}; - - -/***/ }), - -/***/ 7391: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -/* MIT license */ -var cssKeywords = __nccwpck_require__(8510); - -// NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) - -var reverseKeywords = {}; -for (var key in cssKeywords) { - if (cssKeywords.hasOwnProperty(key)) { - reverseKeywords[cssKeywords[key]] = key; - } -} - -var convert = module.exports = { - rgb: {channels: 3, labels: 'rgb'}, - hsl: {channels: 3, labels: 'hsl'}, - hsv: {channels: 3, labels: 'hsv'}, - hwb: {channels: 3, labels: 'hwb'}, - cmyk: {channels: 4, labels: 'cmyk'}, - xyz: {channels: 3, labels: 'xyz'}, - lab: {channels: 3, labels: 'lab'}, - lch: {channels: 3, labels: 'lch'}, - hex: {channels: 1, labels: ['hex']}, - keyword: {channels: 1, labels: ['keyword']}, - ansi16: {channels: 1, labels: ['ansi16']}, - ansi256: {channels: 1, labels: ['ansi256']}, - hcg: {channels: 3, labels: ['h', 'c', 'g']}, - apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, - gray: {channels: 1, labels: ['gray']} -}; - -// hide .channels and .labels properties -for (var model in convert) { - if (convert.hasOwnProperty(model)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } - - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } - - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } - - var channels = convert[model].channels; - var labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', {value: channels}); - Object.defineProperty(convert[model], 'labels', {value: labels}); - } -} - -convert.rgb.hsl = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - l = (min + max) / 2; - - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - - return [h, s * 100, l * 100]; -}; - -convert.rgb.hsv = function (rgb) { - var rdif; - var gdif; - var bdif; - var h; - var s; - - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var v = Math.max(r, g, b); - var diff = v - Math.min(r, g, b); - var diffc = function (c) { - return (v - c) / 6 / diff + 1 / 2; - }; - - if (diff === 0) { - h = s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = (1 / 3) + rdif - bdif; - } else if (b === v) { - h = (2 / 3) + gdif - rdif; - } - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - - return [ - h * 360, - s * 100, - v * 100 - ]; -}; - -convert.rgb.hwb = function (rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); - - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - - return [h, w * 100, b * 100]; -}; - -convert.rgb.cmyk = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; - - return [c * 100, m * 100, y * 100, k * 100]; -}; - -/** - * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - * */ -function comparativeDistance(x, y) { - return ( - Math.pow(x[0] - y[0], 2) + - Math.pow(x[1] - y[1], 2) + - Math.pow(x[2] - y[2], 2) - ); -} - -convert.rgb.keyword = function (rgb) { - var reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } - - var currentClosestDistance = Infinity; - var currentClosestKeyword; - - for (var keyword in cssKeywords) { - if (cssKeywords.hasOwnProperty(keyword)) { - var value = cssKeywords[keyword]; - - // Compute comparative distance - var distance = comparativeDistance(rgb, value); - - // Check if its less, if so set as closest - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - } - - return currentClosestKeyword; -}; - -convert.keyword.rgb = function (keyword) { - return cssKeywords[keyword]; -}; - -convert.rgb.xyz = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - - // assume sRGB - r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); - g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); - b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); - - var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); - var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); - var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); - - return [x * 100, y * 100, z * 100]; -}; - -convert.rgb.lab = function (rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); - - l = (116 * y) - 16; - a = 500 * (x - y); - b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.hsl.rgb = function (hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; - - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - - t1 = 2 * l - t2; - - rgb = [0, 0, 0]; - for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - if (t3 > 1) { - t3--; - } - - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - - rgb[i] = val * 255; - } - - return rgb; -}; - -convert.hsl.hsv = function (hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; - - l *= 2; - s *= (l <= 1) ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); - - return [h, sv * 100, v * 100]; -}; - -convert.hsv.rgb = function (hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - (s * f)); - var t = 255 * v * (1 - (s * (1 - f))); - v *= 255; - - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } -}; - -convert.hsv.hsl = function (hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; - - l = (2 - s) * v; - lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= (lmin <= 1) ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - - return [h, sl * 100, l * 100]; -}; - -// http://dev.w3.org/csswg/css-color/#hwb-to-rgb -convert.hwb.rgb = function (hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; - - // wh + bl cant be > 1 - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - - i = Math.floor(6 * h); - v = 1 - bl; - f = 6 * h - i; - - if ((i & 0x01) !== 0) { - f = 1 - f; - } - - n = wh + f * (v - wh); // linear interpolation - - var r; - var g; - var b; - switch (i) { - default: - case 6: - case 0: r = v; g = n; b = wh; break; - case 1: r = n; g = v; b = wh; break; - case 2: r = wh; g = v; b = n; break; - case 3: r = wh; g = n; b = v; break; - case 4: r = n; g = wh; b = v; break; - case 5: r = v; g = wh; b = n; break; - } - - return [r * 255, g * 255, b * 255]; -}; - -convert.cmyk.rgb = function (cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.rgb = function (xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; - - r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); - g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); - b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); - - // assume sRGB - r = r > 0.0031308 - ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) - : r * 12.92; - - g = g > 0.0031308 - ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) - : g * 12.92; - - b = b > 0.0031308 - ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055) - : b * 12.92; - - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.lab = function (xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); - - l = (116 * y) - 16; - a = 500 * (x - y); - b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.lab.xyz = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; - - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - - x *= 95.047; - y *= 100; - z *= 108.883; - - return [x, y, z]; -}; - -convert.lab.lch = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - - hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - - if (h < 0) { - h += 360; - } - - c = Math.sqrt(a * a + b * b); - - return [l, c, h]; -}; - -convert.lch.lab = function (lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; - - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); - - return [l, a, b]; -}; - -convert.rgb.ansi16 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization - - value = Math.round(value / 50); - - if (value === 0) { - return 30; - } - - var ansi = 30 - + ((Math.round(b / 255) << 2) - | (Math.round(g / 255) << 1) - | Math.round(r / 255)); - - if (value === 2) { - ansi += 60; - } - - return ansi; -}; - -convert.hsv.ansi16 = function (args) { - // optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); -}; - -convert.rgb.ansi256 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - - // we use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - if (r === g && g === b) { - if (r < 8) { - return 16; - } - - if (r > 248) { - return 231; - } - - return Math.round(((r - 8) / 247) * 24) + 232; - } - - var ansi = 16 - + (36 * Math.round(r / 255 * 5)) - + (6 * Math.round(g / 255 * 5)) - + Math.round(b / 255 * 5); - - return ansi; -}; - -convert.ansi16.rgb = function (args) { - var color = args % 10; - - // handle greyscale - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - - color = color / 10.5 * 255; - - return [color, color, color]; - } - - var mult = (~~(args > 50) + 1) * 0.5; - var r = ((color & 1) * mult) * 255; - var g = (((color >> 1) & 1) * mult) * 255; - var b = (((color >> 2) & 1) * mult) * 255; - - return [r, g, b]; -}; - -convert.ansi256.rgb = function (args) { - // handle greyscale - if (args >= 232) { - var c = (args - 232) * 10 + 8; - return [c, c, c]; - } - - args -= 16; - - var rem; - var r = Math.floor(args / 36) / 5 * 255; - var g = Math.floor((rem = args % 36) / 6) / 5 * 255; - var b = (rem % 6) / 5 * 255; - - return [r, g, b]; -}; - -convert.rgb.hex = function (args) { - var integer = ((Math.round(args[0]) & 0xFF) << 16) - + ((Math.round(args[1]) & 0xFF) << 8) - + (Math.round(args[2]) & 0xFF); - - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.hex.rgb = function (args) { - var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } - - var colorString = match[0]; - - if (match[0].length === 3) { - colorString = colorString.split('').map(function (char) { - return char + char; - }).join(''); - } - - var integer = parseInt(colorString, 16); - var r = (integer >> 16) & 0xFF; - var g = (integer >> 8) & 0xFF; - var b = integer & 0xFF; - - return [r, g, b]; -}; - -convert.rgb.hcg = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = (max - min); - var grayscale; - var hue; - - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - - if (chroma <= 0) { - hue = 0; - } else - if (max === r) { - hue = ((g - b) / chroma) % 6; - } else - if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma + 4; - } - - hue /= 6; - hue %= 1; - - return [hue * 360, chroma * 100, grayscale * 100]; -}; - -convert.hsl.hcg = function (hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; - - if (l < 0.5) { - c = 2.0 * s * l; - } else { - c = 2.0 * s * (1.0 - l); - } - - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } - - return [hsl[0], c * 100, f * 100]; -}; - -convert.hsv.hcg = function (hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; - - var c = s * v; - var f = 0; - - if (c < 1.0) { - f = (v - c) / (1 - c); - } - - return [hsv[0], c * 100, f * 100]; -}; - -convert.hcg.rgb = function (hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } - - var pure = [0, 0, 0]; - var hi = (h % 1) * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; - - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; pure[1] = v; pure[2] = 0; break; - case 1: - pure[0] = w; pure[1] = 1; pure[2] = 0; break; - case 2: - pure[0] = 0; pure[1] = 1; pure[2] = v; break; - case 3: - pure[0] = 0; pure[1] = w; pure[2] = 1; break; - case 4: - pure[0] = v; pure[1] = 0; pure[2] = 1; break; - default: - pure[0] = 1; pure[1] = 0; pure[2] = w; - } - - mg = (1.0 - c) * g; - - return [ - (c * pure[0] + mg) * 255, - (c * pure[1] + mg) * 255, - (c * pure[2] + mg) * 255 - ]; -}; - -convert.hcg.hsv = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - var v = c + g * (1.0 - c); - var f = 0; - - if (v > 0.0) { - f = c / v; - } - - return [hcg[0], f * 100, v * 100]; -}; - -convert.hcg.hsl = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - var l = g * (1.0 - c) + 0.5 * c; - var s = 0; - - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else - if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - - return [hcg[0], s * 100, l * 100]; -}; - -convert.hcg.hwb = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; - -convert.hwb.hcg = function (hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; - - if (c < 1) { - g = (v - c) / (1 - c); - } - - return [hwb[0], c * 100, g * 100]; -}; - -convert.apple.rgb = function (apple) { - return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; -}; - -convert.rgb.apple = function (rgb) { - return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; -}; - -convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; - -convert.gray.hsl = convert.gray.hsv = function (args) { - return [0, 0, args[0]]; -}; - -convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; - -convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; - -convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; - -convert.gray.hex = function (gray) { - var val = Math.round(gray[0] / 100 * 255) & 0xFF; - var integer = (val << 16) + (val << 8) + val; - - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.rgb.gray = function (rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; - - -/***/ }), - -/***/ 6931: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var conversions = __nccwpck_require__(7391); -var route = __nccwpck_require__(880); - -var convert = {}; - -var models = Object.keys(conversions); - -function wrapRaw(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; - } - - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - - return fn(args); - }; - - // preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -function wrapRounded(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; - } - - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - - var result = fn(args); - - // we're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - if (typeof result === 'object') { - for (var len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - - return result; - }; - - // preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -models.forEach(function (fromModel) { - convert[fromModel] = {}; - - Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); - Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); - - var routes = route(fromModel); - var routeModels = Object.keys(routes); - - routeModels.forEach(function (toModel) { - var fn = routes[toModel]; - - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); -}); - -module.exports = convert; - - -/***/ }), - -/***/ 880: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var conversions = __nccwpck_require__(7391); - -/* - this function routes a model to all other models. - - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). - - conversions that are not possible simply are not included. -*/ - -function buildGraph() { - var graph = {}; - // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - var models = Object.keys(conversions); - - for (var len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } - - return graph; -} - -// https://en.wikipedia.org/wiki/Breadth-first_search -function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; // unshift -> queue -> pop - - graph[fromModel].distance = 0; - - while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions[current]); - - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; - - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - - return graph; -} - -function link(from, to) { - return function (args) { - return to(from(args)); - }; -} - -function wrapConversion(toModel, graph) { - var path = [graph[toModel].parent, toModel]; - var fn = conversions[graph[toModel].parent][toModel]; - - var cur = graph[toModel].parent; - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - - fn.conversion = path; - return fn; -} - -module.exports = function (fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; - - var models = Object.keys(graph); - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; - - if (node.parent === null) { - // no possible conversion, or this node is the source model. - continue; - } - - conversion[toModel] = wrapConversion(toModel, graph); - } - - return conversion; -}; - - - -/***/ }), - -/***/ 8510: -/***/ ((module) => { - -"use strict"; - - -module.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; - - /***/ }), /***/ 8222: @@ -17958,34 +16169,95 @@ module.exports = require("zlib"); "use strict"; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.codeFrameColumns = codeFrameColumns; -exports["default"] = _default; -var _highlight = __nccwpck_require__(7654); -var _picocolors = _interopRequireWildcard(__nccwpck_require__(7023), true); -function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } -function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } -const colors = typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? (0, _picocolors.createColors)(false) : _picocolors.default; -const compose = (f, g) => v => f(g(v)); -let pcWithForcedColor = undefined; -function getColors(forceColor) { - if (forceColor) { - var _pcWithForcedColor; - (_pcWithForcedColor = pcWithForcedColor) != null ? _pcWithForcedColor : pcWithForcedColor = (0, _picocolors.createColors)(true); - return pcWithForcedColor; - } - return colors; +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var picocolors = __nccwpck_require__(7023); +var jsTokens = __nccwpck_require__(1531); +var helperValidatorIdentifier = __nccwpck_require__(2738); + +function isColorSupported() { + return (typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported + ); } -let deprecationWarningShown = false; -function getDefs(colors) { +const compose = (f, g) => v => f(g(v)); +function buildDefs(colors) { return { + keyword: colors.cyan, + capitalized: colors.yellow, + jsxIdentifier: colors.yellow, + punctuator: colors.yellow, + number: colors.magenta, + string: colors.green, + regex: colors.magenta, + comment: colors.gray, + invalid: compose(compose(colors.white, colors.bgRed), colors.bold), gutter: colors.gray, marker: compose(colors.red, colors.bold), - message: compose(colors.red, colors.bold) + message: compose(colors.red, colors.bold), + reset: colors.reset + }; +} +const defsOn = buildDefs(picocolors.createColors(true)); +const defsOff = buildDefs(picocolors.createColors(false)); +function getDefs(enabled) { + return enabled ? defsOn : defsOff; +} + +const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]); +const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/; +const BRACKET = /^[()[\]{}]$/; +let tokenize; +{ + const JSX_TAG = /^[a-z][\w-]*$/i; + const getTokenType = function (token, offset, text) { + if (token.type === "name") { + if (helperValidatorIdentifier.isKeyword(token.value) || helperValidatorIdentifier.isStrictReservedWord(token.value, true) || sometimesKeywords.has(token.value)) { + return "keyword"; + } + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === " defs[type](str)).join("\n"); + } else { + highlighted += value; + } + } + return highlighted; +} + +let deprecationWarningShown = false; const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; function getMarkerLines(loc, source, opts) { const startLoc = Object.assign({ @@ -18044,12 +16316,8 @@ function getMarkerLines(loc, source, opts) { }; } function codeFrameColumns(rawLines, loc, opts = {}) { - const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts); - const colors = getColors(opts.forceColor); - const defs = getDefs(colors); - const maybeHighlight = (fmt, string) => { - return highlighted ? fmt(string) : string; - }; + const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode; + const defs = getDefs(shouldHighlight); const lines = rawLines.split(NEWLINE); const { start, @@ -18058,7 +16326,7 @@ function codeFrameColumns(rawLines, loc, opts = {}) { } = getMarkerLines(loc, lines, opts); const hasColumns = loc.start && typeof loc.start.column === "number"; const numberMaxWidth = String(end).length; - const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines; + const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines; let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => { const number = start + 1 + index; const paddedNumber = ` ${number}`.slice(-numberMaxWidth); @@ -18070,26 +16338,26 @@ function codeFrameColumns(rawLines, loc, opts = {}) { if (Array.isArray(hasMarker)) { const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); const numberOfMarkers = hasMarker[1] || 1; - markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); + markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join(""); if (lastMarkerLine && opts.message) { - markerLine += " " + maybeHighlight(defs.message, opts.message); + markerLine += " " + defs.message(opts.message); } } - return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); + return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); } else { - return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`; + return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`; } }).join("\n"); if (opts.message && !hasColumns) { frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`; } - if (highlighted) { - return colors.reset(frame); + if (shouldHighlight) { + return defs.reset(frame); } else { return frame; } } -function _default(rawLines, lineNumber, colNumber, opts = {}) { +function index (rawLines, lineNumber, colNumber, opts = {}) { if (!deprecationWarningShown) { deprecationWarningShown = true; const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; @@ -18111,6 +16379,9 @@ function _default(rawLines, lineNumber, colNumber, opts = {}) { return codeFrameColumns(rawLines, location, opts); } +exports.codeFrameColumns = codeFrameColumns; +exports["default"] = index; +exports.highlight = highlight; //# sourceMappingURL=index.js.map @@ -18471,9 +16742,7 @@ function Program(node) { if (directivesLen) { var _node$directives$trai; const newline = node.body.length ? 2 : 1; - this.printSequence(node.directives, { - trailingCommentsLineOffset: newline - }); + this.printSequence(node.directives, undefined, newline); if (!((_node$directives$trai = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai.length)) { this.newline(newline); } @@ -18488,17 +16757,12 @@ function BlockStatement(node) { if (directivesLen) { var _node$directives$trai2; const newline = node.body.length ? 2 : 1; - this.printSequence(node.directives, { - indent: true, - trailingCommentsLineOffset: newline - }); + this.printSequence(node.directives, true, newline); if (!((_node$directives$trai2 = node.directives[directivesLen - 1].trailingComments) != null && _node$directives$trai2.length)) { this.newline(newline); } } - this.printSequence(node.body, { - indent: true - }); + this.printSequence(node.body, true); exit(); this.rightBrace(node); } @@ -18607,20 +16871,50 @@ function ClassBody(node) { this.tokenChar(125); } else { this.newline(); + const separator = classBodyEmptySemicolonsPrinter(this, node); + separator == null || separator(-1); const exit = this.enterDelimited(); - this.printSequence(node.body, { - indent: true - }); + this.printJoin(node.body, true, true, separator, true); exit(); if (!this.endsWith(10)) this.newline(); this.rightBrace(node); } } +function classBodyEmptySemicolonsPrinter(printer, node) { + if (!printer.tokenMap || node.start == null || node.end == null) { + return null; + } + const indexes = printer.tokenMap.getIndexes(node); + if (!indexes) return null; + let k = 1; + let occurrenceCount = 0; + let nextLocIndex = 0; + const advanceNextLocIndex = () => { + while (nextLocIndex < node.body.length && node.body[nextLocIndex].start == null) { + nextLocIndex++; + } + }; + advanceNextLocIndex(); + return i => { + if (nextLocIndex <= i) { + nextLocIndex = i + 1; + advanceNextLocIndex(); + } + const end = nextLocIndex === node.body.length ? node.end : node.body[nextLocIndex].start; + let tok; + while (k < indexes.length && printer.tokenMap.matchesOriginal(tok = printer._tokens[indexes[k]], ";") && tok.start < end) { + printer.token(";", undefined, occurrenceCount++); + k++; + } + }; +} function ClassProperty(node) { - var _node$key$loc; this.printJoin(node.decorators); - const endLine = (_node$key$loc = node.key.loc) == null || (_node$key$loc = _node$key$loc.end) == null ? void 0 : _node$key$loc.line; - if (endLine) this.catchUp(endLine); + if (!node.static && !this.format.preserveFormat) { + var _node$key$loc; + const endLine = (_node$key$loc = node.key.loc) == null || (_node$key$loc = _node$key$loc.end) == null ? void 0 : _node$key$loc.line; + if (endLine) this.catchUp(endLine); + } this.tsPrintClassMemberModifiers(node); if (node.computed) { this.tokenChar(91); @@ -18678,11 +16972,14 @@ function ClassAccessorProperty(node) { } function ClassPrivateProperty(node) { this.printJoin(node.decorators); - if (node.static) { - this.word("static"); - this.space(); - } + this.tsPrintClassMemberModifiers(node); this.print(node.key); + if (node.optional) { + this.tokenChar(63); + } + if (node.definite) { + this.tokenChar(33); + } this.print(node.typeAnnotation); if (node.value) { this.space(); @@ -18703,10 +17000,12 @@ function ClassPrivateMethod(node) { this.print(node.body); } function _classMethodHead(node) { - var _node$key$loc3; this.printJoin(node.decorators); - const endLine = (_node$key$loc3 = node.key.loc) == null || (_node$key$loc3 = _node$key$loc3.end) == null ? void 0 : _node$key$loc3.line; - if (endLine) this.catchUp(endLine); + if (!this.format.preserveFormat) { + var _node$key$loc3; + const endLine = (_node$key$loc3 = node.key.loc) == null || (_node$key$loc3 = _node$key$loc3.end) == null ? void 0 : _node$key$loc3.line; + if (endLine) this.catchUp(endLine); + } this.tsPrintClassMemberModifiers(node); this._methodHead(node); } @@ -18718,9 +17017,7 @@ function StaticBlock(node) { this.tokenChar(125); } else { this.newline(); - this.printSequence(node.body, { - indent: true - }); + this.printSequence(node.body, true); this.rightBrace(node); } } @@ -18728,6 +17025,42 @@ function StaticBlock(node) { //# sourceMappingURL=classes.js.map +/***/ }), + +/***/ 342: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.addDeprecatedGenerators = addDeprecatedGenerators; +function addDeprecatedGenerators(PrinterClass) { + { + const deprecatedBabel7Generators = { + Noop() {}, + TSExpressionWithTypeArguments(node) { + this.print(node.expression); + this.print(node.typeParameters); + }, + DecimalLiteral(node) { + const raw = this.getPossibleRaw(node); + if (!this.format.minified && raw !== undefined) { + this.word(raw); + return; + } + this.word(node.value + "m"); + } + }; + Object.assign(PrinterClass.prototype, deprecatedBabel7Generators); + } +} + +//# sourceMappingURL=deprecated.js.map + + /***/ }), /***/ 2961: @@ -18833,13 +17166,18 @@ function NewExpression(node, parent) { return; } this.print(node.typeArguments); - this.print(node.typeParameters); + { + this.print(node.typeParameters); + } if (node.optional) { this.token("?."); } + if (node.arguments.length === 0 && this.tokenMap && !this.tokenMap.endMatches(node, ")")) { + return; + } this.tokenChar(40); const exit = this.enterDelimited(); - this.printList(node.arguments); + this.printList(node.arguments, this.shouldPrintTrailingComma(")")); exit(); this.rightParens(node); } @@ -18894,7 +17232,9 @@ function OptionalMemberExpression(node) { } function OptionalCallExpression(node) { this.print(node.callee); - this.print(node.typeParameters); + { + this.print(node.typeParameters); + } if (node.optional) { this.token("?."); } @@ -18908,10 +17248,12 @@ function OptionalCallExpression(node) { function CallExpression(node) { this.print(node.callee); this.print(node.typeArguments); - this.print(node.typeParameters); + { + this.print(node.typeParameters); + } this.tokenChar(40); const exit = this.enterDelimited(); - this.printList(node.arguments); + this.printList(node.arguments, this.shouldPrintTrailingComma(")")); exit(); this.rightParens(node); } @@ -19435,9 +17777,9 @@ function InterfaceDeclaration(node) { this.space(); this._interfaceish(node); } -function andSeparator() { +function andSeparator(occurrenceCount) { this.space(); - this.tokenChar(38); + this.token("&", false, occurrenceCount); this.space(); } function InterfaceTypeAnnotation(node) { @@ -19453,9 +17795,7 @@ function InterfaceTypeAnnotation(node) { this.print(node.body); } function IntersectionTypeAnnotation(node) { - this.printJoin(node.types, { - separator: andSeparator - }); + this.printJoin(node.types, undefined, undefined, andSeparator); } function MixedTypeAnnotation() { this.word("mixed"); @@ -19509,7 +17849,7 @@ function TypeAnnotation(node, parent) { } function TypeParameterInstantiation(node) { this.tokenChar(60); - this.printList(node.params, {}); + this.printList(node.params); this.tokenChar(62); } function TypeParameter(node) { @@ -19555,17 +17895,12 @@ function ObjectTypeAnnotation(node) { if (props.length) { this.newline(); this.space(); - this.printJoin(props, { - addNewlines(leading) { - if (leading && !props[0]) return 1; - }, - indent: true, - statement: true, - iterator: () => { - if (props.length !== 1 || node.inexact) { - this.tokenChar(44); - this.space(); - } + this.printJoin(props, true, true, undefined, undefined, function addNewlines(leading) { + if (leading && !props[0]) return 1; + }, () => { + if (props.length !== 1 || node.inexact) { + this.tokenChar(44); + this.space(); } }); this.space(); @@ -19660,15 +17995,13 @@ function QualifiedTypeIdentifier(node) { function SymbolTypeAnnotation() { this.word("symbol"); } -function orSeparator() { +function orSeparator(occurrenceCount) { this.space(); - this.tokenChar(124); + this.token("|", false, occurrenceCount); this.space(); } function UnionTypeAnnotation(node) { - this.printJoin(node.types, { - separator: orSeparator - }); + this.printJoin(node.types, undefined, undefined, orSeparator); } function TypeCastExpression(node) { this.tokenChar(40); @@ -19929,22 +18262,25 @@ function spaceSeparator() { function JSXOpeningElement(node) { this.tokenChar(60); this.print(node.name); - this.print(node.typeParameters); + { + if (node.typeArguments) { + this.print(node.typeArguments); + } + this.print(node.typeParameters); + } if (node.attributes.length > 0) { this.space(); - this.printJoin(node.attributes, { - separator: spaceSeparator - }); + this.printJoin(node.attributes, undefined, undefined, spaceSeparator); } if (node.selfClosing) { this.space(); - this.token("/>"); - } else { - this.tokenChar(62); + this.tokenChar(47); } + this.tokenChar(62); } function JSXClosingElement(node) { - this.token(""); + if ((arrowToken == null ? void 0 : arrowToken.loc) == null) return true; + return arrowToken.loc.start.line !== node.loc.start.line; + } + if (this.format.retainLines) return true; + return false; } function _getFuncIdName(idNode, parent) { let id = idNode; @@ -20231,7 +18588,7 @@ function ExportNamespaceSpecifier(node) { this.print(node.exported); } let warningShown = false; -function _printAttributes(node) { +function _printAttributes(node, hasPreviousBrace) { const { importAttributesKeyword } = this.format; @@ -20256,11 +18613,12 @@ Please specify the "importAttributesKeyword" generator option, whose value can b this.printList(attributes || assertions); return; } - this.tokenChar(123); + const occurrenceCount = hasPreviousBrace ? 1 : 0; + this.token("{", null, occurrenceCount); this.space(); - this.printList(attributes || assertions); + this.printList(attributes || assertions, this.shouldPrintTrailingComma("}")); this.space(); - this.tokenChar(125); + this.token("}", null, occurrenceCount); } function ExportAllDeclaration(node) { var _node$attributes, _node$assertions; @@ -20277,7 +18635,7 @@ function ExportAllDeclaration(node) { if ((_node$attributes = node.attributes) != null && _node$attributes.length || (_node$assertions = node.assertions) != null && _node$assertions.length) { this.print(node.source, true); this.space(); - this._printAttributes(node); + this._printAttributes(node, false); } else { this.print(node.source); } @@ -20316,11 +18674,13 @@ function ExportNamedDeclaration(node) { break; } } + let hasBrace = false; if (specifiers.length || !specifiers.length && !hasSpecial) { + hasBrace = true; this.tokenChar(123); if (specifiers.length) { this.space(); - this.printList(specifiers); + this.printList(specifiers, this.shouldPrintTrailingComma("}")); this.space(); } this.tokenChar(125); @@ -20333,7 +18693,7 @@ function ExportNamedDeclaration(node) { if ((_node$attributes2 = node.attributes) != null && _node$attributes2.length || (_node$assertions2 = node.assertions) != null && _node$assertions2.length) { this.print(node.source, true); this.space(); - this._printAttributes(node); + this._printAttributes(node, hasBrace); } else { this.print(node.source); } @@ -20385,13 +18745,16 @@ function ImportDeclaration(node) { break; } } + let hasBrace = false; if (specifiers.length) { + hasBrace = true; this.tokenChar(123); this.space(); - this.printList(specifiers); + this.printList(specifiers, this.shouldPrintTrailingComma("}")); this.space(); this.tokenChar(125); } else if (isTypeKind && !hasSpecifiers) { + hasBrace = true; this.tokenChar(123); this.tokenChar(125); } @@ -20403,7 +18766,7 @@ function ImportDeclaration(node) { if ((_node$attributes3 = node.attributes) != null && _node$attributes3.length || (_node$assertions3 = node.assertions) != null && _node$assertions3.length) { this.print(node.source, true); this.space(); - this._printAttributes(node); + this._printAttributes(node, hasBrace); } else { this.print(node.source); } @@ -20536,7 +18899,7 @@ function ForStatement(node) { this.space(); this.print(node.test); } - this.tokenChar(59); + this.token(";", false, 1); if (node.update) { this.space(); this.print(node.update); @@ -20655,11 +19018,8 @@ function SwitchStatement(node) { this.tokenChar(41); this.space(); this.tokenChar(123); - this.printSequence(node.cases, { - indent: true, - addNewlines(leading, cas) { - if (!leading && node.cases[node.cases.length - 1] === cas) return -1; - } + this.printSequence(node.cases, true, undefined, function addNewlines(leading, cas) { + if (!leading && node.cases[node.cases.length - 1] === cas) return -1; }); this.rightBrace(node); } @@ -20675,9 +19035,7 @@ function SwitchCase(node) { } if (node.consequent.length) { this.newline(); - this.printSequence(node.consequent, { - indent: true - }); + this.printSequence(node.consequent, true); } } function DebuggerStatement() { @@ -20708,13 +19066,10 @@ function VariableDeclaration(node, parent) { } } } - this.printList(node.declarations, { - separator: hasInits ? function () { - this.tokenChar(44); - this.newline(); - } : undefined, - indent: node.declarations.length > 1 ? true : false - }); + this.printList(node.declarations, undefined, undefined, node.declarations.length > 1, hasInits ? function (occurrenceCount) { + this.token(",", false, occurrenceCount); + this.newline(); + } : undefined); if (isFor(parent)) { if (isForStatement(parent)) { if (parent.init === node) return; @@ -20753,27 +19108,36 @@ Object.defineProperty(exports, "__esModule", ({ exports.TaggedTemplateExpression = TaggedTemplateExpression; exports.TemplateElement = TemplateElement; exports.TemplateLiteral = TemplateLiteral; +exports._printTemplate = _printTemplate; function TaggedTemplateExpression(node) { this.print(node.tag); - this.print(node.typeParameters); + { + this.print(node.typeParameters); + } this.print(node.quasi); } function TemplateElement() { throw new Error("TemplateElement printing is handled in TemplateLiteral"); } -function TemplateLiteral(node) { +function _printTemplate(node, substitutions) { const quasis = node.quasis; let partRaw = "`"; - for (let i = 0; i < quasis.length; i++) { + for (let i = 0; i < quasis.length - 1; i++) { partRaw += quasis[i].value.raw; - if (i + 1 < quasis.length) { - this.token(partRaw + "${", true); - this.print(node.expressions[i]); - partRaw = "}"; + this.token(partRaw + "${", true); + this.print(substitutions[i]); + partRaw = "}"; + if (this.tokenMap) { + const token = this.tokenMap.findMatching(node, "}", i); + if (token) this._catchUpTo(token.loc.start); } } + partRaw += quasis[quasis.length - 1].value.raw; this.token(partRaw + "`", true); } +function TemplateLiteral(node) { + this._printTemplate(node, node.expressions); +} //# sourceMappingURL=template-literals.js.map @@ -20793,7 +19157,6 @@ exports.ArgumentPlaceholder = ArgumentPlaceholder; exports.ArrayPattern = exports.ArrayExpression = ArrayExpression; exports.BigIntLiteral = BigIntLiteral; exports.BooleanLiteral = BooleanLiteral; -exports.DecimalLiteral = DecimalLiteral; exports.Identifier = Identifier; exports.NullLiteral = NullLiteral; exports.NumericLiteral = NumericLiteral; @@ -20809,16 +19172,32 @@ exports.SpreadElement = exports.RestElement = RestElement; exports.StringLiteral = StringLiteral; exports.TopicReference = TopicReference; exports.TupleExpression = TupleExpression; +exports._getRawIdentifier = _getRawIdentifier; var _t = __nccwpck_require__(7912); var _jsesc = __nccwpck_require__(9105); const { isAssignmentPattern, isIdentifier } = _t; +let lastRawIdentNode = null; +let lastRawIdentResult = ""; +function _getRawIdentifier(node) { + if (node === lastRawIdentNode) return lastRawIdentResult; + lastRawIdentNode = node; + const { + name + } = node; + const token = this.tokenMap.find(node, tok => tok.value === name); + if (token) { + lastRawIdentResult = this._originalCode.slice(token.start, token.end); + return lastRawIdentResult; + } + return lastRawIdentResult = node.name; +} function Identifier(node) { var _node$loc; this.sourceIdentifierName(((_node$loc = node.loc) == null ? void 0 : _node$loc.identifierName) || node.name); - this.word(node.name); + this.word(this.tokenMap ? this._getRawIdentifier(node) : node.name); } function ArgumentPlaceholder() { this.tokenChar(63); @@ -20833,10 +19212,7 @@ function ObjectExpression(node) { if (props.length) { const exit = this.enterDelimited(); this.space(); - this.printList(props, { - indent: true, - statement: true - }); + this.printList(props, this.shouldPrintTrailingComma("}"), true, true); this.space(); exit(); } @@ -20879,9 +19255,11 @@ function ArrayExpression(node) { if (elem) { if (i > 0) this.space(); this.print(elem); - if (i < len - 1) this.tokenChar(44); + if (i < len - 1 || this.shouldPrintTrailingComma("]")) { + this.token(",", false, i); + } } else { - this.tokenChar(44); + this.token(",", false, i); } } exit(); @@ -20905,10 +19283,7 @@ function RecordExpression(node) { this.token(startToken); if (props.length) { this.space(); - this.printList(props, { - indent: true, - statement: true - }); + this.printList(props, this.shouldPrintTrailingComma(endToken), true, true); this.space(); } this.token(endToken); @@ -20935,7 +19310,9 @@ function TupleExpression(node) { if (elem) { if (i > 0) this.space(); this.print(elem); - if (i < len - 1) this.tokenChar(44); + if (i < len - 1 || this.shouldPrintTrailingComma(endToken)) { + this.token(",", false, i); + } } } this.token(endToken); @@ -20981,14 +19358,6 @@ function BigIntLiteral(node) { } this.word(node.value + "n"); } -function DecimalLiteral(node) { - const raw = this.getPossibleRaw(node); - if (!this.format.minified && raw !== undefined) { - this.word(raw); - return; - } - this.word(node.value + "m"); -} const validTopicTokenSet = new Set(["^^", "@@", "^", "%", "#"]); function TopicReference() { const { @@ -21032,12 +19401,13 @@ exports.TSSatisfiesExpression = exports.TSAsExpression = TSTypeExpression; exports.TSBigIntKeyword = TSBigIntKeyword; exports.TSBooleanKeyword = TSBooleanKeyword; exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration; -exports.TSInterfaceHeritage = exports.TSExpressionWithTypeArguments = exports.TSClassImplements = TSClassImplements; +exports.TSInterfaceHeritage = exports.TSClassImplements = TSClassImplements; exports.TSConditionalType = TSConditionalType; exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration; exports.TSConstructorType = TSConstructorType; exports.TSDeclareFunction = TSDeclareFunction; exports.TSDeclareMethod = TSDeclareMethod; +exports.TSEnumBody = TSEnumBody; exports.TSEnumDeclaration = TSEnumDeclaration; exports.TSEnumMember = TSEnumMember; exports.TSExportAssignment = TSExportAssignment; @@ -21073,6 +19443,7 @@ exports.TSQualifiedName = TSQualifiedName; exports.TSRestType = TSRestType; exports.TSStringKeyword = TSStringKeyword; exports.TSSymbolKeyword = TSSymbolKeyword; +exports.TSTemplateLiteralType = TSTemplateLiteralType; exports.TSThisType = TSThisType; exports.TSTupleType = TSTupleType; exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration; @@ -21093,19 +19464,20 @@ exports.tsPrintClassMemberModifiers = tsPrintClassMemberModifiers; exports.tsPrintFunctionOrConstructorType = tsPrintFunctionOrConstructorType; exports.tsPrintPropertyOrMethodName = tsPrintPropertyOrMethodName; exports.tsPrintSignatureDeclarationBase = tsPrintSignatureDeclarationBase; -exports.tsPrintTypeLiteralOrInterfaceBody = tsPrintTypeLiteralOrInterfaceBody; -function TSTypeAnnotation(node) { - this.tokenChar(58); +function TSTypeAnnotation(node, parent) { + this.token((parent.type === "TSFunctionType" || parent.type === "TSConstructorType") && parent.typeAnnotation === node ? "=>" : ":"); this.space(); if (node.optional) this.tokenChar(63); this.print(node.typeAnnotation); } function TSTypeParameterInstantiation(node, parent) { this.tokenChar(60); - this.printList(node.params, {}); - if (parent.type === "ArrowFunctionExpression" && node.params.length === 1) { - this.tokenChar(44); + let printTrailingSeparator = parent.type === "ArrowFunctionExpression" && node.params.length === 1; + if (this.tokenMap && node.start != null && node.end != null) { + printTrailingSeparator && (printTrailingSeparator = !!this.tokenMap.find(node, t => this.tokenMap.matchesOriginal(t, ","))); + printTrailingSeparator || (printTrailingSeparator = this.shouldPrintTrailingComma(">")); } + this.printList(node.params, printTrailingSeparator); this.tokenChar(62); } function TSTypeParameter(node) { @@ -21161,13 +19533,24 @@ function TSQualifiedName(node) { } function TSCallSignatureDeclaration(node) { this.tsPrintSignatureDeclarationBase(node); - this.semicolon(); + maybePrintTrailingCommaOrSemicolon(this, node); +} +function maybePrintTrailingCommaOrSemicolon(printer, node) { + if (!printer.tokenMap || !node.start || !node.end) { + printer.semicolon(); + return; + } + if (printer.tokenMap.endMatches(node, ",")) { + printer.token(","); + } else if (printer.tokenMap.endMatches(node, ";")) { + printer.semicolon(); + } } function TSConstructSignatureDeclaration(node) { this.word("new"); this.space(); this.tsPrintSignatureDeclarationBase(node); - this.semicolon(); + maybePrintTrailingCommaOrSemicolon(this, node); } function TSPropertySignature(node) { const { @@ -21179,7 +19562,7 @@ function TSPropertySignature(node) { } this.tsPrintPropertyOrMethodName(node); this.print(node.typeAnnotation); - this.semicolon(); + maybePrintTrailingCommaOrSemicolon(this, node); } function tsPrintPropertyOrMethodName(node) { if (node.computed) { @@ -21203,7 +19586,7 @@ function TSMethodSignature(node) { } this.tsPrintPropertyOrMethodName(node); this.tsPrintSignatureDeclarationBase(node); - this.semicolon(); + maybePrintTrailingCommaOrSemicolon(this, node); } function TSIndexSignature(node) { const { @@ -21219,10 +19602,9 @@ function TSIndexSignature(node) { this.space(); } this.tokenChar(91); - this._parameters(node.parameters); - this.tokenChar(93); + this._parameters(node.parameters, "]"); this.print(node.typeAnnotation); - this.semicolon(); + maybePrintTrailingCommaOrSemicolon(this, node); } function TSAnyKeyword() { this.word("any"); @@ -21285,17 +19667,15 @@ function tsPrintFunctionOrConstructorType(node) { const parameters = node.parameters; this.print(typeParameters); this.tokenChar(40); - this._parameters(parameters); - this.tokenChar(41); - this.space(); - this.token("=>"); + this._parameters(parameters, ")"); this.space(); const returnType = node.typeAnnotation; - this.print(returnType.typeAnnotation); + this.print(returnType); } function TSTypeReference(node) { - this.print(node.typeName, true); - this.print(node.typeParameters, true); + const typeArguments = node.typeParameters; + this.print(node.typeName, !!typeArguments); + this.print(typeArguments); } function TSTypePredicate(node) { if (node.asserts) { @@ -21314,28 +19694,13 @@ function TSTypeQuery(node) { this.word("typeof"); this.space(); this.print(node.exprName); - if (node.typeParameters) { - this.print(node.typeParameters); + const typeArguments = node.typeParameters; + if (typeArguments) { + this.print(typeArguments); } } function TSTypeLiteral(node) { - this.tsPrintTypeLiteralOrInterfaceBody(node.members, node); -} -function tsPrintTypeLiteralOrInterfaceBody(members, node) { - tsPrintBraced(this, members, node); -} -function tsPrintBraced(printer, members, node) { - printer.token("{"); - if (members.length) { - printer.indent(); - printer.newline(); - for (const member of members) { - printer.print(member); - printer.newline(); - } - printer.dedent(); - } - printer.rightBrace(node); + printBraced(this, node, () => this.printJoin(node.members, true, true)); } function TSArrayType(node) { this.print(node.elementType, true); @@ -21344,7 +19709,7 @@ function TSArrayType(node) { } function TSTupleType(node) { this.tokenChar(91); - this.printList(node.elementTypes); + this.printList(node.elementTypes, this.shouldPrintTrailingComma("]")); this.tokenChar(93); } function TSOptionalType(node) { @@ -21369,12 +19734,16 @@ function TSIntersectionType(node) { tsPrintUnionOrIntersectionType(this, node, "&"); } function tsPrintUnionOrIntersectionType(printer, node, sep) { - printer.printJoin(node.types, { - separator() { - this.space(); - this.token(sep); - this.space(); - } + var _printer$tokenMap; + let hasLeadingToken = 0; + if ((_printer$tokenMap = printer.tokenMap) != null && _printer$tokenMap.startMatches(node, sep)) { + hasLeadingToken = 1; + printer.token(sep); + } + printer.printJoin(node.types, undefined, undefined, function (i) { + this.space(); + this.token(sep, null, i + hasLeadingToken); + this.space(); }); } function TSConditionalType(node) { @@ -21420,6 +19789,7 @@ function TSMappedType(node) { typeAnnotation } = node; this.tokenChar(123); + const exit = this.enterDelimited(); this.space(); if (readonly) { tokenIfPlusMinus(this, readonly); @@ -21453,6 +19823,7 @@ function TSMappedType(node) { this.print(typeAnnotation); } this.space(); + exit(); this.tokenChar(125); } function tokenIfPlusMinus(self, tok) { @@ -21460,12 +19831,15 @@ function tokenIfPlusMinus(self, tok) { self.token(tok); } } +function TSTemplateLiteralType(node) { + this._printTemplate(node, node.types); +} function TSLiteralType(node) { this.print(node.literal); } function TSClassImplements(node) { this.print(node.expression); - this.print(node.typeParameters); + this.print(node.typeArguments); } function TSInterfaceDeclaration(node) { const { @@ -21493,7 +19867,7 @@ function TSInterfaceDeclaration(node) { this.print(body); } function TSInterfaceBody(node) { - this.tsPrintTypeLiteralOrInterfaceBody(node.body, node); + printBraced(this, node, () => this.printJoin(node.body, true, true)); } function TSTypeAliasDeclaration(node) { const { @@ -21541,14 +19915,15 @@ function TSTypeAssertion(node) { } function TSInstantiationExpression(node) { this.print(node.expression); - this.print(node.typeParameters); + { + this.print(node.typeParameters); + } } function TSEnumDeclaration(node) { const { declare, const: isConst, - id, - members + id } = node; if (declare) { this.word("declare"); @@ -21562,7 +19937,15 @@ function TSEnumDeclaration(node) { this.space(); this.print(id); this.space(); - tsPrintBraced(this, members, node); + { + TSEnumBody.call(this, node); + } +} +function TSEnumBody(node) { + printBraced(this, node, () => { + var _this$shouldPrintTrai; + return this.printList(node.members, (_this$shouldPrintTrai = this.shouldPrintTrailingComma("}")) != null ? _this$shouldPrintTrai : true, true, true); + }); } function TSEnumMember(node) { const { @@ -21576,63 +19959,69 @@ function TSEnumMember(node) { this.space(); this.print(initializer); } - this.tokenChar(44); } function TSModuleDeclaration(node) { const { declare, - id + id, + kind } = node; if (declare) { this.word("declare"); this.space(); } - if (!node.global) { - this.word(id.type === "Identifier" ? "namespace" : "module"); + { + if (!node.global) { + this.word(kind != null ? kind : id.type === "Identifier" ? "namespace" : "module"); + this.space(); + } + this.print(id); + if (!node.body) { + this.semicolon(); + return; + } + let body = node.body; + while (body.type === "TSModuleDeclaration") { + this.tokenChar(46); + this.print(body.id); + body = body.body; + } this.space(); + this.print(body); } - this.print(id); - if (!node.body) { - this.semicolon(); - return; - } - let body = node.body; - while (body.type === "TSModuleDeclaration") { - this.tokenChar(46); - this.print(body.id); - body = body.body; - } - this.space(); - this.print(body); } function TSModuleBlock(node) { - tsPrintBraced(this, node.body, node); + printBraced(this, node, () => this.printSequence(node.body, true)); } function TSImportType(node) { const { argument, qualifier, - typeParameters + options } = node; this.word("import"); this.tokenChar(40); this.print(argument); + if (options) { + this.tokenChar(44); + this.print(options); + } this.tokenChar(41); if (qualifier) { this.tokenChar(46); this.print(qualifier); } - if (typeParameters) { - this.print(typeParameters); + const typeArguments = node.typeParameters; + if (typeArguments) { + this.print(typeArguments); } } function TSImportEqualsDeclaration(node) { const { - isExport, id, moduleReference } = node; - if (isExport) { + if (node.isExport) { this.word("export"); this.space(); } @@ -21679,36 +20068,44 @@ function tsPrintSignatureDeclarationBase(node) { const parameters = node.parameters; this.print(typeParameters); this.tokenChar(40); - this._parameters(parameters); - this.tokenChar(41); + this._parameters(parameters, ")"); const returnType = node.typeAnnotation; this.print(returnType); } function tsPrintClassMemberModifiers(node) { - const isField = node.type === "ClassAccessorProperty" || node.type === "ClassProperty"; - if (isField && node.declare) { - this.word("declare"); - this.space(); - } - if (node.accessibility) { - this.word(node.accessibility); - this.space(); - } + const isPrivateField = node.type === "ClassPrivateProperty"; + const isPublicField = node.type === "ClassAccessorProperty" || node.type === "ClassProperty"; + printModifiersList(this, node, [isPublicField && node.declare && "declare", !isPrivateField && node.accessibility]); if (node.static) { this.word("static"); this.space(); } - if (node.override) { - this.word("override"); - this.space(); - } - if (node.abstract) { - this.word("abstract"); - this.space(); + printModifiersList(this, node, [!isPrivateField && node.override && "override", !isPrivateField && node.abstract && "abstract", (isPublicField || isPrivateField) && node.readonly && "readonly"]); +} +function printBraced(printer, node, cb) { + printer.token("{"); + const exit = printer.enterDelimited(); + cb(); + exit(); + printer.rightBrace(node); +} +function printModifiersList(printer, node, modifiers) { + var _printer$tokenMap2; + const modifiersSet = new Set(); + for (const modifier of modifiers) { + if (modifier) modifiersSet.add(modifier); } - if (isField && node.readonly) { - this.word("readonly"); - this.space(); + (_printer$tokenMap2 = printer.tokenMap) == null || _printer$tokenMap2.find(node, tok => { + if (modifiersSet.has(tok.value)) { + printer.token(tok.value); + printer.space(); + modifiersSet.delete(tok.value); + return modifiersSet.size === 0; + } + }); + for (const modifier of modifiersSet) { + printer.word(modifier); + printer.space(); } } @@ -21729,11 +20126,32 @@ Object.defineProperty(exports, "__esModule", ({ exports["default"] = generate; var _sourceMap = __nccwpck_require__(6280); var _printer = __nccwpck_require__(5637); -function normalizeOptions(code, opts) { +function normalizeOptions(code, opts, ast) { + if (opts.experimental_preserveFormat) { + if (typeof code !== "string") { + throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string"); + } + if (!opts.retainLines) { + throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`"); + } + if (opts.compact && opts.compact !== "auto") { + throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option"); + } + if (opts.minified) { + throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option"); + } + if (opts.jsescOption) { + throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option"); + } + if (!Array.isArray(ast.tokens)) { + throw new Error("`experimental_preserveFormat` requires the AST to have attatched the token of the input code. Make sure to enable the `tokens: true` parser option."); + } + } const format = { auxiliaryCommentBefore: opts.auxiliaryCommentBefore, auxiliaryCommentAfter: opts.auxiliaryCommentAfter, shouldPrintComment: opts.shouldPrintComment, + preserveFormat: opts.experimental_preserveFormat, retainLines: opts.retainLines, retainFunctionParens: opts.retainFunctionParens, comments: opts.comments == null || opts.comments, @@ -21770,7 +20188,7 @@ function normalizeOptions(code, opts) { console.error("[BABEL] Note: The code generator has deoptimised the styling of " + `${opts.filename} as it exceeds the max of ${"500KB"}.`); } } - if (format.compact) { + if (format.compact || format.preserveFormat) { format.indent.adjustMultilineComment = false; } const { @@ -21793,7 +20211,7 @@ function normalizeOptions(code, opts) { this._format = void 0; this._map = void 0; this._ast = ast; - this._format = normalizeOptions(code, opts); + this._format = normalizeOptions(code, opts, ast); this._map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null; } generate() { @@ -21803,9 +20221,9 @@ function normalizeOptions(code, opts) { }; } function generate(ast, opts = {}, code) { - const format = normalizeOptions(code, opts); + const format = normalizeOptions(code, opts, ast); const map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null; - const printer = new _printer.default(format, map); + const printer = new _printer.default(format, map, ast.tokens, typeof code === "string" ? code : null); return printer.generate(ast); } @@ -21855,9 +20273,9 @@ function expandAliases(obj) { const map = new Map(); function add(type, func) { const fn = map.get(type); - map.set(type, fn ? function (node, parent, stack, inForInit) { + map.set(type, fn ? function (node, parent, stack, inForInit, getRawIdentifier) { var _fn; - return (_fn = fn(node, parent, stack, inForInit)) != null ? _fn : func(node, parent, stack, inForInit); + return (_fn = fn(node, parent, stack, inForInit, getRawIdentifier)) != null ? _fn : func(node, parent, stack, inForInit, getRawIdentifier); } : func); } for (const type of Object.keys(obj)) { @@ -21898,7 +20316,7 @@ function needsWhitespaceBefore(node, parent) { function needsWhitespaceAfter(node, parent) { return needsWhitespace(node, parent, 2); } -function needsParens(node, parent, tokenContext, inForInit) { +function needsParens(node, parent, tokenContext, inForInit, getRawIdentifier) { var _expandedParens$get; if (!parent) return false; if (isNewExpression(parent) && parent.callee === node) { @@ -21907,7 +20325,7 @@ function needsParens(node, parent, tokenContext, inForInit) { if (isDecorator(parent)) { return !isDecoratorMemberExpression(node) && !(isCallExpression(node) && isDecoratorMemberExpression(node.callee)) && !isParenthesizedExpression(node); } - return (_expandedParens$get = expandedParens.get(node.type)) == null ? void 0 : _expandedParens$get(node, parent, tokenContext, inForInit); + return (_expandedParens$get = expandedParens.get(node.type)) == null ? void 0 : _expandedParens$get(node, parent, tokenContext, inForInit, getRawIdentifier); } function isDecoratorMemberExpression(node) { switch (node.type) { @@ -21966,10 +20384,14 @@ exports.OptionalIndexedAccessType = OptionalIndexedAccessType; exports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression; exports.SequenceExpression = SequenceExpression; exports.TSSatisfiesExpression = exports.TSAsExpression = TSAsExpression; +exports.TSConditionalType = TSConditionalType; +exports.TSConstructorType = exports.TSFunctionType = TSFunctionType; exports.TSInferType = TSInferType; exports.TSInstantiationExpression = TSInstantiationExpression; +exports.TSIntersectionType = TSIntersectionType; exports.UnaryLike = exports.TSTypeAssertion = UnaryLike; -exports.TSIntersectionType = exports.TSUnionType = TSUnionType; +exports.TSTypeOperator = TSTypeOperator; +exports.TSUnionType = TSUnionType; exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; exports.UpdateExpression = UpdateExpression; exports.AwaitExpression = exports.YieldExpression = YieldExpression; @@ -22012,7 +20434,8 @@ function NullableTypeAnnotation(node, parent) { } function FunctionTypeAnnotation(node, parent, tokenContext) { const parentType = parent.type; - return parentType === "UnionTypeAnnotation" || parentType === "IntersectionTypeAnnotation" || parentType === "ArrayTypeAnnotation" || Boolean(tokenContext & _index.TokenContext.arrowFlowReturnType); + return (parentType === "UnionTypeAnnotation" || parentType === "IntersectionTypeAnnotation" || parentType === "ArrayTypeAnnotation" || Boolean(tokenContext & _index.TokenContext.arrowFlowReturnType) + ); } function UpdateExpression(node, parent) { return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent); @@ -22062,18 +20485,51 @@ function TSAsExpression(node, parent) { } return Binary(node, parent); } +function TSConditionalType(node, parent) { + const parentType = parent.type; + if (parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType" || parentType === "TSTypeOperator" || parentType === "TSTypeParameter") { + return true; + } + if ((parentType === "TSIntersectionType" || parentType === "TSUnionType") && parent.types[0] === node) { + return true; + } + if (parentType === "TSConditionalType" && (parent.checkType === node || parent.extendsType === node)) { + return true; + } + return false; +} function TSUnionType(node, parent) { const parentType = parent.type; - return parentType === "TSArrayType" || parentType === "TSOptionalType" || parentType === "TSIntersectionType" || parentType === "TSRestType"; + return parentType === "TSIntersectionType" || parentType === "TSTypeOperator" || parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType"; +} +function TSIntersectionType(node, parent) { + const parentType = parent.type; + return parentType === "TSTypeOperator" || parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType"; } function TSInferType(node, parent) { const parentType = parent.type; - return parentType === "TSArrayType" || parentType === "TSOptionalType"; + if (parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType") { + return true; + } + if (node.typeParameter.constraint) { + if ((parentType === "TSIntersectionType" || parentType === "TSUnionType") && parent.types[0] === node) { + return true; + } + } + return false; +} +function TSTypeOperator(node, parent) { + const parentType = parent.type; + return parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSOptionalType"; } function TSInstantiationExpression(node, parent) { const parentType = parent.type; return (parentType === "CallExpression" || parentType === "OptionalCallExpression" || parentType === "NewExpression" || parentType === "TSInstantiationExpression") && !!parent.typeParameters; } +function TSFunctionType(node, parent) { + const parentType = parent.type; + return parentType === "TSIntersectionType" || parentType === "TSUnionType" || parentType === "TSTypeOperator" || parentType === "TSOptionalType" || parentType === "TSArrayType" || parentType === "TSIndexedAccessType" && parent.objectType === node || parentType === "TSConditionalType" && (parent.checkType === node || parent.extendsType === node); +} function BinaryExpression(node, parent, tokenContext, inForStatementInit) { return node.operator === "in" && inForStatementInit; } @@ -22136,7 +20592,7 @@ function LogicalExpression(node, parent) { return parent.operator !== "??"; } } -function Identifier(node, parent, tokenContext) { +function Identifier(node, parent, tokenContext, _inForInit, getRawIdentifier) { var _node$extra; const parentType = parent.type; if ((_node$extra = node.extra) != null && _node$extra.parenthesized && parentType === "AssignmentExpression" && parent.left === node) { @@ -22145,6 +20601,9 @@ function Identifier(node, parent, tokenContext) { return true; } } + if (getRawIdentifier && getRawIdentifier(node) !== node.name) { + return false; + } if (node.name === "let") { const isFollowedByBracket = isMemberExpression(parent, { object: node, @@ -22336,14 +20795,16 @@ exports["default"] = void 0; var _buffer = __nccwpck_require__(260); var n = __nccwpck_require__(9223); var _t = __nccwpck_require__(7912); +var _tokenMap = __nccwpck_require__(6737); var generatorFunctions = __nccwpck_require__(8312); +var _deprecated = __nccwpck_require__(342); const { isExpression, isFunction, isStatement, isClassBody, isTSInterfaceBody, - isTSEnumDeclaration + isTSEnumMember } = _t; const SCIENTIFIC_NOTATION = /e/i; const ZERO_DECIMAL_INTEGER = /\.0+$/; @@ -22356,9 +20817,11 @@ const { needsParens } = n; class Printer { - constructor(format, map) { + constructor(format, map, tokens, originalCode) { this.inForStatementInit = false; this.tokenContext = 0; + this._tokens = null; + this._originalCode = null; this._currentNode = null; this._indent = 0; this._indentRepeat = 0; @@ -22373,7 +20836,13 @@ class Printer { this._lastCommentLine = 0; this._endsWithInnerRaw = false; this._indentInnerComments = true; + this.tokenMap = null; + this._boundGetRawIdentifier = this._getRawIdentifier.bind(this); + this._printSemicolonBeforeNextNode = -1; + this._printSemicolonBeforeNextToken = -1; this.format = format; + this._tokens = tokens; + this._originalCode = originalCode; this._indentRepeat = format.indent.style.length; this._inputMap = map == null ? void 0 : map._inputMap; this._buf = new _buffer.default(map, format.indent.style[0]); @@ -22399,25 +20868,50 @@ class Printer { }; } generate(ast) { + if (this.format.preserveFormat) { + this.tokenMap = new _tokenMap.TokenMap(ast, this._tokens, this._originalCode); + } this.print(ast); this._maybeAddAuxComment(); return this._buf.get(); } indent() { - if (this.format.compact || this.format.concise) return; + const { + format + } = this; + if (format.preserveFormat || format.compact || format.concise) { + return; + } this._indent++; } dedent() { - if (this.format.compact || this.format.concise) return; + const { + format + } = this; + if (format.preserveFormat || format.compact || format.concise) { + return; + } this._indent--; } semicolon(force = false) { this._maybeAddAuxComment(); if (force) { this._appendChar(59); - } else { - this._queue(59); + this._noLineTerminator = false; + return; } + if (this.tokenMap) { + const node = this._currentNode; + if (node.start != null && node.end != null) { + if (!this.tokenMap.endMatches(node, ";")) { + this._printSemicolonBeforeNextNode = this._buf.getCurrentLine(); + return; + } + const indexes = this.tokenMap.getIndexes(this._currentNode); + this._catchUpTo(this._tokens[indexes[indexes.length - 1]].loc.start); + } + } + this._queue(59); this._noLineTerminator = false; } rightBrace(node) { @@ -22432,7 +20926,10 @@ class Printer { this.tokenChar(41); } space(force = false) { - if (this.format.compact) return; + const { + format + } = this; + if (format.compact || format.preserveFormat) return; if (force) { this._space(); } else if (this._buf.hasContent()) { @@ -22444,11 +20941,12 @@ class Printer { } word(str, noLineTerminatorAfter = false) { this.tokenContext = 0; - this._maybePrintInnerComments(); + this._maybePrintInnerComments(str); + this._maybeAddAuxComment(); + if (this.tokenMap) this._catchUpToCurrentToken(str); if (this._endsWithWord || this._endsWithDiv && str.charCodeAt(0) === 47) { this._space(); } - this._maybeAddAuxComment(); this._append(str, false); this._endsWithWord = true; this._noLineTerminator = noLineTerminatorAfter; @@ -22464,26 +20962,29 @@ class Printer { this.word(str); this._endsWithInteger = Number.isInteger(number) && !isNonDecimalLiteral(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str.charCodeAt(str.length - 1) !== 46; } - token(str, maybeNewline = false) { + token(str, maybeNewline = false, occurrenceCount = 0) { this.tokenContext = 0; - this._maybePrintInnerComments(); + this._maybePrintInnerComments(str, occurrenceCount); + this._maybeAddAuxComment(); + if (this.tokenMap) this._catchUpToCurrentToken(str, occurrenceCount); const lastChar = this.getLastChar(); const strFirst = str.charCodeAt(0); if (lastChar === 33 && (str === "--" || strFirst === 61) || strFirst === 43 && lastChar === 43 || strFirst === 45 && lastChar === 45 || strFirst === 46 && this._endsWithInteger) { this._space(); } - this._maybeAddAuxComment(); this._append(str, maybeNewline); this._noLineTerminator = false; } tokenChar(char) { this.tokenContext = 0; - this._maybePrintInnerComments(); + const str = String.fromCharCode(char); + this._maybePrintInnerComments(str); + this._maybeAddAuxComment(); + if (this.tokenMap) this._catchUpToCurrentToken(str); const lastChar = this.getLastChar(); if (char === 43 && lastChar === 43 || char === 45 && lastChar === 45 || char === 46 && this._endsWithInteger) { this._space(); } - this._maybeAddAuxComment(); this._appendChar(char); this._noLineTerminator = false; } @@ -22529,7 +21030,7 @@ class Printer { this._buf.source(prop, loc); } sourceWithOffset(prop, loc, columnOffset) { - if (!loc) return; + if (!loc || this.format.preserveFormat) return; this._catchUp(prop, loc); this._buf.sourceWithOffset(prop, loc, columnOffset); } @@ -22545,6 +21046,18 @@ class Printer { _newline() { this._queue(10); } + _catchUpToCurrentToken(str, occurrenceCount = 0) { + const token = this.tokenMap.findMatching(this._currentNode, str, occurrenceCount); + if (token) this._catchUpTo(token.loc.start); + if (this._printSemicolonBeforeNextToken !== -1 && this._printSemicolonBeforeNextToken === this._buf.getCurrentLine()) { + this._buf.appendChar(59); + this._endsWithWord = false; + this._endsWithInteger = false; + this._endsWithDiv = false; + } + this._printSemicolonBeforeNextToken = -1; + this._printSemicolonBeforeNextNode = -1; + } _append(str, maybeNewline) { this._maybeIndent(str.charCodeAt(0)); this._buf.append(str, maybeNewline); @@ -22583,14 +21096,34 @@ class Printer { } } _catchUp(prop, loc) { - var _loc$prop; - if (!this.format.retainLines) return; - const line = loc == null || (_loc$prop = loc[prop]) == null ? void 0 : _loc$prop.line; - if (line != null) { - const count = line - this._buf.getCurrentLine(); - for (let i = 0; i < count; i++) { - this._newline(); + const { + format + } = this; + if (!format.preserveFormat) { + if (format.retainLines && loc != null && loc[prop]) { + this.catchUp(loc[prop].line); } + return; + } + const pos = loc == null ? void 0 : loc[prop]; + if (pos != null) this._catchUpTo(pos); + } + _catchUpTo({ + line, + column, + index + }) { + const count = line - this._buf.getCurrentLine(); + if (count > 0 && this._noLineTerminator) { + return; + } + for (let i = 0; i < count; i++) { + this._newline(); + } + const spacesCount = count > 0 ? column : column - this._buf.getCurrentColumn(); + if (spacesCount > 0) { + const spaces = this._originalCode ? this._originalCode.slice(index - spacesCount, index).replace(/[^\t\x0B\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/gu, " ") : " ".repeat(spacesCount); + this._append(spaces, false); } } _getIndent() { @@ -22616,11 +21149,14 @@ class Printer { } const parent = this._currentNode; this._currentNode = node; + if (this.tokenMap) { + this._printSemicolonBeforeNextToken = this._printSemicolonBeforeNextNode; + } const oldInAux = this._insideAux; this._insideAux = node.loc == null; this._maybeAddAuxComment(this._insideAux && !oldInAux); const parenthesized = (_node$extra = node.extra) == null ? void 0 : _node$extra.parenthesized; - let shouldPrintParens = parenthesized && format.retainFunctionParens && nodeType === "FunctionExpression" || needsParens(node, parent, this.tokenContext, this.inForStatementInit); + let shouldPrintParens = parenthesized && format.preserveFormat || parenthesized && format.retainFunctionParens && nodeType === "FunctionExpression" || needsParens(node, parent, this.tokenContext, this.inForStatementInit, format.preserveFormat ? this._boundGetRawIdentifier : undefined); if (!shouldPrintParens && parenthesized && (_node$leadingComments = node.leadingComments) != null && _node$leadingComments.length && node.leadingComments[0].type === "CommentBlock") { const parentType = parent == null ? void 0 : parent.type; switch (parentType) { @@ -22726,11 +21262,8 @@ class Printer { return extra.raw; } } - printJoin(nodes, opts = {}) { + printJoin(nodes, statement, indent, separator, printTrailingSeparator, addNewlines, iterator, trailingCommentsLineOffset) { if (!(nodes != null && nodes.length)) return; - let { - indent - } = opts; if (indent == null && this.format.retainLines) { var _nodes$0$loc; const startLine = (_nodes$0$loc = nodes[0].loc) == null ? void 0 : _nodes$0$loc.start.line; @@ -22740,19 +21273,21 @@ class Printer { } if (indent) this.indent(); const newlineOpts = { - addNewlines: opts.addNewlines, + addNewlines: addNewlines, nextNodeStartLine: 0 }; - const separator = opts.separator ? opts.separator.bind(this) : null; + const boundSeparator = separator == null ? void 0 : separator.bind(this); const len = nodes.length; for (let i = 0; i < len; i++) { const node = nodes[i]; if (!node) continue; - if (opts.statement) this._printNewline(i === 0, newlineOpts); - this.print(node, undefined, opts.trailingCommentsLineOffset || 0); - opts.iterator == null || opts.iterator(node, i); - if (i < len - 1) separator == null || separator(); - if (opts.statement) { + if (statement) this._printNewline(i === 0, newlineOpts); + this.print(node, undefined, trailingCommentsLineOffset || 0); + iterator == null || iterator(node, i); + if (boundSeparator != null) { + if (i < len - 1) boundSeparator(i, false);else if (printTrailingSeparator) boundSeparator(i, true); + } + if (statement) { var _node$trailingComment2; if (!((_node$trailingComment2 = node.trailingComments) != null && _node$trailingComment2.length)) { this._lastCommentLine = 0; @@ -22799,12 +21334,15 @@ class Printer { if (!(comments != null && comments.length)) return; this._printComments(0, comments, node, parent); } - _maybePrintInnerComments() { - if (this._endsWithInnerRaw) this.printInnerComments(); + _maybePrintInnerComments(nextTokenStr, nextTokenOccurrenceCount) { + if (this._endsWithInnerRaw) { + var _this$tokenMap; + this.printInnerComments((_this$tokenMap = this.tokenMap) == null ? void 0 : _this$tokenMap.findMatching(this._currentNode, nextTokenStr, nextTokenOccurrenceCount)); + } this._endsWithInnerRaw = true; this._indentInnerComments = true; } - printInnerComments() { + printInnerComments(nextToken) { const node = this._currentNode; const comments = node.innerComments; if (!(comments != null && comments.length)) return; @@ -22812,7 +21350,7 @@ class Printer { const indent = this._indentInnerComments; const printedCommentsCount = this._printedComments.size; if (indent) this.indent(); - this._printComments(1, comments, node); + this._printComments(1, comments, node, undefined, undefined, nextToken); if (hasSpace && printedCommentsCount !== this._printedComments.size) { this.space(); } @@ -22821,17 +21359,17 @@ class Printer { noIndentInnerCommentsHere() { this._indentInnerComments = false; } - printSequence(nodes, opts = {}) { - var _opts$indent; - opts.statement = true; - (_opts$indent = opts.indent) != null ? _opts$indent : opts.indent = false; - this.printJoin(nodes, opts); + printSequence(nodes, indent, trailingCommentsLineOffset, addNewlines) { + this.printJoin(nodes, true, indent != null ? indent : false, undefined, undefined, addNewlines, undefined, trailingCommentsLineOffset); } - printList(items, opts = {}) { - if (opts.separator == null) { - opts.separator = commaSeparator; - } - this.printJoin(items, opts); + printList(items, printTrailingSeparator, statement, indent, separator, iterator) { + this.printJoin(items, statement, indent, separator != null ? separator : commaSeparator, printTrailingSeparator, undefined, iterator); + } + shouldPrintTrailingComma(listEnd) { + if (!this.tokenMap) return null; + const listEndIndex = this.tokenMap.findLastIndex(this._currentNode, token => this.tokenMap.matchesOriginal(token, listEnd)); + if (listEndIndex <= 0) return null; + return this.tokenMap.matchesOriginal(this._tokens[listEndIndex - 1], ","); } _printNewline(newLine, opts) { const format = this.format; @@ -22856,12 +21394,18 @@ class Printer { this.newline(1); } } - _shouldPrintComment(comment) { + _shouldPrintComment(comment, nextToken) { if (comment.ignore) return 0; if (this._printedComments.has(comment)) return 0; if (this._noLineTerminator && HAS_NEWLINE_OR_BlOCK_COMMENT_END.test(comment.value)) { return 2; } + if (nextToken && this.tokenMap) { + const commentTok = this.tokenMap.find(this._currentNode, token => token.value === comment.value); + if (commentTok && commentTok.start > nextToken.start) { + return 2; + } + } this._printedComments.add(comment); if (!this.format.shouldPrintComment(comment.value)) { return 0; @@ -22905,8 +21449,21 @@ class Printer { val = `/*${comment.value}*/`; } if (this._endsWithDiv) this._space(); - this.source("start", comment.loc); - this._append(val, isBlockComment); + if (this.tokenMap) { + const { + _printSemicolonBeforeNextToken, + _printSemicolonBeforeNextNode + } = this; + this._printSemicolonBeforeNextToken = -1; + this._printSemicolonBeforeNextNode = -1; + this.source("start", comment.loc); + this._append(val, isBlockComment); + this._printSemicolonBeforeNextNode = _printSemicolonBeforeNextNode; + this._printSemicolonBeforeNextToken = _printSemicolonBeforeNextToken; + } else { + this.source("start", comment.loc); + this._append(val, isBlockComment); + } if (!isBlockComment && !noLineTerminator) { this.newline(1, true); } @@ -22914,7 +21471,7 @@ class Printer { this.newline(1); } } - _printComments(type, comments, node, parent, lineOffset = 0) { + _printComments(type, comments, node, parent, lineOffset = 0, nextToken) { const nodeLoc = node.loc; const len = comments.length; let hasLoc = !!nodeLoc; @@ -22925,7 +21482,7 @@ class Printer { const maybeNewline = this._noLineTerminator ? function () {} : this.newline.bind(this); for (let i = 0; i < len; i++) { const comment = comments[i]; - const shouldPrint = this._shouldPrintComment(comment); + const shouldPrint = this._shouldPrintComment(comment, nextToken); if (shouldPrint === 2) { hasLoc = false; break; @@ -22971,7 +21528,7 @@ class Printer { } if (len === 1) { const singleLine = comment.loc ? comment.loc.start.line === comment.loc.end.line : !HAS_NEWLINE.test(comment.value); - const shouldSkipNewline = singleLine && !isStatement(node) && !isClassBody(parent) && !isTSInterfaceBody(parent) && !isTSEnumDeclaration(parent); + const shouldSkipNewline = singleLine && !isStatement(node) && !isClassBody(parent) && !isTSInterfaceBody(parent) && !isTSEnumMember(node); if (type === 0) { this._printComment(comment, shouldSkipNewline && node.type !== "ObjectExpression" || singleLine && isFunction(parent, { body: node @@ -22995,12 +21552,12 @@ class Printer { } Object.assign(Printer.prototype, generatorFunctions); { - Printer.prototype.Noop = function Noop() {}; + (0, _deprecated.addDeprecatedGenerators)(Printer); } var _default = exports["default"] = Printer; -function commaSeparator() { - this.tokenChar(44); - this.space(); +function commaSeparator(occurrenceCount, last) { + this.token(",", false, occurrenceCount); + if (!last) this.space(); } //# sourceMappingURL=printer.js.map @@ -23099,6 +21656,205 @@ exports["default"] = SourceMap; //# sourceMappingURL=source-map.js.map +/***/ }), + +/***/ 6737: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TokenMap = void 0; +var _t = __nccwpck_require__(7912); +const { + traverseFast, + VISITOR_KEYS +} = _t; +class TokenMap { + constructor(ast, tokens, source) { + this._tokens = void 0; + this._source = void 0; + this._nodesToTokenIndexes = new Map(); + this._nodesOccurrencesCountCache = new Map(); + this._tokensCache = new Map(); + this._tokens = tokens; + this._source = source; + traverseFast(ast, node => { + const indexes = this._getTokensIndexesOfNode(node); + if (indexes.length > 0) this._nodesToTokenIndexes.set(node, indexes); + }); + this._tokensCache = null; + } + has(node) { + return this._nodesToTokenIndexes.has(node); + } + getIndexes(node) { + return this._nodesToTokenIndexes.get(node); + } + find(node, condition) { + const indexes = this._nodesToTokenIndexes.get(node); + if (indexes) { + for (let k = 0; k < indexes.length; k++) { + const index = indexes[k]; + const tok = this._tokens[index]; + if (condition(tok, index)) return tok; + } + } + return null; + } + findLastIndex(node, condition) { + const indexes = this._nodesToTokenIndexes.get(node); + if (indexes) { + for (let k = indexes.length - 1; k >= 0; k--) { + const index = indexes[k]; + const tok = this._tokens[index]; + if (condition(tok, index)) return index; + } + } + return -1; + } + findMatching(node, test, occurrenceCount = 0) { + const indexes = this._nodesToTokenIndexes.get(node); + if (indexes) { + let i = 0; + const count = occurrenceCount; + if (count > 1) { + const cache = this._nodesOccurrencesCountCache.get(node); + if (cache && cache.test === test && cache.count < count) { + i = cache.i + 1; + occurrenceCount -= cache.count + 1; + } + } + for (; i < indexes.length; i++) { + const tok = this._tokens[indexes[i]]; + if (this.matchesOriginal(tok, test)) { + if (occurrenceCount === 0) { + if (count > 0) { + this._nodesOccurrencesCountCache.set(node, { + test, + count, + i + }); + } + return tok; + } + occurrenceCount--; + } + } + } + return null; + } + matchesOriginal(token, test) { + if (token.end - token.start !== test.length) return false; + if (token.value != null) return token.value === test; + return this._source.startsWith(test, token.start); + } + startMatches(node, test) { + const indexes = this._nodesToTokenIndexes.get(node); + if (!indexes) return false; + const tok = this._tokens[indexes[0]]; + if (tok.start !== node.start) return false; + return this.matchesOriginal(tok, test); + } + endMatches(node, test) { + const indexes = this._nodesToTokenIndexes.get(node); + if (!indexes) return false; + const tok = this._tokens[indexes[indexes.length - 1]]; + if (tok.end !== node.end) return false; + return this.matchesOriginal(tok, test); + } + _getTokensIndexesOfNode(node) { + if (node.start == null || node.end == null) return []; + const { + first, + last + } = this._findTokensOfNode(node, 0, this._tokens.length - 1); + let low = first; + const children = childrenIterator(node); + if ((node.type === "ExportNamedDeclaration" || node.type === "ExportDefaultDeclaration") && node.declaration && node.declaration.type === "ClassDeclaration") { + children.next(); + } + const indexes = []; + for (const child of children) { + if (child == null) continue; + if (child.start == null || child.end == null) continue; + const childTok = this._findTokensOfNode(child, low, last); + const high = childTok.first; + for (let k = low; k < high; k++) indexes.push(k); + low = childTok.last + 1; + } + for (let k = low; k <= last; k++) indexes.push(k); + return indexes; + } + _findTokensOfNode(node, low, high) { + const cached = this._tokensCache.get(node); + if (cached) return cached; + const first = this._findFirstTokenOfNode(node.start, low, high); + const last = this._findLastTokenOfNode(node.end, first, high); + this._tokensCache.set(node, { + first, + last + }); + return { + first, + last + }; + } + _findFirstTokenOfNode(start, low, high) { + while (low <= high) { + const mid = high + low >> 1; + if (start < this._tokens[mid].start) { + high = mid - 1; + } else if (start > this._tokens[mid].start) { + low = mid + 1; + } else { + return mid; + } + } + return low; + } + _findLastTokenOfNode(end, low, high) { + while (low <= high) { + const mid = high + low >> 1; + if (end < this._tokens[mid].end) { + high = mid - 1; + } else if (end > this._tokens[mid].end) { + low = mid + 1; + } else { + return mid; + } + } + return high; + } +} +exports.TokenMap = TokenMap; +function* childrenIterator(node) { + if (node.type === "TemplateLiteral") { + yield node.quasis[0]; + for (let i = 1; i < node.quasis.length; i++) { + yield node.expressions[i - 1]; + yield node.quasis[i]; + } + return; + } + const keys = VISITOR_KEYS[node.type]; + for (const key of keys) { + const child = node[key]; + if (!child) continue; + if (Array.isArray(child)) { + yield* child; + } else { + yield child; + } + } +} + +//# sourceMappingURL=token-map.js.map + + /***/ }), /***/ 1097: @@ -23950,133 +22706,6 @@ function isKeyword(word) { //# sourceMappingURL=keyword.js.map -/***/ }), - -/***/ 7654: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = highlight; -exports.shouldHighlight = shouldHighlight; -var _jsTokens = __nccwpck_require__(1531); -var _helperValidatorIdentifier = __nccwpck_require__(2738); -var _picocolors = _interopRequireWildcard(__nccwpck_require__(7023), true); -function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } -function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } -const colors = typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? (0, _picocolors.createColors)(false) : _picocolors.default; -const compose = (f, g) => v => f(g(v)); -const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]); -function getDefs(colors) { - return { - keyword: colors.cyan, - capitalized: colors.yellow, - jsxIdentifier: colors.yellow, - punctuator: colors.yellow, - number: colors.magenta, - string: colors.green, - regex: colors.magenta, - comment: colors.gray, - invalid: compose(compose(colors.white, colors.bgRed), colors.bold) - }; -} -const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; -const BRACKET = /^[()[\]{}]$/; -let tokenize; -{ - const JSX_TAG = /^[a-z][\w-]*$/i; - const getTokenType = function (token, offset, text) { - if (token.type === "name") { - if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) { - return "keyword"; - } - if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === " colorize(str)).join("\n"); - } else { - highlighted += value; - } - } - return highlighted; -} -function shouldHighlight(options) { - return colors.isColorSupported || options.forceColor; -} -let pcWithForcedColor = undefined; -function getColors(forceColor) { - if (forceColor) { - var _pcWithForcedColor; - (_pcWithForcedColor = pcWithForcedColor) != null ? _pcWithForcedColor : pcWithForcedColor = (0, _picocolors.createColors)(true); - return pcWithForcedColor; - } - return colors; -} -function highlight(code, options = {}) { - if (code !== "" && shouldHighlight(options)) { - const defs = getDefs(getColors(options.forceColor)); - return highlightTokens(defs, code); - } else { - return code; - } -} -{ - let chalk, chalkWithForcedColor; - exports.getChalk = ({ - forceColor - }) => { - var _chalk; - (_chalk = chalk) != null ? _chalk : chalk = __nccwpck_require__(8707); - if (forceColor) { - var _chalkWithForcedColor; - (_chalkWithForcedColor = chalkWithForcedColor) != null ? _chalkWithForcedColor : chalkWithForcedColor = new chalk.constructor({ - enabled: true, - level: 1 - }); - return chalkWithForcedColor; - } - return chalk; - }; -} - -//# sourceMappingURL=index.js.map - - /***/ }), /***/ 5026: @@ -24224,14 +22853,11 @@ var StandardErrors = { }) => `Unsyntactic ${type === "BreakStatement" ? "break" : "continue"}.`, IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.", IllegalReturn: "'return' outside of function.", - ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedAssertSyntax: true` option in the import attributes plugin to suppress this error.", + ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.", ImportBindingIsString: ({ importName }) => `A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${importName}" as foo }\`?`, - ImportCallArgumentTrailingComma: "Trailing comma is disallowed inside import(...) arguments.", - ImportCallArity: ({ - maxArgumentCount - }) => `\`import()\` requires exactly ${maxArgumentCount === 1 ? "one argument" : "one or two arguments"}.`, + ImportCallArity: `\`import()\` requires exactly one or two arguments.`, ImportCallNotNewExpression: "Cannot use new with import(...).", ImportCallSpreadArgument: "`...` is not allowed in `import()`.", ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.", @@ -24395,7 +23021,7 @@ var StrictModeErrors = { StrictWith: "'with' in strict mode." }; const UnparenthesizedPipeBodyDescriptions = new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]); -var PipelineOperatorErrors = { +var PipelineOperatorErrors = Object.assign({ PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.", PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.', PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.", @@ -24407,14 +23033,15 @@ var PipelineOperatorErrors = { type }) => `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({ type - })}; please wrap it in parentheses.`, + })}; please wrap it in parentheses.` +}, { PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.', PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.", PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.", PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.", PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.", PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.' -}; +}); const _excluded = ["message"]; function defineHidden(obj, key, value) { Object.defineProperty(obj, key, { @@ -24508,6 +23135,54 @@ function ParseErrorEnum(argument, syntaxPlugin) { return ParseErrorConstructors; } const Errors = Object.assign({}, ParseErrorEnum(ModuleErrors), ParseErrorEnum(StandardErrors), ParseErrorEnum(StrictModeErrors), ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors)); +function createDefaultOptions() { + return { + sourceType: "script", + sourceFilename: undefined, + startIndex: 0, + startColumn: 0, + startLine: 1, + allowAwaitOutsideFunction: false, + allowReturnOutsideFunction: false, + allowNewTargetOutsideFunction: false, + allowImportExportEverywhere: false, + allowSuperOutsideMethod: false, + allowUndeclaredExports: false, + plugins: [], + strictMode: null, + ranges: false, + tokens: false, + createImportExpressions: false, + createParenthesizedExpressions: false, + errorRecovery: false, + attachComment: true, + annexB: true + }; +} +function getOptions(opts) { + const options = createDefaultOptions(); + if (opts == null) { + return options; + } + if (opts.annexB != null && opts.annexB !== false) { + throw new Error("The `annexB` option can only be set to `false`."); + } + for (const key of Object.keys(options)) { + if (opts[key] != null) options[key] = opts[key]; + } + if (options.startLine === 1) { + if (opts.startIndex == null && options.startColumn > 0) { + options.startIndex = options.startColumn; + } else if (opts.startColumn == null && options.startIndex > 0) { + options.startColumn = options.startIndex; + } + } else if (opts.startColumn == null || opts.startIndex == null) { + if (opts.startIndex != null) { + throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`."); + } + } + return options; +} const { defineProperty } = Object; @@ -24527,7 +23202,7 @@ function toESTreeLocation(node) { var estree = superClass => class ESTreeParserMixin extends superClass { parse() { const file = toESTreeLocation(super.parse()); - if (this.options.tokens) { + if (this.optionFlags & 128) { file.tokens = file.tokens.map(toESTreeLocation); } return file; @@ -24616,14 +23291,6 @@ var estree = superClass => class ESTreeParserMixin extends superClass { node.body = directiveStatements.concat(node.body); delete node.directives; } - pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { - this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true); - if (method.typeParameters) { - method.value.typeParameters = method.typeParameters; - delete method.typeParameters; - } - classBody.body.push(method); - } parsePrivateName() { const node = super.parsePrivateName(); { @@ -24674,6 +23341,14 @@ var estree = superClass => class ESTreeParserMixin extends superClass { funcNode.type = "FunctionExpression"; delete funcNode.kind; node.value = funcNode; + const { + typeParameters + } = node; + if (typeParameters) { + delete node.typeParameters; + funcNode.typeParameters = typeParameters; + this.resetStartLocationFromNode(funcNode, typeParameters); + } if (type === "ClassPrivateMethod") { node.computed = false; } @@ -24690,7 +23365,9 @@ var estree = superClass => class ESTreeParserMixin extends superClass { return propertyNode; } } - propertyNode.type = "PropertyDefinition"; + { + propertyNode.type = "PropertyDefinition"; + } return propertyNode; } parseClassPrivateProperty(...args) { @@ -24700,7 +23377,9 @@ var estree = superClass => class ESTreeParserMixin extends superClass { return propertyNode; } } - propertyNode.type = "PropertyDefinition"; + { + propertyNode.type = "PropertyDefinition"; + } propertyNode.computed = false; return propertyNode; } @@ -24758,13 +23437,11 @@ var estree = superClass => class ESTreeParserMixin extends superClass { finishCallExpression(unfinished, optional) { const node = super.finishCallExpression(unfinished, optional); if (node.callee.type === "Import") { + var _ref, _ref2; node.type = "ImportExpression"; node.source = node.arguments[0]; - if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { - var _ref, _ref2; - node.options = (_ref = node.arguments[1]) != null ? _ref : null; - node.attributes = (_ref2 = node.arguments[1]) != null ? _ref2 : null; - } + node.options = (_ref = node.arguments[1]) != null ? _ref : null; + node.attributes = (_ref2 = node.arguments[1]) != null ? _ref2 : null; delete node.arguments; delete node.callee; } @@ -25306,6 +23983,9 @@ const tt = { name: createToken("name", { startsExpr }), + placeholder: createToken("%%", { + startsExpr: true + }), string: createToken("string", { startsExpr }), @@ -25332,22 +24012,19 @@ const tt = { jsxTagStart: createToken("jsxTagStart", { startsExpr: true }), - jsxTagEnd: createToken("jsxTagEnd"), - placeholder: createToken("%%", { - startsExpr: true - }) + jsxTagEnd: createToken("jsxTagEnd") }; function tokenIsIdentifier(token) { - return token >= 93 && token <= 132; + return token >= 93 && token <= 133; } function tokenKeywordOrIdentifierIsKeyword(token) { return token <= 92; } function tokenIsKeywordOrIdentifier(token) { - return token >= 58 && token <= 132; + return token >= 58 && token <= 133; } function tokenIsLiteralPropertyName(token) { - return token >= 58 && token <= 136; + return token >= 58 && token <= 137; } function tokenComesBeforeExpression(token) { return tokenBeforeExprs[token]; @@ -25411,7 +24088,7 @@ function getExportedToken(token) { context.push(types.template); } }; - tokenTypes[142].updateContext = context => { + tokenTypes[143].updateContext = context => { context.push(types.j_expr, types.j_oTag); }; } @@ -25677,6 +24354,12 @@ class BaseParser { this.sawUnambiguousESM = false; this.ambiguousScriptDifferentAst = false; } + sourceToOffsetPos(sourcePos) { + return sourcePos + this.startIndex; + } + offsetToSourcePos(offsetPos) { + return offsetPos - this.startIndex; + } hasPlugin(pluginConfig) { if (typeof pluginConfig === "string") { return this.plugins.has(pluginConfig); @@ -25790,7 +24473,7 @@ class CommentsParser extends BaseParser { containingNode: node, start: commentStart } = commentWS; - if (this.input.charCodeAt(commentStart - 1) === 44) { + if (this.input.charCodeAt(this.offsetToSourcePos(commentStart) - 1) === 44) { switch (node.type) { case "ObjectExpression": case "ObjectPattern": @@ -25818,6 +24501,14 @@ class CommentsParser extends BaseParser { case "ImportDeclaration": adjustInnerComments(node, node.specifiers, commentWS); break; + case "TSEnumDeclaration": + { + adjustInnerComments(node, node.members, commentWS); + } + break; + case "TSEnumBody": + adjustInnerComments(node, node.members, commentWS); + break; default: { setInnerComments(node, comments); @@ -25939,6 +24630,7 @@ function isWhitespace(code) { class State { constructor() { this.flags = 1024; + this.startIndex = void 0; this.curLine = void 0; this.lineStart = void 0; this.startLoc = void 0; @@ -25955,7 +24647,7 @@ class State { this.commentsLen = 0; this.commentStack = []; this.pos = 0; - this.type = 139; + this.type = 140; this.value = null; this.start = 0; this.end = 0; @@ -25975,13 +24667,15 @@ class State { init({ strictMode, sourceType, + startIndex, startLine, startColumn }) { this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === "module"; + this.startIndex = startIndex; this.curLine = startLine; this.lineStart = -startColumn; - this.startLoc = this.endLoc = new Position(startLine, startColumn, 0); + this.startLoc = this.endLoc = new Position(startLine, startColumn, startIndex); } get maybeInArrowParameters() { return (this.flags & 2) > 0; @@ -26056,11 +24750,12 @@ class State { if (v) this.flags |= 4096;else this.flags &= -4097; } curPosition() { - return new Position(this.curLine, this.pos - this.lineStart, this.pos); + return new Position(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex); } clone() { const state = new State(); state.flags = this.flags; + state.startIndex = this.startIndex; state.curLine = this.curLine; state.lineStart = this.lineStart; state.startLoc = this.startLoc; @@ -26378,10 +25073,11 @@ function buildPosition(pos, lineStart, curLine) { const VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]); class Token { constructor(state) { + const startIndex = state.startIndex || 0; this.type = state.type; this.value = state.value; - this.start = state.start; - this.end = state.end; + this.start = startIndex + state.start; + this.end = startIndex + state.end; this.loc = new SourceLocation(state.startLoc, state.endLoc); } } @@ -26392,7 +25088,7 @@ class Tokenizer extends CommentsParser { this.tokens = []; this.errorHandlers_readInt = { invalidDigit: (pos, lineStart, curLine, radix) => { - if (!this.options.errorRecovery) return false; + if (!(this.optionFlags & 1024)) return false; this.raise(Errors.InvalidDigit, buildPosition(pos, lineStart, curLine), { radix }); @@ -26433,7 +25129,7 @@ class Tokenizer extends CommentsParser { } next() { this.checkKeywordEscapes(); - if (this.options.tokens) { + if (this.optionFlags & 128) { this.pushToken(new Token(this.state)); } this.state.lastTokEndLoc = this.state.endLoc; @@ -26522,7 +25218,7 @@ class Tokenizer extends CommentsParser { this.state.start = this.state.pos; if (!this.isLookahead) this.state.startLoc = this.state.curPosition(); if (this.state.pos >= this.length) { - this.finishToken(139); + this.finishToken(140); return; } this.getTokenFromCode(this.codePointAtPos(this.state.pos)); @@ -26545,11 +25241,11 @@ class Tokenizer extends CommentsParser { const comment = { type: "CommentBlock", value: this.input.slice(start + 2, end), - start, - end: end + commentEnd.length, + start: this.sourceToOffsetPos(start), + end: this.sourceToOffsetPos(end + commentEnd.length), loc: new SourceLocation(startLoc, this.state.curPosition()) }; - if (this.options.tokens) this.pushToken(comment); + if (this.optionFlags & 128) this.pushToken(comment); return comment; } skipLineComment(startSkip) { @@ -26568,16 +25264,16 @@ class Tokenizer extends CommentsParser { const comment = { type: "CommentLine", value, - start, - end, + start: this.sourceToOffsetPos(start), + end: this.sourceToOffsetPos(end), loc: new SourceLocation(startLoc, this.state.curPosition()) }; - if (this.options.tokens) this.pushToken(comment); + if (this.optionFlags & 128) this.pushToken(comment); return comment; } skipSpace() { const spaceStart = this.state.pos; - const comments = []; + const comments = this.optionFlags & 2048 ? [] : null; loop: while (this.state.pos < this.length) { const ch = this.input.charCodeAt(this.state.pos); switch (ch) { @@ -26604,7 +25300,7 @@ class Tokenizer extends CommentsParser { const comment = this.skipBlockComment("*/"); if (comment !== undefined) { this.addComment(comment); - if (this.options.attachComment) comments.push(comment); + comments == null || comments.push(comment); } break; } @@ -26613,7 +25309,7 @@ class Tokenizer extends CommentsParser { const comment = this.skipLineComment(2); if (comment !== undefined) { this.addComment(comment); - if (this.options.attachComment) comments.push(comment); + comments == null || comments.push(comment); } break; } @@ -26624,24 +25320,24 @@ class Tokenizer extends CommentsParser { default: if (isWhitespace(ch)) { ++this.state.pos; - } else if (ch === 45 && !this.inModule && this.options.annexB) { + } else if (ch === 45 && !this.inModule && this.optionFlags & 4096) { const pos = this.state.pos; if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) { const comment = this.skipLineComment(3); if (comment !== undefined) { this.addComment(comment); - if (this.options.attachComment) comments.push(comment); + comments == null || comments.push(comment); } } else { break loop; } - } else if (ch === 60 && !this.inModule && this.options.annexB) { + } else if (ch === 60 && !this.inModule && this.optionFlags & 4096) { const pos = this.state.pos; if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) { const comment = this.skipLineComment(4); if (comment !== undefined) { this.addComment(comment); - if (this.options.attachComment) comments.push(comment); + comments == null || comments.push(comment); } } else { break loop; @@ -26651,11 +25347,11 @@ class Tokenizer extends CommentsParser { } } } - if (comments.length > 0) { + if ((comments == null ? void 0 : comments.length) > 0) { const end = this.state.pos; const commentWhitespace = { - start: spaceStart, - end, + start: this.sourceToOffsetPos(spaceStart), + end: this.sourceToOffsetPos(end), comments, leadingNode: null, trailingNode: null, @@ -26700,10 +25396,10 @@ class Tokenizer extends CommentsParser { } } else if (isIdentifierStart(next)) { ++this.state.pos; - this.finishToken(138, this.readWord1(next)); + this.finishToken(139, this.readWord1(next)); } else if (next === 92) { ++this.state.pos; - this.finishToken(138, this.readWord1()); + this.finishToken(139, this.readWord1()); } else { this.finishOp(27, 1); } @@ -27115,7 +25811,7 @@ class Tokenizer extends CommentsParser { mods += char; } this.state.pos = pos; - this.finishToken(137, { + this.finishToken(138, { pattern: content, flags: mods }); @@ -27129,6 +25825,7 @@ class Tokenizer extends CommentsParser { return n; } readRadixNumber(radix) { + const start = this.state.pos; const startLoc = this.state.curPosition(); let isBigInt = false; this.state.pos += 2; @@ -27149,11 +25846,11 @@ class Tokenizer extends CommentsParser { throw this.raise(Errors.NumberIdentifier, this.state.curPosition()); } if (isBigInt) { - const str = this.input.slice(startLoc.index, this.state.pos).replace(/[_n]/g, ""); - this.finishToken(135, str); + const str = this.input.slice(start, this.state.pos).replace(/[_n]/g, ""); + this.finishToken(136, str); return; } - this.finishToken(134, val); + this.finishToken(135, val); } readNumber(startsWithDot) { const start = this.state.pos; @@ -27216,15 +25913,15 @@ class Tokenizer extends CommentsParser { } const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, ""); if (isBigInt) { - this.finishToken(135, str); + this.finishToken(136, str); return; } if (isDecimal) { - this.finishToken(136, str); + this.finishToken(137, str); return; } const val = isOctal ? parseInt(str, 8) : parseFloat(str); - this.finishToken(134, val); + this.finishToken(135, val); } readCodePoint(throwOnInvalid) { const { @@ -27244,7 +25941,7 @@ class Tokenizer extends CommentsParser { this.state.pos = pos + 1; this.state.lineStart = lineStart; this.state.curLine = curLine; - this.finishToken(133, str); + this.finishToken(134, str); } readTemplateContinuation() { if (!this.match(8)) { @@ -27266,7 +25963,7 @@ class Tokenizer extends CommentsParser { this.state.lineStart = lineStart; this.state.curLine = curLine; if (firstInvalidLoc) { - this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, firstInvalidLoc.pos); + this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, this.sourceToOffsetPos(firstInvalidLoc.pos)); } if (this.input.codePointAt(pos) === 96) { this.finishToken(24, firstInvalidLoc ? null : opening + str + "`"); @@ -27342,7 +26039,7 @@ class Tokenizer extends CommentsParser { raise(toParseError, at, details = {}) { const loc = at instanceof Position ? at : at.loc.start; const error = toParseError(loc, details); - if (!this.options.errorRecovery) throw error; + if (!(this.optionFlags & 1024)) throw error; if (!this.isLookahead) this.state.errors.push(error); return error; } @@ -27654,10 +26351,10 @@ class UtilParser extends Tokenizer { } } canInsertSemicolon() { - return this.match(139) || this.match(8) || this.hasPrecedingLineBreak(); + return this.match(140) || this.match(8) || this.hasPrecedingLineBreak(); } hasPrecedingLineBreak() { - return hasNewLine(this.input, this.state.lastTokEndLoc.index, this.state.start); + return hasNewLine(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start); } hasFollowingLineBreak() { return hasNewLine(this.input, this.state.end, this.nextTokenStart()); @@ -27826,7 +26523,7 @@ class Node { this.start = pos; this.end = 0; this.loc = new SourceLocation(loc); - if (parser != null && parser.options.ranges) this.range = [pos, 0]; + if ((parser == null ? void 0 : parser.optionFlags) & 64) this.range = [pos, 0]; if (parser != null && parser.filename) this.loc.filename = parser.filename; } } @@ -27914,19 +26611,21 @@ class NodeUtils extends UtilParser { node.type = type; node.end = endLoc.index; node.loc.end = endLoc; - if (this.options.ranges) node.range[1] = endLoc.index; - if (this.options.attachComment) this.processComment(node); + if (this.optionFlags & 64) node.range[1] = endLoc.index; + if (this.optionFlags & 2048) { + this.processComment(node); + } return node; } resetStartLocation(node, startLoc) { node.start = startLoc.index; node.loc.start = startLoc; - if (this.options.ranges) node.range[0] = startLoc.index; + if (this.optionFlags & 64) node.range[0] = startLoc.index; } resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { node.end = endLoc.index; node.loc.end = endLoc; - if (this.options.ranges) node.range[1] = endLoc.index; + if (this.optionFlags & 64) node.range[1] = endLoc.index; } resetStartLocationFromNode(node, locationNode) { this.resetStartLocation(node, locationNode.loc.start); @@ -28059,7 +26758,7 @@ var flow = superClass => class FlowParserMixin extends superClass { return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; } finishToken(type, val) { - if (type !== 133 && type !== 13 && type !== 28) { + if (type !== 134 && type !== 13 && type !== 28) { if (this.flowPragma === undefined) { this.flowPragma = null; } @@ -28187,7 +26886,7 @@ var flow = superClass => class FlowParserMixin extends superClass { } flowParseDeclareModule(node) { this.scope.enter(0); - if (this.match(133)) { + if (this.match(134)) { node.id = super.parseExprAtom(); } else { node.id = this.parseIdentifier(); @@ -28414,7 +27113,7 @@ var flow = superClass => class FlowParserMixin extends superClass { const node = this.startNode(); node.params = []; this.state.inType = true; - if (this.match(47) || this.match(142)) { + if (this.match(47) || this.match(143)) { this.next(); } else { this.unexpected(); @@ -28434,26 +27133,49 @@ var flow = superClass => class FlowParserMixin extends superClass { this.state.inType = oldInType; return this.finishNode(node, "TypeParameterDeclaration"); } + flowInTopLevelContext(cb) { + if (this.curContext() !== types.brace) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } else { + return cb(); + } + } + flowParseTypeParameterInstantiationInExpression() { + if (this.reScan_lt() !== 47) return; + return this.flowParseTypeParameterInstantiation(); + } flowParseTypeParameterInstantiation() { const node = this.startNode(); const oldInType = this.state.inType; - node.params = []; this.state.inType = true; - this.expect(47); - const oldNoAnonFunctionType = this.state.noAnonFunctionType; - this.state.noAnonFunctionType = false; - while (!this.match(48)) { - node.params.push(this.flowParseType()); - if (!this.match(48)) { - this.expect(12); + node.params = []; + this.flowInTopLevelContext(() => { + this.expect(47); + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = false; + while (!this.match(48)) { + node.params.push(this.flowParseType()); + if (!this.match(48)) { + this.expect(12); + } } + this.state.noAnonFunctionType = oldNoAnonFunctionType; + }); + this.state.inType = oldInType; + if (!this.state.inType && this.curContext() === types.brace) { + this.reScan_lt_gt(); } - this.state.noAnonFunctionType = oldNoAnonFunctionType; this.expect(48); - this.state.inType = oldInType; return this.finishNode(node, "TypeParameterInstantiation"); } flowParseTypeParameterInstantiationCallOrNew() { + if (this.reScan_lt() !== 47) return; const node = this.startNode(); const oldInType = this.state.inType; node.params = []; @@ -28488,7 +27210,7 @@ var flow = superClass => class FlowParserMixin extends superClass { return this.finishNode(node, "InterfaceTypeAnnotation"); } flowParseObjectPropertyKey() { - return this.match(134) || this.match(133) ? super.parseExprAtom() : this.parseIdentifier(true); + return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(true); } flowParseObjectTypeIndexer(node, isStatic, variance) { node.static = isStatic; @@ -28932,7 +27654,7 @@ var flow = superClass => class FlowParserMixin extends superClass { node.typeParameters = null; return this.finishNode(node, "FunctionTypeAnnotation"); } - case 133: + case 134: return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); case 85: case 86: @@ -28942,19 +27664,19 @@ var flow = superClass => class FlowParserMixin extends superClass { case 53: if (this.state.value === "-") { this.next(); - if (this.match(134)) { + if (this.match(135)) { return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node); } - if (this.match(135)) { + if (this.match(136)) { return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node); } throw this.raise(FlowErrors.UnexpectedSubtractionOperand, this.state.startLoc); } this.unexpected(); return; - case 134: - return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); case 135: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); + case 136: return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); case 88: this.next(); @@ -29124,7 +27846,7 @@ var flow = superClass => class FlowParserMixin extends superClass { this.next(); return this.flowParseInterface(node); } - } else if (this.plugins.get("flow").enums && this.isContextual(126)) { + } else if (this.isContextual(126)) { const node = this.startNode(); this.next(); return this.flowParseEnumDeclaration(node); @@ -29157,7 +27879,7 @@ var flow = superClass => class FlowParserMixin extends superClass { const { type } = this.state; - if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.plugins.get("flow").enums && type === 126) { + if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) { return !this.state.containsEsc; } return super.shouldParseExportDeclaration(); @@ -29166,13 +27888,13 @@ var flow = superClass => class FlowParserMixin extends superClass { const { type } = this.state; - if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.plugins.get("flow").enums && type === 126) { + if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) { return this.state.containsEsc; } return super.isExportDefaultSpecifier(); } parseExportDefaultExpression() { - if (this.plugins.get("flow").enums && this.isContextual(126)) { + if (this.isContextual(126)) { const node = this.startNode(); this.next(); return this.flowParseEnumDeclaration(node); @@ -29274,7 +27996,7 @@ var flow = superClass => class FlowParserMixin extends superClass { } forwardNoArrowParamsConversionAt(node, parse) { let result; - if (this.state.noArrowParamsConversionAt.includes(node.start)) { + if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) { this.state.noArrowParamsConversionAt.push(this.state.start); result = parse(); this.state.noArrowParamsConversionAt.pop(); @@ -29325,7 +28047,7 @@ var flow = superClass => class FlowParserMixin extends superClass { const declarationNode = this.startNode(); this.next(); return this.flowParseInterface(declarationNode); - } else if (this.plugins.get("flow").enums && this.isContextual(126)) { + } else if (this.isContextual(126)) { node.exportKind = "value"; const declarationNode = this.startNode(); this.next(); @@ -29507,8 +28229,10 @@ var flow = superClass => class FlowParserMixin extends superClass { } parseClassSuper(node) { super.parseClassSuper(node); - if (node.superClass && this.match(47)) { - node.superTypeParameters = this.flowParseTypeParameterInstantiation(); + if (node.superClass && (this.match(47) || this.match(51))) { + { + node.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression(); + } } if (this.isContextual(113)) { this.next(); @@ -29707,7 +28431,7 @@ var flow = superClass => class FlowParserMixin extends superClass { var _jsx; let state = null; let jsx; - if (this.hasPlugin("jsx") && (this.match(142) || this.match(47))) { + if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) { state = this.state.clone(); jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); if (!jsx.error) return jsx.node; @@ -29784,14 +28508,14 @@ var flow = superClass => class FlowParserMixin extends superClass { return this.match(14) || super.shouldParseArrow(params); } setArrowFunctionParameters(node, params) { - if (this.state.noArrowParamsConversionAt.includes(node.start)) { + if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) { node.params = params; } else { super.setArrowFunctionParameters(node, params); } } checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { - if (isArrowFunction && this.state.noArrowParamsConversionAt.includes(node.start)) { + if (isArrowFunction && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) { return; } for (let i = 0; i < node.params.length; i++) { @@ -29802,14 +28526,14 @@ var flow = superClass => class FlowParserMixin extends superClass { super.checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged); } parseParenAndDistinguishExpression(canBeArrow) { - return super.parseParenAndDistinguishExpression(canBeArrow && !this.state.noArrowAt.includes(this.state.start)); + return super.parseParenAndDistinguishExpression(canBeArrow && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start))); } parseSubscripts(base, startLoc, noCalls) { if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.includes(startLoc.index)) { this.next(); const node = this.startNodeAt(startLoc); node.callee = base; - node.arguments = super.parseCallExpressionArguments(11, false); + node.arguments = super.parseCallExpressionArguments(11); base = this.finishNode(node, "CallExpression"); } else if (base.type === "Identifier" && base.name === "async" && this.match(47)) { const state = this.state.clone(); @@ -29839,18 +28563,18 @@ var flow = superClass => class FlowParserMixin extends superClass { this.next(); const node = this.startNodeAt(startLoc); node.callee = base; - node.typeArguments = this.flowParseTypeParameterInstantiation(); + node.typeArguments = this.flowParseTypeParameterInstantiationInExpression(); this.expect(10); - node.arguments = this.parseCallExpressionArguments(11, false); + node.arguments = this.parseCallExpressionArguments(11); node.optional = true; return this.finishCallExpression(node, true); - } else if (!noCalls && this.shouldParseTypes() && this.match(47)) { + } else if (!noCalls && this.shouldParseTypes() && (this.match(47) || this.match(51))) { const node = this.startNodeAt(startLoc); node.callee = base; const result = this.tryParse(() => { node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(); this.expect(10); - node.arguments = super.parseCallExpressionArguments(11, false); + node.arguments = super.parseCallExpressionArguments(11); if (subscriptState.optionalChainMember) { node.optional = false; } @@ -29966,7 +28690,7 @@ var flow = superClass => class FlowParserMixin extends superClass { const startLoc = this.state.startLoc; const endOfInit = () => this.match(12) || this.match(8); switch (this.state.type) { - case 134: + case 135: { const literal = this.parseNumericLiteral(this.state.value); if (endOfInit()) { @@ -29981,7 +28705,7 @@ var flow = superClass => class FlowParserMixin extends superClass { loc: startLoc }; } - case 133: + case 134: { const literal = this.parseStringLiteral(this.state.value); if (endOfInit()) { @@ -30273,6 +28997,14 @@ var flow = superClass => class FlowParserMixin extends superClass { node.body = this.flowEnumBody(this.startNode(), id); return this.finishNode(node, "EnumDeclaration"); } + jsxParseOpeningElementAfterName(node) { + if (this.shouldParseTypes()) { + if (this.match(47) || this.match(51)) { + node.typeArguments = this.flowParseTypeParameterInstantiationInExpression(); + } + } + return super.jsxParseOpeningElementAfterName(node); + } isLookaheadToken_lt() { const next = this.nextTokenStart(); if (this.input.charCodeAt(next) === 60) { @@ -30281,6 +29013,29 @@ var flow = superClass => class FlowParserMixin extends superClass { } return false; } + reScan_lt_gt() { + const { + type + } = this.state; + if (type === 47) { + this.state.pos -= 1; + this.readToken_lt(); + } else if (type === 48) { + this.state.pos -= 1; + this.readToken_gt(); + } + } + reScan_lt() { + const { + type + } = this.state; + if (type === 51) { + this.state.pos -= 2; + this.finishOp(47, 1); + return 47; + } + return type; + } maybeUnwrapTypeCastExpression(node) { return node.type === "TypeCastExpression" ? node.expression : node; } @@ -30586,14 +29341,14 @@ var jsx = superClass => class JSXParserMixin extends superClass { if (this.state.pos === this.state.start) { if (ch === 60 && this.state.canStartJSXElement) { ++this.state.pos; - this.finishToken(142); + this.finishToken(143); } else { super.getTokenFromCode(ch); } return; } out += this.input.slice(chunkStart, this.state.pos); - this.finishToken(141, out); + this.finishToken(142, out); return; case 38: out += this.input.slice(chunkStart, this.state.pos); @@ -30649,7 +29404,7 @@ var jsx = superClass => class JSXParserMixin extends superClass { } } out += this.input.slice(chunkStart, this.state.pos++); - this.finishToken(133, out); + this.finishToken(134, out); } jsxReadEntity() { const startPos = ++this.state.pos; @@ -30689,11 +29444,11 @@ var jsx = superClass => class JSXParserMixin extends superClass { do { ch = this.input.charCodeAt(++this.state.pos); } while (isIdentifierChar(ch) || ch === 45); - this.finishToken(140, this.input.slice(start, this.state.pos)); + this.finishToken(141, this.input.slice(start, this.state.pos)); } jsxParseIdentifier() { const node = this.startNode(); - if (this.match(140)) { + if (this.match(141)) { node.name = this.state.value; } else if (tokenIsKeyword(this.state.type)) { node.name = tokenLabelName(this.state.type); @@ -30738,8 +29493,8 @@ var jsx = superClass => class JSXParserMixin extends superClass { this.raise(JsxErrors.AttributeIsEmpty, node); } return node; - case 142: - case 133: + case 143: + case 134: return this.parseExprAtom(); default: throw this.raise(JsxErrors.UnsupportedJsxValue, this.state.startLoc); @@ -30787,7 +29542,7 @@ var jsx = superClass => class JSXParserMixin extends superClass { } jsxParseOpeningElementAt(startLoc) { const node = this.startNodeAt(startLoc); - if (this.eat(143)) { + if (this.eat(144)) { return this.finishNode(node, "JSXOpeningFragment"); } node.name = this.jsxParseElementName(); @@ -30795,21 +29550,21 @@ var jsx = superClass => class JSXParserMixin extends superClass { } jsxParseOpeningElementAfterName(node) { const attributes = []; - while (!this.match(56) && !this.match(143)) { + while (!this.match(56) && !this.match(144)) { attributes.push(this.jsxParseAttribute()); } node.attributes = attributes; node.selfClosing = this.eat(56); - this.expect(143); + this.expect(144); return this.finishNode(node, "JSXOpeningElement"); } jsxParseClosingElementAt(startLoc) { const node = this.startNodeAt(startLoc); - if (this.eat(143)) { + if (this.eat(144)) { return this.finishNode(node, "JSXClosingFragment"); } node.name = this.jsxParseElementName(); - this.expect(143); + this.expect(144); return this.finishNode(node, "JSXClosingElement"); } jsxParseElementAt(startLoc) { @@ -30820,7 +29575,7 @@ var jsx = superClass => class JSXParserMixin extends superClass { if (!openingElement.selfClosing) { contents: for (;;) { switch (this.state.type) { - case 142: + case 143: startLoc = this.state.startLoc; this.next(); if (this.eat(56)) { @@ -30829,7 +29584,7 @@ var jsx = superClass => class JSXParserMixin extends superClass { } children.push(this.jsxParseElementAt(startLoc)); break; - case 141: + case 142: children.push(this.parseLiteral(this.state.value, "JSXText")); break; case 5: @@ -30887,10 +29642,10 @@ var jsx = superClass => class JSXParserMixin extends superClass { context[context.length - 1] = newContext; } parseExprAtom(refExpressionErrors) { - if (this.match(142)) { + if (this.match(143)) { return this.jsxParseElement(); } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) { - this.replaceToken(142); + this.replaceToken(143); return this.jsxParseElement(); } else { return super.parseExprAtom(refExpressionErrors); @@ -30913,7 +29668,7 @@ var jsx = superClass => class JSXParserMixin extends superClass { } if (code === 62) { ++this.state.pos; - this.finishToken(143); + this.finishToken(144); return; } if ((code === 34 || code === 39) && context === types.j_oTag) { @@ -30923,7 +29678,7 @@ var jsx = superClass => class JSXParserMixin extends superClass { } if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) { ++this.state.pos; - this.finishToken(142); + this.finishToken(143); return; } super.getTokenFromCode(code); @@ -30933,12 +29688,12 @@ var jsx = superClass => class JSXParserMixin extends superClass { context, type } = this.state; - if (type === 56 && prevType === 142) { + if (type === 56 && prevType === 143) { context.splice(-2, 2, types.j_cTag); this.state.canStartJSXElement = false; - } else if (type === 142) { - context.push(types.j_oTag); } else if (type === 143) { + context.push(types.j_oTag); + } else if (type === 144) { const out = context[context.length - 1]; if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) { context.pop(); @@ -31295,7 +30050,7 @@ class LValParser extends NodeUtils { return this.parseBindingRestProperty(this.startNode()); } const prop = this.startNode(); - if (type === 138) { + if (type === 139) { this.expectPlugin("destructuringPrivate", startLoc); this.classScope.usePrivateName(this.state.value, startLoc); prop.key = this.parsePrivateName(); @@ -31619,7 +30374,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { return tokenIsIdentifier(this.state.type); } tsTokenCanFollowModifier() { - return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(138) || this.isLiteralPropertyName(); + return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName(); } tsNextTokenOnSameLineAndCanFollowModifier() { this.next(); @@ -31790,46 +30545,61 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { const node = this.startNode(); this.expect(83); this.expect(10); - if (!this.match(133)) { + if (!this.match(134)) { this.raise(TSErrors.UnsupportedImportTypeArgument, this.state.startLoc); - } - node.argument = super.parseExprAtom(); - if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { - node.options = null; - } - if (this.eat(12)) { - if (!this.hasPlugin("importAssertions")) { - this.expectPlugin("importAttributes"); + { + node.argument = super.parseExprAtom(); } - if (!this.match(11)) { - node.options = super.parseMaybeAssignAllowIn(); - this.eat(12); + } else { + { + node.argument = this.parseStringLiteral(this.state.value); } } + if (this.eat(12) && !this.match(11)) { + node.options = super.parseMaybeAssignAllowIn(); + this.eat(12); + } else { + node.options = null; + } this.expect(11); if (this.eat(16)) { - node.qualifier = this.tsParseEntityName(); + node.qualifier = this.tsParseEntityName(1 | 2); } if (this.match(47)) { - node.typeParameters = this.tsParseTypeArguments(); + { + node.typeParameters = this.tsParseTypeArguments(); + } } return this.finishNode(node, "TSImportType"); } - tsParseEntityName(allowReservedWords = true) { - let entity = this.parseIdentifier(allowReservedWords); + tsParseEntityName(flags) { + let entity; + if (flags & 1 && this.match(78)) { + if (flags & 2) { + entity = this.parseIdentifier(true); + } else { + const node = this.startNode(); + this.next(); + entity = this.finishNode(node, "ThisExpression"); + } + } else { + entity = this.parseIdentifier(!!(flags & 1)); + } while (this.eat(16)) { const node = this.startNodeAtNode(entity); node.left = entity; - node.right = this.parseIdentifier(allowReservedWords); + node.right = this.parseIdentifier(!!(flags & 1)); entity = this.finishNode(node, "TSQualifiedName"); } return entity; } tsParseTypeReference() { const node = this.startNode(); - node.typeName = this.tsParseEntityName(); + node.typeName = this.tsParseEntityName(1); if (!this.hasPrecedingLineBreak() && this.match(47)) { - node.typeParameters = this.tsParseTypeArguments(); + { + node.typeParameters = this.tsParseTypeArguments(); + } } return this.finishNode(node, "TSTypeReference"); } @@ -31852,10 +30622,14 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { if (this.match(83)) { node.exprName = this.tsParseImportType(); } else { - node.exprName = this.tsParseEntityName(); + { + node.exprName = this.tsParseEntityName(1 | 2); + } } if (!this.hasPrecedingLineBreak() && this.match(47)) { - node.typeParameters = this.tsParseTypeArguments(); + { + node.typeParameters = this.tsParseTypeArguments(); + } } return this.finishNode(node, "TSTypeQuery"); } @@ -31874,7 +30648,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } tsParseTypeParameters(parseModifiers) { const node = this.startNode(); - if (this.match(47) || this.match(142)) { + if (this.match(47) || this.match(143)) { this.next(); } else { this.unexpected(); @@ -32110,10 +30884,11 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { return this.finishNode(node, "TSTupleType"); } tsParseTupleElementType() { + const restStartLoc = this.state.startLoc; + const rest = this.eat(21); const { startLoc } = this.state; - const rest = this.eat(21); let labeled; let label; let optional; @@ -32128,7 +30903,6 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { type = this.tsParseType(); } else if (chAfterWord === 63) { optional = true; - const startLoc = this.state.startLoc; const wordName = this.state.value; const typeOrLabel = this.tsParseNonArrayType(); if (this.lookaheadCharCode() === 58) { @@ -32150,7 +30924,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { if (labeled) { let labeledNode; if (label) { - labeledNode = this.startNodeAtNode(label); + labeledNode = this.startNodeAt(startLoc); labeledNode.optional = optional; labeledNode.label = label; labeledNode.elementType = type; @@ -32159,7 +30933,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { this.raise(TSErrors.TupleOptionalAfterType, this.state.lastTokStartLoc); } } else { - labeledNode = this.startNodeAtNode(type); + labeledNode = this.startNodeAt(startLoc); labeledNode.optional = optional; this.raise(TSErrors.InvalidTupleMemberLabel, type); labeledNode.label = type; @@ -32167,12 +30941,12 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } type = this.finishNode(labeledNode, "TSNamedTupleMember"); } else if (optional) { - const optionalTypeNode = this.startNodeAtNode(type); + const optionalTypeNode = this.startNodeAt(startLoc); optionalTypeNode.typeAnnotation = type; type = this.finishNode(optionalTypeNode, "TSOptionalType"); } if (rest) { - const restNode = this.startNodeAt(startLoc); + const restNode = this.startNodeAt(restStartLoc); restNode.typeAnnotation = type; type = this.finishNode(restNode, "TSRestType"); } @@ -32198,9 +30972,9 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { tsParseLiteralTypeNode() { const node = this.startNode(); switch (this.state.type) { - case 134: case 135: - case 133: + case 136: + case 134: case 85: case 86: node.literal = super.parseExprAtom(); @@ -32211,9 +30985,11 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { return this.finishNode(node, "TSLiteralType"); } tsParseTemplateLiteralType() { - const node = this.startNode(); - node.literal = super.parseTemplate(false); - return this.finishNode(node, "TSLiteralType"); + { + const node = this.startNode(); + node.literal = super.parseTemplate(false); + return this.finishNode(node, "TSLiteralType"); + } } parseTemplateSubstitution() { if (this.state.inType) return this.tsParseType(); @@ -32229,9 +31005,9 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } tsParseNonArrayType() { switch (this.state.type) { - case 133: case 134: case 135: + case 136: case 85: case 86: return this.tsParseLiteralTypeNode(); @@ -32239,7 +31015,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { if (this.state.value === "-") { const node = this.startNode(); const nextToken = this.lookahead(); - if (nextToken.type !== 134 && nextToken.type !== 135) { + if (nextToken.type !== 135 && nextToken.type !== 136) { this.unexpected(); } node.literal = this.parseMaybeUnary(); @@ -32280,15 +31056,18 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { this.unexpected(); } tsParseArrayTypeOrHigher() { + const { + startLoc + } = this.state; let type = this.tsParseNonArrayType(); while (!this.hasPrecedingLineBreak() && this.eat(0)) { if (this.match(3)) { - const node = this.startNodeAtNode(type); + const node = this.startNodeAt(startLoc); node.elementType = type; this.expect(3); type = this.finishNode(node, "TSArrayType"); } else { - const node = this.startNodeAtNode(type); + const node = this.startNodeAt(startLoc); node.objectType = type; node.indexType = this.tsParseType(); this.expect(3); @@ -32541,11 +31320,13 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { const originalStartLoc = this.state.startLoc; const delimitedList = this.tsParseDelimitedList("HeritageClauseElement", () => { const node = this.startNode(); - node.expression = this.tsParseEntityName(); - if (this.match(47)) { - node.typeParameters = this.tsParseTypeArguments(); + { + node.expression = this.tsParseEntityName(1 | 2); + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSExpressionWithTypeArguments"); } - return this.finishNode(node, "TSExpressionWithTypeArguments"); }); if (!delimitedList.length) { this.raise(TSErrors.EmptyHeritageClauseType, originalStartLoc, { @@ -32590,13 +31371,17 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { this.semicolon(); return this.finishNode(node, "TSTypeAliasDeclaration"); } - tsInNoContext(cb) { - const oldContext = this.state.context; - this.state.context = [oldContext[0]]; - try { + tsInTopLevelContext(cb) { + if (this.curContext() !== types.brace) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } else { return cb(); - } finally { - this.state.context = oldContext; } } tsInType(cb) { @@ -32645,7 +31430,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } tsParseEnumMember() { const node = this.startNode(); - node.id = this.match(133) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true); + node.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true); if (this.eat(29)) { node.initializer = super.parseMaybeAssignAllowIn(); } @@ -32657,10 +31442,19 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { this.expectContextual(126); node.id = this.parseIdentifier(); this.checkIdentifier(node.id, node.const ? 8971 : 8459); + { + this.expect(5); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(8); + } + return this.finishNode(node, "TSEnumDeclaration"); + } + tsParseEnumBody() { + const node = this.startNode(); this.expect(5); node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); this.expect(8); - return this.finishNode(node, "TSEnumDeclaration"); + return this.finishNode(node, "TSEnumBody"); } tsParseModuleBlock() { const node = this.startNode(); @@ -32690,9 +31484,13 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } tsParseAmbientExternalModuleDeclaration(node) { if (this.isContextual(112)) { - node.global = true; + node.kind = "global"; + { + node.global = true; + } node.id = this.parseIdentifier(); - } else if (this.match(133)) { + } else if (this.match(134)) { + node.kind = "module"; node.id = super.parseStringLiteral(this.state.value); } else { this.unexpected(); @@ -32709,7 +31507,9 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { return this.finishNode(node, "TSModuleDeclaration"); } tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier, isExport) { - node.isExport = isExport || false; + { + node.isExport = isExport || false; + } node.id = maybeDefaultIdentifier || this.parseIdentifier(); this.checkIdentifier(node.id, 4096); this.expect(29); @@ -32725,13 +31525,13 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { return this.isContextual(119) && this.lookaheadCharCode() === 40; } tsParseModuleReference() { - return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false); + return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(0); } tsParseExternalModuleReference() { const node = this.startNode(); this.expectContextual(119); this.expect(10); - if (!this.match(133)) { + if (!this.match(134)) { this.unexpected(); } node.expression = super.parseExprAtom(); @@ -32826,7 +31626,10 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { this.scope.enter(256); this.prodParam.enter(0); const mod = node; - mod.global = true; + mod.kind = "global"; + { + node.global = true; + } mod.id = expr; mod.body = this.tsParseModuleBlock(); this.scope.exit(); @@ -32847,15 +31650,17 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { break; case "module": if (this.tsCheckLineTerminator(next)) { - if (this.match(133)) { + if (this.match(134)) { return this.tsParseAmbientExternalModuleDeclaration(node); } else if (tokenIsIdentifier(this.state.type)) { + node.kind = "module"; return this.tsParseModuleOrNamespaceDeclaration(node); } } break; case "namespace": if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + node.kind = "namespace"; return this.tsParseModuleOrNamespaceDeclaration(node); } break; @@ -32896,7 +31701,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } tsParseTypeArguments() { const node = this.startNode(); - node.params = this.tsInType(() => this.tsInNoContext(() => { + node.params = this.tsInType(() => this.tsInTopLevelContext(() => { this.expect(47); return this.tsParseDelimitedList("TypeParametersOrArguments", this.tsParseType.bind(this)); })); @@ -33041,15 +31846,19 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } if (tokenIsTemplate(this.state.type)) { const result = super.parseTaggedTemplateExpression(base, startLoc, state); - result.typeParameters = typeArguments; + { + result.typeParameters = typeArguments; + } return result; } if (!noCalls && this.eat(10)) { const node = this.startNodeAt(startLoc); node.callee = base; - node.arguments = this.parseCallExpressionArguments(11, false); + node.arguments = this.parseCallExpressionArguments(11); this.tsCheckForInvalidTypeCasts(node.arguments); - node.typeParameters = typeArguments; + { + node.typeParameters = typeArguments; + } if (state.optionalChainMember) { node.optional = isOptionalCall; } @@ -33061,7 +31870,9 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } const node = this.startNodeAt(startLoc); node.expression = base; - node.typeParameters = typeArguments; + { + node.typeParameters = typeArguments; + } return this.finishNode(node, "TSInstantiationExpression"); }); if (missingParenErrorLoc) { @@ -33083,7 +31894,9 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { callee } = node; if (callee.type === "TSInstantiationExpression" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) { - node.typeParameters = callee.typeParameters; + { + node.typeParameters = callee.typeParameters; + } node.callee = callee.expression; } } @@ -33139,7 +31952,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } } parseImport(node) { - if (this.match(133)) { + if (this.match(134)) { node.importKind = "value"; return super.parseImport(node); } @@ -33164,15 +31977,18 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } parseExport(node, decorators) { if (this.match(83)) { - this.next(); const nodeImportEquals = node; + this.next(); let maybeDefaultIdentifier = null; if (this.isContextual(130) && this.isPotentialImportPhase(false)) { maybeDefaultIdentifier = this.parseMaybeImportPhase(nodeImportEquals, false); } else { nodeImportEquals.importKind = "value"; } - return this.tsParseImportEqualsDeclaration(nodeImportEquals, maybeDefaultIdentifier, true); + const declaration = this.tsParseImportEqualsDeclaration(nodeImportEquals, maybeDefaultIdentifier, true); + { + return declaration; + } } else if (this.eat(29)) { const assign = node; assign.expression = super.parseExpression(); @@ -33372,7 +32188,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { if (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare) { node.exportKind = "type"; } - if (isDeclare) { + if (isDeclare && declaration.type !== "TSImportEqualsDeclaration") { this.resetStartLocation(declaration, startLoc); declaration.declare = true; } @@ -33407,7 +32223,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { key } = node; this.raise(TSErrors.AbstractPropertyHasInitializer, this.state.startLoc, { - propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(key.start, key.end)}]` + propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]` }); } return super.parseClassProperty(node); @@ -33463,7 +32279,9 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { parseClassSuper(node) { super.parseClassSuper(node); if (node.superClass && (this.match(47) || this.match(51))) { - node.superTypeParameters = this.tsParseTypeArgumentsInExpression(); + { + node.superTypeParameters = this.tsParseTypeArgumentsInExpression(); + } } if (this.eatContextual(113)) { node.implements = this.tsParseHeritageClause("implements"); @@ -33501,7 +32319,7 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { let state; let jsx; let typeCast; - if (this.hasPlugin("jsx") && (this.match(142) || this.match(47))) { + if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) { state = this.state.clone(); jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); if (!jsx.error) return jsx.node; @@ -33673,17 +32491,19 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { } return super.parseBindingAtom(); } - parseMaybeDecoratorArguments(expr) { + parseMaybeDecoratorArguments(expr, startLoc) { if (this.match(47) || this.match(51)) { const typeArguments = this.tsParseTypeArgumentsInExpression(); if (this.match(10)) { - const call = super.parseMaybeDecoratorArguments(expr); - call.typeParameters = typeArguments; + const call = super.parseMaybeDecoratorArguments(expr, startLoc); + { + call.typeParameters = typeArguments; + } return call; } this.unexpected(null, 10); } - return super.parseMaybeDecoratorArguments(expr); + return super.parseMaybeDecoratorArguments(expr, startLoc); } checkCommaAfterRest(close) { if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) { @@ -33770,7 +32590,11 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { jsxParseOpeningElementAfterName(node) { if (this.match(47) || this.match(51)) { const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression()); - if (typeArguments) node.typeParameters = typeArguments; + if (typeArguments) { + { + node.typeParameters = typeArguments; + } + } } return super.jsxParseOpeningElementAfterName(node); } @@ -33830,13 +32654,14 @@ var typescript = superClass => class TypeScriptParserMixin extends superClass { parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) { const method = super.parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); if (method.abstract) { - const hasBody = this.hasPlugin("estree") ? !!method.value.body : !!method.body; - if (hasBody) { + const hasEstreePlugin = this.hasPlugin("estree"); + const methodFn = hasEstreePlugin ? method.value : method; + if (methodFn.body) { const { key } = method; this.raise(TSErrors.AbstractMethodHasImplementation, method, { - methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(key.start, key.end)}]` + methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]` }); } } @@ -34009,13 +32834,13 @@ const PlaceholderErrors = ParseErrorEnum`placeholders`({ }); var placeholders = superClass => class PlaceholdersParserMixin extends superClass { parsePlaceholder(expectedNode) { - if (this.match(144)) { + if (this.match(133)) { const node = this.startNode(); this.next(); this.assertNoSpace(); node.name = super.parseIdentifier(true); this.assertNoSpace(); - this.expect(144); + this.expect(133); return this.finishPlaceholder(node, expectedNode); } } @@ -34029,7 +32854,7 @@ var placeholders = superClass => class PlaceholdersParserMixin extends superClas } getTokenFromCode(code) { if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { - this.finishOp(144, 2); + this.finishOp(133, 2); } else { super.getTokenFromCode(code); } @@ -34063,7 +32888,7 @@ var placeholders = superClass => class PlaceholdersParserMixin extends superClas return true; } const nextToken = this.lookahead(); - if (nextToken.type === 144) { + if (nextToken.type === 133) { return true; } return false; @@ -34101,7 +32926,7 @@ var placeholders = superClass => class PlaceholdersParserMixin extends superClas const oldStrict = this.state.strict; const placeholder = this.parsePlaceholder("Identifier"); if (placeholder) { - if (this.match(81) || this.match(144) || this.match(5)) { + if (this.match(81) || this.match(133) || this.match(5)) { node.id = placeholder; } else if (optionalId || !isStatement) { node.id = null; @@ -34137,7 +32962,7 @@ var placeholders = superClass => class PlaceholdersParserMixin extends superClas if (this.match(65)) { const next = this.nextTokenStart(); if (this.isUnparsedContextual(next, "from")) { - if (this.input.startsWith(tokenLabelName(144), this.nextTokenStartSince(next + 4))) { + if (this.input.startsWith(tokenLabelName(133), this.nextTokenStartSince(next + 4))) { return true; } } @@ -34186,7 +33011,7 @@ var placeholders = superClass => class PlaceholdersParserMixin extends superClas return this.parsePlaceholder("StringLiteral") || super.parseImportSource(); } assertNoSpace() { - if (this.state.start > this.state.lastTokEndLoc.index) { + if (this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index)) { this.raise(PlaceholderErrors.UnexpectedSpace, this.state.lastTokEndLoc); } } @@ -34263,8 +33088,8 @@ function validatePlugins(pluginsMap) { } if (pluginsMap.has("moduleAttributes")) { { - if (pluginsMap.has("importAttributes") || pluginsMap.has("importAssertions")) { - throw new Error("Cannot combine importAssertions, importAttributes and moduleAttributes plugins."); + if (pluginsMap.has("deprecatedImportAssert") || pluginsMap.has("importAssertions")) { + throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins."); } const moduleAttributesVersionPluginOption = pluginsMap.get("moduleAttributes").version; if (moduleAttributesVersionPluginOption !== "may-2020") { @@ -34273,8 +33098,13 @@ function validatePlugins(pluginsMap) { } } if (pluginsMap.has("importAssertions")) { - if (pluginsMap.has("importAttributes")) { - throw new Error("Cannot combine importAssertions and importAttributes plugins."); + if (pluginsMap.has("deprecatedImportAssert")) { + throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins."); + } + } + if (!pluginsMap.has("deprecatedImportAssert") && pluginsMap.has("importAttributes") && pluginsMap.get("importAttributes").deprecatedAssertSyntax) { + { + pluginsMap.set("deprecatedImportAssert", {}); } } if (pluginsMap.has("recordAndTuple")) { @@ -34306,42 +33136,6 @@ const mixinPlugins = { placeholders }; const mixinPluginNames = Object.keys(mixinPlugins); -function createDefaultOptions() { - return { - sourceType: "script", - sourceFilename: undefined, - startColumn: 0, - startLine: 1, - allowAwaitOutsideFunction: false, - allowReturnOutsideFunction: false, - allowNewTargetOutsideFunction: false, - allowImportExportEverywhere: false, - allowSuperOutsideMethod: false, - allowUndeclaredExports: false, - plugins: [], - strictMode: null, - ranges: false, - tokens: false, - createImportExpressions: false, - createParenthesizedExpressions: false, - errorRecovery: false, - attachComment: true, - annexB: true - }; -} -function getOptions(opts) { - const options = createDefaultOptions(); - if (opts == null) { - return options; - } - if (opts.annexB != null && opts.annexB !== false) { - throw new Error("The `annexB` option can only be set to `false`."); - } - for (const key of Object.keys(options)) { - if (opts[key] != null) options[key] = opts[key]; - } - return options; -} class ExpressionParser extends LValParser { checkProto(prop, isRecord, protoRef, refExpressionErrors) { if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) { @@ -34367,19 +33161,19 @@ class ExpressionParser extends LValParser { } } shouldExitDescending(expr, potentialArrowAt) { - return expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt; + return expr.type === "ArrowFunctionExpression" && this.offsetToSourcePos(expr.start) === potentialArrowAt; } getExpression() { this.enterInitialScopes(); this.nextToken(); const expr = this.parseExpression(); - if (!this.match(139)) { + if (!this.match(140)) { this.unexpected(); } this.finalizeRemainingComments(); expr.comments = this.comments; expr.errors = this.state.errors; - if (this.options.tokens) { + if (this.optionFlags & 128) { expr.tokens = this.tokens; } return expr; @@ -34493,7 +33287,7 @@ class ExpressionParser extends LValParser { return expr; } parseMaybeUnaryOrPrivate(refExpressionErrors) { - return this.match(138) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors); + return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors); } parseExprOps(refExpressionErrors) { const startLoc = this.state.startLoc; @@ -34561,18 +33355,19 @@ class ExpressionParser extends LValParser { return this.withTopicBindingContext(() => { return this.parseHackPipeBody(); }); - case "smart": - return this.withTopicBindingContext(() => { - if (this.prodParam.hasYield && this.isContextual(108)) { - throw this.raise(Errors.PipeBodyIsTighter, this.state.startLoc); - } - return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startLoc); - }); case "fsharp": return this.withSoloAwaitPermittingContext(() => { return this.parseFSharpPipelineBody(prec); }); } + if (this.getPluginOption("pipelineOperator", "proposal") === "smart") { + return this.withTopicBindingContext(() => { + if (this.prodParam.hasYield && this.isContextual(108)) { + throw this.raise(Errors.PipeBodyIsTighter, this.state.startLoc); + } + return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startLoc); + }); + } default: return this.parseExprOpBaseRightExpr(op, prec); } @@ -34732,7 +33527,7 @@ class ExpressionParser extends LValParser { if (computed) { node.property = this.parseExpression(); this.expect(3); - } else if (this.match(138)) { + } else if (this.match(139)) { if (base.type === "Super") { this.raise(Errors.SuperPrivateField, startLoc); } @@ -34777,7 +33572,7 @@ class ExpressionParser extends LValParser { if (optional) { node.arguments = this.parseCallExpressionArguments(11); } else { - node.arguments = this.parseCallExpressionArguments(11, base.type === "Import", base.type !== "Super", node, refExpressionErrors); + node.arguments = this.parseCallExpressionArguments(11, base.type !== "Super", node, refExpressionErrors); } let finishedNode = this.finishCallExpression(node, optionalChainMember); if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) { @@ -34809,19 +33604,12 @@ class ExpressionParser extends LValParser { return this.finishNode(node, "TaggedTemplateExpression"); } atPossibleAsyncArrow(base) { - return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt; + return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && this.offsetToSourcePos(base.start) === this.state.potentialArrowAt; } finishCallExpression(node, optional) { if (node.callee.type === "Import") { - if (node.arguments.length === 2) { - if (!(this.hasPlugin("moduleAttributes") || this.hasPlugin("importAssertions"))) { - this.expectPlugin("importAttributes"); - } - } if (node.arguments.length === 0 || node.arguments.length > 2) { - this.raise(Errors.ImportCallArity, node, { - maxArgumentCount: this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? 2 : 1 - }); + this.raise(Errors.ImportCallArity, node); } else { for (const arg of node.arguments) { if (arg.type === "SpreadElement") { @@ -34832,7 +33620,7 @@ class ExpressionParser extends LValParser { } return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); } - parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) { + parseCallExpressionArguments(close, allowPlaceholder, nodeForExtra, refExpressionErrors) { const elts = []; let first = true; const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; @@ -34843,9 +33631,6 @@ class ExpressionParser extends LValParser { } else { this.expect(12); if (this.match(close)) { - if (dynamicImport && !this.hasPlugin("importAttributes") && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) { - this.raise(Errors.ImportCallArgumentTrailingComma, this.state.lastTokStartLoc); - } if (nodeForExtra) { this.addTrailingCommaExtraToNode(nodeForExtra); } @@ -34894,7 +33679,7 @@ class ExpressionParser extends LValParser { return this.parseImportMetaProperty(node); } if (this.match(10)) { - if (this.options.createImportExpressions) { + if (this.optionFlags & 256) { return this.parseImportCall(node); } else { return this.finishNode(node, "Import"); @@ -34917,11 +33702,11 @@ class ExpressionParser extends LValParser { this.readRegexp(); return this.parseRegExpLiteral(this.state.value); } - case 134: - return this.parseNumericLiteral(this.state.value); case 135: + return this.parseNumericLiteral(this.state.value); + case 136: return this.parseBigIntLiteral(this.state.value); - case 133: + case 134: return this.parseStringLiteral(this.state.value); case 84: return this.parseNullLiteral(); @@ -34975,7 +33760,7 @@ class ExpressionParser extends LValParser { throw this.raise(Errors.UnsupportedBind, callee); } } - case 138: + case 139: { this.raise(Errors.PrivateInExpectedIn, this.state.startLoc, { identifierName: this.state.value @@ -35017,7 +33802,7 @@ class ExpressionParser extends LValParser { break; } default: - if (type === 136) { + if (type === 137) { return this.parseDecimalLiteral(this.state.value); } if (tokenIsIdentifier(type)) { @@ -35078,12 +33863,19 @@ class ExpressionParser extends LValParser { } finishTopicReference(node, startLoc, pipeProposal, tokenType) { if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) { - const nodeType = pipeProposal === "smart" ? "PipelinePrimaryTopicReference" : "TopicReference"; - if (!this.topicReferenceIsAllowedInCurrentContext()) { - this.raise(pipeProposal === "smart" ? Errors.PrimaryTopicNotAllowed : Errors.PipeTopicUnbound, startLoc); + if (pipeProposal === "hack") { + if (!this.topicReferenceIsAllowedInCurrentContext()) { + this.raise(Errors.PipeTopicUnbound, startLoc); + } + this.registerTopicReference(); + return this.finishNode(node, "TopicReference"); + } else { + if (!this.topicReferenceIsAllowedInCurrentContext()) { + this.raise(Errors.PrimaryTopicNotAllowed, startLoc); + } + this.registerTopicReference(); + return this.finishNode(node, "PipelinePrimaryTopicReference"); } - this.registerTopicReference(); - return this.finishNode(node, nodeType); } else { throw this.raise(Errors.PipeTopicUnconfiguredToken, startLoc, { token: tokenLabelName(tokenType) @@ -35136,9 +33928,9 @@ class ExpressionParser extends LValParser { parseSuper() { const node = this.startNode(); this.next(); - if (this.match(10) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) { + if (this.match(10) && !this.scope.allowDirectSuper && !(this.optionFlags & 16)) { this.raise(Errors.SuperNotAllowed, node); - } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) { + } else if (!this.scope.allowSuper && !(this.optionFlags & 16)) { this.raise(Errors.UnexpectedSuper, node); } if (!this.match(10) && !this.match(0) && !this.match(16)) { @@ -35191,9 +33983,8 @@ class ExpressionParser extends LValParser { this.sawUnambiguousESM = true; } else if (this.isContextual(105) || this.isContextual(97)) { const isSource = this.isContextual(105); - if (!isSource) this.unexpected(); this.expectPlugin(isSource ? "sourcePhaseImports" : "deferredImportEvaluation"); - if (!this.options.createImportExpressions) { + if (!(this.optionFlags & 256)) { throw this.raise(Errors.DynamicImportPhaseRequiresImportExpressions, this.state.startLoc, { phase: this.state.value }); @@ -35206,7 +33997,7 @@ class ExpressionParser extends LValParser { } parseLiteralAtNode(value, type, node) { this.addExtra(node, "rawValue", value); - this.addExtra(node, "raw", this.input.slice(node.start, this.state.end)); + this.addExtra(node, "raw", this.input.slice(this.offsetToSourcePos(node.start), this.state.end)); node.value = value; this.next(); return this.finishNode(node, type); @@ -35229,7 +34020,7 @@ class ExpressionParser extends LValParser { } parseRegExpLiteral(value) { const node = this.startNode(); - this.addExtra(node, "raw", this.input.slice(node.start, this.state.end)); + this.addExtra(node, "raw", this.input.slice(this.offsetToSourcePos(node.start), this.state.end)); node.pattern = value.pattern; node.flags = value.flags; this.next(); @@ -35313,7 +34104,7 @@ class ExpressionParser extends LValParser { return this.wrapParenthesis(startLoc, val); } wrapParenthesis(startLoc, expression) { - if (!this.options.createParenthesizedExpressions) { + if (!(this.optionFlags & 512)) { this.addExtra(expression, "parenthesized", true); this.addExtra(expression, "parenStart", startLoc.index); this.takeSurroundingComments(expression, startLoc.index, this.state.lastTokEndLoc.index); @@ -35341,7 +34132,7 @@ class ExpressionParser extends LValParser { const meta = this.createIdentifier(this.startNodeAtNode(node), "new"); this.next(); const metaProp = this.parseMetaProperty(node, meta, "target"); - if (!this.scope.inNonArrowFunction && !this.scope.inClass && !this.options.allowNewTargetOutsideFunction) { + if (!this.scope.inNonArrowFunction && !this.scope.inClass && !(this.optionFlags & 4)) { this.raise(Errors.UnexpectedNewTarget, metaProp); } return metaProp; @@ -35600,16 +34391,16 @@ class ExpressionParser extends LValParser { key = this.parseIdentifier(true); } else { switch (type) { - case 134: + case 135: key = this.parseNumericLiteral(value); break; - case 133: + case 134: key = this.parseStringLiteral(value); break; - case 135: + case 136: key = this.parseBigIntLiteral(value); break; - case 138: + case 139: { const privateKeyLoc = this.state.startLoc; if (refExpressionErrors != null) { @@ -35623,7 +34414,7 @@ class ExpressionParser extends LValParser { break; } default: - if (type === 136) { + if (type === 137) { key = this.parseDecimalLiteral(value); break; } @@ -35631,7 +34422,7 @@ class ExpressionParser extends LValParser { } } prop.key = key; - if (type !== 138) { + if (type !== 139) { prop.computed = false; } } @@ -35856,7 +34647,7 @@ class ExpressionParser extends LValParser { } } recordAwaitIfAllowed() { - const isAwaitAllowed = this.prodParam.hasAwait || this.options.allowAwaitOutsideFunction && !this.scope.inFunction; + const isAwaitAllowed = this.prodParam.hasAwait || this.optionFlags & 1 && !this.scope.inFunction; if (isAwaitAllowed && !this.scope.inFunction) { this.state.hasTopLevelAwait = true; } @@ -35868,7 +34659,7 @@ class ExpressionParser extends LValParser { if (this.eat(55)) { this.raise(Errors.ObsoleteAwaitStar, node); } - if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) { + if (!this.scope.inFunction && !(this.optionFlags & 1)) { if (this.isAmbiguousAwait()) { this.ambiguousScriptDifferentAst = true; } else { @@ -35885,7 +34676,7 @@ class ExpressionParser extends LValParser { const { type } = this.state; - return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 102 && !this.state.containsEsc || type === 137 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54; + return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 102 && !this.state.containsEsc || type === 138 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54; } parseYield() { const node = this.startNode(); @@ -35897,7 +34688,7 @@ class ExpressionParser extends LValParser { delegating = this.eat(55); switch (this.state.type) { case 13: - case 139: + case 140: case 8: case 11: case 3: @@ -35916,16 +34707,16 @@ class ExpressionParser extends LValParser { parseImportCall(node) { this.next(); node.source = this.parseMaybeAssignAllowIn(); - if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { - node.options = null; - } + node.options = null; if (this.eat(12)) { - if (!(this.hasPlugin("moduleAttributes") || this.hasPlugin("importAssertions"))) { - this.expectPlugin("importAttributes"); - } if (!this.match(11)) { node.options = this.parseMaybeAssignAllowIn(); - this.eat(12); + if (this.eat(12) && !this.match(11)) { + do { + this.parseMaybeAssignAllowIn(); + } while (this.eat(12) && !this.match(11)); + this.raise(Errors.ImportCallArity, node); + } } } this.expect(11); @@ -36081,7 +34872,7 @@ const loopLabel = { }; const loneSurrogate = /[\uD800-\uDFFF]/u; const keywordRelationalOperator = /in(?:stanceof)?/y; -function babel7CompatTokens(tokens, input) { +function babel7CompatTokens(tokens, input, startIndex) { for (let i = 0; i < tokens.length; i++) { const token = tokens[i]; const { @@ -36089,7 +34880,7 @@ function babel7CompatTokens(tokens, input) { } = token; if (typeof type === "number") { { - if (type === 138) { + if (type === 139) { const { loc, start, @@ -36126,7 +34917,7 @@ function babel7CompatTokens(tokens, input) { const backquoteEnd = start + 1; const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1); let startToken; - if (input.charCodeAt(start) === 96) { + if (input.charCodeAt(start - startIndex) === 96) { startToken = new Token({ type: getExportedToken(22), value: "`", @@ -36192,17 +34983,17 @@ class StatementParser extends ExpressionParser { parseTopLevel(file, program) { file.program = this.parseProgram(program); file.comments = this.comments; - if (this.options.tokens) { - file.tokens = babel7CompatTokens(this.tokens, this.input); + if (this.optionFlags & 128) { + file.tokens = babel7CompatTokens(this.tokens, this.input, this.startIndex); } return this.finishNode(file, "File"); } - parseProgram(program, end = 139, sourceType = this.options.sourceType) { + parseProgram(program, end = 140, sourceType = this.options.sourceType) { program.sourceType = sourceType; program.interpreter = this.parseInterpreterDirective(); this.parseBlockBody(program, true, true, end); if (this.inModule) { - if (!this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { + if (!(this.optionFlags & 32) && this.scope.undefinedExports.size > 0) { for (const [localName, at] of Array.from(this.scope.undefinedExports)) { this.raise(Errors.ModuleExportUndefined, at, { localName @@ -36212,7 +35003,7 @@ class StatementParser extends ExpressionParser { this.addExtra(program, "topLevelAwait", this.state.hasTopLevelAwait); } let finishedProgram; - if (end === 139) { + if (end === 140) { finishedProgram = this.finishNode(program, "Program"); } else { finishedProgram = this.finishNodeAt(program, "Program", createPositionWithColumnOffset(this.state.startLoc, -1)); @@ -36226,7 +35017,7 @@ class StatementParser extends ExpressionParser { delete directive.expression; const directiveLiteral = directive.value; const expressionValue = directiveLiteral.value; - const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end); + const raw = this.input.slice(this.offsetToSourcePos(directiveLiteral.start), this.offsetToSourcePos(directiveLiteral.end)); const val = directiveLiteral.value = raw.slice(1, -1); this.addExtra(directiveLiteral, "raw", raw); this.addExtra(directiveLiteral, "rawValue", val); @@ -36428,7 +35219,7 @@ class StatementParser extends ExpressionParser { } case 82: { - if (!this.options.allowImportExportEverywhere && !topLevel) { + if (!(this.optionFlags & 8) && !topLevel) { this.raise(Errors.UnexpectedImportExport, this.state.startLoc); } this.next(); @@ -36467,7 +35258,7 @@ class StatementParser extends ExpressionParser { } } assertModuleNodeAllowed(node) { - if (!this.options.allowImportExportEverywhere && !this.inModule) { + if (!(this.optionFlags & 8) && !this.inModule) { this.raise(Errors.ImportOutsideModule, node); } } @@ -36477,7 +35268,8 @@ class StatementParser extends ExpressionParser { } maybeTakeDecorators(maybeDecorators, classNode, exportNode) { if (maybeDecorators) { - if (classNode.decorators && classNode.decorators.length > 0) { + var _classNode$decorators; + if ((_classNode$decorators = classNode.decorators) != null && _classNode$decorators.length) { if (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") !== "boolean") { this.raise(Errors.DecoratorsBeforeAfterExport, classNode.decorators[0]); } @@ -36524,7 +35316,7 @@ class StatementParser extends ExpressionParser { this.expect(11); expr = this.wrapParenthesis(startLoc, expr); const paramsStartLoc = this.state.startLoc; - node.expression = this.parseMaybeDecoratorArguments(expr); + node.expression = this.parseMaybeDecoratorArguments(expr, startLoc); if (this.getPluginOption("decorators", "allowCallParenthesized") === false && node.expression !== expr) { this.raise(Errors.DecoratorArgumentsOutsideParentheses, paramsStartLoc); } @@ -36533,7 +35325,7 @@ class StatementParser extends ExpressionParser { while (this.eat(16)) { const node = this.startNodeAt(startLoc); node.object = expr; - if (this.match(138)) { + if (this.match(139)) { this.classScope.usePrivateName(this.state.value, this.state.startLoc); node.property = this.parsePrivateName(); } else { @@ -36542,18 +35334,18 @@ class StatementParser extends ExpressionParser { node.computed = false; expr = this.finishNode(node, "MemberExpression"); } - node.expression = this.parseMaybeDecoratorArguments(expr); + node.expression = this.parseMaybeDecoratorArguments(expr, startLoc); } } else { node.expression = this.parseExprSubscripts(); } return this.finishNode(node, "Decorator"); } - parseMaybeDecoratorArguments(expr) { + parseMaybeDecoratorArguments(expr, startLoc) { if (this.eat(10)) { - const node = this.startNodeAtNode(expr); + const node = this.startNodeAt(startLoc); node.callee = expr; - node.arguments = this.parseCallExpressionArguments(11, false); + node.arguments = this.parseCallExpressionArguments(11); this.toReferencedList(node.arguments); return this.finishNode(node, "CallExpression"); } @@ -36698,7 +35490,7 @@ class StatementParser extends ExpressionParser { return this.finishNode(node, "IfStatement"); } parseReturnStatement(node) { - if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) { + if (!this.prodParam.hasReturn && !(this.optionFlags & 2)) { this.raise(Errors.IllegalReturn, this.state.startLoc); } this.next(); @@ -36830,7 +35622,7 @@ class StatementParser extends ExpressionParser { for (let i = this.state.labels.length - 1; i >= 0; i--) { const label = this.state.labels[i]; if (label.statementStart === node.start) { - label.statementStart = this.state.start; + label.statementStart = this.sourceToOffsetPos(this.state.start); label.kind = kind; } else { break; @@ -36839,7 +35631,7 @@ class StatementParser extends ExpressionParser { this.state.labels.push({ name: maybeName, kind: kind, - statementStart: this.state.start + statementStart: this.sourceToOffsetPos(this.state.start) }); node.body = flags & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(true) : this.parseStatement(); this.state.labels.pop(); @@ -37136,7 +35928,7 @@ class StatementParser extends ExpressionParser { this.parsePropertyNamePrefixOperator(member); if (this.eat(55)) { method.kind = "method"; - const isPrivateName = this.match(138); + const isPrivateName = this.match(139); this.parseClassElementName(method); if (isPrivateName) { this.pushClassPrivateMethod(classBody, privateMethod, true, false); @@ -37187,7 +35979,7 @@ class StatementParser extends ExpressionParser { this.unexpected(maybeQuestionTokenStartLoc); } method.kind = "method"; - const isPrivate = this.match(138); + const isPrivate = this.match(139); this.parseClassElementName(method); this.parsePostMemberNameModifiers(publicMember); if (isPrivate) { @@ -37201,7 +35993,7 @@ class StatementParser extends ExpressionParser { } else if ((maybeContextualKw === "get" || maybeContextualKw === "set") && !(this.match(55) && this.isLineTerminator())) { this.resetPreviousNodeTrailingComments(key); method.kind = maybeContextualKw; - const isPrivate = this.match(138); + const isPrivate = this.match(139); this.parseClassElementName(publicMethod); if (isPrivate) { this.pushClassPrivateMethod(classBody, privateMethod, false, false); @@ -37215,7 +36007,7 @@ class StatementParser extends ExpressionParser { } else if (maybeContextualKw === "accessor" && !this.isLineTerminator()) { this.expectPlugin("decoratorAutoAccessors"); this.resetPreviousNodeTrailingComments(key); - const isPrivate = this.match(138); + const isPrivate = this.match(139); this.parseClassElementName(publicProp); this.pushClassAccessorProperty(classBody, accessorProp, isPrivate); } else if (this.isLineTerminator()) { @@ -37233,10 +36025,10 @@ class StatementParser extends ExpressionParser { type, value } = this.state; - if ((type === 132 || type === 133) && member.static && value === "prototype") { + if ((type === 132 || type === 134) && member.static && value === "prototype") { this.raise(Errors.StaticPrototype, this.state.startLoc); } - if (type === 138) { + if (type === 139) { if (value === "constructor") { this.raise(Errors.ConstructorClassPrivateField, this.state.startLoc); } @@ -37647,7 +36439,7 @@ class StatementParser extends ExpressionParser { if (this.eat(8)) break; } const isMaybeTypeOnly = this.isContextual(130); - const isString = this.match(133); + const isString = this.match(134); const node = this.startNode(); node.local = this.parseModuleExportName(); nodes.push(this.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly)); @@ -37665,7 +36457,7 @@ class StatementParser extends ExpressionParser { return this.finishNode(node, "ExportSpecifier"); } parseModuleExportName() { - if (this.match(133)) { + if (this.match(134)) { const result = this.parseStringLiteral(this.state.value); const surrogate = loneSurrogate.exec(result.value); if (surrogate) { @@ -37784,7 +36576,7 @@ class StatementParser extends ExpressionParser { return tokenIsIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12; } parseImport(node) { - if (this.match(133)) { + if (this.match(134)) { return this.parseImportSourceAndAttributes(node); } return this.parseImportSpecifiersAndAfter(node, this.parseMaybeImportPhase(node, false)); @@ -37809,7 +36601,7 @@ class StatementParser extends ExpressionParser { return this.finishNode(node, "ImportDeclaration"); } parseImportSource() { - if (!this.match(133)) this.unexpected(); + if (!this.match(134)) this.unexpected(); return this.parseExprAtom(); } parseImportSpecifierLocal(node, specifier, type) { @@ -37838,13 +36630,13 @@ class StatementParser extends ExpressionParser { }); } attrNames.add(keyName); - if (this.match(133)) { + if (this.match(134)) { node.key = this.parseStringLiteral(keyName); } else { node.key = this.parseIdentifier(true); } this.expect(14); - if (!this.match(133)) { + if (!this.match(134)) { throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc); } node.value = this.parseStringLiteral(this.state.value); @@ -37869,7 +36661,7 @@ class StatementParser extends ExpressionParser { } attributes.add(node.key.name); this.expect(14); - if (!this.match(133)) { + if (!this.match(134)) { throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc); } node.value = this.parseStringLiteral(this.state.value); @@ -37890,31 +36682,22 @@ class StatementParser extends ExpressionParser { if (this.hasPlugin("moduleAttributes")) { attributes = this.parseModuleAttributes(); } else { - if (!this.hasPlugin("importAssertions")) { - this.expectPlugin("importAttributes"); - } attributes = this.parseImportAttributes(); } { useWith = true; } } else if (this.isContextual(94) && !this.hasPrecedingLineBreak()) { - if (this.hasPlugin("importAttributes")) { - if (this.getPluginOption("importAttributes", "deprecatedAssertSyntax") !== true) { - this.raise(Errors.ImportAttributesUseAssert, this.state.startLoc); - } + if (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importAssertions")) { + this.raise(Errors.ImportAttributesUseAssert, this.state.startLoc); + } + if (!this.hasPlugin("importAssertions")) { this.addExtra(node, "deprecatedAssertSyntax", true); - } else { - this.expectOnePlugin(["importAttributes", "importAssertions"]); } this.next(); attributes = this.parseImportAttributes(); - } else if (this.hasPlugin("importAttributes") || this.hasPlugin("importAssertions")) { - attributes = []; } else { - if (this.hasPlugin("moduleAttributes")) { - attributes = []; - } else return; + attributes = []; } if (!useWith && this.hasPlugin("importAssertions")) { node.assertions = attributes; @@ -37958,7 +36741,7 @@ class StatementParser extends ExpressionParser { if (this.eat(8)) break; } const specifier = this.startNode(); - const importedIsString = this.match(133); + const importedIsString = this.match(134); const isMaybeTypeOnly = this.isContextual(130); specifier.imported = this.parseModuleExportName(); const importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === "type" || node.importKind === "typeof", isMaybeTypeOnly, undefined); @@ -37996,6 +36779,48 @@ class Parser extends StatementParser { this.initializeScopes(); this.plugins = pluginsMap; this.filename = options.sourceFilename; + this.startIndex = options.startIndex; + let optionFlags = 0; + if (options.allowAwaitOutsideFunction) { + optionFlags |= 1; + } + if (options.allowReturnOutsideFunction) { + optionFlags |= 2; + } + if (options.allowImportExportEverywhere) { + optionFlags |= 8; + } + if (options.allowSuperOutsideMethod) { + optionFlags |= 16; + } + if (options.allowUndeclaredExports) { + optionFlags |= 32; + } + if (options.allowNewTargetOutsideFunction) { + optionFlags |= 4; + } + if (options.ranges) { + optionFlags |= 64; + } + if (options.tokens) { + optionFlags |= 128; + } + if (options.createImportExpressions) { + optionFlags |= 256; + } + if (options.createParenthesizedExpressions) { + optionFlags |= 512; + } + if (options.errorRecovery) { + optionFlags |= 1024; + } + if (options.attachComment) { + optionFlags |= 2048; + } + if (options.annexB) { + optionFlags |= 4096; + } + this.optionFlags = optionFlags; } getScopeHandler() { return ScopeHandler; @@ -44446,6 +43271,7 @@ exports.assertTSConstructorType = assertTSConstructorType; exports.assertTSDeclareFunction = assertTSDeclareFunction; exports.assertTSDeclareMethod = assertTSDeclareMethod; exports.assertTSEntityName = assertTSEntityName; +exports.assertTSEnumBody = assertTSEnumBody; exports.assertTSEnumDeclaration = assertTSEnumDeclaration; exports.assertTSEnumMember = assertTSEnumMember; exports.assertTSExportAssignment = assertTSExportAssignment; @@ -44483,6 +43309,7 @@ exports.assertTSRestType = assertTSRestType; exports.assertTSSatisfiesExpression = assertTSSatisfiesExpression; exports.assertTSStringKeyword = assertTSStringKeyword; exports.assertTSSymbolKeyword = assertTSSymbolKeyword; +exports.assertTSTemplateLiteralType = assertTSTemplateLiteralType; exports.assertTSThisType = assertTSThisType; exports.assertTSTupleType = assertTSTupleType; exports.assertTSType = assertTSType; @@ -45223,6 +44050,9 @@ function assertTSIndexedAccessType(node, opts) { function assertTSMappedType(node, opts) { assert("TSMappedType", node, opts); } +function assertTSTemplateLiteralType(node, opts) { + assert("TSTemplateLiteralType", node, opts); +} function assertTSLiteralType(node, opts) { assert("TSLiteralType", node, opts); } @@ -45250,6 +44080,9 @@ function assertTSSatisfiesExpression(node, opts) { function assertTSTypeAssertion(node, opts) { assert("TSTypeAssertion", node, opts); } +function assertTSEnumBody(node, opts) { + assert("TSEnumBody", node, opts); +} function assertTSEnumDeclaration(node, opts) { assert("TSEnumDeclaration", node, opts); } @@ -45536,6 +44369,43 @@ function createTypeAnnotationBasedOnTypeof(type) { "use strict"; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +var _lowercase = __nccwpck_require__(9130); +Object.keys(_lowercase).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _lowercase[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _lowercase[key]; + } + }); +}); +var _uppercase = __nccwpck_require__(8530); +Object.keys(_uppercase).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _uppercase[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _uppercase[key]; + } + }); +}); + +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 9130: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + Object.defineProperty(exports, "__esModule", ({ value: true })); @@ -45719,6 +44589,7 @@ exports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaratio exports.tSConstructorType = exports.tsConstructorType = tsConstructorType; exports.tSDeclareFunction = exports.tsDeclareFunction = tsDeclareFunction; exports.tSDeclareMethod = exports.tsDeclareMethod = tsDeclareMethod; +exports.tSEnumBody = exports.tsEnumBody = tsEnumBody; exports.tSEnumDeclaration = exports.tsEnumDeclaration = tsEnumDeclaration; exports.tSEnumMember = exports.tsEnumMember = tsEnumMember; exports.tSExportAssignment = exports.tsExportAssignment = tsExportAssignment; @@ -45756,6 +44627,7 @@ exports.tSRestType = exports.tsRestType = tsRestType; exports.tSSatisfiesExpression = exports.tsSatisfiesExpression = tsSatisfiesExpression; exports.tSStringKeyword = exports.tsStringKeyword = tsStringKeyword; exports.tSSymbolKeyword = exports.tsSymbolKeyword = tsSymbolKeyword; +exports.tSTemplateLiteralType = exports.tsTemplateLiteralType = tsTemplateLiteralType; exports.tSThisType = exports.tsThisType = tsThisType; exports.tSTupleType = exports.tsTupleType = tsTupleType; exports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = tsTypeAliasDeclaration; @@ -46935,26 +45807,30 @@ function declareVariable(id) { validate(defs.id, node, "id", id, 1); return node; } -function declareExportDeclaration(declaration = null, specifiers = null, source = null) { +function declareExportDeclaration(declaration = null, specifiers = null, source = null, attributes = null) { const node = { type: "DeclareExportDeclaration", declaration, specifiers, - source + source, + attributes }; const defs = NODE_FIELDS.DeclareExportDeclaration; validate(defs.declaration, node, "declaration", declaration, 1); validate(defs.specifiers, node, "specifiers", specifiers, 1); validate(defs.source, node, "source", source, 1); + validate(defs.attributes, node, "attributes", attributes, 1); return node; } -function declareExportAllDeclaration(source) { +function declareExportAllDeclaration(source, attributes = null) { const node = { type: "DeclareExportAllDeclaration", - source + source, + attributes }; const defs = NODE_FIELDS.DeclareExportAllDeclaration; validate(defs.source, node, "source", source, 1); + validate(defs.attributes, node, "attributes", attributes, 1); return node; } function declaredPredicate(value) { @@ -47823,8 +46699,7 @@ function tsPropertySignature(key, typeAnnotation = null) { const node = { type: "TSPropertySignature", key, - typeAnnotation, - kind: null + typeAnnotation }; const defs = NODE_FIELDS.TSPropertySignature; validate(defs.key, node, "key", key, 1); @@ -48132,6 +47007,17 @@ function tsMappedType(typeParameter, typeAnnotation = null, nameType = null) { validate(defs.nameType, node, "nameType", nameType, 1); return node; } +function tsTemplateLiteralType(quasis, types) { + const node = { + type: "TSTemplateLiteralType", + quasis, + types + }; + const defs = NODE_FIELDS.TSTemplateLiteralType; + validate(defs.quasis, node, "quasis", quasis, 1); + validate(defs.types, node, "types", types, 1); + return node; +} function tsLiteralType(literal) { const node = { type: "TSLiteralType", @@ -48233,6 +47119,15 @@ function tsTypeAssertion(typeAnnotation, expression) { validate(defs.expression, node, "expression", expression, 1); return node; } +function tsEnumBody(members) { + const node = { + type: "TSEnumBody", + members + }; + const defs = NODE_FIELDS.TSEnumBody; + validate(defs.members, node, "members", members, 1); + return node; +} function tsEnumDeclaration(id, members) { const node = { type: "TSEnumDeclaration", @@ -48259,7 +47154,8 @@ function tsModuleDeclaration(id, body) { const node = { type: "TSModuleDeclaration", id, - body + body, + kind: null }; const defs = NODE_FIELDS.TSModuleDeclaration; validate(defs.id, node, "id", id, 1); @@ -48393,7 +47289,7 @@ function SpreadProperty(argument) { return spreadElement(argument); } -//# sourceMappingURL=index.js.map +//# sourceMappingURL=lowercase.js.map /***/ }), @@ -48410,1528 +47306,1540 @@ Object.defineProperty(exports, "__esModule", ({ Object.defineProperty(exports, "AnyTypeAnnotation", ({ enumerable: true, get: function () { - return _index.anyTypeAnnotation; + return _lowercase.anyTypeAnnotation; } })); Object.defineProperty(exports, "ArgumentPlaceholder", ({ enumerable: true, get: function () { - return _index.argumentPlaceholder; + return _lowercase.argumentPlaceholder; } })); Object.defineProperty(exports, "ArrayExpression", ({ enumerable: true, get: function () { - return _index.arrayExpression; + return _lowercase.arrayExpression; } })); Object.defineProperty(exports, "ArrayPattern", ({ enumerable: true, get: function () { - return _index.arrayPattern; + return _lowercase.arrayPattern; } })); Object.defineProperty(exports, "ArrayTypeAnnotation", ({ enumerable: true, get: function () { - return _index.arrayTypeAnnotation; + return _lowercase.arrayTypeAnnotation; } })); Object.defineProperty(exports, "ArrowFunctionExpression", ({ enumerable: true, get: function () { - return _index.arrowFunctionExpression; + return _lowercase.arrowFunctionExpression; } })); Object.defineProperty(exports, "AssignmentExpression", ({ enumerable: true, get: function () { - return _index.assignmentExpression; + return _lowercase.assignmentExpression; } })); Object.defineProperty(exports, "AssignmentPattern", ({ enumerable: true, get: function () { - return _index.assignmentPattern; + return _lowercase.assignmentPattern; } })); Object.defineProperty(exports, "AwaitExpression", ({ enumerable: true, get: function () { - return _index.awaitExpression; + return _lowercase.awaitExpression; } })); Object.defineProperty(exports, "BigIntLiteral", ({ enumerable: true, get: function () { - return _index.bigIntLiteral; + return _lowercase.bigIntLiteral; } })); Object.defineProperty(exports, "BinaryExpression", ({ enumerable: true, get: function () { - return _index.binaryExpression; + return _lowercase.binaryExpression; } })); Object.defineProperty(exports, "BindExpression", ({ enumerable: true, get: function () { - return _index.bindExpression; + return _lowercase.bindExpression; } })); Object.defineProperty(exports, "BlockStatement", ({ enumerable: true, get: function () { - return _index.blockStatement; + return _lowercase.blockStatement; } })); Object.defineProperty(exports, "BooleanLiteral", ({ enumerable: true, get: function () { - return _index.booleanLiteral; + return _lowercase.booleanLiteral; } })); Object.defineProperty(exports, "BooleanLiteralTypeAnnotation", ({ enumerable: true, get: function () { - return _index.booleanLiteralTypeAnnotation; + return _lowercase.booleanLiteralTypeAnnotation; } })); Object.defineProperty(exports, "BooleanTypeAnnotation", ({ enumerable: true, get: function () { - return _index.booleanTypeAnnotation; + return _lowercase.booleanTypeAnnotation; } })); Object.defineProperty(exports, "BreakStatement", ({ enumerable: true, get: function () { - return _index.breakStatement; + return _lowercase.breakStatement; } })); Object.defineProperty(exports, "CallExpression", ({ enumerable: true, get: function () { - return _index.callExpression; + return _lowercase.callExpression; } })); Object.defineProperty(exports, "CatchClause", ({ enumerable: true, get: function () { - return _index.catchClause; + return _lowercase.catchClause; } })); Object.defineProperty(exports, "ClassAccessorProperty", ({ enumerable: true, get: function () { - return _index.classAccessorProperty; + return _lowercase.classAccessorProperty; } })); Object.defineProperty(exports, "ClassBody", ({ enumerable: true, get: function () { - return _index.classBody; + return _lowercase.classBody; } })); Object.defineProperty(exports, "ClassDeclaration", ({ enumerable: true, get: function () { - return _index.classDeclaration; + return _lowercase.classDeclaration; } })); Object.defineProperty(exports, "ClassExpression", ({ enumerable: true, get: function () { - return _index.classExpression; + return _lowercase.classExpression; } })); Object.defineProperty(exports, "ClassImplements", ({ enumerable: true, get: function () { - return _index.classImplements; + return _lowercase.classImplements; } })); Object.defineProperty(exports, "ClassMethod", ({ enumerable: true, get: function () { - return _index.classMethod; + return _lowercase.classMethod; } })); Object.defineProperty(exports, "ClassPrivateMethod", ({ enumerable: true, get: function () { - return _index.classPrivateMethod; + return _lowercase.classPrivateMethod; } })); Object.defineProperty(exports, "ClassPrivateProperty", ({ enumerable: true, get: function () { - return _index.classPrivateProperty; + return _lowercase.classPrivateProperty; } })); Object.defineProperty(exports, "ClassProperty", ({ enumerable: true, get: function () { - return _index.classProperty; + return _lowercase.classProperty; } })); Object.defineProperty(exports, "ConditionalExpression", ({ enumerable: true, get: function () { - return _index.conditionalExpression; + return _lowercase.conditionalExpression; } })); Object.defineProperty(exports, "ContinueStatement", ({ enumerable: true, get: function () { - return _index.continueStatement; + return _lowercase.continueStatement; } })); Object.defineProperty(exports, "DebuggerStatement", ({ enumerable: true, get: function () { - return _index.debuggerStatement; + return _lowercase.debuggerStatement; } })); Object.defineProperty(exports, "DecimalLiteral", ({ enumerable: true, get: function () { - return _index.decimalLiteral; + return _lowercase.decimalLiteral; } })); Object.defineProperty(exports, "DeclareClass", ({ enumerable: true, get: function () { - return _index.declareClass; + return _lowercase.declareClass; } })); Object.defineProperty(exports, "DeclareExportAllDeclaration", ({ enumerable: true, get: function () { - return _index.declareExportAllDeclaration; + return _lowercase.declareExportAllDeclaration; } })); Object.defineProperty(exports, "DeclareExportDeclaration", ({ enumerable: true, get: function () { - return _index.declareExportDeclaration; + return _lowercase.declareExportDeclaration; } })); Object.defineProperty(exports, "DeclareFunction", ({ enumerable: true, get: function () { - return _index.declareFunction; + return _lowercase.declareFunction; } })); Object.defineProperty(exports, "DeclareInterface", ({ enumerable: true, get: function () { - return _index.declareInterface; + return _lowercase.declareInterface; } })); Object.defineProperty(exports, "DeclareModule", ({ enumerable: true, get: function () { - return _index.declareModule; + return _lowercase.declareModule; } })); Object.defineProperty(exports, "DeclareModuleExports", ({ enumerable: true, get: function () { - return _index.declareModuleExports; + return _lowercase.declareModuleExports; } })); Object.defineProperty(exports, "DeclareOpaqueType", ({ enumerable: true, get: function () { - return _index.declareOpaqueType; + return _lowercase.declareOpaqueType; } })); Object.defineProperty(exports, "DeclareTypeAlias", ({ enumerable: true, get: function () { - return _index.declareTypeAlias; + return _lowercase.declareTypeAlias; } })); Object.defineProperty(exports, "DeclareVariable", ({ enumerable: true, get: function () { - return _index.declareVariable; + return _lowercase.declareVariable; } })); Object.defineProperty(exports, "DeclaredPredicate", ({ enumerable: true, get: function () { - return _index.declaredPredicate; + return _lowercase.declaredPredicate; } })); Object.defineProperty(exports, "Decorator", ({ enumerable: true, get: function () { - return _index.decorator; + return _lowercase.decorator; } })); Object.defineProperty(exports, "Directive", ({ enumerable: true, get: function () { - return _index.directive; + return _lowercase.directive; } })); Object.defineProperty(exports, "DirectiveLiteral", ({ enumerable: true, get: function () { - return _index.directiveLiteral; + return _lowercase.directiveLiteral; } })); Object.defineProperty(exports, "DoExpression", ({ enumerable: true, get: function () { - return _index.doExpression; + return _lowercase.doExpression; } })); Object.defineProperty(exports, "DoWhileStatement", ({ enumerable: true, get: function () { - return _index.doWhileStatement; + return _lowercase.doWhileStatement; } })); Object.defineProperty(exports, "EmptyStatement", ({ enumerable: true, get: function () { - return _index.emptyStatement; + return _lowercase.emptyStatement; } })); Object.defineProperty(exports, "EmptyTypeAnnotation", ({ enumerable: true, get: function () { - return _index.emptyTypeAnnotation; + return _lowercase.emptyTypeAnnotation; } })); Object.defineProperty(exports, "EnumBooleanBody", ({ enumerable: true, get: function () { - return _index.enumBooleanBody; + return _lowercase.enumBooleanBody; } })); Object.defineProperty(exports, "EnumBooleanMember", ({ enumerable: true, get: function () { - return _index.enumBooleanMember; + return _lowercase.enumBooleanMember; } })); Object.defineProperty(exports, "EnumDeclaration", ({ enumerable: true, get: function () { - return _index.enumDeclaration; + return _lowercase.enumDeclaration; } })); Object.defineProperty(exports, "EnumDefaultedMember", ({ enumerable: true, get: function () { - return _index.enumDefaultedMember; + return _lowercase.enumDefaultedMember; } })); Object.defineProperty(exports, "EnumNumberBody", ({ enumerable: true, get: function () { - return _index.enumNumberBody; + return _lowercase.enumNumberBody; } })); Object.defineProperty(exports, "EnumNumberMember", ({ enumerable: true, get: function () { - return _index.enumNumberMember; + return _lowercase.enumNumberMember; } })); Object.defineProperty(exports, "EnumStringBody", ({ enumerable: true, get: function () { - return _index.enumStringBody; + return _lowercase.enumStringBody; } })); Object.defineProperty(exports, "EnumStringMember", ({ enumerable: true, get: function () { - return _index.enumStringMember; + return _lowercase.enumStringMember; } })); Object.defineProperty(exports, "EnumSymbolBody", ({ enumerable: true, get: function () { - return _index.enumSymbolBody; + return _lowercase.enumSymbolBody; } })); Object.defineProperty(exports, "ExistsTypeAnnotation", ({ enumerable: true, get: function () { - return _index.existsTypeAnnotation; + return _lowercase.existsTypeAnnotation; } })); Object.defineProperty(exports, "ExportAllDeclaration", ({ enumerable: true, get: function () { - return _index.exportAllDeclaration; + return _lowercase.exportAllDeclaration; } })); Object.defineProperty(exports, "ExportDefaultDeclaration", ({ enumerable: true, get: function () { - return _index.exportDefaultDeclaration; + return _lowercase.exportDefaultDeclaration; } })); Object.defineProperty(exports, "ExportDefaultSpecifier", ({ enumerable: true, get: function () { - return _index.exportDefaultSpecifier; + return _lowercase.exportDefaultSpecifier; } })); Object.defineProperty(exports, "ExportNamedDeclaration", ({ enumerable: true, get: function () { - return _index.exportNamedDeclaration; + return _lowercase.exportNamedDeclaration; } })); Object.defineProperty(exports, "ExportNamespaceSpecifier", ({ enumerable: true, get: function () { - return _index.exportNamespaceSpecifier; + return _lowercase.exportNamespaceSpecifier; } })); Object.defineProperty(exports, "ExportSpecifier", ({ enumerable: true, get: function () { - return _index.exportSpecifier; + return _lowercase.exportSpecifier; } })); Object.defineProperty(exports, "ExpressionStatement", ({ enumerable: true, get: function () { - return _index.expressionStatement; + return _lowercase.expressionStatement; } })); Object.defineProperty(exports, "File", ({ enumerable: true, get: function () { - return _index.file; + return _lowercase.file; } })); Object.defineProperty(exports, "ForInStatement", ({ enumerable: true, get: function () { - return _index.forInStatement; + return _lowercase.forInStatement; } })); Object.defineProperty(exports, "ForOfStatement", ({ enumerable: true, get: function () { - return _index.forOfStatement; + return _lowercase.forOfStatement; } })); Object.defineProperty(exports, "ForStatement", ({ enumerable: true, get: function () { - return _index.forStatement; + return _lowercase.forStatement; } })); Object.defineProperty(exports, "FunctionDeclaration", ({ enumerable: true, get: function () { - return _index.functionDeclaration; + return _lowercase.functionDeclaration; } })); Object.defineProperty(exports, "FunctionExpression", ({ enumerable: true, get: function () { - return _index.functionExpression; + return _lowercase.functionExpression; } })); Object.defineProperty(exports, "FunctionTypeAnnotation", ({ enumerable: true, get: function () { - return _index.functionTypeAnnotation; + return _lowercase.functionTypeAnnotation; } })); Object.defineProperty(exports, "FunctionTypeParam", ({ enumerable: true, get: function () { - return _index.functionTypeParam; + return _lowercase.functionTypeParam; } })); Object.defineProperty(exports, "GenericTypeAnnotation", ({ enumerable: true, get: function () { - return _index.genericTypeAnnotation; + return _lowercase.genericTypeAnnotation; } })); Object.defineProperty(exports, "Identifier", ({ enumerable: true, get: function () { - return _index.identifier; + return _lowercase.identifier; } })); Object.defineProperty(exports, "IfStatement", ({ enumerable: true, get: function () { - return _index.ifStatement; + return _lowercase.ifStatement; } })); Object.defineProperty(exports, "Import", ({ enumerable: true, get: function () { - return _index.import; + return _lowercase.import; } })); Object.defineProperty(exports, "ImportAttribute", ({ enumerable: true, get: function () { - return _index.importAttribute; + return _lowercase.importAttribute; } })); Object.defineProperty(exports, "ImportDeclaration", ({ enumerable: true, get: function () { - return _index.importDeclaration; + return _lowercase.importDeclaration; } })); Object.defineProperty(exports, "ImportDefaultSpecifier", ({ enumerable: true, get: function () { - return _index.importDefaultSpecifier; + return _lowercase.importDefaultSpecifier; } })); Object.defineProperty(exports, "ImportExpression", ({ enumerable: true, get: function () { - return _index.importExpression; + return _lowercase.importExpression; } })); Object.defineProperty(exports, "ImportNamespaceSpecifier", ({ enumerable: true, get: function () { - return _index.importNamespaceSpecifier; + return _lowercase.importNamespaceSpecifier; } })); Object.defineProperty(exports, "ImportSpecifier", ({ enumerable: true, get: function () { - return _index.importSpecifier; + return _lowercase.importSpecifier; } })); Object.defineProperty(exports, "IndexedAccessType", ({ enumerable: true, get: function () { - return _index.indexedAccessType; + return _lowercase.indexedAccessType; } })); Object.defineProperty(exports, "InferredPredicate", ({ enumerable: true, get: function () { - return _index.inferredPredicate; + return _lowercase.inferredPredicate; } })); Object.defineProperty(exports, "InterfaceDeclaration", ({ enumerable: true, get: function () { - return _index.interfaceDeclaration; + return _lowercase.interfaceDeclaration; } })); Object.defineProperty(exports, "InterfaceExtends", ({ enumerable: true, get: function () { - return _index.interfaceExtends; + return _lowercase.interfaceExtends; } })); Object.defineProperty(exports, "InterfaceTypeAnnotation", ({ enumerable: true, get: function () { - return _index.interfaceTypeAnnotation; + return _lowercase.interfaceTypeAnnotation; } })); Object.defineProperty(exports, "InterpreterDirective", ({ enumerable: true, get: function () { - return _index.interpreterDirective; + return _lowercase.interpreterDirective; } })); Object.defineProperty(exports, "IntersectionTypeAnnotation", ({ enumerable: true, get: function () { - return _index.intersectionTypeAnnotation; + return _lowercase.intersectionTypeAnnotation; } })); Object.defineProperty(exports, "JSXAttribute", ({ enumerable: true, get: function () { - return _index.jsxAttribute; + return _lowercase.jsxAttribute; } })); Object.defineProperty(exports, "JSXClosingElement", ({ enumerable: true, get: function () { - return _index.jsxClosingElement; + return _lowercase.jsxClosingElement; } })); Object.defineProperty(exports, "JSXClosingFragment", ({ enumerable: true, get: function () { - return _index.jsxClosingFragment; + return _lowercase.jsxClosingFragment; } })); Object.defineProperty(exports, "JSXElement", ({ enumerable: true, get: function () { - return _index.jsxElement; + return _lowercase.jsxElement; } })); Object.defineProperty(exports, "JSXEmptyExpression", ({ enumerable: true, get: function () { - return _index.jsxEmptyExpression; + return _lowercase.jsxEmptyExpression; } })); Object.defineProperty(exports, "JSXExpressionContainer", ({ enumerable: true, get: function () { - return _index.jsxExpressionContainer; + return _lowercase.jsxExpressionContainer; } })); Object.defineProperty(exports, "JSXFragment", ({ enumerable: true, get: function () { - return _index.jsxFragment; + return _lowercase.jsxFragment; } })); Object.defineProperty(exports, "JSXIdentifier", ({ enumerable: true, get: function () { - return _index.jsxIdentifier; + return _lowercase.jsxIdentifier; } })); Object.defineProperty(exports, "JSXMemberExpression", ({ enumerable: true, get: function () { - return _index.jsxMemberExpression; + return _lowercase.jsxMemberExpression; } })); Object.defineProperty(exports, "JSXNamespacedName", ({ enumerable: true, get: function () { - return _index.jsxNamespacedName; + return _lowercase.jsxNamespacedName; } })); Object.defineProperty(exports, "JSXOpeningElement", ({ enumerable: true, get: function () { - return _index.jsxOpeningElement; + return _lowercase.jsxOpeningElement; } })); Object.defineProperty(exports, "JSXOpeningFragment", ({ enumerable: true, get: function () { - return _index.jsxOpeningFragment; + return _lowercase.jsxOpeningFragment; } })); Object.defineProperty(exports, "JSXSpreadAttribute", ({ enumerable: true, get: function () { - return _index.jsxSpreadAttribute; + return _lowercase.jsxSpreadAttribute; } })); Object.defineProperty(exports, "JSXSpreadChild", ({ enumerable: true, get: function () { - return _index.jsxSpreadChild; + return _lowercase.jsxSpreadChild; } })); Object.defineProperty(exports, "JSXText", ({ enumerable: true, get: function () { - return _index.jsxText; + return _lowercase.jsxText; } })); Object.defineProperty(exports, "LabeledStatement", ({ enumerable: true, get: function () { - return _index.labeledStatement; + return _lowercase.labeledStatement; } })); Object.defineProperty(exports, "LogicalExpression", ({ enumerable: true, get: function () { - return _index.logicalExpression; + return _lowercase.logicalExpression; } })); Object.defineProperty(exports, "MemberExpression", ({ enumerable: true, get: function () { - return _index.memberExpression; + return _lowercase.memberExpression; } })); Object.defineProperty(exports, "MetaProperty", ({ enumerable: true, get: function () { - return _index.metaProperty; + return _lowercase.metaProperty; } })); Object.defineProperty(exports, "MixedTypeAnnotation", ({ enumerable: true, get: function () { - return _index.mixedTypeAnnotation; + return _lowercase.mixedTypeAnnotation; } })); Object.defineProperty(exports, "ModuleExpression", ({ enumerable: true, get: function () { - return _index.moduleExpression; + return _lowercase.moduleExpression; } })); Object.defineProperty(exports, "NewExpression", ({ enumerable: true, get: function () { - return _index.newExpression; + return _lowercase.newExpression; } })); Object.defineProperty(exports, "Noop", ({ enumerable: true, get: function () { - return _index.noop; + return _lowercase.noop; } })); Object.defineProperty(exports, "NullLiteral", ({ enumerable: true, get: function () { - return _index.nullLiteral; + return _lowercase.nullLiteral; } })); Object.defineProperty(exports, "NullLiteralTypeAnnotation", ({ enumerable: true, get: function () { - return _index.nullLiteralTypeAnnotation; + return _lowercase.nullLiteralTypeAnnotation; } })); Object.defineProperty(exports, "NullableTypeAnnotation", ({ enumerable: true, get: function () { - return _index.nullableTypeAnnotation; + return _lowercase.nullableTypeAnnotation; } })); Object.defineProperty(exports, "NumberLiteral", ({ enumerable: true, get: function () { - return _index.numberLiteral; + return _lowercase.numberLiteral; } })); Object.defineProperty(exports, "NumberLiteralTypeAnnotation", ({ enumerable: true, get: function () { - return _index.numberLiteralTypeAnnotation; + return _lowercase.numberLiteralTypeAnnotation; } })); Object.defineProperty(exports, "NumberTypeAnnotation", ({ enumerable: true, get: function () { - return _index.numberTypeAnnotation; + return _lowercase.numberTypeAnnotation; } })); Object.defineProperty(exports, "NumericLiteral", ({ enumerable: true, get: function () { - return _index.numericLiteral; + return _lowercase.numericLiteral; } })); Object.defineProperty(exports, "ObjectExpression", ({ enumerable: true, get: function () { - return _index.objectExpression; + return _lowercase.objectExpression; } })); Object.defineProperty(exports, "ObjectMethod", ({ enumerable: true, get: function () { - return _index.objectMethod; + return _lowercase.objectMethod; } })); Object.defineProperty(exports, "ObjectPattern", ({ enumerable: true, get: function () { - return _index.objectPattern; + return _lowercase.objectPattern; } })); Object.defineProperty(exports, "ObjectProperty", ({ enumerable: true, get: function () { - return _index.objectProperty; + return _lowercase.objectProperty; } })); Object.defineProperty(exports, "ObjectTypeAnnotation", ({ enumerable: true, get: function () { - return _index.objectTypeAnnotation; + return _lowercase.objectTypeAnnotation; } })); Object.defineProperty(exports, "ObjectTypeCallProperty", ({ enumerable: true, get: function () { - return _index.objectTypeCallProperty; + return _lowercase.objectTypeCallProperty; } })); Object.defineProperty(exports, "ObjectTypeIndexer", ({ enumerable: true, get: function () { - return _index.objectTypeIndexer; + return _lowercase.objectTypeIndexer; } })); Object.defineProperty(exports, "ObjectTypeInternalSlot", ({ enumerable: true, get: function () { - return _index.objectTypeInternalSlot; + return _lowercase.objectTypeInternalSlot; } })); Object.defineProperty(exports, "ObjectTypeProperty", ({ enumerable: true, get: function () { - return _index.objectTypeProperty; + return _lowercase.objectTypeProperty; } })); Object.defineProperty(exports, "ObjectTypeSpreadProperty", ({ enumerable: true, get: function () { - return _index.objectTypeSpreadProperty; + return _lowercase.objectTypeSpreadProperty; } })); Object.defineProperty(exports, "OpaqueType", ({ enumerable: true, get: function () { - return _index.opaqueType; + return _lowercase.opaqueType; } })); Object.defineProperty(exports, "OptionalCallExpression", ({ enumerable: true, get: function () { - return _index.optionalCallExpression; + return _lowercase.optionalCallExpression; } })); Object.defineProperty(exports, "OptionalIndexedAccessType", ({ enumerable: true, get: function () { - return _index.optionalIndexedAccessType; + return _lowercase.optionalIndexedAccessType; } })); Object.defineProperty(exports, "OptionalMemberExpression", ({ enumerable: true, get: function () { - return _index.optionalMemberExpression; + return _lowercase.optionalMemberExpression; } })); Object.defineProperty(exports, "ParenthesizedExpression", ({ enumerable: true, get: function () { - return _index.parenthesizedExpression; + return _lowercase.parenthesizedExpression; } })); Object.defineProperty(exports, "PipelineBareFunction", ({ enumerable: true, get: function () { - return _index.pipelineBareFunction; + return _lowercase.pipelineBareFunction; } })); Object.defineProperty(exports, "PipelinePrimaryTopicReference", ({ enumerable: true, get: function () { - return _index.pipelinePrimaryTopicReference; + return _lowercase.pipelinePrimaryTopicReference; } })); Object.defineProperty(exports, "PipelineTopicExpression", ({ enumerable: true, get: function () { - return _index.pipelineTopicExpression; + return _lowercase.pipelineTopicExpression; } })); Object.defineProperty(exports, "Placeholder", ({ enumerable: true, get: function () { - return _index.placeholder; + return _lowercase.placeholder; } })); Object.defineProperty(exports, "PrivateName", ({ enumerable: true, get: function () { - return _index.privateName; + return _lowercase.privateName; } })); Object.defineProperty(exports, "Program", ({ enumerable: true, get: function () { - return _index.program; + return _lowercase.program; } })); Object.defineProperty(exports, "QualifiedTypeIdentifier", ({ enumerable: true, get: function () { - return _index.qualifiedTypeIdentifier; + return _lowercase.qualifiedTypeIdentifier; } })); Object.defineProperty(exports, "RecordExpression", ({ enumerable: true, get: function () { - return _index.recordExpression; + return _lowercase.recordExpression; } })); Object.defineProperty(exports, "RegExpLiteral", ({ enumerable: true, get: function () { - return _index.regExpLiteral; + return _lowercase.regExpLiteral; } })); Object.defineProperty(exports, "RegexLiteral", ({ enumerable: true, get: function () { - return _index.regexLiteral; + return _lowercase.regexLiteral; } })); Object.defineProperty(exports, "RestElement", ({ enumerable: true, get: function () { - return _index.restElement; + return _lowercase.restElement; } })); Object.defineProperty(exports, "RestProperty", ({ enumerable: true, get: function () { - return _index.restProperty; + return _lowercase.restProperty; } })); Object.defineProperty(exports, "ReturnStatement", ({ enumerable: true, get: function () { - return _index.returnStatement; + return _lowercase.returnStatement; } })); Object.defineProperty(exports, "SequenceExpression", ({ enumerable: true, get: function () { - return _index.sequenceExpression; + return _lowercase.sequenceExpression; } })); Object.defineProperty(exports, "SpreadElement", ({ enumerable: true, get: function () { - return _index.spreadElement; + return _lowercase.spreadElement; } })); Object.defineProperty(exports, "SpreadProperty", ({ enumerable: true, get: function () { - return _index.spreadProperty; + return _lowercase.spreadProperty; } })); Object.defineProperty(exports, "StaticBlock", ({ enumerable: true, get: function () { - return _index.staticBlock; + return _lowercase.staticBlock; } })); Object.defineProperty(exports, "StringLiteral", ({ enumerable: true, get: function () { - return _index.stringLiteral; + return _lowercase.stringLiteral; } })); Object.defineProperty(exports, "StringLiteralTypeAnnotation", ({ enumerable: true, get: function () { - return _index.stringLiteralTypeAnnotation; + return _lowercase.stringLiteralTypeAnnotation; } })); Object.defineProperty(exports, "StringTypeAnnotation", ({ enumerable: true, get: function () { - return _index.stringTypeAnnotation; + return _lowercase.stringTypeAnnotation; } })); Object.defineProperty(exports, "Super", ({ enumerable: true, get: function () { - return _index.super; + return _lowercase.super; } })); Object.defineProperty(exports, "SwitchCase", ({ enumerable: true, get: function () { - return _index.switchCase; + return _lowercase.switchCase; } })); Object.defineProperty(exports, "SwitchStatement", ({ enumerable: true, get: function () { - return _index.switchStatement; + return _lowercase.switchStatement; } })); Object.defineProperty(exports, "SymbolTypeAnnotation", ({ enumerable: true, get: function () { - return _index.symbolTypeAnnotation; + return _lowercase.symbolTypeAnnotation; } })); Object.defineProperty(exports, "TSAnyKeyword", ({ enumerable: true, get: function () { - return _index.tsAnyKeyword; + return _lowercase.tsAnyKeyword; } })); Object.defineProperty(exports, "TSArrayType", ({ enumerable: true, get: function () { - return _index.tsArrayType; + return _lowercase.tsArrayType; } })); Object.defineProperty(exports, "TSAsExpression", ({ enumerable: true, get: function () { - return _index.tsAsExpression; + return _lowercase.tsAsExpression; } })); Object.defineProperty(exports, "TSBigIntKeyword", ({ enumerable: true, get: function () { - return _index.tsBigIntKeyword; + return _lowercase.tsBigIntKeyword; } })); Object.defineProperty(exports, "TSBooleanKeyword", ({ enumerable: true, get: function () { - return _index.tsBooleanKeyword; + return _lowercase.tsBooleanKeyword; } })); Object.defineProperty(exports, "TSCallSignatureDeclaration", ({ enumerable: true, get: function () { - return _index.tsCallSignatureDeclaration; + return _lowercase.tsCallSignatureDeclaration; } })); Object.defineProperty(exports, "TSConditionalType", ({ enumerable: true, get: function () { - return _index.tsConditionalType; + return _lowercase.tsConditionalType; } })); Object.defineProperty(exports, "TSConstructSignatureDeclaration", ({ enumerable: true, get: function () { - return _index.tsConstructSignatureDeclaration; + return _lowercase.tsConstructSignatureDeclaration; } })); Object.defineProperty(exports, "TSConstructorType", ({ enumerable: true, get: function () { - return _index.tsConstructorType; + return _lowercase.tsConstructorType; } })); Object.defineProperty(exports, "TSDeclareFunction", ({ enumerable: true, get: function () { - return _index.tsDeclareFunction; + return _lowercase.tsDeclareFunction; } })); Object.defineProperty(exports, "TSDeclareMethod", ({ enumerable: true, get: function () { - return _index.tsDeclareMethod; + return _lowercase.tsDeclareMethod; + } +})); +Object.defineProperty(exports, "TSEnumBody", ({ + enumerable: true, + get: function () { + return _lowercase.tsEnumBody; } })); Object.defineProperty(exports, "TSEnumDeclaration", ({ enumerable: true, get: function () { - return _index.tsEnumDeclaration; + return _lowercase.tsEnumDeclaration; } })); Object.defineProperty(exports, "TSEnumMember", ({ enumerable: true, get: function () { - return _index.tsEnumMember; + return _lowercase.tsEnumMember; } })); Object.defineProperty(exports, "TSExportAssignment", ({ enumerable: true, get: function () { - return _index.tsExportAssignment; + return _lowercase.tsExportAssignment; } })); Object.defineProperty(exports, "TSExpressionWithTypeArguments", ({ enumerable: true, get: function () { - return _index.tsExpressionWithTypeArguments; + return _lowercase.tsExpressionWithTypeArguments; } })); Object.defineProperty(exports, "TSExternalModuleReference", ({ enumerable: true, get: function () { - return _index.tsExternalModuleReference; + return _lowercase.tsExternalModuleReference; } })); Object.defineProperty(exports, "TSFunctionType", ({ enumerable: true, get: function () { - return _index.tsFunctionType; + return _lowercase.tsFunctionType; } })); Object.defineProperty(exports, "TSImportEqualsDeclaration", ({ enumerable: true, get: function () { - return _index.tsImportEqualsDeclaration; + return _lowercase.tsImportEqualsDeclaration; } })); Object.defineProperty(exports, "TSImportType", ({ enumerable: true, get: function () { - return _index.tsImportType; + return _lowercase.tsImportType; } })); Object.defineProperty(exports, "TSIndexSignature", ({ enumerable: true, get: function () { - return _index.tsIndexSignature; + return _lowercase.tsIndexSignature; } })); Object.defineProperty(exports, "TSIndexedAccessType", ({ enumerable: true, get: function () { - return _index.tsIndexedAccessType; + return _lowercase.tsIndexedAccessType; } })); Object.defineProperty(exports, "TSInferType", ({ enumerable: true, get: function () { - return _index.tsInferType; + return _lowercase.tsInferType; } })); Object.defineProperty(exports, "TSInstantiationExpression", ({ enumerable: true, get: function () { - return _index.tsInstantiationExpression; + return _lowercase.tsInstantiationExpression; } })); Object.defineProperty(exports, "TSInterfaceBody", ({ enumerable: true, get: function () { - return _index.tsInterfaceBody; + return _lowercase.tsInterfaceBody; } })); Object.defineProperty(exports, "TSInterfaceDeclaration", ({ enumerable: true, get: function () { - return _index.tsInterfaceDeclaration; + return _lowercase.tsInterfaceDeclaration; } })); Object.defineProperty(exports, "TSIntersectionType", ({ enumerable: true, get: function () { - return _index.tsIntersectionType; + return _lowercase.tsIntersectionType; } })); Object.defineProperty(exports, "TSIntrinsicKeyword", ({ enumerable: true, get: function () { - return _index.tsIntrinsicKeyword; + return _lowercase.tsIntrinsicKeyword; } })); Object.defineProperty(exports, "TSLiteralType", ({ enumerable: true, get: function () { - return _index.tsLiteralType; + return _lowercase.tsLiteralType; } })); Object.defineProperty(exports, "TSMappedType", ({ enumerable: true, get: function () { - return _index.tsMappedType; + return _lowercase.tsMappedType; } })); Object.defineProperty(exports, "TSMethodSignature", ({ enumerable: true, get: function () { - return _index.tsMethodSignature; + return _lowercase.tsMethodSignature; } })); Object.defineProperty(exports, "TSModuleBlock", ({ enumerable: true, get: function () { - return _index.tsModuleBlock; + return _lowercase.tsModuleBlock; } })); Object.defineProperty(exports, "TSModuleDeclaration", ({ enumerable: true, get: function () { - return _index.tsModuleDeclaration; + return _lowercase.tsModuleDeclaration; } })); Object.defineProperty(exports, "TSNamedTupleMember", ({ enumerable: true, get: function () { - return _index.tsNamedTupleMember; + return _lowercase.tsNamedTupleMember; } })); Object.defineProperty(exports, "TSNamespaceExportDeclaration", ({ enumerable: true, get: function () { - return _index.tsNamespaceExportDeclaration; + return _lowercase.tsNamespaceExportDeclaration; } })); Object.defineProperty(exports, "TSNeverKeyword", ({ enumerable: true, get: function () { - return _index.tsNeverKeyword; + return _lowercase.tsNeverKeyword; } })); Object.defineProperty(exports, "TSNonNullExpression", ({ enumerable: true, get: function () { - return _index.tsNonNullExpression; + return _lowercase.tsNonNullExpression; } })); Object.defineProperty(exports, "TSNullKeyword", ({ enumerable: true, get: function () { - return _index.tsNullKeyword; + return _lowercase.tsNullKeyword; } })); Object.defineProperty(exports, "TSNumberKeyword", ({ enumerable: true, get: function () { - return _index.tsNumberKeyword; + return _lowercase.tsNumberKeyword; } })); Object.defineProperty(exports, "TSObjectKeyword", ({ enumerable: true, get: function () { - return _index.tsObjectKeyword; + return _lowercase.tsObjectKeyword; } })); Object.defineProperty(exports, "TSOptionalType", ({ enumerable: true, get: function () { - return _index.tsOptionalType; + return _lowercase.tsOptionalType; } })); Object.defineProperty(exports, "TSParameterProperty", ({ enumerable: true, get: function () { - return _index.tsParameterProperty; + return _lowercase.tsParameterProperty; } })); Object.defineProperty(exports, "TSParenthesizedType", ({ enumerable: true, get: function () { - return _index.tsParenthesizedType; + return _lowercase.tsParenthesizedType; } })); Object.defineProperty(exports, "TSPropertySignature", ({ enumerable: true, get: function () { - return _index.tsPropertySignature; + return _lowercase.tsPropertySignature; } })); Object.defineProperty(exports, "TSQualifiedName", ({ enumerable: true, get: function () { - return _index.tsQualifiedName; + return _lowercase.tsQualifiedName; } })); Object.defineProperty(exports, "TSRestType", ({ enumerable: true, get: function () { - return _index.tsRestType; + return _lowercase.tsRestType; } })); Object.defineProperty(exports, "TSSatisfiesExpression", ({ enumerable: true, get: function () { - return _index.tsSatisfiesExpression; + return _lowercase.tsSatisfiesExpression; } })); Object.defineProperty(exports, "TSStringKeyword", ({ enumerable: true, get: function () { - return _index.tsStringKeyword; + return _lowercase.tsStringKeyword; } })); Object.defineProperty(exports, "TSSymbolKeyword", ({ enumerable: true, get: function () { - return _index.tsSymbolKeyword; + return _lowercase.tsSymbolKeyword; + } +})); +Object.defineProperty(exports, "TSTemplateLiteralType", ({ + enumerable: true, + get: function () { + return _lowercase.tsTemplateLiteralType; } })); Object.defineProperty(exports, "TSThisType", ({ enumerable: true, get: function () { - return _index.tsThisType; + return _lowercase.tsThisType; } })); Object.defineProperty(exports, "TSTupleType", ({ enumerable: true, get: function () { - return _index.tsTupleType; + return _lowercase.tsTupleType; } })); Object.defineProperty(exports, "TSTypeAliasDeclaration", ({ enumerable: true, get: function () { - return _index.tsTypeAliasDeclaration; + return _lowercase.tsTypeAliasDeclaration; } })); Object.defineProperty(exports, "TSTypeAnnotation", ({ enumerable: true, get: function () { - return _index.tsTypeAnnotation; + return _lowercase.tsTypeAnnotation; } })); Object.defineProperty(exports, "TSTypeAssertion", ({ enumerable: true, get: function () { - return _index.tsTypeAssertion; + return _lowercase.tsTypeAssertion; } })); Object.defineProperty(exports, "TSTypeLiteral", ({ enumerable: true, get: function () { - return _index.tsTypeLiteral; + return _lowercase.tsTypeLiteral; } })); Object.defineProperty(exports, "TSTypeOperator", ({ enumerable: true, get: function () { - return _index.tsTypeOperator; + return _lowercase.tsTypeOperator; } })); Object.defineProperty(exports, "TSTypeParameter", ({ enumerable: true, get: function () { - return _index.tsTypeParameter; + return _lowercase.tsTypeParameter; } })); Object.defineProperty(exports, "TSTypeParameterDeclaration", ({ enumerable: true, get: function () { - return _index.tsTypeParameterDeclaration; + return _lowercase.tsTypeParameterDeclaration; } })); Object.defineProperty(exports, "TSTypeParameterInstantiation", ({ enumerable: true, get: function () { - return _index.tsTypeParameterInstantiation; + return _lowercase.tsTypeParameterInstantiation; } })); Object.defineProperty(exports, "TSTypePredicate", ({ enumerable: true, get: function () { - return _index.tsTypePredicate; + return _lowercase.tsTypePredicate; } })); Object.defineProperty(exports, "TSTypeQuery", ({ enumerable: true, get: function () { - return _index.tsTypeQuery; + return _lowercase.tsTypeQuery; } })); Object.defineProperty(exports, "TSTypeReference", ({ enumerable: true, get: function () { - return _index.tsTypeReference; + return _lowercase.tsTypeReference; } })); Object.defineProperty(exports, "TSUndefinedKeyword", ({ enumerable: true, get: function () { - return _index.tsUndefinedKeyword; + return _lowercase.tsUndefinedKeyword; } })); Object.defineProperty(exports, "TSUnionType", ({ enumerable: true, get: function () { - return _index.tsUnionType; + return _lowercase.tsUnionType; } })); Object.defineProperty(exports, "TSUnknownKeyword", ({ enumerable: true, get: function () { - return _index.tsUnknownKeyword; + return _lowercase.tsUnknownKeyword; } })); Object.defineProperty(exports, "TSVoidKeyword", ({ enumerable: true, get: function () { - return _index.tsVoidKeyword; + return _lowercase.tsVoidKeyword; } })); Object.defineProperty(exports, "TaggedTemplateExpression", ({ enumerable: true, get: function () { - return _index.taggedTemplateExpression; + return _lowercase.taggedTemplateExpression; } })); Object.defineProperty(exports, "TemplateElement", ({ enumerable: true, get: function () { - return _index.templateElement; + return _lowercase.templateElement; } })); Object.defineProperty(exports, "TemplateLiteral", ({ enumerable: true, get: function () { - return _index.templateLiteral; + return _lowercase.templateLiteral; } })); Object.defineProperty(exports, "ThisExpression", ({ enumerable: true, get: function () { - return _index.thisExpression; + return _lowercase.thisExpression; } })); Object.defineProperty(exports, "ThisTypeAnnotation", ({ enumerable: true, get: function () { - return _index.thisTypeAnnotation; + return _lowercase.thisTypeAnnotation; } })); Object.defineProperty(exports, "ThrowStatement", ({ enumerable: true, get: function () { - return _index.throwStatement; + return _lowercase.throwStatement; } })); Object.defineProperty(exports, "TopicReference", ({ enumerable: true, get: function () { - return _index.topicReference; + return _lowercase.topicReference; } })); Object.defineProperty(exports, "TryStatement", ({ enumerable: true, get: function () { - return _index.tryStatement; + return _lowercase.tryStatement; } })); Object.defineProperty(exports, "TupleExpression", ({ enumerable: true, get: function () { - return _index.tupleExpression; + return _lowercase.tupleExpression; } })); Object.defineProperty(exports, "TupleTypeAnnotation", ({ enumerable: true, get: function () { - return _index.tupleTypeAnnotation; + return _lowercase.tupleTypeAnnotation; } })); Object.defineProperty(exports, "TypeAlias", ({ enumerable: true, get: function () { - return _index.typeAlias; + return _lowercase.typeAlias; } })); Object.defineProperty(exports, "TypeAnnotation", ({ enumerable: true, get: function () { - return _index.typeAnnotation; + return _lowercase.typeAnnotation; } })); Object.defineProperty(exports, "TypeCastExpression", ({ enumerable: true, get: function () { - return _index.typeCastExpression; + return _lowercase.typeCastExpression; } })); Object.defineProperty(exports, "TypeParameter", ({ enumerable: true, get: function () { - return _index.typeParameter; + return _lowercase.typeParameter; } })); Object.defineProperty(exports, "TypeParameterDeclaration", ({ enumerable: true, get: function () { - return _index.typeParameterDeclaration; + return _lowercase.typeParameterDeclaration; } })); Object.defineProperty(exports, "TypeParameterInstantiation", ({ enumerable: true, get: function () { - return _index.typeParameterInstantiation; + return _lowercase.typeParameterInstantiation; } })); Object.defineProperty(exports, "TypeofTypeAnnotation", ({ enumerable: true, get: function () { - return _index.typeofTypeAnnotation; + return _lowercase.typeofTypeAnnotation; } })); Object.defineProperty(exports, "UnaryExpression", ({ enumerable: true, get: function () { - return _index.unaryExpression; + return _lowercase.unaryExpression; } })); Object.defineProperty(exports, "UnionTypeAnnotation", ({ enumerable: true, get: function () { - return _index.unionTypeAnnotation; + return _lowercase.unionTypeAnnotation; } })); Object.defineProperty(exports, "UpdateExpression", ({ enumerable: true, get: function () { - return _index.updateExpression; + return _lowercase.updateExpression; } })); Object.defineProperty(exports, "V8IntrinsicIdentifier", ({ enumerable: true, get: function () { - return _index.v8IntrinsicIdentifier; + return _lowercase.v8IntrinsicIdentifier; } })); Object.defineProperty(exports, "VariableDeclaration", ({ enumerable: true, get: function () { - return _index.variableDeclaration; + return _lowercase.variableDeclaration; } })); Object.defineProperty(exports, "VariableDeclarator", ({ enumerable: true, get: function () { - return _index.variableDeclarator; + return _lowercase.variableDeclarator; } })); Object.defineProperty(exports, "Variance", ({ enumerable: true, get: function () { - return _index.variance; + return _lowercase.variance; } })); Object.defineProperty(exports, "VoidTypeAnnotation", ({ enumerable: true, get: function () { - return _index.voidTypeAnnotation; + return _lowercase.voidTypeAnnotation; } })); Object.defineProperty(exports, "WhileStatement", ({ enumerable: true, get: function () { - return _index.whileStatement; + return _lowercase.whileStatement; } })); Object.defineProperty(exports, "WithStatement", ({ enumerable: true, get: function () { - return _index.withStatement; + return _lowercase.withStatement; } })); Object.defineProperty(exports, "YieldExpression", ({ enumerable: true, get: function () { - return _index.yieldExpression; + return _lowercase.yieldExpression; } })); -var _index = __nccwpck_require__(9380); +var _lowercase = __nccwpck_require__(9130); //# sourceMappingURL=uppercase.js.map @@ -50777,12 +49685,11 @@ toKeyAlias.increment = function () { /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -var __webpack_unused_export__; -__webpack_unused_export__ = ({ +Object.defineProperty(exports, "__esModule", ({ value: true -}); +})); exports["default"] = toSequenceExpression; var _gatherSequenceExpressions = __nccwpck_require__(1022); ; @@ -50942,7 +49849,7 @@ function valueToNode(value) { Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.patternLikeCommon = exports.functionTypeAnnotationCommon = exports.functionDeclarationCommon = exports.functionCommon = exports.classMethodOrPropertyCommon = exports.classMethodOrDeclareMethodCommon = void 0; +exports.patternLikeCommon = exports.importAttributes = exports.functionTypeAnnotationCommon = exports.functionDeclarationCommon = exports.functionCommon = exports.classMethodOrPropertyCommon = exports.classMethodOrDeclareMethodCommon = void 0; var _is = __nccwpck_require__(3860); var _isValidIdentifier = __nccwpck_require__(1698); var _helperValidatorIdentifier = __nccwpck_require__(2738); @@ -51065,21 +49972,25 @@ defineType("CallExpression", { callee: { validate: (0, _utils.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier") }, - arguments: (0, _utils.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder") - }, !process.env.BABEL_TYPES_8_BREAKING ? { - optional: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - } - } : {}, { + arguments: (0, _utils.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"), typeArguments: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), optional: true + } + }, { + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true }, typeParameters: { validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), optional: true } + }, process.env.BABEL_TYPES_8_BREAKING ? {} : { + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + } }) }); defineType("CatchClause", { @@ -51241,7 +50152,7 @@ const functionDeclarationCommon = () => Object.assign({}, functionCommon(), { exports.functionDeclarationCommon = functionDeclarationCommon; defineType("FunctionDeclaration", { builder: ["id", "params", "body", "generator", "async"], - visitor: ["id", "typeParameters", "params", "returnType", "body"], + visitor: ["id", "typeParameters", "params", "predicate", "returnType", "body"], fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), { body: { validate: (0, _utils.assertNodeType)("BlockStatement") @@ -51819,7 +50730,7 @@ defineType("ArrayPattern", { }); defineType("ArrowFunctionExpression", { builder: ["params", "body", "async"], - visitor: ["typeParameters", "params", "returnType", "body"], + visitor: ["typeParameters", "params", "predicate", "returnType", "body"], aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), { expression: { @@ -51860,7 +50771,7 @@ defineType("ClassExpression", { optional: true, validate: (0, _utils.assertNodeType)("Expression") }, - superTypeParameters: { + ["superTypeParameters"]: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), optional: true }, @@ -51897,7 +50808,7 @@ defineType("ClassDeclaration", { optional: true, validate: (0, _utils.assertNodeType)("Expression") }, - superTypeParameters: { + ["superTypeParameters"]: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), optional: true }, @@ -51931,25 +50842,27 @@ defineType("ClassDeclaration", { }; }() }); +const importAttributes = exports.importAttributes = { + attributes: { + optional: true, + validate: (0, _utils.arrayOfType)("ImportAttribute") + }, + assertions: { + deprecated: true, + optional: true, + validate: (0, _utils.arrayOfType)("ImportAttribute") + } +}; defineType("ExportAllDeclaration", { builder: ["source"], visitor: ["source", "attributes", "assertions"], aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], - fields: { + fields: Object.assign({ source: { validate: (0, _utils.assertNodeType)("StringLiteral") }, - exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")), - attributes: { - optional: true, - validate: (0, _utils.arrayOfType)("ImportAttribute") - }, - assertions: { - deprecated: true, - optional: true, - validate: (0, _utils.arrayOfType)("ImportAttribute") - } - } + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) + }, importAttributes) }); defineType("ExportDefaultDeclaration", { visitor: ["declaration"], @@ -51963,7 +50876,7 @@ defineType("ExportNamedDeclaration", { builder: ["declaration", "specifiers", "source"], visitor: process.env ? ["declaration", "specifiers", "source", "attributes"] : ["declaration", "specifiers", "source", "attributes", "assertions"], aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"], - fields: { + fields: Object.assign({ declaration: { optional: true, validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)("Declaration"), Object.assign(function (node, key, val) { @@ -51976,16 +50889,8 @@ defineType("ExportNamedDeclaration", { }, { oneOfNodeTypes: ["Declaration"] })) : (0, _utils.assertNodeType)("Declaration") - }, - attributes: { - optional: true, - validate: (0, _utils.arrayOfType)("ImportAttribute") - }, - assertions: { - deprecated: true, - optional: true, - validate: (0, _utils.arrayOfType)("ImportAttribute") - }, + } + }, importAttributes, { specifiers: { default: [], validate: (0, _utils.arrayOf)(function () { @@ -52005,7 +50910,7 @@ defineType("ExportNamedDeclaration", { optional: true }, exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) - } + }) }); defineType("ExportSpecifier", { visitor: ["local", "exported"], @@ -52061,16 +50966,7 @@ defineType("ImportDeclaration", { builder: ["specifiers", "source"], visitor: ["specifiers", "source", "attributes", "assertions"], aliases: ["Statement", "Declaration", "ImportOrExportDeclaration"], - fields: { - attributes: { - optional: true, - validate: (0, _utils.arrayOfType)("ImportAttribute") - }, - assertions: { - deprecated: true, - optional: true, - validate: (0, _utils.arrayOfType)("ImportAttribute") - }, + fields: Object.assign({}, importAttributes, { module: { optional: true, validate: (0, _utils.assertValueType)("boolean") @@ -52087,7 +50983,7 @@ defineType("ImportDeclaration", { validate: (0, _utils.assertOneOf)("type", "typeof", "value"), optional: true } - } + }) }); defineType("ImportDefaultSpecifier", { visitor: ["local"], @@ -52265,7 +51161,7 @@ defineType("TaggedTemplateExpression", { quasi: { validate: (0, _utils.assertNodeType)("TemplateLiteral") }, - typeParameters: { + ["typeParameters"]: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), optional: true } @@ -52411,7 +51307,7 @@ defineType("OptionalCallExpression", { visitor: ["callee", "arguments", "typeParameters", "typeArguments"], builder: ["callee", "arguments", "optional"], aliases: ["Expression"], - fields: { + fields: Object.assign({ callee: { validate: (0, _utils.assertNodeType)("Expression") }, @@ -52422,15 +51318,16 @@ defineType("OptionalCallExpression", { typeArguments: { validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), optional: true - }, + } + }, { typeParameters: { validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), optional: true } - } + }) }); defineType("ClassProperty", { - visitor: ["decorators", "key", "typeAnnotation", "value"], + visitor: ["decorators", "variance", "key", "typeAnnotation", "value"], builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], aliases: ["Property"], fields: Object.assign({}, classMethodOrPropertyCommon(), { @@ -52510,7 +51407,7 @@ defineType("ClassAccessorProperty", { }) }); defineType("ClassPrivateProperty", { - visitor: ["decorators", "key", "typeAnnotation", "value"], + visitor: ["decorators", "variance", "key", "typeAnnotation", "value"], builder: ["key", "value", "decorators", "static"], aliases: ["Property", "Private"], fields: { @@ -52537,6 +51434,10 @@ defineType("ClassPrivateProperty", { validate: (0, _utils.assertValueType)("boolean"), optional: true }, + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, definite: { validate: (0, _utils.assertValueType)("boolean"), optional: true @@ -52753,6 +51654,7 @@ var _utils = __nccwpck_require__(4106); "use strict"; +var _core = __nccwpck_require__(1268); var _utils = __nccwpck_require__(4106); const defineType = (0, _utils.defineAliasedType)("Flow"); const defineInterfaceishType = name => { @@ -52805,7 +51707,8 @@ defineType("ClassImplements", { }); defineInterfaceishType("DeclareClass"); defineType("DeclareFunction", { - visitor: ["id"], + builder: ["id"], + visitor: ["id", "predicate"], aliases: ["FlowDeclaration", "Statement", "Declaration"], fields: { id: (0, _utils.validateType)("Identifier"), @@ -52857,22 +51760,22 @@ defineType("DeclareVariable", { } }); defineType("DeclareExportDeclaration", { - visitor: ["declaration", "specifiers", "source"], + visitor: ["declaration", "specifiers", "source", "attributes"], aliases: ["FlowDeclaration", "Statement", "Declaration"], - fields: { + fields: Object.assign({ declaration: (0, _utils.validateOptionalType)("Flow"), specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ExportSpecifier", "ExportNamespaceSpecifier")), source: (0, _utils.validateOptionalType)("StringLiteral"), default: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) - } + }, _core.importAttributes) }); defineType("DeclareExportAllDeclaration", { - visitor: ["source"], + visitor: ["source", "attributes"], aliases: ["FlowDeclaration", "Statement", "Declaration"], - fields: { + fields: Object.assign({ source: (0, _utils.validateType)("StringLiteral"), exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) - } + }, _core.importAttributes) }); defineType("DeclaredPredicate", { visitor: ["value"], @@ -52885,7 +51788,8 @@ defineType("ExistsTypeAnnotation", { aliases: ["FlowType"] }); defineType("FunctionTypeAnnotation", { - visitor: ["typeParameters", "params", "rest", "returnType"], + builder: ["typeParameters", "params", "rest", "returnType"], + visitor: ["typeParameters", "this", "params", "rest", "returnType"], aliases: ["FlowType"], fields: { typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), @@ -53194,7 +52098,8 @@ defineType("EnumSymbolBody", { }); defineType("EnumBooleanMember", { aliases: ["EnumMember"], - visitor: ["id"], + builder: ["id"], + visitor: ["id", "init"], fields: { id: (0, _utils.validateType)("Identifier"), init: (0, _utils.validateType)("BooleanLiteral") @@ -53442,9 +52347,9 @@ defineType("JSXNamespacedName", { }); defineType("JSXOpeningElement", { builder: ["name", "attributes", "selfClosing"], - visitor: ["name", "attributes"], + visitor: ["name", "typeParameters", "typeArguments", "attributes"], aliases: ["Immutable"], - fields: { + fields: Object.assign({ name: { validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") }, @@ -53452,11 +52357,16 @@ defineType("JSXOpeningElement", { default: false }, attributes: (0, _utils.validateArrayOfType)("JSXAttribute", "JSXSpreadAttribute"), + typeArguments: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), + optional: true + } + }, { typeParameters: { - validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), optional: true } - } + }) }); defineType("JSXSpreadAttribute", { visitor: ["argument"], @@ -53666,6 +52576,7 @@ defineType("TSPropertySignature", { readonly: (0, _utils.validateOptional)(bool), typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), kind: { + optional: true, validate: (0, _utils.assertOneOf)("get", "set") } }) @@ -53719,7 +52630,7 @@ defineType("TSTypeReference", { visitor: ["typeName", "typeParameters"], fields: { typeName: (0, _utils.validateType)("TSEntityName"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + ["typeParameters"]: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") } }); defineType("TSTypePredicate", { @@ -53737,7 +52648,7 @@ defineType("TSTypeQuery", { visitor: ["exprName", "typeParameters"], fields: { exprName: (0, _utils.validateType)("TSEntityName", "TSImportType"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + ["typeParameters"]: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") } }); defineType("TSTypeLiteral", { @@ -53849,6 +52760,20 @@ defineType("TSMappedType", { nameType: (0, _utils.validateOptionalType)("TSType") }) }); +defineType("TSTemplateLiteralType", { + aliases: ["TSType", "TSBaseType"], + visitor: ["quasis", "types"], + fields: { + quasis: (0, _utils.validateArrayOfType)("TemplateElement"), + types: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSType")), function (node, key, val) { + if (node.quasis.length !== val.length + 1) { + throw new TypeError(`Number of ${node.type} quasis should be exactly one more than the number of types.\nExpected ${val.length + 1} quasis but got ${node.quasis.length}`); + } + }) + } + } +}); defineType("TSLiteralType", { aliases: ["TSType", "TSBaseType"], visitor: ["literal"], @@ -53872,16 +52797,15 @@ defineType("TSLiteralType", { } } }); -const expressionWithTypeArguments = { - aliases: ["TSType"], - visitor: ["expression", "typeParameters"], - fields: { - expression: (0, _utils.validateType)("TSEntityName"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") - } -}; { - defineType("TSExpressionWithTypeArguments", expressionWithTypeArguments); + defineType("TSExpressionWithTypeArguments", { + aliases: ["TSType"], + visitor: ["expression", "typeParameters"], + fields: { + expression: (0, _utils.validateType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } + }); } defineType("TSInterfaceDeclaration", { aliases: ["Statement", "Declaration"], @@ -53915,7 +52839,7 @@ defineType("TSInstantiationExpression", { visitor: ["expression", "typeParameters"], fields: { expression: (0, _utils.validateType)("Expression"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + ["typeParameters"]: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") } }); const TSTypeExpression = { @@ -53936,17 +52860,26 @@ defineType("TSTypeAssertion", { expression: (0, _utils.validateType)("Expression") } }); -defineType("TSEnumDeclaration", { - aliases: ["Statement", "Declaration"], - visitor: ["id", "members"], +defineType("TSEnumBody", { + visitor: ["members"], fields: { - declare: (0, _utils.validateOptional)(bool), - const: (0, _utils.validateOptional)(bool), - id: (0, _utils.validateType)("Identifier"), - members: (0, _utils.validateArrayOfType)("TSEnumMember"), - initializer: (0, _utils.validateOptionalType)("Expression") + members: (0, _utils.validateArrayOfType)("TSEnumMember") } }); +{ + defineType("TSEnumDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "members"], + fields: { + declare: (0, _utils.validateOptional)(bool), + const: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + members: (0, _utils.validateArrayOfType)("TSEnumMember"), + initializer: (0, _utils.validateOptionalType)("Expression"), + body: (0, _utils.validateOptionalType)("TSEnumBody") + } + }); +} defineType("TSEnumMember", { visitor: ["id", "initializer"], fields: { @@ -53957,12 +52890,17 @@ defineType("TSEnumMember", { defineType("TSModuleDeclaration", { aliases: ["Statement", "Declaration"], visitor: ["id", "body"], - fields: { - declare: (0, _utils.validateOptional)(bool), - global: (0, _utils.validateOptional)(bool), + fields: Object.assign({ + kind: { + validate: (0, _utils.assertOneOf)("global", "module", "namespace") + }, + declare: (0, _utils.validateOptional)(bool) + }, { + global: (0, _utils.validateOptional)(bool) + }, { id: (0, _utils.validateType)("Identifier", "StringLiteral"), body: (0, _utils.validateType)("TSModuleBlock", "TSModuleDeclaration") - } + }) }); defineType("TSModuleBlock", { aliases: ["Scopable", "Block", "BlockParent", "FunctionParent"], @@ -53973,11 +52911,12 @@ defineType("TSModuleBlock", { }); defineType("TSImportType", { aliases: ["TSType"], - visitor: ["argument", "qualifier", "typeParameters"], + builder: ["argument", "qualifier", "typeParameters"], + visitor: ["argument", "options", "qualifier", "typeParameters"], fields: { argument: (0, _utils.validateType)("StringLiteral"), qualifier: (0, _utils.validateOptionalType)("TSEntityName"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation"), + ["typeParameters"]: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation"), options: { validate: (0, _utils.assertNodeType)("Expression"), optional: true @@ -53985,17 +52924,18 @@ defineType("TSImportType", { } }); defineType("TSImportEqualsDeclaration", { - aliases: ["Statement"], + aliases: ["Statement", "Declaration"], visitor: ["id", "moduleReference"], - fields: { - isExport: (0, _utils.validate)(bool), + fields: Object.assign({}, { + isExport: (0, _utils.validate)(bool) + }, { id: (0, _utils.validateType)("Identifier"), moduleReference: (0, _utils.validateType)("TSEntityName", "TSExternalModuleReference"), importKind: { validate: (0, _utils.assertOneOf)("type", "value"), optional: true } - } + }) }); defineType("TSExternalModuleReference", { visitor: ["expression"], @@ -54795,39 +53735,27 @@ Object.keys(_index).forEach(function (key) { var _createTypeAnnotationBasedOnTypeof = __nccwpck_require__(9829); var _createFlowUnionType = __nccwpck_require__(5953); var _createTSUnionType = __nccwpck_require__(8684); -var _index2 = __nccwpck_require__(9380); -Object.keys(_index2).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - if (key in exports && exports[key] === _index2[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _index2[key]; - } - }); -}); -var _uppercase = __nccwpck_require__(8530); -Object.keys(_uppercase).forEach(function (key) { +var _productions = __nccwpck_require__(4157); +Object.keys(_productions).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - if (key in exports && exports[key] === _uppercase[key]) return; + if (key in exports && exports[key] === _productions[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { - return _uppercase[key]; + return _productions[key]; } }); }); -var _productions = __nccwpck_require__(4157); -Object.keys(_productions).forEach(function (key) { +var _index2 = __nccwpck_require__(9380); +Object.keys(_index2).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - if (key in exports && exports[key] === _productions[key]) return; + if (key in exports && exports[key] === _index2[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { - return _productions[key]; + return _index2[key]; } }); }); @@ -54943,13 +53871,14 @@ Object.keys(_index6).forEach(function (key) { }); }); var _deprecationWarning = __nccwpck_require__(496); +var _toSequenceExpression = __nccwpck_require__(8902); const react = exports.react = { isReactComponent: _isReactComponent.default, isCompatTag: _isCompatTag.default, buildChildren: _buildChildren.default }; { - exports.toSequenceExpression = __nccwpck_require__(8902)["default"]; + exports.toSequenceExpression = _toSequenceExpression.default; } if (process.env.BABEL_TYPES_8_BREAKING) { console.warn("BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-release instead!"); @@ -55183,7 +54112,7 @@ Object.defineProperty(exports, "__esModule", ({ exports["default"] = removeTypeDuplicates; var _index = __nccwpck_require__(2605); function getQualifiedName(node) { - return (0, _index.isIdentifier)(node) ? node.name : `${node.right.name}.${getQualifiedName(node.left)}`; + return (0, _index.isIdentifier)(node) ? node.name : (0, _index.isThisExpression)(node) ? "this" : `${node.right.name}.${getQualifiedName(node.left)}`; } function removeTypeDuplicates(nodesIn) { const nodes = Array.from(nodesIn); @@ -55211,17 +54140,18 @@ function removeTypeDuplicates(nodesIn) { } continue; } - if ((0, _index.isTSTypeReference)(node) && node.typeParameters) { + const typeArgumentsKey = "typeParameters"; + if ((0, _index.isTSTypeReference)(node) && node[typeArgumentsKey]) { + const typeArguments = node[typeArgumentsKey]; const name = getQualifiedName(node.typeName); if (generics.has(name)) { let existing = generics.get(name); - if (existing.typeParameters) { - if (node.typeParameters) { - existing.typeParameters.params.push(...node.typeParameters.params); - existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params); - } + const existingTypeArguments = existing[typeArgumentsKey]; + if (existingTypeArguments) { + existingTypeArguments.params.push(...typeArguments.params); + existingTypeArguments.params = removeTypeDuplicates(existingTypeArguments.params); } else { - existing = node.typeParameters; + existing = typeArguments; } } else { generics.set(name, node); @@ -55380,6 +54310,7 @@ const keys = { ImportNamespaceSpecifier: ["local"], ImportDefaultSpecifier: ["local"], ImportDeclaration: ["specifiers"], + TSImportEqualsDeclaration: ["id"], ExportSpecifier: ["exported"], ExportNamespaceSpecifier: ["exported"], ExportDefaultSpecifier: ["exported"], @@ -55984,6 +54915,7 @@ exports.isTSConstructorType = isTSConstructorType; exports.isTSDeclareFunction = isTSDeclareFunction; exports.isTSDeclareMethod = isTSDeclareMethod; exports.isTSEntityName = isTSEntityName; +exports.isTSEnumBody = isTSEnumBody; exports.isTSEnumDeclaration = isTSEnumDeclaration; exports.isTSEnumMember = isTSEnumMember; exports.isTSExportAssignment = isTSExportAssignment; @@ -56021,6 +54953,7 @@ exports.isTSRestType = isTSRestType; exports.isTSSatisfiesExpression = isTSSatisfiesExpression; exports.isTSStringKeyword = isTSStringKeyword; exports.isTSSymbolKeyword = isTSSymbolKeyword; +exports.isTSTemplateLiteralType = isTSTemplateLiteralType; exports.isTSThisType = isTSThisType; exports.isTSTupleType = isTSTupleType; exports.isTSType = isTSType; @@ -57210,6 +56143,11 @@ function isTSMappedType(node, opts) { if (node.type !== "TSMappedType") return false; return opts == null || (0, _shallowEqual.default)(node, opts); } +function isTSTemplateLiteralType(node, opts) { + if (!node) return false; + if (node.type !== "TSTemplateLiteralType") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); +} function isTSLiteralType(node, opts) { if (!node) return false; if (node.type !== "TSLiteralType") return false; @@ -57255,6 +56193,11 @@ function isTSTypeAssertion(node, opts) { if (node.type !== "TSTypeAssertion") return false; return opts == null || (0, _shallowEqual.default)(node, opts); } +function isTSEnumBody(node, opts) { + if (!node) return false; + if (node.type !== "TSEnumBody") return false; + return opts == null || (0, _shallowEqual.default)(node, opts); +} function isTSEnumDeclaration(node, opts) { if (!node) return false; if (node.type !== "TSEnumDeclaration") return false; @@ -57834,6 +56777,7 @@ function isDeclaration(node, opts) { case "TSTypeAliasDeclaration": case "TSEnumDeclaration": case "TSModuleDeclaration": + case "TSImportEqualsDeclaration": break; case "Placeholder": if (node.expectedNode === "Declaration") break; @@ -58375,6 +57319,7 @@ function isTypeScript(node, opts) { case "TSTypeOperator": case "TSIndexedAccessType": case "TSMappedType": + case "TSTemplateLiteralType": case "TSLiteralType": case "TSExpressionWithTypeArguments": case "TSInterfaceDeclaration": @@ -58384,6 +57329,7 @@ function isTypeScript(node, opts) { case "TSAsExpression": case "TSSatisfiesExpression": case "TSTypeAssertion": + case "TSEnumBody": case "TSEnumDeclaration": case "TSEnumMember": case "TSModuleDeclaration": @@ -58453,6 +57399,7 @@ function isTSType(node, opts) { case "TSTypeOperator": case "TSIndexedAccessType": case "TSMappedType": + case "TSTemplateLiteralType": case "TSLiteralType": case "TSExpressionWithTypeArguments": case "TSImportType": @@ -58479,6 +57426,7 @@ function isTSBaseType(node, opts) { case "TSUnknownKeyword": case "TSVoidKeyword": case "TSThisType": + case "TSTemplateLiteralType": case "TSLiteralType": break; default: @@ -59187,8 +58135,8 @@ module.exports = JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"] /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ loaded: false, +/******/ // no module.id needed +/******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ @@ -59201,23 +58149,11 @@ module.exports = JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"] /******/ if(threw) delete __webpack_module_cache__[moduleId]; /******/ } /******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ -/******/ /* webpack/runtime/node module decorator */ -/******/ (() => { -/******/ __nccwpck_require__.nmd = (module) => { -/******/ module.paths = []; -/******/ if (!module.children) module.children = []; -/******/ return module; -/******/ }; -/******/ })(); -/******/ /******/ /* webpack/runtime/compat */ /******/ /******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/"; diff --git a/.github/actions/javascript/bumpVersion/index.js b/.github/actions/javascript/bumpVersion/index.js index c96bc1bcf884..db369a1ec389 100644 --- a/.github/actions/javascript/bumpVersion/index.js +++ b/.github/actions/javascript/bumpVersion/index.js @@ -3481,7 +3481,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.PLIST_PATH_TEST = exports.PLIST_PATH = exports.BUILD_GRADLE_PATH = exports.generateAndroidVersionCode = exports.updateAndroidVersion = exports.updateiOSVersion = void 0; +exports.PLIST_PATH = exports.BUILD_GRADLE_PATH = exports.generateAndroidVersionCode = exports.updateAndroidVersion = exports.updateiOSVersion = void 0; const child_process_1 = __nccwpck_require__(2081); const fs_1 = __nccwpck_require__(7147); const path_1 = __importDefault(__nccwpck_require__(1017)); @@ -3494,8 +3494,6 @@ const BUILD_GRADLE_PATH = process.env.NODE_ENV === 'test' ? path_1.default.resol exports.BUILD_GRADLE_PATH = BUILD_GRADLE_PATH; const PLIST_PATH = './ios/NewExpensify/Info.plist'; exports.PLIST_PATH = PLIST_PATH; -const PLIST_PATH_TEST = './ios/NewExpensifyTests/Info.plist'; -exports.PLIST_PATH_TEST = PLIST_PATH_TEST; const PLIST_PATH_NSE = './ios/NotificationServiceExtension/Info.plist'; /** * Pad a number to be two digits (with leading zeros if necessary). @@ -3541,10 +3539,8 @@ function updateiOSVersion(version) { console.log('Updating iOS', `CFBundleShortVersionString: ${shortVersion}`, `CFBundleVersion: ${cfVersion}`); // Update Plists (0, child_process_1.execSync)(`/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${shortVersion}" ${PLIST_PATH}`); - (0, child_process_1.execSync)(`/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${shortVersion}" ${PLIST_PATH_TEST}`); (0, child_process_1.execSync)(`/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${shortVersion}" ${PLIST_PATH_NSE}`); (0, child_process_1.execSync)(`/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${cfVersion}" ${PLIST_PATH}`); - (0, child_process_1.execSync)(`/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${cfVersion}" ${PLIST_PATH_TEST}`); (0, child_process_1.execSync)(`/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${cfVersion}" ${PLIST_PATH_NSE}`); // Return the cfVersion so we can set the NEW_IOS_VERSION in ios.yml return cfVersion; diff --git a/.github/libs/nativeVersionUpdater.ts b/.github/libs/nativeVersionUpdater.ts index 1684614b059e..2d0abb053322 100644 --- a/.github/libs/nativeVersionUpdater.ts +++ b/.github/libs/nativeVersionUpdater.ts @@ -10,7 +10,6 @@ import getBuildVersion from 'semver/functions/prerelease'; // Filepath constants const BUILD_GRADLE_PATH = process.env.NODE_ENV === 'test' ? path.resolve(__dirname, '../../android/app/build.gradle') : './android/app/build.gradle'; const PLIST_PATH = './ios/NewExpensify/Info.plist'; -const PLIST_PATH_TEST = './ios/NewExpensifyTests/Info.plist'; const PLIST_PATH_NSE = './ios/NotificationServiceExtension/Info.plist'; /** @@ -65,14 +64,12 @@ function updateiOSVersion(version: string): string { // Update Plists execSync(`/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${shortVersion}" ${PLIST_PATH}`); - execSync(`/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${shortVersion}" ${PLIST_PATH_TEST}`); execSync(`/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${shortVersion}" ${PLIST_PATH_NSE}`); execSync(`/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${cfVersion}" ${PLIST_PATH}`); - execSync(`/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${cfVersion}" ${PLIST_PATH_TEST}`); execSync(`/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${cfVersion}" ${PLIST_PATH_NSE}`); // Return the cfVersion so we can set the NEW_IOS_VERSION in ios.yml return cfVersion; } -export {updateiOSVersion, updateAndroidVersion, generateAndroidVersionCode, BUILD_GRADLE_PATH, PLIST_PATH, PLIST_PATH_TEST}; +export {updateiOSVersion, updateAndroidVersion, generateAndroidVersionCode, BUILD_GRADLE_PATH, PLIST_PATH}; diff --git a/.github/workflows/createNewVersion.yml b/.github/workflows/createNewVersion.yml index 03f66c5251f3..f73a5c7d1462 100644 --- a/.github/workflows/createNewVersion.yml +++ b/.github/workflows/createNewVersion.yml @@ -143,7 +143,6 @@ jobs: ./package-lock.json \ ./android/app/build.gradle \ ./ios/NewExpensify/Info.plist \ - ./ios/NewExpensifyTests/Info.plist \ ./ios/NotificationServiceExtension/Info.plist git commit -m "Update version to ${{ steps.bumpVersion.outputs.NEW_VERSION }}" diff --git a/android/build.gradle b/android/build.gradle index c15651f5e60e..fdd6b5ab2e45 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,12 +6,12 @@ buildscript { minSdkVersion = 24 compileSdkVersion = 35 targetSdkVersion = 34 - ndkVersion = "26.1.10909125" + ndkVersion = "27.1.12297006" androidXCore = "1.0.2" multiDexEnabled = true googlePlayServicesVersion = "17.0.0" - kotlinVersion = "1.9.24" + kotlinVersion = "2.0.21" // This property configures the type of Mapbox SDK used by the @rnmapbox/maps library. // "mapbox" indicates the usage of the Mapbox SDK. diff --git a/ios/NewExpensify.xcodeproj/project.pbxproj b/ios/NewExpensify.xcodeproj/project.pbxproj index 14866da313d5..258c3a4962a0 100644 --- a/ios/NewExpensify.xcodeproj/project.pbxproj +++ b/ios/NewExpensify.xcodeproj/project.pbxproj @@ -13,14 +13,10 @@ 083353EE2B5AB22A00C603C0 /* success.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 083353EA2B5AB22900C603C0 /* success.mp3 */; }; 0C7C65547D7346EB923BE808 /* ExpensifyMono-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = E704648954784DDFBAADF568 /* ExpensifyMono-Regular.otf */; }; 0CDA8E34287DD650004ECBEC /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0CDA8E33287DD650004ECBEC /* AppDelegate.mm */; }; - 0CDA8E35287DD650004ECBEC /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0CDA8E33287DD650004ECBEC /* AppDelegate.mm */; }; 0CDA8E37287DD6A0004ECBEC /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0CDA8E36287DD6A0004ECBEC /* Images.xcassets */; }; - 0CDA8E38287DD6A0004ECBEC /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0CDA8E36287DD6A0004ECBEC /* Images.xcassets */; }; 0DFC45942C884E0A00B56C91 /* RCTShortcutManagerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DFC45932C884E0A00B56C91 /* RCTShortcutManagerModule.m */; }; - 0DFC45952C884E0A00B56C91 /* RCTShortcutManagerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DFC45932C884E0A00B56C91 /* RCTShortcutManagerModule.m */; }; 0F5E5350263B73FD004CA14F /* EnvironmentChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F5E534F263B73FD004CA14F /* EnvironmentChecker.m */; }; - 0F5E5351263B73FD004CA14F /* EnvironmentChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F5E534F263B73FD004CA14F /* EnvironmentChecker.m */; }; - 0F749C2B3B8F4562B816DEAB /* ExpensifyMono-Italic.otf in Resources */ = {isa = PBXBuildFile; fileRef = ED64768FC6254E4D8FCD12BC /* ExpensifyMono-Italic.otf */; }; + 0F749C2B3B8F4562B816DEAB /* BuildFile in Resources */ = {isa = PBXBuildFile; }; 1246A3EF20E54E7A9494C8B9 /* ExpensifyNeue-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = F4F8A052A22040339996324B /* ExpensifyNeue-Regular.otf */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 18D050E0262400AF000D658B /* BridgingFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18D050DF262400AF000D658B /* BridgingFile.swift */; }; @@ -31,19 +27,15 @@ 383643682B6D4AE2005BB9AE /* DeviceCheck.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 383643672B6D4AE2005BB9AE /* DeviceCheck.framework */; }; 524F95D57E75496EBD14B0AA /* ExpensifyMono-BoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = A96F65C6624044318D21DAB1 /* ExpensifyMono-BoldItalic.otf */; }; 7041848526A8E47D00E09F4D /* RCTStartupTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7041848426A8E47D00E09F4D /* RCTStartupTimer.m */; }; - 7041848626A8E47D00E09F4D /* RCTStartupTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7041848426A8E47D00E09F4D /* RCTStartupTimer.m */; }; 70CF6E82262E297300711ADC /* BootSplash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 70CF6E81262E297300711ADC /* BootSplash.storyboard */; }; - 7F5E81F06BCCF61AD02CEA06 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCD444BEDDB0AF1745B39049 /* ExpoModulesProvider.swift */; }; 7F9DD8DA2B2A445B005E3AFA /* ExpError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9DD8D92B2A445B005E3AFA /* ExpError.swift */; }; 7FB680AE2CC94EDA006693CF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7FB680AD2CC94EDA006693CF /* GoogleService-Info.plist */; }; 7FB680AF2CC94EDA006693CF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7FB680AD2CC94EDA006693CF /* GoogleService-Info.plist */; }; - 7FB680B02CC94EDA006693CF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7FB680AD2CC94EDA006693CF /* GoogleService-Info.plist */; }; 7FD73C9E2B23CE9500420AF3 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FD73C9D2B23CE9500420AF3 /* NotificationService.swift */; }; 7FD73CA22B23CE9500420AF3 /* NotificationServiceExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 7FD73C9B2B23CE9500420AF3 /* NotificationServiceExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 8744C5400E24E379441C04A4 /* libPods-NewExpensify.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 59A21B2405370FDDD847C813 /* libPods-NewExpensify.a */; }; 9E17CB36A6B22BDD4BE53561 /* libPods-NotificationServiceExtension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9196A72C11B91A52A43D6E8A /* libPods-NotificationServiceExtension.a */; }; AC131FBB2CF634F20010CE80 /* BackgroundTasks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC131FBA2CF634F20010CE80 /* BackgroundTasks.framework */; }; - ACA597C323AA39404655647F /* libPods-NewExpensify-NewExpensifyTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EF33B19FC6A7FE676839430D /* libPods-NewExpensify-NewExpensifyTests.a */; }; BDB853621F354EBB84E619C2 /* ExpensifyNewKansas-MediumItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = D2AFB39EC1D44BF9B91D3227 /* ExpensifyNewKansas-MediumItalic.otf */; }; D27CE6B77196EF3EF450EEAC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 0D3F9E814828D91464DF9D35 /* PrivacyInfo.xcprivacy */; }; DD79042B2792E76D004484B4 /* RCTBootSplash.mm in Sources */ = {isa = PBXBuildFile; fileRef = DD79042A2792E76D004484B4 /* RCTBootSplash.mm */; }; @@ -56,13 +48,6 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = NewExpensify; - }; 7FD73CA02B23CE9500420AF3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; @@ -88,8 +73,6 @@ /* Begin PBXFileReference section */ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; - 00E356EE1AD99517003FC87E /* NewExpensifyTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NewExpensifyTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 083353E72B5AB22900C603C0 /* attention.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = attention.mp3; path = ../assets/sounds/attention.mp3; sourceTree = ""; }; 083353E82B5AB22900C603C0 /* done.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = done.mp3; path = ../assets/sounds/done.mp3; sourceTree = ""; }; 083353E92B5AB22900C603C0 /* receive.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = receive.mp3; path = ../assets/sounds/receive.mp3; sourceTree = ""; }; @@ -112,8 +95,6 @@ 374FB8D528A133A7000D84EF /* OriginImageRequestHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OriginImageRequestHandler.h; path = NewExpensify/OriginImageRequestHandler.h; sourceTree = ""; }; 374FB8D628A133FE000D84EF /* OriginImageRequestHandler.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = OriginImageRequestHandler.mm; path = NewExpensify/OriginImageRequestHandler.mm; sourceTree = ""; }; 383643672B6D4AE2005BB9AE /* DeviceCheck.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DeviceCheck.framework; path = System/Library/Frameworks/DeviceCheck.framework; sourceTree = SDKROOT; }; - 3EA3D64F00384537597190CE /* Pods-NewExpensify-NewExpensifyTests.releaseproduction.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.releaseproduction.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.releaseproduction.xcconfig"; sourceTree = ""; }; - 3F17376D588832EE0C4E7E13 /* Pods-NewExpensify-NewExpensifyTests.debugproduction.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.debugproduction.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.debugproduction.xcconfig"; sourceTree = ""; }; 417E30386DDC804B3693037A /* Pods-NewExpensify.releaseproduction.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify.releaseproduction.xcconfig"; path = "Target Support Files/Pods-NewExpensify/Pods-NewExpensify.releaseproduction.xcconfig"; sourceTree = ""; }; 41D2EDB009CF19BA59C5181C /* Pods-NotificationServiceExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationServiceExtension.debug.xcconfig"; path = "Target Support Files/Pods-NotificationServiceExtension/Pods-NotificationServiceExtension.debug.xcconfig"; sourceTree = ""; }; 44BF435285B94E5B95F90994 /* ExpensifyNewKansas-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNewKansas-Medium.otf"; path = "../assets/fonts/native/ExpensifyNewKansas-Medium.otf"; sourceTree = ""; }; @@ -124,7 +105,6 @@ 4D20D83B0E39BA6D21761E72 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-NewExpensify/ExpoModulesProvider.swift"; sourceTree = ""; }; 52796131E6554494B2DDB056 /* ExpensifyNeue-Bold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNeue-Bold.otf"; path = "../assets/fonts/native/ExpensifyNeue-Bold.otf"; sourceTree = ""; }; 59A21B2405370FDDD847C813 /* libPods-NewExpensify.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NewExpensify.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 687A6DD50C2B5D0DC530C207 /* Pods-NewExpensify-NewExpensifyTests.releasedevelopment.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.releasedevelopment.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.releasedevelopment.xcconfig"; sourceTree = ""; }; 7041848326A8E40900E09F4D /* RCTStartupTimer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RCTStartupTimer.h; path = NewExpensify/RCTStartupTimer.h; sourceTree = ""; }; 7041848426A8E47D00E09F4D /* RCTStartupTimer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RCTStartupTimer.m; path = NewExpensify/RCTStartupTimer.m; sourceTree = ""; }; 707151F8A56D2431696273AB /* Pods-NewExpensify.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify.debug.xcconfig"; path = "Target Support Files/Pods-NewExpensify/Pods-NewExpensify.debug.xcconfig"; sourceTree = ""; }; @@ -147,23 +127,16 @@ A96F65C6624044318D21DAB1 /* ExpensifyMono-BoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyMono-BoldItalic.otf"; path = "../assets/fonts/native/ExpensifyMono-BoldItalic.otf"; sourceTree = ""; }; AC131FBA2CF634F20010CE80 /* BackgroundTasks.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BackgroundTasks.framework; path = System/Library/Frameworks/BackgroundTasks.framework; sourceTree = SDKROOT; }; BBE493797E97F2995E627244 /* Pods-NotificationServiceExtension.debugadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationServiceExtension.debugadhoc.xcconfig"; path = "Target Support Files/Pods-NotificationServiceExtension/Pods-NotificationServiceExtension.debugadhoc.xcconfig"; sourceTree = ""; }; - BCD444BEDDB0AF1745B39049 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-NewExpensify-NewExpensifyTests/ExpoModulesProvider.swift"; sourceTree = ""; }; BF6A4C5167244B9FB8E4D4E3 /* ExpensifyNeue-Italic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNeue-Italic.otf"; path = "../assets/fonts/native/ExpensifyNeue-Italic.otf"; sourceTree = ""; }; - C0417E996D1C834CDF0BF0F7 /* Pods-NewExpensify-NewExpensifyTests.debugadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.debugadhoc.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.debugadhoc.xcconfig"; sourceTree = ""; }; - CA5677EEAC9784567B912881 /* Pods-NewExpensify-NewExpensifyTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.debug.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.debug.xcconfig"; sourceTree = ""; }; D2AFB39EC1D44BF9B91D3227 /* ExpensifyNewKansas-MediumItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNewKansas-MediumItalic.otf"; path = "../assets/fonts/native/ExpensifyNewKansas-MediumItalic.otf"; sourceTree = ""; }; D7C206AC464C89FB4899E0AD /* Pods-NotificationServiceExtension.releasedevelopment.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationServiceExtension.releasedevelopment.xcconfig"; path = "Target Support Files/Pods-NotificationServiceExtension/Pods-NotificationServiceExtension.releasedevelopment.xcconfig"; sourceTree = ""; }; - D846D749FDDC2C914007C87D /* Pods-NewExpensify-NewExpensifyTests.releaseadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.releaseadhoc.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.releaseadhoc.xcconfig"; sourceTree = ""; }; DCF33E34FFEC48128CDD41D4 /* ExpensifyMono-Bold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyMono-Bold.otf"; path = "../assets/fonts/native/ExpensifyMono-Bold.otf"; sourceTree = ""; }; DD7904292792E76D004484B4 /* RCTBootSplash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RCTBootSplash.h; path = NewExpensify/RCTBootSplash.h; sourceTree = ""; }; DD79042A2792E76D004484B4 /* RCTBootSplash.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RCTBootSplash.mm; path = NewExpensify/RCTBootSplash.mm; sourceTree = ""; }; - E5428460BDBED9E1BA8B3599 /* Pods-NewExpensify-NewExpensifyTests.debugdevelopment.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify-NewExpensifyTests.debugdevelopment.xcconfig"; path = "Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests.debugdevelopment.xcconfig"; sourceTree = ""; }; E704648954784DDFBAADF568 /* ExpensifyMono-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyMono-Regular.otf"; path = "../assets/fonts/native/ExpensifyMono-Regular.otf"; sourceTree = ""; }; E9DF872C2525201700607FDC /* AirshipConfig.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = AirshipConfig.plist; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; - ED64768FC6254E4D8FCD12BC /* ExpensifyMono-Italic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyMono-Italic.otf"; path = "../assets/fonts/native/ExpensifyMono-Italic.otf"; sourceTree = ""; }; - EF33B19FC6A7FE676839430D /* libPods-NewExpensify-NewExpensifyTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NewExpensify-NewExpensifyTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; EFA5CA89CC675CA3370CF89E /* Pods-NewExpensify.debugproduction.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NewExpensify.debugproduction.xcconfig"; path = "Target Support Files/Pods-NewExpensify/Pods-NewExpensify.debugproduction.xcconfig"; sourceTree = ""; }; F0C450E92705020500FD2970 /* colors.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = colors.json; path = ../colors.json; sourceTree = ""; }; F4F8A052A22040339996324B /* ExpensifyNeue-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "ExpensifyNeue-Regular.otf"; path = "../assets/fonts/native/ExpensifyNeue-Regular.otf"; sourceTree = ""; }; @@ -171,14 +144,6 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 00E356EB1AD99517003FC87E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ACA597C323AA39404655647F /* libPods-NewExpensify-NewExpensifyTests.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -202,22 +167,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00E356EF1AD99517003FC87E /* NewExpensifyTests */ = { - isa = PBXGroup; - children = ( - 00E356F01AD99517003FC87E /* Supporting Files */, - ); - path = NewExpensifyTests; - sourceTree = ""; - }; - 00E356F01AD99517003FC87E /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 00E356F11AD99517003FC87E /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; 13B07FAE1A68108700A75B9A /* NewExpensify */ = { isa = PBXGroup; children = ( @@ -251,7 +200,6 @@ ED297162215061F000B7C4FE /* JavaScriptCore.framework */, ED2971642150620600B7C4FE /* JavaScriptCore.framework */, 59A21B2405370FDDD847C813 /* libPods-NewExpensify.a */, - EF33B19FC6A7FE676839430D /* libPods-NewExpensify-NewExpensifyTests.a */, 9196A72C11B91A52A43D6E8A /* libPods-NotificationServiceExtension.a */, ); name = Frameworks; @@ -269,7 +217,6 @@ isa = PBXGroup; children = ( 3E1305958E607AC9E2CFA934 /* NewExpensify */, - 9E03879A06387ACCA90A6C6A /* NewExpensifyTests */, ); name = ExpoModulesProviders; sourceTree = ""; @@ -308,7 +255,6 @@ 18D050DF262400AF000D658B /* BridgingFile.swift */, 13B07FAE1A68108700A75B9A /* NewExpensify */, 832341AE1AAA6A7D00B99B32 /* Libraries */, - 00E356EF1AD99517003FC87E /* NewExpensifyTests */, 7FD73C9C2B23CE9500420AF3 /* NotificationServiceExtension */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, @@ -325,20 +271,11 @@ isa = PBXGroup; children = ( 13B07F961A680F5B00A75B9A /* New Expensify Dev.app */, - 00E356EE1AD99517003FC87E /* NewExpensifyTests.xctest */, 7FD73C9B2B23CE9500420AF3 /* NotificationServiceExtension.appex */, ); name = Products; sourceTree = ""; }; - 9E03879A06387ACCA90A6C6A /* NewExpensifyTests */ = { - isa = PBXGroup; - children = ( - BCD444BEDDB0AF1745B39049 /* ExpoModulesProvider.swift */, - ); - name = NewExpensifyTests; - sourceTree = ""; - }; A9EA265D209D4558995C9BD4 /* Resources */ = { isa = PBXGroup; children = ( @@ -350,7 +287,6 @@ D2AFB39EC1D44BF9B91D3227 /* ExpensifyNewKansas-MediumItalic.otf */, DCF33E34FFEC48128CDD41D4 /* ExpensifyMono-Bold.otf */, A96F65C6624044318D21DAB1 /* ExpensifyMono-BoldItalic.otf */, - ED64768FC6254E4D8FCD12BC /* ExpensifyMono-Italic.otf */, E704648954784DDFBAADF568 /* ExpensifyMono-Regular.otf */, 52796131E6554494B2DDB056 /* ExpensifyNeue-Bold.otf */, 8B28D84EF339436DBD42A203 /* ExpensifyNeue-BoldItalic.otf */, @@ -369,12 +305,6 @@ F8839E9820F4C312BD1C9339 /* Pods-NewExpensify.releasedevelopment.xcconfig */, 8EFE0319D586C1078DB926FD /* Pods-NewExpensify.releaseadhoc.xcconfig */, 417E30386DDC804B3693037A /* Pods-NewExpensify.releaseproduction.xcconfig */, - E5428460BDBED9E1BA8B3599 /* Pods-NewExpensify-NewExpensifyTests.debugdevelopment.xcconfig */, - C0417E996D1C834CDF0BF0F7 /* Pods-NewExpensify-NewExpensifyTests.debugadhoc.xcconfig */, - 3F17376D588832EE0C4E7E13 /* Pods-NewExpensify-NewExpensifyTests.debugproduction.xcconfig */, - 687A6DD50C2B5D0DC530C207 /* Pods-NewExpensify-NewExpensifyTests.releasedevelopment.xcconfig */, - D846D749FDDC2C914007C87D /* Pods-NewExpensify-NewExpensifyTests.releaseadhoc.xcconfig */, - 3EA3D64F00384537597190CE /* Pods-NewExpensify-NewExpensifyTests.releaseproduction.xcconfig */, 24454472DB373F58A96B1B5C /* Pods-NotificationServiceExtension.debugdevelopment.xcconfig */, BBE493797E97F2995E627244 /* Pods-NotificationServiceExtension.debugadhoc.xcconfig */, 4A39BBFB1A6AA6A0EB08878C /* Pods-NotificationServiceExtension.debugproduction.xcconfig */, @@ -382,7 +312,6 @@ 48E7775E0D42D3E3F53A5B99 /* Pods-NotificationServiceExtension.releaseadhoc.xcconfig */, 1C839668BD5515A8ADE6B15E /* Pods-NotificationServiceExtension.releaseproduction.xcconfig */, 707151F8A56D2431696273AB /* Pods-NewExpensify.debug.xcconfig */, - CA5677EEAC9784567B912881 /* Pods-NewExpensify-NewExpensifyTests.debug.xcconfig */, 41D2EDB009CF19BA59C5181C /* Pods-NotificationServiceExtension.debug.xcconfig */, ); path = Pods; @@ -391,28 +320,6 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 00E356ED1AD99517003FC87E /* NewExpensifyTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "NewExpensifyTests" */; - buildPhases = ( - 9775BC4DC6243DE9D85D1821 /* [CP] Check Pods Manifest.lock */, - 04B99F6AA578E2A877802F05 /* [Expo] Configure project */, - 00E356EA1AD99517003FC87E /* Sources */, - 00E356EB1AD99517003FC87E /* Frameworks */, - 00E356EC1AD99517003FC87E /* Resources */, - 79927A2A23B483ABEFC728A9 /* [CP] Embed Pods Frameworks */, - 47017CF8C1CFE59999D45CDC /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - 00E356F51AD99517003FC87E /* PBXTargetDependency */, - ); - name = NewExpensifyTests; - productName = NewExpensifyTests; - productReference = 00E356EE1AD99517003FC87E /* NewExpensifyTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; 13B07F861A680F5B00A75B9A /* NewExpensify */ = { isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "NewExpensify" */; @@ -468,12 +375,6 @@ LastSwiftUpdateCheck = 1500; LastUpgradeCheck = 1130; TargetAttributes = { - 00E356ED1AD99517003FC87E = { - CreatedOnToolsVersion = 6.2; - DevelopmentTeam = 368M544MTT; - ProvisioningStyle = Automatic; - TestTargetID = 13B07F861A680F5B00A75B9A; - }; 13B07F861A680F5B00A75B9A = { DevelopmentTeam = 368M544MTT; LastSwiftMigration = 1230; @@ -500,22 +401,12 @@ projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* NewExpensify */, - 00E356ED1AD99517003FC87E /* NewExpensifyTests */, 7FD73C9A2B23CE9500420AF3 /* NotificationServiceExtension */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 00E356EC1AD99517003FC87E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CDA8E38287DD6A0004ECBEC /* Images.xcassets in Resources */, - 7FB680B02CC94EDA006693CF /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 13B07F8E1A680F5B00A75B9A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -539,7 +430,7 @@ 1246A3EF20E54E7A9494C8B9 /* ExpensifyNeue-Regular.otf in Resources */, D27CE6B77196EF3EF450EEAC /* PrivacyInfo.xcprivacy in Resources */, 524F95D57E75496EBD14B0AA /* ExpensifyMono-BoldItalic.otf in Resources */, - 0F749C2B3B8F4562B816DEAB /* ExpensifyMono-Italic.otf in Resources */, + 0F749C2B3B8F4562B816DEAB /* BuildFile in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -568,25 +459,6 @@ shellPath = /bin/sh; shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n# The project root by default is one level up from the ios directory\nexport PROJECT_ROOT=\"$PROJECT_DIR\"/..\n\nif [[ \"$CONFIGURATION\" = *Debug* ]]; then\n export SKIP_BUNDLING=1\nfi\nif [[ -z \"$ENTRY_FILE\" ]]; then\n # Set the entry JS file using the bundler's entry resolution.\n export ENTRY_FILE=\"$(\"$NODE_BINARY\" -e \"require('expo/scripts/resolveAppEntry')\" \"$PROJECT_ROOT\" ios relative | tail -n 1)\"\nfi\n\nif [[ -z \"$CLI_PATH\" ]]; then\n # Use Expo CLI\n export CLI_PATH=\"$(\"$NODE_BINARY\" --print \"require.resolve('@expo/cli')\")\"\nfi\nif [[ -z \"$BUNDLE_COMMAND\" ]]; then\n # Default Expo CLI command for bundling\n export BUNDLE_COMMAND=\"export:embed\"\nfi\n\n`\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'\"`\n"; }; - 04B99F6AA578E2A877802F05 /* [Expo] Configure project */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "[Expo] Configure project"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-NewExpensify-NewExpensifyTests/expo-configure-project.sh\"\n"; - }; 0B960DEC1F581E1EB7F1342F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -631,56 +503,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 47017CF8C1CFE59999D45CDC /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipAutomationResources.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipCoreResources.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/Airship/AirshipMessageCenterResources.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/AppAuth/AppAuthCore_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth/GTMAppAuth_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher/GTMSessionFetcher_Core_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleSignIn/GoogleSignIn.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/RNSVG/RNSVGFilters.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipAutomationResources.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipCoreResources.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AirshipMessageCenterResources.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppAuthCore_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMAppAuth_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMSessionFetcher_Core_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleDataTransport_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleUtilities_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FBLPromises_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RNSVGFilters.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 498240F82C49553900C15857 /* Run Fullstory Asset Uploader */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -752,62 +574,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NewExpensify/Pods-NewExpensify-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 79927A2A23B483ABEFC728A9 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/MapboxMaps/MapboxMaps.framework", - "${BUILT_PRODUCTS_DIR}/Turf/Turf.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/FullStory/FullStory.framework/FullStory", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/MapboxCommon/MapboxCommon.framework/MapboxCommon", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/MapboxCoreMaps/MapboxCoreMaps.framework/MapboxCoreMaps", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/MapboxMobileEvents/MapboxMobileEvents.framework/MapboxMobileEvents", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/Onfido/Onfido.framework/Onfido", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/Plaid/LinkKit.framework/LinkKit", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MapboxMaps.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Turf.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FullStory.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MapboxCommon.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MapboxCoreMaps.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MapboxMobileEvents.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Onfido.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LinkKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NewExpensify-NewExpensifyTests/Pods-NewExpensify-NewExpensifyTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9775BC4DC6243DE9D85D1821 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-NewExpensify-NewExpensifyTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; 9FF963998EFF771D82D473D2 /* [CP-User] [RNFB] Core Configuration */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -907,18 +673,6 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 00E356EA1AD99517003FC87E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0F5E5351263B73FD004CA14F /* EnvironmentChecker.m in Sources */, - 0DFC45952C884E0A00B56C91 /* RCTShortcutManagerModule.m in Sources */, - 0CDA8E35287DD650004ECBEC /* AppDelegate.mm in Sources */, - 7041848626A8E47D00E09F4D /* RCTStartupTimer.m in Sources */, - 7F5E81F06BCCF61AD02CEA06 /* ExpoModulesProvider.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 13B07F871A680F5B00A75B9A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -947,11 +701,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* NewExpensify */; - targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; - }; 7FD73CA12B23CE9500420AF3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 7FD73C9A2B23CE9500420AF3 /* NotificationServiceExtension */; @@ -960,63 +709,6 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 00E356F61AD99517003FC87E /* DebugDevelopment */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E5428460BDBED9E1BA8B3599 /* Pods-NewExpensify-NewExpensifyTests.debugdevelopment.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = NewExpensifyTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NewExpensify.app/NewExpensify"; - }; - name = DebugDevelopment; - }; - 00E356F71AD99517003FC87E /* ReleaseDevelopment */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 687A6DD50C2B5D0DC530C207 /* Pods-NewExpensify-NewExpensifyTests.releasedevelopment.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = 368M544MTT; - INFOPLIST_FILE = NewExpensifyTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NewExpensify.app/NewExpensify"; - }; - name = ReleaseDevelopment; - }; 0CBE08762C5D0872008661F8 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1138,36 +830,6 @@ }; name = Debug; }; - 0CBE08782C5D0872008661F8 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CA5677EEAC9784567B912881 /* Pods-NewExpensify-NewExpensifyTests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = NewExpensifyTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NewExpensify.app/NewExpensify"; - }; - name = Debug; - }; 0CBE08792C5D0872008661F8 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 41D2EDB009CF19BA59C5181C /* Pods-NotificationServiceExtension.debug.xcconfig */; @@ -2106,36 +1768,6 @@ }; name = DebugProduction; }; - CF9AF94029EE9276001FA527 /* DebugProduction */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3F17376D588832EE0C4E7E13 /* Pods-NewExpensify-NewExpensifyTests.debugproduction.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = NewExpensifyTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NewExpensify.app/NewExpensify"; - }; - name = DebugProduction; - }; CF9AF94429EE927A001FA527 /* DebugAdHoc */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2255,36 +1887,6 @@ }; name = DebugAdHoc; }; - CF9AF94629EE927A001FA527 /* DebugAdHoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C0417E996D1C834CDF0BF0F7 /* Pods-NewExpensify-NewExpensifyTests.debugadhoc.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = NewExpensifyTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NewExpensify.app/NewExpensify"; - }; - name = DebugAdHoc; - }; CF9AF94729EE928E001FA527 /* ReleaseProduction */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2396,34 +1998,6 @@ }; name = ReleaseProduction; }; - CF9AF94929EE928E001FA527 /* ReleaseProduction */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3EA3D64F00384537597190CE /* Pods-NewExpensify-NewExpensifyTests.releaseproduction.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = 368M544MTT; - INFOPLIST_FILE = NewExpensifyTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NewExpensify.app/NewExpensify"; - }; - name = ReleaseProduction; - }; CF9AF94D29EE9293001FA527 /* ReleaseAdHoc */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2535,51 +2109,9 @@ }; name = ReleaseAdHoc; }; - CF9AF94F29EE9293001FA527 /* ReleaseAdHoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D846D749FDDC2C914007C87D /* Pods-NewExpensify-NewExpensifyTests.releaseadhoc.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = 368M544MTT; - INFOPLIST_FILE = NewExpensifyTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE -D EXPO_CONFIGURATION_DEBUG"; - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NewExpensify.app/NewExpensify"; - }; - name = ReleaseAdHoc; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "NewExpensifyTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 00E356F61AD99517003FC87E /* DebugDevelopment */, - 0CBE08782C5D0872008661F8 /* Debug */, - CF9AF94629EE927A001FA527 /* DebugAdHoc */, - CF9AF94029EE9276001FA527 /* DebugProduction */, - 00E356F71AD99517003FC87E /* ReleaseDevelopment */, - CF9AF94F29EE9293001FA527 /* ReleaseAdHoc */, - CF9AF94929EE928E001FA527 /* ReleaseProduction */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = DebugDevelopment; - }; 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "NewExpensify" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/ios/NewExpensify.xcodeproj/xcshareddata/xcschemes/New Expensify AdHoc.xcscheme b/ios/NewExpensify.xcodeproj/xcshareddata/xcschemes/New Expensify AdHoc.xcscheme index 6cd590456eed..151ac0a885a3 100644 --- a/ios/NewExpensify.xcodeproj/xcshareddata/xcschemes/New Expensify AdHoc.xcscheme +++ b/ios/NewExpensify.xcodeproj/xcshareddata/xcschemes/New Expensify AdHoc.xcscheme @@ -62,16 +62,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - - - - - - - - #import #import +#import #import #import "RCTBootSplash.h" @@ -24,6 +25,7 @@ - (BOOL)application:(UIApplication *)application // You can add your custom initial props in the dictionary below. // They will be passed down to the ViewController used by React Native. self.initialProps = @{}; + self.dependencyProvider = [RCTAppDependencyProvider new]; // Configure firebase [FIRApp configure]; diff --git a/ios/NewExpensifyTests/ExpensifyCashTests.m b/ios/NewExpensifyTests/ExpensifyCashTests.m deleted file mode 100644 index 67210eb63ad2..000000000000 --- a/ios/NewExpensifyTests/ExpensifyCashTests.m +++ /dev/null @@ -1,65 +0,0 @@ -#import -#import - -#import -#import - -#define TIMEOUT_SECONDS 600 -#define TEXT_TO_LOOK_FOR @"Welcome to React" - -@interface NewExpensifyTests : XCTestCase - -@end - -@implementation NewExpensifyTests - -- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test -{ - if (test(view)) { - return YES; - } - for (UIView *subview in [view subviews]) { - if ([self findSubviewInView:subview matching:test]) { - return YES; - } - } - return NO; -} - -- (void)testRendersWelcomeScreen -{ - UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; - NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; - BOOL foundElement = NO; - - __block NSString *redboxError = nil; -#ifdef DEBUG - RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { - if (level >= RCTLogLevelError) { - redboxError = message; - } - }); -#endif - - while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { - [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; - [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; - - foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) { - if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { - return YES; - } - return NO; - }]; - } - -#ifdef DEBUG - RCTSetLogFunction(RCTDefaultLogFunction); -#endif - - XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); - XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); -} - - -@end diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist deleted file mode 100644 index 938be5e1a805..000000000000 --- a/ios/NewExpensifyTests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 9.1.15 - CFBundleSignature - ???? - CFBundleVersion - 9.1.15.9 - - diff --git a/ios/Podfile b/ios/Podfile index 245a52257af8..d43a9d5530f1 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -89,12 +89,6 @@ target 'NewExpensify' do :app_path => "#{Pod::Config.instance.installation_root}/.." ) - - target 'NewExpensifyTests' do - inherit! :complete - # Pods for testing - end - post_install do |installer| # Configure Mapbox after installation $RNMapboxMaps.post_install(installer) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 4f65eb2abeb7..a84ca7eb3561 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -29,7 +29,7 @@ PODS: - AppLogs (0.1.0) - boost (1.84.0) - DoubleConversion (1.1.6) - - EXAV (15.0.1): + - EXAV (15.0.2): - ExpoModulesCore - ReactCommon/turbomodule/core - EXImageLoader (5.0.0): @@ -39,7 +39,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -56,27 +56,27 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - Expo (52.0.14): + - Expo (52.0.28): - ExpoModulesCore - - ExpoAsset (11.0.1): + - ExpoAsset (11.0.2): - ExpoModulesCore - - ExpoFont (13.0.1): + - ExpoFont (13.0.3): - ExpoModulesCore - - ExpoImage (2.0.3): + - ExpoImage (2.0.4): - ExpoModulesCore - libavif/libdav1d - SDWebImage (~> 5.19.1) - SDWebImageAVIFCoder (~> 0.11.0) - SDWebImageSVGCoder (~> 1.7.0) - - ExpoImageManipulator (13.0.5): + - ExpoImageManipulator (13.0.6): - EXImageLoader - ExpoModulesCore - SDWebImageWebPCoder - - ExpoModulesCore (2.1.1): + - ExpoModulesCore (2.2.0): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -91,11 +91,13 @@ PODS: - React-RCTFabric - React-rendererdebug - React-utils + - ReactAppDependencyProvider - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - FBLazyVector (0.76.3) + - fast_float (6.1.4) + - FBLazyVector (0.77.1) - Firebase/Analytics (8.8.0): - Firebase/Core - Firebase/Core (8.8.0): @@ -165,7 +167,7 @@ PODS: - FirebaseInstallations (~> 8.0) - GoogleUtilities/Environment (~> 7.7) - "GoogleUtilities/NSData+zlib (~> 7.7)" - - fmt (9.1.0) + - fmt (11.0.2) - ForkInputMask (7.3.3) - FullStory (1.52.0) - fullstory_react-native (1.7.2): @@ -173,7 +175,7 @@ PODS: - FullStory (~> 1.14) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -254,9 +256,9 @@ PODS: - GTMSessionFetcher/Core (< 4.0, >= 3.3) - GTMSessionFetcher/Core (3.5.0) - GzipSwift (5.1.1) - - hermes-engine (0.76.3): - - hermes-engine/Pre-built (= 0.76.3) - - hermes-engine/Pre-built (0.76.3) + - hermes-engine (0.77.1): + - hermes-engine/Pre-built (= 0.77.1) + - hermes-engine/Pre-built (0.77.1) - libavif/core (0.11.1) - libavif/libdav1d (0.11.1): - libavif/core @@ -280,7 +282,7 @@ PODS: - glog - hermes-engine - lottie-ios (~> 4.3.3) - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -318,7 +320,7 @@ PODS: - glog - hermes-engine - Onfido (~> 29.7.0) - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -343,48 +345,51 @@ PODS: - PusherSwift (10.1.5): - NWWebSocket (~> 0.5.4) - TweetNacl (~> 1.0.0) - - RCT-Folly (2024.01.01.00): + - RCT-Folly (2024.11.18.00): - boost - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - - RCT-Folly/Default (= 2024.01.01.00) - - RCT-Folly/Default (2024.01.01.00): + - RCT-Folly/Default (= 2024.11.18.00) + - RCT-Folly/Default (2024.11.18.00): - boost - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - - RCT-Folly/Fabric (2024.01.01.00): + - RCT-Folly/Fabric (2024.11.18.00): - boost - DoubleConversion - - fmt (= 9.1.0) - - glog - - RCTDeprecation (0.76.3) - - RCTRequired (0.76.3) - - RCTTypeSafety (0.76.3): - - FBLazyVector (= 0.76.3) - - RCTRequired (= 0.76.3) - - React-Core (= 0.76.3) - - React (0.76.3): - - React-Core (= 0.76.3) - - React-Core/DevSupport (= 0.76.3) - - React-Core/RCTWebSocket (= 0.76.3) - - React-RCTActionSheet (= 0.76.3) - - React-RCTAnimation (= 0.76.3) - - React-RCTBlob (= 0.76.3) - - React-RCTImage (= 0.76.3) - - React-RCTLinking (= 0.76.3) - - React-RCTNetwork (= 0.76.3) - - React-RCTSettings (= 0.76.3) - - React-RCTText (= 0.76.3) - - React-RCTVibration (= 0.76.3) - - React-callinvoker (0.76.3) - - React-Core (0.76.3): - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - RCTDeprecation (0.77.1) + - RCTRequired (0.77.1) + - RCTTypeSafety (0.77.1): + - FBLazyVector (= 0.77.1) + - RCTRequired (= 0.77.1) + - React-Core (= 0.77.1) + - React (0.77.1): + - React-Core (= 0.77.1) + - React-Core/DevSupport (= 0.77.1) + - React-Core/RCTWebSocket (= 0.77.1) + - React-RCTActionSheet (= 0.77.1) + - React-RCTAnimation (= 0.77.1) + - React-RCTBlob (= 0.77.1) + - React-RCTImage (= 0.77.1) + - React-RCTLinking (= 0.77.1) + - React-RCTNetwork (= 0.77.1) + - React-RCTSettings (= 0.77.1) + - React-RCTText (= 0.77.1) + - React-RCTVibration (= 0.77.1) + - React-callinvoker (0.77.1) + - React-Core (0.77.1): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - - React-Core/Default (= 0.76.3) + - React-Core/Default (= 0.77.1) - React-cxxreact - React-featureflags - React-hermes @@ -392,15 +397,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/CoreModulesHeaders (0.76.3): + - React-Core/CoreModulesHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -410,15 +414,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/Default (0.76.3): + - React-Core/Default (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-cxxreact - React-featureflags @@ -427,18 +430,17 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/DevSupport (0.76.3): + - React-Core/DevSupport (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - - React-Core/Default (= 0.76.3) - - React-Core/RCTWebSocket (= 0.76.3) + - React-Core/Default (= 0.77.1) + - React-Core/RCTWebSocket (= 0.77.1) - React-cxxreact - React-featureflags - React-hermes @@ -446,15 +448,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTActionSheetHeaders (0.76.3): + - React-Core/RCTActionSheetHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -464,15 +465,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTAnimationHeaders (0.76.3): + - React-Core/RCTAnimationHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -482,15 +482,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTBlobHeaders (0.76.3): + - React-Core/RCTBlobHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -500,15 +499,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTImageHeaders (0.76.3): + - React-Core/RCTImageHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -518,15 +516,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTLinkingHeaders (0.76.3): + - React-Core/RCTLinkingHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -536,15 +533,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTNetworkHeaders (0.76.3): + - React-Core/RCTNetworkHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -554,15 +550,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTSettingsHeaders (0.76.3): + - React-Core/RCTSettingsHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -572,15 +567,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTTextHeaders (0.76.3): + - React-Core/RCTTextHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -590,15 +584,14 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTVibrationHeaders (0.76.3): + - React-Core/RCTVibrationHeaders (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - React-Core/Default - React-cxxreact @@ -608,17 +601,16 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-Core/RCTWebSocket (0.76.3): + - React-Core/RCTWebSocket (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTDeprecation - - React-Core/Default (= 0.76.3) + - React-Core/Default (= 0.77.1) - React-cxxreact - React-featureflags - React-hermes @@ -626,135 +618,90 @@ PODS: - React-jsiexecutor - React-jsinspector - React-perflogger - - React-rendererconsistency - React-runtimescheduler - React-utils - SocketRocket (= 0.7.1) - Yoga - - React-CoreModules (0.76.3): + - React-CoreModules (0.77.1): - DoubleConversion - - fmt (= 9.1.0) - - RCT-Folly (= 2024.01.01.00) - - RCTTypeSafety (= 0.76.3) - - React-Core/CoreModulesHeaders (= 0.76.3) - - React-jsi (= 0.76.3) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - RCT-Folly (= 2024.11.18.00) + - RCTTypeSafety (= 0.77.1) + - React-Core/CoreModulesHeaders (= 0.77.1) + - React-jsi (= 0.77.1) - React-jsinspector - React-NativeModulesApple - React-RCTBlob - - React-RCTImage (= 0.76.3) - - ReactCodegen + - React-RCTFBReactNativeSpec + - React-RCTImage (= 0.77.1) - ReactCommon - SocketRocket (= 0.7.1) - - React-cxxreact (0.76.3): + - React-cxxreact (0.77.1): - boost - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.76.3) - - React-debug (= 0.76.3) - - React-jsi (= 0.76.3) + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.77.1) + - React-debug (= 0.77.1) + - React-jsi (= 0.77.1) - React-jsinspector - - React-logger (= 0.76.3) - - React-perflogger (= 0.76.3) - - React-runtimeexecutor (= 0.76.3) - - React-timing (= 0.76.3) - - React-debug (0.76.3) - - React-defaultsnativemodule (0.76.3): - - DoubleConversion - - glog + - React-logger (= 0.77.1) + - React-perflogger (= 0.77.1) + - React-runtimeexecutor (= 0.77.1) + - React-timing (= 0.77.1) + - React-debug (0.77.1) + - React-defaultsnativemodule (0.77.1): - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug + - RCT-Folly - React-domnativemodule - - React-Fabric - - React-featureflags - React-featureflagsnativemodule - - React-graphics - React-idlecallbacksnativemodule - - React-ImageManager + - React-jsi + - React-jsiexecutor - React-microtasksnativemodule - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - Yoga - - React-domnativemodule (0.76.3): - - DoubleConversion - - glog + - React-RCTFBReactNativeSpec + - React-domnativemodule (0.77.1): - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug + - RCT-Folly - React-Fabric - React-FabricComponents - - React-featureflags - - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - Yoga - - React-Fabric (0.76.3): - - DoubleConversion - - fmt (= 9.1.0) - - glog - - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric/animations (= 0.76.3) - - React-Fabric/attributedstring (= 0.76.3) - - React-Fabric/componentregistry (= 0.76.3) - - React-Fabric/componentregistrynative (= 0.76.3) - - React-Fabric/components (= 0.76.3) - - React-Fabric/consistency (= 0.76.3) - - React-Fabric/core (= 0.76.3) - - React-Fabric/dom (= 0.76.3) - - React-Fabric/imagemanager (= 0.76.3) - - React-Fabric/leakchecker (= 0.76.3) - - React-Fabric/mounting (= 0.76.3) - - React-Fabric/observers (= 0.76.3) - - React-Fabric/scheduler (= 0.76.3) - - React-Fabric/telemetry (= 0.76.3) - - React-Fabric/templateprocessor (= 0.76.3) - - React-Fabric/uimanager (= 0.76.3) - - React-featureflags - React-graphics - React-jsi - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimescheduler - - React-utils + - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - - React-Fabric/animations (0.76.3): + - Yoga + - React-Fabric (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug + - React-Fabric/animations (= 0.77.1) + - React-Fabric/attributedstring (= 0.77.1) + - React-Fabric/componentregistry (= 0.77.1) + - React-Fabric/componentregistrynative (= 0.77.1) + - React-Fabric/components (= 0.77.1) + - React-Fabric/core (= 0.77.1) + - React-Fabric/dom (= 0.77.1) + - React-Fabric/imagemanager (= 0.77.1) + - React-Fabric/leakchecker (= 0.77.1) + - React-Fabric/mounting (= 0.77.1) + - React-Fabric/observers (= 0.77.1) + - React-Fabric/scheduler (= 0.77.1) + - React-Fabric/telemetry (= 0.77.1) + - React-Fabric/templateprocessor (= 0.77.1) + - React-Fabric/uimanager (= 0.77.1) - React-featureflags - React-graphics - React-jsi @@ -764,12 +711,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/attributedstring (0.76.3): + - React-Fabric/animations (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -784,12 +732,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistry (0.76.3): + - React-Fabric/attributedstring (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -804,12 +753,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistrynative (0.76.3): + - React-Fabric/componentregistry (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -824,20 +774,18 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components (0.76.3): + - React-Fabric/componentregistrynative (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.76.3) - - React-Fabric/components/root (= 0.76.3) - - React-Fabric/components/view (= 0.76.3) - React-featureflags - React-graphics - React-jsi @@ -847,17 +795,21 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/legacyviewmanagerinterop (0.76.3): + - React-Fabric/components (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug + - React-Fabric/components/legacyviewmanagerinterop (= 0.77.1) + - React-Fabric/components/root (= 0.77.1) + - React-Fabric/components/view (= 0.77.1) - React-featureflags - React-graphics - React-jsi @@ -867,12 +819,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/root (0.76.3): + - React-Fabric/components/legacyviewmanagerinterop (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -887,12 +840,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/view (0.76.3): + - React-Fabric/components/root (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -907,13 +861,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - Yoga - - React-Fabric/consistency (0.76.3): + - React-Fabric/components/view (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -928,12 +882,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/core (0.76.3): + - Yoga + - React-Fabric/core (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -948,12 +904,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/dom (0.76.3): + - React-Fabric/dom (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -968,12 +925,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/imagemanager (0.76.3): + - React-Fabric/imagemanager (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -988,12 +946,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/leakchecker (0.76.3): + - React-Fabric/leakchecker (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1008,12 +967,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/mounting (0.76.3): + - React-Fabric/mounting (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1028,18 +988,19 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/observers (0.76.3): + - React-Fabric/observers (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/observers/events (= 0.76.3) + - React-Fabric/observers/events (= 0.77.1) - React-featureflags - React-graphics - React-jsi @@ -1049,12 +1010,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/observers/events (0.76.3): + - React-Fabric/observers/events (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1069,12 +1031,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/scheduler (0.76.3): + - React-Fabric/scheduler (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1091,12 +1054,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/telemetry (0.76.3): + - React-Fabric/telemetry (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1111,12 +1075,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/templateprocessor (0.76.3): + - React-Fabric/templateprocessor (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1131,18 +1096,19 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/uimanager (0.76.3): + - React-Fabric/uimanager (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - - React-Fabric/uimanager/consistency (= 0.76.3) + - React-Fabric/uimanager/consistency (= 0.77.1) - React-featureflags - React-graphics - React-jsi @@ -1153,12 +1119,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/uimanager/consistency (0.76.3): + - React-Fabric/uimanager/consistency (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1174,20 +1141,21 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-FabricComponents (0.76.3): + - React-FabricComponents (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components (= 0.76.3) - - React-FabricComponents/textlayoutmanager (= 0.76.3) + - React-FabricComponents/components (= 0.77.1) + - React-FabricComponents/textlayoutmanager (= 0.77.1) - React-featureflags - React-graphics - React-jsi @@ -1196,30 +1164,30 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components (0.76.3): + - React-FabricComponents/components (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.76.3) - - React-FabricComponents/components/iostextinput (= 0.76.3) - - React-FabricComponents/components/modal (= 0.76.3) - - React-FabricComponents/components/rncore (= 0.76.3) - - React-FabricComponents/components/safeareaview (= 0.76.3) - - React-FabricComponents/components/scrollview (= 0.76.3) - - React-FabricComponents/components/text (= 0.76.3) - - React-FabricComponents/components/textinput (= 0.76.3) - - React-FabricComponents/components/unimplementedview (= 0.76.3) + - React-FabricComponents/components/inputaccessory (= 0.77.1) + - React-FabricComponents/components/iostextinput (= 0.77.1) + - React-FabricComponents/components/modal (= 0.77.1) + - React-FabricComponents/components/rncore (= 0.77.1) + - React-FabricComponents/components/safeareaview (= 0.77.1) + - React-FabricComponents/components/scrollview (= 0.77.1) + - React-FabricComponents/components/text (= 0.77.1) + - React-FabricComponents/components/textinput (= 0.77.1) + - React-FabricComponents/components/unimplementedview (= 0.77.1) - React-featureflags - React-graphics - React-jsi @@ -1228,15 +1196,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/inputaccessory (0.76.3): + - React-FabricComponents/components/inputaccessory (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1251,15 +1219,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/iostextinput (0.76.3): + - React-FabricComponents/components/iostextinput (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1274,15 +1242,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/modal (0.76.3): + - React-FabricComponents/components/modal (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1297,15 +1265,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/rncore (0.76.3): + - React-FabricComponents/components/rncore (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1320,15 +1288,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/safeareaview (0.76.3): + - React-FabricComponents/components/safeareaview (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1343,15 +1311,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/scrollview (0.76.3): + - React-FabricComponents/components/scrollview (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1366,15 +1334,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/text (0.76.3): + - React-FabricComponents/components/text (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1389,15 +1357,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/textinput (0.76.3): + - React-FabricComponents/components/textinput (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1412,15 +1380,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/unimplementedview (0.76.3): + - React-FabricComponents/components/unimplementedview (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1435,15 +1403,15 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/textlayoutmanager (0.76.3): + - React-FabricComponents/textlayoutmanager (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1458,92 +1426,68 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricImage (0.76.3): + - React-FabricImage (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) - - RCTRequired (= 0.76.3) - - RCTTypeSafety (= 0.76.3) + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired (= 0.77.1) + - RCTTypeSafety (= 0.77.1) - React-Fabric + - React-featureflags - React-graphics - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.76.3) + - React-jsiexecutor (= 0.77.1) - React-logger - React-rendererdebug - React-utils - ReactCommon - Yoga - - React-featureflags (0.76.3) - - React-featureflagsnativemodule (0.76.3): - - DoubleConversion - - glog + - React-featureflags (0.77.1) + - React-featureflagsnativemodule (0.77.1): - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric + - RCT-Folly - React-featureflags - - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - - Yoga - - React-graphics (0.76.3): + - React-graphics (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-jsi - React-jsiexecutor - React-utils - - React-hermes (0.76.3): + - React-hermes (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-cxxreact (= 0.76.3) + - RCT-Folly (= 2024.11.18.00) + - React-cxxreact (= 0.77.1) - React-jsi - - React-jsiexecutor (= 0.76.3) + - React-jsiexecutor (= 0.77.1) - React-jsinspector - - React-perflogger (= 0.76.3) + - React-perflogger (= 0.77.1) - React-runtimeexecutor - - React-idlecallbacksnativemodule (0.76.3): - - DoubleConversion - - glog + - React-idlecallbacksnativemodule (0.77.1): - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug + - RCT-Folly + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec - React-runtimescheduler - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - Yoga - - React-ImageManager (0.76.3): + - React-ImageManager (0.77.1): - glog - RCT-Folly/Fabric - React-Core/Default @@ -1552,73 +1496,63 @@ PODS: - React-graphics - React-rendererdebug - React-utils - - React-jserrorhandler (0.76.3): + - React-jserrorhandler (0.77.1): - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-cxxreact - React-debug + - React-featureflags - React-jsi - - React-jsi (0.76.3): + - ReactCommon/turbomodule/bridging + - React-jsi (0.77.1): - boost - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-jsiexecutor (0.76.3): + - RCT-Folly (= 2024.11.18.00) + - React-jsiexecutor (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-cxxreact (= 0.76.3) - - React-jsi (= 0.76.3) + - RCT-Folly (= 2024.11.18.00) + - React-cxxreact (= 0.77.1) + - React-jsi (= 0.77.1) - React-jsinspector - - React-perflogger (= 0.76.3) - - React-jsinspector (0.76.3): + - React-perflogger (= 0.77.1) + - React-jsinspector (0.77.1): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - React-featureflags - React-jsi - - React-perflogger (= 0.76.3) - - React-runtimeexecutor (= 0.76.3) - - React-jsitracing (0.76.3): + - React-perflogger (= 0.77.1) + - React-runtimeexecutor (= 0.77.1) + - React-jsitracing (0.77.1): - React-jsi - - React-logger (0.76.3): + - React-logger (0.77.1): - glog - - React-Mapbuffer (0.76.3): + - React-Mapbuffer (0.77.1): - glog - React-debug - - React-microtasksnativemodule (0.76.3): - - DoubleConversion - - glog + - React-microtasksnativemodule (0.77.1): - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging + - RCT-Folly + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - - Yoga - react-native-advanced-input-mask (1.3.1): - DoubleConversion - ForkInputMask (~> 7.3.2) - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1640,7 +1574,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1661,7 +1595,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1682,7 +1616,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1703,7 +1637,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1726,7 +1660,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1747,7 +1681,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1768,7 +1702,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1789,7 +1723,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1806,11 +1740,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - react-native-key-command (1.0.8): + - react-native-key-command (1.0.12): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1831,7 +1765,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1854,7 +1788,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1875,7 +1809,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1897,7 +1831,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1918,7 +1852,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1939,7 +1873,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1961,7 +1895,7 @@ PODS: - glog - hermes-engine - Plaid (~> 5.6.0) - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -1982,7 +1916,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2003,7 +1937,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2024,7 +1958,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2047,7 +1981,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2068,7 +2002,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2090,7 +2024,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2107,11 +2041,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - react-native-webview (13.8.6): + - react-native-webview (13.13.1): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2128,8 +2062,8 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - React-nativeconfig (0.76.3) - - React-NativeModulesApple (0.76.3): + - React-nativeconfig (0.77.1) + - React-NativeModulesApple (0.77.1): - glog - hermes-engine - React-callinvoker @@ -2140,25 +2074,26 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.76.3): + - React-perflogger (0.77.1): - DoubleConversion - - RCT-Folly (= 2024.01.01.00) - - React-performancetimeline (0.76.3): - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) + - React-performancetimeline (0.77.1): + - RCT-Folly (= 2024.11.18.00) - React-cxxreact + - React-featureflags - React-timing - - React-RCTActionSheet (0.76.3): - - React-Core/RCTActionSheetHeaders (= 0.76.3) - - React-RCTAnimation (0.76.3): - - RCT-Folly (= 2024.01.01.00) + - React-RCTActionSheet (0.77.1): + - React-Core/RCTActionSheetHeaders (= 0.77.1) + - React-RCTAnimation (0.77.1): + - RCT-Folly (= 2024.11.18.00) - RCTTypeSafety - React-Core/RCTAnimationHeaders - React-jsi - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTAppDelegate (0.76.3): - - RCT-Folly (= 2024.01.01.00) + - React-RCTAppDelegate (0.77.1): + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2172,6 +2107,7 @@ PODS: - React-nativeconfig - React-NativeModulesApple - React-RCTFabric + - React-RCTFBReactNativeSpec - React-RCTImage - React-RCTNetwork - React-rendererdebug @@ -2180,25 +2116,25 @@ PODS: - React-RuntimeHermes - React-runtimescheduler - React-utils - - ReactCodegen - ReactCommon - - React-RCTBlob (0.76.3): + - React-RCTBlob (0.77.1): - DoubleConversion - - fmt (= 9.1.0) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - React-Core/RCTBlobHeaders - React-Core/RCTWebSocket - React-jsi - React-jsinspector - React-NativeModulesApple + - React-RCTFBReactNativeSpec - React-RCTNetwork - - ReactCodegen - ReactCommon - - React-RCTFabric (0.76.3): + - React-RCTFabric (0.77.1): - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-Core - React-debug - React-Fabric @@ -2218,62 +2154,74 @@ PODS: - React-runtimescheduler - React-utils - Yoga - - React-RCTImage (0.76.3): - - RCT-Folly (= 2024.01.01.00) + - React-RCTFBReactNativeSpec (0.77.1): + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - ReactCommon + - React-RCTImage (0.77.1): + - RCT-Folly (= 2024.11.18.00) - RCTTypeSafety - React-Core/RCTImageHeaders - React-jsi - React-NativeModulesApple + - React-RCTFBReactNativeSpec - React-RCTNetwork - - ReactCodegen - ReactCommon - - React-RCTLinking (0.76.3): - - React-Core/RCTLinkingHeaders (= 0.76.3) - - React-jsi (= 0.76.3) + - React-RCTLinking (0.77.1): + - React-Core/RCTLinkingHeaders (= 0.77.1) + - React-jsi (= 0.77.1) - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - ReactCommon/turbomodule/core (= 0.76.3) - - React-RCTNetwork (0.76.3): - - RCT-Folly (= 2024.01.01.00) + - ReactCommon/turbomodule/core (= 0.77.1) + - React-RCTNetwork (0.77.1): + - RCT-Folly (= 2024.11.18.00) - RCTTypeSafety - React-Core/RCTNetworkHeaders - React-jsi - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTSettings (0.76.3): - - RCT-Folly (= 2024.01.01.00) + - React-RCTSettings (0.77.1): + - RCT-Folly (= 2024.11.18.00) - RCTTypeSafety - React-Core/RCTSettingsHeaders - React-jsi - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTText (0.76.3): - - React-Core/RCTTextHeaders (= 0.76.3) + - React-RCTText (0.77.1): + - React-Core/RCTTextHeaders (= 0.77.1) - Yoga - - React-RCTVibration (0.76.3): - - RCT-Folly (= 2024.01.01.00) + - React-RCTVibration (0.77.1): + - RCT-Folly (= 2024.11.18.00) - React-Core/RCTVibrationHeaders - React-jsi - React-NativeModulesApple - - ReactCodegen + - React-RCTFBReactNativeSpec - ReactCommon - - React-rendererconsistency (0.76.3) - - React-rendererdebug (0.76.3): + - React-rendererconsistency (0.77.1) + - React-rendererdebug (0.77.1): - DoubleConversion - - fmt (= 9.1.0) - - RCT-Folly (= 2024.01.01.00) + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - RCT-Folly (= 2024.11.18.00) - React-debug - - React-rncore (0.76.3) - - React-RuntimeApple (0.76.3): + - React-rncore (0.77.1) + - React-RuntimeApple (0.77.1): - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-callinvoker - React-Core/Default - React-CoreModules - React-cxxreact + - React-featureflags - React-jserrorhandler - React-jsi - React-jsiexecutor @@ -2281,16 +2229,18 @@ PODS: - React-Mapbuffer - React-NativeModulesApple - React-RCTFabric + - React-RCTFBReactNativeSpec - React-RuntimeCore - React-runtimeexecutor - React-RuntimeHermes - React-runtimescheduler - React-utils - - React-RuntimeCore (0.76.3): + - React-RuntimeCore (0.77.1): - glog - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-cxxreact + - React-Fabric - React-featureflags - React-jserrorhandler - React-jsi @@ -2300,11 +2250,11 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - React-runtimeexecutor (0.76.3): - - React-jsi (= 0.76.3) - - React-RuntimeHermes (0.76.3): + - React-runtimeexecutor (0.77.1): + - React-jsi (= 0.77.1) + - React-RuntimeHermes (0.77.1): - hermes-engine - - RCT-Folly/Fabric (= 2024.01.01.00) + - RCT-Folly/Fabric (= 2024.11.18.00) - React-featureflags - React-hermes - React-jsi @@ -2313,10 +2263,10 @@ PODS: - React-nativeconfig - React-RuntimeCore - React-utils - - React-runtimescheduler (0.76.3): + - React-runtimescheduler (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - React-callinvoker - React-cxxreact - React-debug @@ -2328,14 +2278,16 @@ PODS: - React-runtimeexecutor - React-timing - React-utils - - React-timing (0.76.3) - - React-utils (0.76.3): + - React-timing (0.77.1) + - React-utils (0.77.1): - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - React-debug - - React-jsi (= 0.76.3) - - ReactCodegen (0.76.3): + - React-jsi (= 0.77.1) + - ReactAppDependencyProvider (0.77.1): + - ReactCodegen + - ReactCodegen (0.77.1): - DoubleConversion - glog - hermes-engine @@ -2351,55 +2303,59 @@ PODS: - React-jsi - React-jsiexecutor - React-NativeModulesApple + - React-RCTAppDelegate - React-rendererdebug - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - ReactCommon (0.76.3): - - ReactCommon/turbomodule (= 0.76.3) - - ReactCommon/turbomodule (0.76.3): - - DoubleConversion - - fmt (= 9.1.0) - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.76.3) - - React-cxxreact (= 0.76.3) - - React-jsi (= 0.76.3) - - React-logger (= 0.76.3) - - React-perflogger (= 0.76.3) - - ReactCommon/turbomodule/bridging (= 0.76.3) - - ReactCommon/turbomodule/core (= 0.76.3) - - ReactCommon/turbomodule/bridging (0.76.3): - - DoubleConversion - - fmt (= 9.1.0) - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.76.3) - - React-cxxreact (= 0.76.3) - - React-jsi (= 0.76.3) - - React-logger (= 0.76.3) - - React-perflogger (= 0.76.3) - - ReactCommon/turbomodule/core (0.76.3): - - DoubleConversion - - fmt (= 9.1.0) - - glog - - hermes-engine - - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.76.3) - - React-cxxreact (= 0.76.3) - - React-debug (= 0.76.3) - - React-featureflags (= 0.76.3) - - React-jsi (= 0.76.3) - - React-logger (= 0.76.3) - - React-perflogger (= 0.76.3) - - React-utils (= 0.76.3) + - ReactCommon (0.77.1): + - ReactCommon/turbomodule (= 0.77.1) + - ReactCommon/turbomodule (0.77.1): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.77.1) + - React-cxxreact (= 0.77.1) + - React-jsi (= 0.77.1) + - React-logger (= 0.77.1) + - React-perflogger (= 0.77.1) + - ReactCommon/turbomodule/bridging (= 0.77.1) + - ReactCommon/turbomodule/core (= 0.77.1) + - ReactCommon/turbomodule/bridging (0.77.1): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.77.1) + - React-cxxreact (= 0.77.1) + - React-jsi (= 0.77.1) + - React-logger (= 0.77.1) + - React-perflogger (= 0.77.1) + - ReactCommon/turbomodule/core (0.77.1): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.77.1) + - React-cxxreact (= 0.77.1) + - React-debug (= 0.77.1) + - React-featureflags (= 0.77.1) + - React-jsi (= 0.77.1) + - React-logger (= 0.77.1) + - React-perflogger (= 0.77.1) + - React-utils (= 0.77.1) - ReactNativeHybridApp (0.0.0): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2422,7 +2378,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2443,7 +2399,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2464,7 +2420,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2500,7 +2456,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2519,11 +2475,11 @@ PODS: - Yoga - RNFS (2.20.0): - React-Core - - RNGestureHandler (2.20.1): + - RNGestureHandler (2.22.0): - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2547,7 +2503,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2570,7 +2526,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2619,7 +2575,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2640,7 +2596,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2661,7 +2617,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2686,7 +2642,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2710,7 +2666,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2733,7 +2689,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2757,7 +2713,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2780,7 +2736,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2803,7 +2759,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2825,7 +2781,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2851,7 +2807,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2873,7 +2829,7 @@ PODS: - DoubleConversion - glog - hermes-engine - - RCT-Folly (= 2024.01.01.00) + - RCT-Folly (= 2024.11.18.00) - RCTRequired - RCTTypeSafety - React-Core @@ -2926,6 +2882,7 @@ DEPENDENCIES: - ExpoImage (from `../node_modules/expo-image/ios`) - ExpoImageManipulator (from `../node_modules/expo-image-manipulator/ios`) - ExpoModulesCore (from `../node_modules/expo-modules-core`) + - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) - "FullStory (from `{:http=>\"https://ios-releases.fullstory.com/fullstory-1.52.0-xcframework.tar.gz\"}`)" @@ -2998,6 +2955,7 @@ DEPENDENCIES: - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) - React-RCTFabric (from `../node_modules/react-native/React`) + - React-RCTFBReactNativeSpec (from `../node_modules/react-native/React`) - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) @@ -3014,6 +2972,7 @@ DEPENDENCIES: - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactAppDependencyProvider (from `build/generated/ios`) - ReactCodegen (from `build/generated/ios`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - "ReactNativeHybridApp (from `../node_modules/@expensify/react-native-hybrid-app`)" @@ -3112,6 +3071,8 @@ EXTERNAL SOURCES: :path: "../node_modules/expo-image-manipulator/ios" ExpoModulesCore: :path: "../node_modules/expo-modules-core" + fast_float: + :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec" FBLazyVector: :path: "../node_modules/react-native/Libraries/FBLazyVector" fmt: @@ -3124,7 +3085,7 @@ EXTERNAL SOURCES: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: hermes-2024-11-12-RNv0.76.2-5b4aa20c719830dcf5684832b89a6edb95ac3d64 + :tag: hermes-2024-11-25-RNv0.77.0-d4f25d534ab744866448b36ca3bf3d97c08e638c lottie-react-native: :path: "../node_modules/lottie-react-native" onfido-react-native-sdk: @@ -3251,6 +3212,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Blob" React-RCTFabric: :path: "../node_modules/react-native/React" + React-RCTFBReactNativeSpec: + :path: "../node_modules/react-native/React" React-RCTImage: :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: @@ -3283,6 +3246,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/react/timing" React-utils: :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactAppDependencyProvider: + :path: build/generated/ios ReactCodegen: :path: build/generated/ios ReactCommon: @@ -3348,18 +3313,19 @@ SPEC CHECKSUMS: AirshipServiceExtension: 9c73369f426396d9fb9ff222d86d842fac76ba46 AppAuth: 501c04eda8a8d11f179dbe8637b7a91bb7e5d2fa AppLogs: 3bc4e9b141dbf265b9464409caaa40416a9ee0e0 - boost: d7090b1a93a9798c029277a8288114f2948f471c - DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385 - EXAV: 9773c9799767c9925547b05e41a26a0240bb8ef2 + boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 + DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb + EXAV: 57ea461614a714b8b8fcc72c6fbc298b8f1ec78b EXImageLoader: 759063a65ab016b836f73972d3bb25404888713d - expensify-react-native-background-task: 6f797cf470b627912c246514b1631a205794775d - Expo: 0e7b52be71a24a38d5e919e3040d8f51a8739cd0 - ExpoAsset: 8138f2a9ec55ae1ad7c3871448379f7d97692d15 - ExpoFont: 7522d869d84ee2ee8093ee997fef5b86f85d856b - ExpoImage: 9cdae70d80c8a59cbfb51a475fc820172fa71666 - ExpoImageManipulator: 774eb1a17c5db07944d6f9000650d422ebb3ce47 - ExpoModulesCore: f7db8b4faee7e5b94ad55f2bf781781a0bcf934d - FBLazyVector: be7314029d6ec6b90f0f75ce1195b8130ed9ac4f + expensify-react-native-background-task: f180077e77a41952128fdc2c83ce1d980994d125 + Expo: c124b1c2129e79a181c16c364aec9add939bea24 + ExpoAsset: 6cc988c426b5fc997859cc0f8f6728d1376bf53f + ExpoFont: 8b14db1afebf62e9774613a082e402985f4e747c + ExpoImage: 3099001359e4414d60addd7c3e00a5d949df41e0 + ExpoImageManipulator: 43c7bb3ecccbe993054d2e9131c8dcbe54f1385b + ExpoModulesCore: 602c3b9247a11fd714e37c9c7452cac130b9715f + fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6 + FBLazyVector: 79c4b7ec726447eec5f8593379466bd9fde1aa14 Firebase: 629510f1a9ddb235f3a7c5c8ceb23ba887f0f814 FirebaseABTesting: 10cbce8db9985ae2e3847ea44e9947dd18f94e10 FirebaseAnalytics: 5506ea8b867d8423485a84b4cd612d279f7b0b8a @@ -3369,11 +3335,11 @@ SPEC CHECKSUMS: FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd FirebasePerformance: 0c01a7a496657d7cea86d40c0b1725259d164c6c FirebaseRemoteConfig: 2d6e2cfdb49af79535c8af8a80a4a5009038ec2b - fmt: 10c6e61f4be25dc963c36bd73fc7b1705fe975be + fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd ForkInputMask: 55e3fbab504b22da98483e9f9a6514b98fdd2f3c FullStory: c8a10b2358c0d33c57be84d16e4c440b0434b33d - fullstory_react-native: 63a803cca04b0447a71daa73e4df3f7b56e1919d - glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a + fullstory_react-native: 5132c9dfa5e1ea4ec42679a708af782d4c4ec4bc + glog: eb93e2f488219332457c3c4eafd2738ddc7e80b8 GoogleAppMeasurement: 5ba1164e3c844ba84272555e916d0a6d3d977e91 GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db @@ -3381,12 +3347,12 @@ SPEC CHECKSUMS: GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 GzipSwift: 893f3e48e597a1a4f62fafcb6514220fcf8287fa - hermes-engine: 0555a84ea495e8e3b4bde71b597cd87fbb382888 + hermes-engine: ccc24d29d650ea725d582a9a53d57cd417fbdb53 libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7 libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 lottie-ios: 3d98679b41fa6fd6aff2352b3953dbd3df8a397e - lottie-react-native: e50d25429207f95045253c19fa7463e288594f87 + lottie-react-native: 0f6ceb2f3eff212f2498c953dffee442590aa492 MapboxCommon: 873b75dd0e8c5d7029e0c849437eba365f4887e5 MapboxCoreMaps: 35685edba03e44468aed57c3dfd7f8795edafda8 MapboxMaps: 05822ab0ee74f7d626e6471572439afe35c1c116 @@ -3394,112 +3360,114 @@ SPEC CHECKSUMS: nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 NWWebSocket: 040d22f23438cc09aaeabf537beff67699c3c76d Onfido: f3af62ea1c9a419589c133e3e511e5d2c4f3f8af - onfido-react-native-sdk: 4ccfdeb10f9ccb4a5799d2555cdbc2a068a42c0d + onfido-react-native-sdk: 1b8abe574234b86a592d7efb4eeada715709e23b Plaid: c32f22ffce5ec67c9e6147eaf6c4d7d5f8086d89 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 pusher-websocket-react-native: e40c49a1e4ec96d4157375aebcf44943f0f8f62f PusherSwift: cad631bad86cfff4b8458dce1310a7774e469b1f - RCT-Folly: bf5c0376ffe4dd2cf438dcf86db385df9fdce648 - RCTDeprecation: 2c5e1000b04ab70b53956aa498bf7442c3c6e497 - RCTRequired: 5f785a001cf68a551c5f5040fb4c415672dbb481 - RCTTypeSafety: 6b98db8965005d32449605c0d005ecb4fee8a0f7 - React: 8077bf7c185afb515be82518507e16f71a247a5e - React-callinvoker: 519eee9520727805e2867a6d8dad4ebbeed543db - React-Core: 7291a1936101ea247f21c6bbd75372eb6dbda7a7 - React-CoreModules: 291be650024d9db086c95fd1d7e7d9607c6de62b - React-cxxreact: 5cf17d13ca0fc0734e1bb0ed9615d1d1fc45ef78 - React-debug: 931ca94abd6b1bcab539e356e20df788afecae8f - React-defaultsnativemodule: 6afc2dd3619bac12dc54c1ee939bf14f9aa96b42 - React-domnativemodule: f140d46f6f3c3f1efc987c98b464fcbece0cc93a - React-Fabric: f1df0584cf96a56ea7bea885d7e1ef59c0fefa44 - React-FabricComponents: 528ff9f96d150379ed404221d70cc7019ca76865 - React-FabricImage: 31680b7ddc740e040277176fbd6541fcf0fd44af - React-featureflags: 7c7a74b65ee5a228f520b387ebfe0e8d9cecc622 - React-featureflagsnativemodule: dd3450366b1c9557975e457ce6baa151ccee84da - React-graphics: 7f0d3e06d356e8476bd8ba95d90762fc01138ebc - React-hermes: f83fafe6a1c845dace7abad4a5d7366cbb42ab96 - React-idlecallbacksnativemodule: 14ce331438e2bca7d464a8a211b14543aff4dc91 - React-ImageManager: 2b9274ea973f43597a554a182d7ef525836172c6 - React-jserrorhandler: 3b521485275d295cfc6ec6bfa921a1d608693ecf - React-jsi: fd23c1d759feb709784fd4c835b510b90a94dd12 - React-jsiexecutor: 74628d57accc03d4b5df53db813ef6dcd704c9ae - React-jsinspector: 89a1e27e97c762de81bd4b9cb1314750304bba38 - React-jsitracing: 11b6646d7b2ecdc7a475f65b2cb12d3805964195 - React-logger: 26155dc23db5c9038794db915f80bd2044512c2e - React-Mapbuffer: ad1ba0205205a16dbff11b8ade6d1b3959451658 - React-microtasksnativemodule: e771eb9eb6ace5884ee40a293a0e14a9d7a4343c - react-native-advanced-input-mask: 8190f8726ed83c894490a7b333da051757655ea4 - react-native-airship: e10f6823d8da49bbcb2db4bdb16ff954188afccc - react-native-app-logs: ee32b6e80bf8d1b883dfc5ac96efa7c1bd9a06a5 - react-native-blob-util: 221c61c98ae507b758472ac4d2d489119d1a6c44 - react-native-cameraroll: 478a0c1fcdd39f08f6ac272b7ed06e92b2c7c129 - react-native-config: 742a9e0a378a78d0eaff1fb3477d8c0ae222eb51 - react-native-document-picker: e9d83c149bdd72dc01cf8dcb8df0389c6bd5fddb - react-native-geolocation: b9bd12beaf0ebca61a01514517ca8455bd26fa06 - react-native-image-picker: ba5067f7d833b9081102c0a33dd0188eb21d92dc - react-native-key-command: aae312752fcdfaa2240be9a015fc41ce54087546 - react-native-keyboard-controller: 2dd8ddb3c2acbd006404dc58ebc856c7704fea5a + RCT-Folly: 36fe2295e44b10d831836cc0d1daec5f8abcf809 + RCTDeprecation: 664055db806cce35c3c1b43c84414dd66e117ae6 + RCTRequired: dc9a83fa1012054f94430d210337ca3a1afe6fc0 + RCTTypeSafety: 031cefa254a1df313a196f105b8fcffdab1c5ab6 + React: 8edfc46c315852ec88ea4a29d5e79019af3dc667 + React-callinvoker: 4450b01574dfc7a8f074f7e29e6965ac04859c8f + React-Core: 13bdd0a0125fdaecdee747b62e02d2a65b026520 + React-CoreModules: ebe93fa403bbd4d0909de105ffd34eeaad355083 + React-cxxreact: af8a2be3edfed0e1168279eea443f95a7285602e + React-debug: b0f7271aeacc2eb9e34f863397dcfc204ef721c0 + React-defaultsnativemodule: 2ad21fff895dabfb7db60ee1c37d0a3866229430 + React-domnativemodule: f788e7169988a61ac38a5fc493ac02b5fbda7d6b + React-Fabric: 8b404451db2bb07bcf0e3f6dfebfb26455e4d7ce + React-FabricComponents: 40cecebced128b2aa50c25a5fa6fdcd3b175286d + React-FabricImage: 81787fa643b67f1327b4aa5fa1678dc73a771e34 + React-featureflags: 23d3dcdac6c9badeeb631db8a0883c7a3108d580 + React-featureflagsnativemodule: 0a513d79c46288c108c5660c85b4d255ab8a7abd + React-graphics: 61380f6d01a225af9a3808dfd0f16622d2b6f90d + React-hermes: 55685771359191ccc4efed69f98da90353235b9d + React-idlecallbacksnativemodule: bef8c33ab7f9f8459f9a2750021375c4246b507e + React-ImageManager: bab699b4ed44ce23b23d5bcab1cdc376eb69d583 + React-jserrorhandler: 7e3bdce29ae1b8d12959e4e42f3adc847a8d3750 + React-jsi: 07273ffe8eb40a0e21a68d2fdaf1a6a032d46c1d + React-jsiexecutor: f5512f2b849e96add6309fd14a1731c704851da5 + React-jsinspector: 615b4497d1258b5249096612cb488db006d95a8f + React-jsitracing: 838bbd073e24e84cf936354f085721cbc9204d70 + React-logger: 1935d6e6461e9c8be4c87af56c56a4876021171e + React-Mapbuffer: 212171f037e3b22e6c2df839aa826806da480b85 + React-microtasksnativemodule: 72564d5469003687d39bfc4efad281df8efc0684 + react-native-advanced-input-mask: 7783a35343e2f0ec4b726d526bda4665e8fc11c9 + react-native-airship: 8debc21d80534128d87269cb309164e2941b068a + react-native-app-logs: 70fb83d2fe260d3911e5bb222496ef1f7a2bfef9 + react-native-blob-util: d65692a2acce17b7a836805114828142a3634033 + react-native-cameraroll: 78710a5d35b0c6f41899a193e714564d8fd648b0 + react-native-config: 5b9e180ca7beb5748ba473b257bb9a7d10e2a957 + react-native-document-picker: da64a39fd71a84a9d3f7f58c8b0623c393e9991c + react-native-geolocation: cd91e4fd914de585933c836fd71f6bdb3c97a410 + react-native-image-picker: 9e419813377d42566b0168121ab9483614488db5 + react-native-key-command: 96c9dfb09bc89ecd1d58348c0d3ed84d0255648b + react-native-keyboard-controller: 5c628f5d8301047a87039a2d7de322233a39bbda react-native-launch-arguments: 5f41e0abf88a15e3c5309b8875d6fd5ac43df49d - react-native-netinfo: fb5112b1fa754975485884ae85a3fb6a684f49d5 - react-native-pager-view: 93b83d425b1800720006cec04759535c11bf89bf - react-native-pdf: dd6ae39a93607a80919bef9f3499e840c693989d - react-native-performance: 3c608307be10964f8a97d3af462f37125b6d8fa5 - react-native-plaid-link-sdk: f91a22b45b7c3d4cd6c47273200dc57df35068b0 - react-native-quick-sqlite: 7c793c9f5834e756b336257a8d8b8239b7ceb451 - react-native-release-profiler: 131ec5e4145d900b2be2a8d6641e2ce0dd784259 - react-native-safe-area-context: 458f6b948437afcb59198016b26bbd02ff9c3b47 - react-native-view-shot: 6bafd491eb295b5834e05c469a37ecbd796d5b22 - react-native-webview: ad29375839c9aa0409ce8e8693291b42bdc067a4 - React-nativeconfig: aeed6e2a8ac02b2df54476afcc7c663416c12bf7 - React-NativeModulesApple: c5b7813da94136f50ef084fa1ac077332dcfc658 - React-perflogger: b5d62ef0747a110bd828b7620bcb6fd73e82d000 - React-performancetimeline: 81884d35896b22d51832e7c8748c8330ec73c491 - React-RCTActionSheet: c940a35d71686941ac2b96dd07bde11ea0f0c34f - React-RCTAnimation: e1dbb4e530d6f58437ab2fae372de3788ecdffab - React-RCTAppDelegate: f9825950ac2c52ae1cf46b648bb362b86b62fe41 - React-RCTBlob: 9cdac4721a76e2d132fb1760eafd0a8f150d1c96 - React-RCTFabric: c0aa01a448bcebb1326d068ed7545eb11561e663 - React-RCTImage: f09f5165807e1a69a2bbac6c7168a8ed57ed4e26 - React-RCTLinking: 4ea06b79cba7e15d8af4d86b1dcede6bd29a47fd - React-RCTNetwork: 43a38148c7a4a2380e76b08f07f02ee8eaac8965 - React-RCTSettings: cc60bb6b38eed0683696b5ddf45b0a4a1441147b - React-RCTText: fbe5e6e886beefd5d432790bc50b7aa2b6504264 - React-RCTVibration: 061dbf7a0a1e77bfc1c4672e7be6884dc12f18bf - React-rendererconsistency: bd7b05c2a06f016a1b916f5ea404d5ab365e6e65 - React-rendererdebug: 3f63479f704e266a3bf104c897315a885c72859b - React-rncore: 33ea67bfd2eeaa4f4a0c9e0e8bd55e9b7ccb9faa - React-RuntimeApple: bcd91a191637ab5895593135de74ac54bf88df5d - React-RuntimeCore: 3a42a7f12f5f6cc4cb0e22446540165d204d7a15 - React-runtimeexecutor: db3f17084ee7b71ab84912c527d428cc3a137841 - React-RuntimeHermes: 91bcd6aeec4bab20cebd33cb8984e3825ccdc77e - React-runtimescheduler: 92a5a092ded9a9aaac765ac940d26b52bac48901 - React-timing: 54693ad0872f64127f7cb41675b1be4fd28ea4dc - React-utils: 2bcaf4f4dfe361344bce2fae428603d518488630 - ReactCodegen: ae99a130606068ed40d1d9c0d5f25fda142a0647 - ReactCommon: 89c87b343deacc8610b099ac764848f0ce937e3e - ReactNativeHybridApp: 18cab0d029f08d51391a07c5c2c7872287544485 + react-native-netinfo: eb0dfd4450b6f825eea973c490cee45db21cf570 + react-native-pager-view: 679269230b107e29b6a211a6387d3721b9d0eed4 + react-native-pdf: e4ae1d67ffaadc6f0e1bb103036276371e446626 + react-native-performance: 6171618da76fcf5aaed3eff4e841e44f3fbe05f0 + react-native-plaid-link-sdk: e774d5c1d57e10b5a8759dd439bcbd9a6af17fa1 + react-native-quick-sqlite: 407d285646c6ca0674147ea2e08e48e7983409ad + react-native-release-profiler: dffea1dd7929bf5cf7da5ad4697dea7d9a062377 + react-native-safe-area-context: b3edb1da341e5e61f865763d9e0b6d3d34706464 + react-native-view-shot: bb169342812ded991a4a0387e7d0b17cb515e62a + react-native-webview: b375842af66a9f0ab979378bdc8b26eeb5d8e3ee + React-nativeconfig: cb207ebba7cafce30657c7ad9f1587a8f32e4564 + React-NativeModulesApple: 82a8bee52df9f5b378195a500f22be3a6ef0f890 + React-perflogger: 8152bab3f0eb4b8751f282f9af7caed2c823a9ea + React-performancetimeline: 3ef4a640b56f9c7ec5f52bd93217b9b607c37cf4 + React-RCTActionSheet: 0fdf55fb8724856d63ca8c63cdb4e2325e15e8ec + React-RCTAnimation: b93f5a1675cc2599e96851fec13c909fdfb1d6bb + React-RCTAppDelegate: 1e52340adeca84f16211da985a420b9435118fef + React-RCTBlob: e437ac6279a3cc2ddea9bffc8e258efac71b2609 + React-RCTFabric: 0a9ae1f46dfe9e11ea3664d2ce0f5fd1e58f58a8 + React-RCTFBReactNativeSpec: d25807c3413a4574c1c90240ff58e8704606d5af + React-RCTImage: 028171a4d7017ea96a2e605c817cd76f01ed3836 + React-RCTLinking: e3f5431ab5f8f56b82387d41a2c484a278a8e645 + React-RCTNetwork: 6de20da228ffe8bd9c9e3bafe3f7d1dfe1d7bd55 + React-RCTSettings: 433c9f6a070bcecbe5a44d5009326b4d6f3b0667 + React-RCTText: 46249950f8d8738b90a60883d19b5bef09f0a296 + React-RCTVibration: 8f41e85ab6d40c7db6111ca9e8c7492c8de374fb + React-rendererconsistency: c766ce7261ab6ed6be7bc155c403e29436d4f156 + React-rendererdebug: 1f619b295f346242842f3accee23e8394b995d3c + React-rncore: cafe45e14d870bbecbbf4bd89e12ef3b596e1f2d + React-RuntimeApple: 7f27fb75a37e00a8e1efaa6e8f7a5b653871fb1b + React-RuntimeCore: b4756a863be9d7128d8e31ac3c0505e088d1530f + React-runtimeexecutor: 201311bdafb53b5c30292782c8ee90193af86d91 + React-RuntimeHermes: 4bd3779228ffeaeae3a72747fff66861bad569ac + React-runtimescheduler: 845c26b9870053c312f3a4f358ba7ec897c01605 + React-timing: 127d8598b5a15ae5b29ebd0ec474d590285c6f2f + React-utils: e33fe9381f4f7f25b2dfdf9526c82f5be8712c86 + ReactAppDependencyProvider: e7e92253013754a8c35ebdbf8ad700f4e8956f62 + ReactCodegen: 8c6710db5ccee603fa0475978465b606abe1ed77 + ReactCommon: 8da6c58517fa560d0fc7a9da83093457303ae9f8 + ReactNativeHybridApp: f8a5dbdc675c976bc9afe53ef99ced57cf30fe84 RNAppleAuthentication: 0571c08da8c327ae2afc0261b48b4a515b0286a6 - RNCClipboard: 8212ca9e8370d0e23bfb7f5a591380da5a63456d - RNCPicker: b978067931744f5a7316b48b8dcf145d4d722672 - RNDeviceInfo: 130237d8e97a89b68f2202d5dd18ac6bb68e7648 + RNCClipboard: 97d92b55b35f73533df13f1291532afaa278063e + RNCPicker: df40bc15151322f96fd2c59fb987a95d6de03b26 + RNDeviceInfo: a24bbab321aca6ab97e52935d60b7e2c66fec9c4 RNFBAnalytics: f76bfa164ac235b00505deb9fc1776634056898c RNFBApp: 729c0666395b1953198dc4a1ec6deb8fbe1c302e RNFBCrashlytics: 2061ca863e8e2fa1aae9b12477d7dfa8e88ca0f9 RNFBPerf: 389914cda4000fe0d996a752532a591132cbf3f9 - RNFlashList: 6f169ad83e52579b7754cbbcec1b004c27d82c93 + RNFlashList: cb8f8b4dbf724147e86a373e7ac78c602cbfebcc RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 - RNGestureHandler: 364e6862a112045bb5c5d35601f0bdb0304af979 + RNGestureHandler: 4e7defe5095e936424173fc75f0bf2af5bba8e23 RNGoogleSignin: ccaa4a81582cf713eea562c5dd9dc1961a715fd0 - RNLiveMarkdown: 2b444567d0e462e8fc5be59658152e3cdc4e3830 + RNLiveMarkdown: e3f49ff5a70a7fb5ba515a390cae767e5e999ac9 RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81 - rnmapbox-maps: d184c8d3213acf4c97ec71fbbb6f9d4954552d80 - RNPermissions: 0b1429b55af59d1d08b75a8be2459f65a8ac3f28 - RNReactNativeHapticFeedback: 73756a3477a5a622fa16862a3ab0d0fc5e5edff5 - RNReanimated: a41aa31f84a4d787d165125e5c874a2057154315 - RNScreens: e389d6a6a66a4f0d3662924ecae803073ccce8ec - RNShare: bd4fe9b95d1ee89a200778cc0753ebe650154bb0 + rnmapbox-maps: 1d313fe5d7d18845b3015ffd6994e0c81afbffcd + RNPermissions: ae4949b7250af8edc4791e440490c0f96237b329 + RNReactNativeHapticFeedback: 5fdbbaedabc1698dc3bb2a72105fadf63136a451 + RNReanimated: 67d8eda35002543abb656f25fa1a457ceeab6807 + RNScreens: 520a873712f4a9822e18004d6959ed0daba38367 + RNShare: c91b5757e92391206939fdf8fce0a3d966e2b6d6 RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852 - RNSVG: b2fbe96b2bb3887752f8abc1f495953847e90384 + RNSVG: 297c578f1fa3f8b749137ead32435b7bd8fa9136 SDWebImage: 066c47b573f408f18caa467d71deace7c0f8280d SDWebImageAVIFCoder: 00310d246aab3232ce77f1d8f0076f8c4b021d90 SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c @@ -3508,8 +3476,8 @@ SPEC CHECKSUMS: Turf: aa2ede4298009639d10db36aba1a7ebaad072a5e TweetNacl: 3abf4d1d2082b0114e7a67410e300892448951e6 VisionCamera: c95a8ad535f527562be1fb05fb2fd324578e769c - Yoga: 3deb2471faa9916c8a82dda2a22d3fba2620ad37 + Yoga: 1fd059161b449018342943b095a6d4e69bcaa719 -PODFILE CHECKSUM: a5d166a2e749f6a67badc7a7c90ac596a94c2099 +PODFILE CHECKSUM: e185ffe0937c6bc63c014c3164f1756b549b7af6 COCOAPODS: 1.15.2 diff --git a/jest/setup.ts b/jest/setup.ts index 1e02ece6c04e..38910e1acf74 100644 --- a/jest/setup.ts +++ b/jest/setup.ts @@ -92,6 +92,7 @@ jest.mock('@libs/runOnLiveMarkdownRuntime', () => { jest.mock('@src/libs/actions/Timing', () => ({ start: jest.fn(), end: jest.fn(), + clearData: jest.fn(), })); jest.mock('../modules/background-task/src/NativeReactNativeBackgroundTask', () => ({ diff --git a/package-lock.json b/package-lock.json index 5d8d50aea1ad..0c7ce0ca0d43 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@expensify/react-native-background-task": "file:./modules/background-task", "@expensify/react-native-hybrid-app": "file:./modules/hybrid-app", "@expensify/react-native-live-markdown": "0.1.244", - "@expo/metro-runtime": "^4.0.0", + "@expo/metro-runtime": "^4.0.1", "@firebase/app": "^0.10.10", "@firebase/performance": "^0.6.8", "@formatjs/intl-datetimeformat": "^6.12.5", @@ -56,12 +56,12 @@ "dom-serializer": "^0.2.2", "domhandler": "^4.3.0", "expensify-common": "2.0.124", - "expo": "52.0.14", - "expo-asset": "^11.0.1", - "expo-av": "^15.0.1", - "expo-font": "^13.0.1", - "expo-image": "^2.0.3", - "expo-image-manipulator": "^13.0.5", + "expo": "52.0.28", + "expo-asset": "^11.0.2", + "expo-av": "^15.0.2", + "expo-font": "^13.0.3", + "expo-image": "^2.0.4", + "expo-image-manipulator": "^13.0.6", "fast-equals": "^4.0.3", "focus-trap-react": "^11.0.3", "howler": "^2.2.4", @@ -82,7 +82,7 @@ "react-error-boundary": "^4.0.11", "react-fast-pdf": "^1.0.27", "react-map-gl": "^7.1.3", - "react-native": "0.76.3", + "react-native": "0.77.1", "react-native-advanced-input-mask": "1.3.1", "react-native-android-location-enabler": "^2.0.1", "react-native-app-logs": "0.3.1", @@ -93,12 +93,12 @@ "react-native-document-picker": "^9.3.1", "react-native-draggable-flatlist": "^4.0.1", "react-native-fs": "^2.20.0", - "react-native-gesture-handler": "2.20.1", + "react-native-gesture-handler": "2.22.0", "react-native-google-places-autocomplete": "2.5.6", "react-native-haptic-feedback": "^2.3.3", "react-native-image-picker": "^7.1.2", "react-native-image-size": "git+https://github.com/Expensify/react-native-image-size#cb392140db4953a283590d7cf93b4d0461baa2a9", - "react-native-key-command": "^1.0.8", + "react-native-key-command": "1.0.12", "react-native-keyboard-controller": "1.16.7", "react-native-launch-arguments": "^4.0.2", "react-native-localize": "^2.2.6", @@ -125,7 +125,7 @@ "react-native-view-shot": "4.0.0", "react-native-vision-camera": "^4.6.1", "react-native-web": "0.19.13", - "react-native-webview": "13.8.6", + "react-native-webview": "13.13.1", "react-plaid-link": "3.3.2", "react-web-config": "^1.0.0", "react-webcam": "^7.1.1", @@ -169,8 +169,8 @@ "@react-native-community/cli-platform-android": "15.0.1", "@react-native-community/cli-platform-ios": "15.0.1", "@react-native-community/eslint-config": "3.2.0", - "@react-native/babel-preset": "0.76.3", - "@react-native/metro-config": "0.76.3", + "@react-native/babel-preset": "0.77.1", + "@react-native/metro-config": "0.77.1", "@react-navigation/devtools": "^6.0.10", "@storybook/addon-a11y": "^8.1.10", "@storybook/addon-essentials": "^8.1.10", @@ -247,7 +247,7 @@ "jest-circus": "29.4.1", "jest-cli": "29.4.1", "jest-environment-jsdom": "^29.4.1", - "jest-expo": "52.0.2", + "jest-expo": "52.0.3", "jest-transformer-svg": "^2.0.1", "jest-when": "^3.5.2", "link": "^2.1.1", @@ -301,9 +301,9 @@ "license": "UNLICENSED" }, "node_modules/@0no-co/graphql.web": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.0.11.tgz", - "integrity": "sha512-xuSJ9WXwTmtngWkbdEoopMo6F8NLtjy84UNAMsAr5C3/2SgAL/dEU10TMqTIsipqPQ8HA/7WzeqQ9DEQxSvPPA==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.0.13.tgz", + "integrity": "sha512-jqYxOevheVTU1S36ZdzAkJIdvRp2m3OYIG5SEoKDw5NI8eVwkoI0D/Q3DYNGmXCxkA6CQuoa7zvMiDPTLqUNuw==", "license": "MIT", "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0" @@ -430,11 +430,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.9.tgz", - "integrity": "sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -529,11 +531,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.9.tgz", - "integrity": "sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.9", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -1118,11 +1122,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.9.tgz", - "integrity": "sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.26.9" }, "bin": { "parser": "bin/babel-parser.js" @@ -1451,11 +1456,12 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.25.7.tgz", - "integrity": "sha512-fyoj6/YdVtlv2ROig/J0fP7hh/wNO1MJGm1NR70Pg7jbkF+jOUL9joorqaCOQh06Y+LfgTagHzC8KqZ3MF782w==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz", + "integrity": "sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1513,11 +1519,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1614,11 +1621,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz", - "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1915,12 +1923,13 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.7.tgz", - "integrity": "sha512-q8Td2PPc6/6I73g96SreSUCKEcwMXCwcXSIAVTyTTN6CpJe0dMj8coxu1fg1T9vfBLi6Rsi6a4ECcFBbKabS5w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz", + "integrity": "sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-flow": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-flow": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2517,15 +2526,16 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.7.tgz", - "integrity": "sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.3.tgz", + "integrity": "sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-syntax-typescript": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2692,12 +2702,14 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.24.1", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.25.9.tgz", + "integrity": "sha512-EASHsAhE+SSlEzJ4bzfusnXSHiU+JfAYzj+jbw2vgQKgq5HrUr8qs+vgtiEL5dOH6sEweI+PNt2D7AqrDSHyqQ==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-flow-strip-types": "^7.24.1" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-flow-strip-types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2737,14 +2749,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.24.1", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-syntax-jsx": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-typescript": "^7.24.1" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2754,7 +2768,9 @@ } }, "node_modules/@babel/register": { - "version": "7.23.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz", + "integrity": "sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==", "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", @@ -2792,13 +2808,14 @@ "license": "MIT" }, "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" @@ -2843,9 +2860,10 @@ } }, "node_modules/@babel/types": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.9.tgz", - "integrity": "sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" @@ -3121,9 +3139,48 @@ "node": ">=10.0.0" } }, + "node_modules/@dotlottie/common": { + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/@dotlottie/common/-/common-0.7.11.tgz", + "integrity": "sha512-0ThV1uZVfKJ2pwYQy52EKH8edKnvEsSDGdxRf/n1Wz15xbqI+8qKs0BHSIQ7yLyaU5gFSaEooEgK1kTiKJaE4g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT", + "dependencies": { + "@dotlottie/dotlottie-js": "^0.7.0", + "@preact/signals-core": "^1.2.3", + "howler": "^2.2.3", + "lottie-web": "^5.12.2", + "xstate": "^4.38.1" + }, + "engines": { + "node": ">18.0.0" + } + }, + "node_modules/@dotlottie/dotlottie-js": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@dotlottie/dotlottie-js/-/dotlottie-js-0.7.2.tgz", + "integrity": "sha512-BIEFkaKCRzVSHgKoZ2d/Squ1Rw4U93/YmHvON04PCx2gOBRAM2//GYUPcVijYHT8dQtom07KoyTKpXh0cRzKKw==", + "license": "MIT", + "dependencies": { + "browser-image-hash": "^0.0.5", + "fflate": "^0.8.1", + "sharp": "^0.33.2", + "sharp-phash": "^2.1.0", + "valibot": "^0.13.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@dotlottie/react-player": { - "version": "1.6.3", + "version": "1.6.19", + "resolved": "https://registry.npmjs.org/@dotlottie/react-player/-/react-player-1.6.19.tgz", + "integrity": "sha512-kXQ/BD3OnK70wIGOIy5DWg1jgfgb3AWaDLXwVnLtzSmTBcH2dFcU/XGXF+z4w8vm2/s2tdbNd7c4yq8twoIVLw==", + "deprecated": "This package is superceded by @lottiefiles/dotlottie-react", "license": "MIT", + "dependencies": { + "@dotlottie/common": "0.7.11" + }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -3485,6 +3542,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@emnapi/runtime": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", "dev": true, @@ -3685,29 +3752,29 @@ } }, "node_modules/@expo/cli": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.22.0.tgz", - "integrity": "sha512-89yOeyA8ObTxxR8izv80foYITXPtsyU0Q+LTalD8PytISRtmWqgbJ2b8go2kPrJJRJ8urUKIIo6k6ShjMurRxw==", + "version": "0.22.11", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.22.11.tgz", + "integrity": "sha512-D5Vl7IBLi53WmL57NAFYB1mIqlMQxDIZVzbi/FTpo5a3oIHELKr0ElTKeOLf1f1/Y3FA7cxgphoawdA0+O1JWQ==", "license": "MIT", "dependencies": { "@0no-co/graphql.web": "^1.0.8", "@babel/runtime": "^7.20.0", "@expo/code-signing-certificates": "^0.0.5", - "@expo/config": "~10.0.4", - "@expo/config-plugins": "~9.0.10", + "@expo/config": "~10.0.8", + "@expo/config-plugins": "~9.0.14", "@expo/devcert": "^1.1.2", - "@expo/env": "~0.4.0", - "@expo/image-utils": "^0.6.0", - "@expo/json-file": "^9.0.0", - "@expo/metro-config": "~0.19.0", - "@expo/osascript": "^2.0.31", - "@expo/package-manager": "^1.5.0", - "@expo/plist": "^0.2.0", - "@expo/prebuild-config": "^8.0.17", + "@expo/env": "~0.4.1", + "@expo/image-utils": "^0.6.4", + "@expo/json-file": "^9.0.1", + "@expo/metro-config": "~0.19.9", + "@expo/osascript": "^2.1.5", + "@expo/package-manager": "^1.7.1", + "@expo/plist": "^0.2.1", + "@expo/prebuild-config": "^8.0.25", "@expo/rudder-sdk-node": "^1.1.1", "@expo/spawn-async": "^1.7.2", "@expo/xcpretty": "^4.3.0", - "@react-native/dev-middleware": "0.76.3", + "@react-native/dev-middleware": "0.76.6", "@urql/core": "^5.0.6", "@urql/exchange-retry": "^1.3.0", "accepts": "^1.3.8", @@ -3746,7 +3813,7 @@ "requireg": "^0.2.2", "resolve": "^1.22.2", "resolve-from": "^5.0.0", - "resolve.exports": "^2.0.2", + "resolve.exports": "^2.0.3", "semver": "^7.6.0", "send": "^0.19.0", "slugify": "^1.3.4", @@ -3909,21 +3976,6 @@ "node": ">=8" } }, - "node_modules/@expo/cli/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/@expo/cli/node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -4197,15 +4249,15 @@ } }, "node_modules/@expo/config": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-10.0.5.tgz", - "integrity": "sha512-wq48h3HlAPq5v/gMprarAiVY1aEXNBVJ+Em0vrHcYFO8UyxzR6oIao2E4Ed3VWHqhTzPXkMPH4hKCKlzFVBFwQ==", + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-10.0.8.tgz", + "integrity": "sha512-RaKwi8e6PbkMilRexdsxObLMdQwxhY6mlgel+l/eW+IfIw8HEydSU0ERlzYUjlGJxHLHUXe4rC2vw8FEvaowyQ==", "license": "MIT", "dependencies": { "@babel/code-frame": "~7.10.4", - "@expo/config-plugins": "~9.0.10", - "@expo/config-types": "^52.0.0", - "@expo/json-file": "^9.0.0", + "@expo/config-plugins": "~9.0.14", + "@expo/config-types": "^52.0.3", + "@expo/json-file": "^9.0.1", "deepmerge": "^4.3.1", "getenv": "^1.0.0", "glob": "^10.4.2", @@ -4218,14 +4270,14 @@ } }, "node_modules/@expo/config-plugins": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-9.0.11.tgz", - "integrity": "sha512-zufuPQWkeEpXfMWFx2lWStoN43p6cO13p8n2KMIEK6jJMC/kkfldYyl8gYtEEYAL1nFfOf/W2pIXXPQ2sggnSw==", + "version": "9.0.14", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-9.0.14.tgz", + "integrity": "sha512-Lx1ebV95rTFKKQmbu4wMPLz65rKn7mqSpfANdCx+KwRxuLY2JQls8V4h3lQjG6dW8NWf9qV5QaEFAgNB6VMyOQ==", "license": "MIT", "dependencies": { - "@expo/config-types": "^52.0.0", - "@expo/json-file": "~9.0.0", - "@expo/plist": "^0.2.0", + "@expo/config-types": "^52.0.3", + "@expo/json-file": "~9.0.1", + "@expo/plist": "^0.2.1", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", @@ -4326,21 +4378,6 @@ "node": ">=8" } }, - "node_modules/@expo/config-plugins/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/@expo/config-plugins/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -4390,15 +4427,16 @@ } }, "node_modules/@expo/config-types": { - "version": "52.0.1", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-52.0.1.tgz", - "integrity": "sha512-vD8ZetyKV7U29lR6+NJohYeoLYTH+eNYXJeNiSOrWCz0witJYY11meMmEnpEaVbN89EfC6uauSUOa6wihtbyPQ==", + "version": "52.0.3", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-52.0.3.tgz", + "integrity": "sha512-muxvuARmbysH5OGaiBRlh1Y6vfdmL56JtpXxB+y2Hfhu0ezG1U4FjZYBIacthckZPvnDCcP3xIu1R+eTo7/QFA==", "license": "MIT" }, "node_modules/@expo/config/node_modules/@babel/code-frame": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.10.4" } @@ -4407,6 +4445,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -4415,6 +4454,7 @@ "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -4430,24 +4470,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@expo/config/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/@expo/config/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -4462,6 +4489,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -4470,6 +4498,7 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4535,21 +4564,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@expo/devcert/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/@expo/devcert/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -4590,6 +4604,7 @@ "version": "8.2.5", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz", "integrity": "sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "license": "MIT" }, "node_modules/@expo/devcert/node_modules/tmp": { @@ -4605,9 +4620,10 @@ } }, "node_modules/@expo/env": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.4.0.tgz", - "integrity": "sha512-g2JYFqck3xKIwJyK+8LxZ2ENZPWtRgjFWpeht9abnKgzXVXBeSNECFBkg+WQjQocSIdxXhEWM6hz4ZAe7Tc4ng==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.4.1.tgz", + "integrity": "sha512-oDtbO3i9yXD1nx93acWiPTWGljJ3vABn35x1NAbqtQ2JL6mFOcRcArt1dwi4imZyLnG4VCcjabT9irj+LgYntw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", @@ -4620,6 +4636,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4634,6 +4651,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4649,6 +4667,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4659,12 +4678,14 @@ "node_modules/@expo/env/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/@expo/env/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -4673,6 +4694,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4681,9 +4703,9 @@ } }, "node_modules/@expo/fingerprint": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.11.3.tgz", - "integrity": "sha512-9lgXmcIePvZ7Wef63XtvuN3HfCUevF4E4tQPdEbH9/dUWwpOvvwQ3KT4OJ9jdh8JJ3nTdO9eDQ/8k8xr1aQ5Kg==", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.11.7.tgz", + "integrity": "sha512-2rfYVS4nqWmOPQk+AL5GPfPSawbqqmI5mL++bxAhWADt+d+fjoQYfIrGtjZxQ30f9o/a1PrRPVSuh2j09+diVg==", "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -4790,9 +4812,10 @@ } }, "node_modules/@expo/image-utils": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.6.0.tgz", - "integrity": "sha512-x0ljt6idmHp5ht0+u8LgCesYwNKLyN+K8dRP2lcdhYLWIIsz9XJ6xi5cTm1uECVpp9zedv43iZ9zlxLH+eCdDQ==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.6.4.tgz", + "integrity": "sha512-L++1PBzSvf5iYc6UHJ8Db8GcYNkfLDw+a+zqEFBQ3xqRXP/muxb/O7wuiMFlXrj/cfkx4e0U+z1a4ceV0A7S7Q==", + "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", @@ -4810,6 +4833,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4824,6 +4848,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4839,6 +4864,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4849,12 +4875,14 @@ "node_modules/@expo/image-utils/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/@expo/image-utils/node_modules/fs-extra": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -4869,6 +4897,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -4877,6 +4906,7 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4888,6 +4918,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4899,14 +4930,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/@expo/json-file": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.0.0.tgz", - "integrity": "sha512-M+55xFVrFzDcgMDf+52lPDLjKB5xwRfStWlv/b/Vu2OLgxGZLWpxoPYjlRoHqxjPbCQIi2ZCbobK+0KuNhsELg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-9.0.1.tgz", + "integrity": "sha512-ZVPhbbEBEwafPCJ0+kI25O2Iivt3XKHEKAADCml1q2cmOIbQnKgLyn8DpOJXqWEyRQr/VWS+hflBh8DU2YFSqg==", "license": "MIT", "dependencies": { "@babel/code-frame": "~7.10.4", @@ -4924,18 +4956,18 @@ } }, "node_modules/@expo/metro-config": { - "version": "0.19.5", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.19.5.tgz", - "integrity": "sha512-wl5lVgXq4FN4kBJHNyU5U9J5hH8S8rYXrp/pgbwA+J/smQfiElYKMYomTGbHUb4LQ0VnmlX6/kI4x/zJk+mq7w==", + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.19.9.tgz", + "integrity": "sha512-JAsLWhFQqwLH0KsI4OMbPXsKFji5KJEmsi+/02Sz1GCT17YrjRmv1fZ91regUS/FUH2Y/PDAE/+2ulrTgMeG7A==", "license": "MIT", "dependencies": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.5", "@babel/parser": "^7.20.0", "@babel/types": "^7.20.0", - "@expo/config": "~10.0.4", - "@expo/env": "~0.4.0", - "@expo/json-file": "~9.0.0", + "@expo/config": "~10.0.8", + "@expo/env": "~0.4.1", + "@expo/json-file": "~9.0.1", "@expo/spawn-async": "^1.7.2", "chalk": "^4.1.0", "debug": "^4.3.2", @@ -5051,21 +5083,6 @@ "node": ">=8" } }, - "node_modules/@expo/metro-config/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/@expo/metro-config/node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -5088,18 +5105,18 @@ } }, "node_modules/@expo/metro-runtime": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@expo/metro-runtime/-/metro-runtime-4.0.0.tgz", - "integrity": "sha512-+zgCyuXqIzgZVN8h0g36sursGXBy3xqtJW9han7t/iR2HTTrrbEoep5ftW1a27bdSINU96ng+rSsPLbyHYeBvw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@expo/metro-runtime/-/metro-runtime-4.0.1.tgz", + "integrity": "sha512-CRpbLvdJ1T42S+lrYa1iZp1KfDeBp4oeZOK3hdpiS5n0vR0nhD6sC1gGF0sTboCTp64tLteikz5Y3j53dvgOIw==", "license": "MIT", "peerDependencies": { "react-native": "*" } }, "node_modules/@expo/osascript": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.4.tgz", - "integrity": "sha512-LcPjxJ5FOFpqPORm+5MRLV0CuYWMthJYV6eerF+lQVXKlvgSn3EOqaHC3Vf3H+vmB0f6G4kdvvFtg40vG4bIhA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.5.tgz", + "integrity": "sha512-Cp7YF7msGiTAIbFdzNovwHBfecdMLVL5XzSqq4xQz72ALFCQ3uSIUXRph1QV2r61ugH7Yem0gY8yi7RcDlI4qg==", "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -5110,12 +5127,12 @@ } }, "node_modules/@expo/package-manager": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.6.1.tgz", - "integrity": "sha512-4rT46wP/94Ll+CWXtFKok1Lbo9XncSUtErFOo/9/3FVughGbIfdG4SKZOAWIpr9wxwEfkyhHfAP9q71ONlWODw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.7.1.tgz", + "integrity": "sha512-DKbELrTOdl7U3KT0C07Aka9P+sUP3LL+1UTKf1KmLx2x2gPH1IC+c68N7iQlwNt+yA37qIw6/vKoqyTGu5EL9g==", "license": "MIT", "dependencies": { - "@expo/json-file": "^9.0.0", + "@expo/json-file": "^9.0.1", "@expo/spawn-async": "^1.7.2", "ansi-regex": "^5.0.0", "chalk": "^4.0.0", @@ -5429,6 +5446,7 @@ "version": "9.1.1", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.1.1.tgz", "integrity": "sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "license": "MIT" }, "node_modules/@expo/package-manager/node_modules/supports-color": { @@ -5444,9 +5462,9 @@ } }, "node_modules/@expo/plist": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.2.0.tgz", - "integrity": "sha512-F/IZJQaf8OIVnVA6XWUeMPC3OH6MV00Wxf0WC0JhTQht2QgjyHUa3U5Gs3vRtDq8tXNsZneOQRDVwpaOnd4zTQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.2.1.tgz", + "integrity": "sha512-9TaXGuNxa0LQwHQn4rYiU6YaERv6dPnQgsdKWq2rKKTr6LWOtGNQCi/yOk/HBLeZSxBm59APT5/6x60uRvr0Mg==", "license": "MIT", "dependencies": { "@xmldom/xmldom": "~0.7.7", @@ -5455,17 +5473,17 @@ } }, "node_modules/@expo/prebuild-config": { - "version": "8.0.21", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-8.0.21.tgz", - "integrity": "sha512-PVvt7+2dLzmf1X4HaoibnTtfoxnor0YEdu396eLv1SG+KacmN5lMz81yO/2MXvv0SDA6THomgBNvA/uzWV5twA==", + "version": "8.0.25", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-8.0.25.tgz", + "integrity": "sha512-xYHV8eiydZEDedf2AGaOFRFwcGlaSzrqQH94dwX42urNCU03FO0RUb7yPp4nkb7WNFg5Ov6PDsV7ES+YwzNgYQ==", "license": "MIT", "dependencies": { - "@expo/config": "~10.0.4", - "@expo/config-plugins": "~9.0.10", - "@expo/config-types": "^52.0.0", - "@expo/image-utils": "^0.6.0", - "@expo/json-file": "^9.0.0", - "@react-native/normalize-colors": "0.76.3", + "@expo/config": "~10.0.8", + "@expo/config-plugins": "~9.0.14", + "@expo/config-types": "^52.0.3", + "@expo/image-utils": "^0.6.4", + "@expo/json-file": "^9.0.1", + "@react-native/normalize-colors": "0.76.6", "debug": "^4.3.1", "fs-extra": "^9.0.0", "resolve-from": "^5.0.0", @@ -5474,9 +5492,9 @@ } }, "node_modules/@expo/prebuild-config/node_modules/@react-native/normalize-colors": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.76.3.tgz", - "integrity": "sha512-Yrpmrh4IDEupUUM/dqVxhAN8QW1VEUR3Qrk2lzJC1jB2s46hDe0hrMP2vs12YJqlzshteOthjwXQlY0TgIzgbg==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.76.6.tgz", + "integrity": "sha512-1n4udXH2Cla31iA/8eLRdhFHpYUYK1NKWCn4m1Sr9L4SarWKAYuRFliK1fcLvPPALCFoFlWvn8I0ekdUOHMzDQ==", "license": "MIT" }, "node_modules/@expo/prebuild-config/node_modules/semver": { @@ -5519,6 +5537,7 @@ "version": "1.7.2", "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.7.2.tgz", "integrity": "sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3" }, @@ -5904,6 +5923,367 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@invertase/react-native-apple-authentication": { "version": "2.2.2", "license": "Apache-2.0" @@ -7581,6 +7961,16 @@ "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", "dev": true }, + "node_modules/@preact/signals-core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@preact/signals-core/-/signals-core-1.8.0.tgz", + "integrity": "sha512-OBvUsRZqNmjzCZXWLxkZfhcgT+Fk8DDcT/8vD6a1xhDemodyy87UJRJfASMuSD8FaAIeGgGm85ydXhm7lr4fyA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/@pusher/pusher-websocket-react-native": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@pusher/pusher-websocket-react-native/-/pusher-websocket-react-native-1.3.1.tgz", @@ -9249,6 +9639,158 @@ "react-native": "*" } }, + "node_modules/@react-native-firebase/app/node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@react-native-firebase/app/node_modules/@expo/config-plugins": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.5.tgz", + "integrity": "sha512-RVvU40RtZt12HavuDAe+LDIq9lHj7sheOfMEHdmpJ/uTA8pgvkbc56XF6JHQD+yRr6+uhhb+JnAasGq49dsQbw==", + "license": "MIT", + "dependencies": { + "@expo/config-types": "^45.0.0", + "@expo/json-file": "8.2.36", + "@expo/plist": "0.0.18", + "@expo/sdk-runtime-versions": "^1.0.0", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.4.23" + } + }, + "node_modules/@react-native-firebase/app/node_modules/@expo/config-types": { + "version": "45.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-45.0.0.tgz", + "integrity": "sha512-/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==", + "license": "MIT" + }, + "node_modules/@react-native-firebase/app/node_modules/@expo/json-file": { + "version": "8.2.36", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.36.tgz", + "integrity": "sha512-tOZfTiIFA5KmMpdW9KF7bc6CFiGjb0xnbieJhTGlHrLL+ps2G0OkqmuZ3pFEXBOMnJYUVpnSy++52LFxvpa5ZQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^1.0.1", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/@react-native-firebase/app/node_modules/@expo/plist": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.18.tgz", + "integrity": "sha512-+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "~0.7.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "node_modules/@react-native-firebase/app/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-firebase/app/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-firebase/app/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-firebase/app/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@react-native-firebase/app/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-firebase/app/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-firebase/app/node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@react-native-firebase/app/node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, "node_modules/@react-native-firebase/crashlytics": { "version": "12.9.3", "license": "Apache-2.0", @@ -9260,6 +9802,158 @@ "@react-native-firebase/app": "12.9.3" } }, + "node_modules/@react-native-firebase/crashlytics/node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/@expo/config-plugins": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.5.tgz", + "integrity": "sha512-RVvU40RtZt12HavuDAe+LDIq9lHj7sheOfMEHdmpJ/uTA8pgvkbc56XF6JHQD+yRr6+uhhb+JnAasGq49dsQbw==", + "license": "MIT", + "dependencies": { + "@expo/config-types": "^45.0.0", + "@expo/json-file": "8.2.36", + "@expo/plist": "0.0.18", + "@expo/sdk-runtime-versions": "^1.0.0", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.4.23" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/@expo/config-types": { + "version": "45.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-45.0.0.tgz", + "integrity": "sha512-/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==", + "license": "MIT" + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/@expo/json-file": { + "version": "8.2.36", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.36.tgz", + "integrity": "sha512-tOZfTiIFA5KmMpdW9KF7bc6CFiGjb0xnbieJhTGlHrLL+ps2G0OkqmuZ3pFEXBOMnJYUVpnSy++52LFxvpa5ZQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^1.0.1", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/@expo/plist": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.18.tgz", + "integrity": "sha512-+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "~0.7.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@react-native-firebase/crashlytics/node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, "node_modules/@react-native-firebase/perf": { "version": "12.9.3", "license": "Apache-2.0", @@ -9270,6 +9964,158 @@ "@react-native-firebase/app": "12.9.3" } }, + "node_modules/@react-native-firebase/perf/node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/@expo/config-plugins": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.5.tgz", + "integrity": "sha512-RVvU40RtZt12HavuDAe+LDIq9lHj7sheOfMEHdmpJ/uTA8pgvkbc56XF6JHQD+yRr6+uhhb+JnAasGq49dsQbw==", + "license": "MIT", + "dependencies": { + "@expo/config-types": "^45.0.0", + "@expo/json-file": "8.2.36", + "@expo/plist": "0.0.18", + "@expo/sdk-runtime-versions": "^1.0.0", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.4.23" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/@expo/config-types": { + "version": "45.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-45.0.0.tgz", + "integrity": "sha512-/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==", + "license": "MIT" + }, + "node_modules/@react-native-firebase/perf/node_modules/@expo/json-file": { + "version": "8.2.36", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.36.tgz", + "integrity": "sha512-tOZfTiIFA5KmMpdW9KF7bc6CFiGjb0xnbieJhTGlHrLL+ps2G0OkqmuZ3pFEXBOMnJYUVpnSy++52LFxvpa5ZQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^1.0.1", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/@expo/plist": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.18.tgz", + "integrity": "sha512-+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "~0.7.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@react-native-firebase/perf/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@react-native-firebase/perf/node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, "node_modules/@react-native-google-signin/google-signin": { "version": "10.0.1", "license": "MIT", @@ -9295,30 +10141,49 @@ } }, "node_modules/@react-native/assets-registry": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.76.3.tgz", - "integrity": "sha512-7Fnc3lzCFFpnoyL1egua6d/qUp0KiIpeSLbfOMln4nI2g2BMzyFHdPjJnpLV2NehmS0omOOkrfRqK5u1F/MXzA==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.77.1.tgz", + "integrity": "sha512-bAQHOgqGZnF6xdYE9sJrbZ7F65Z25yLi9yWps8vOByKtj0b+f3FJhsU3Mcfy1uWvelpNEGebOLQf+WEPiwGrkw==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.76.3.tgz", - "integrity": "sha512-mZ7jmIIg4bUnxCqY3yTOkoHvvzsDyrZgfnIKiTGm5QACrsIGa5eT3pMFpMm2OpxGXRDrTMsYdPXE2rCyDX52VQ==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.77.1.tgz", + "integrity": "sha512-NmmAJHMTtA6gjHRE1FvO+Jvbp0ekonANcK2IYOyqK6nLj7hhtdiMlZaUDsRi17SGHYY4X4hj6UH2nm6LfD1RLg==", "license": "MIT", "dependencies": { - "@react-native/codegen": "0.76.3" + "@babel/traverse": "^7.25.3", + "@react-native/codegen": "0.77.1" }, "engines": { "node": ">=18" } }, + "node_modules/@react-native/babel-plugin-codegen/node_modules/@babel/traverse": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@react-native/babel-preset": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.76.3.tgz", - "integrity": "sha512-zi2nPlQf9q2fmfPyzwWEj6DU96v8ziWtEfG7CTAX2PG/Vjfsr94vn/wWrCdhBVvLRQ6Kvd/MFAuDYpxmQwIiVQ==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.77.1.tgz", + "integrity": "sha512-7eTOcMaZwvPllzZhT5fjcDNysjP54GtEbdXVxO2u5sPXWYriPL3UKuDIzIdhjxil8GtZs6+UvLNoKTateFt19Q==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.2", @@ -9362,8 +10227,8 @@ "@babel/plugin-transform-typescript": "^7.25.2", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@babel/template": "^7.25.0", - "@react-native/babel-plugin-codegen": "0.76.3", - "babel-plugin-syntax-hermes-parser": "^0.25.1", + "@react-native/babel-plugin-codegen": "0.77.1", + "babel-plugin-syntax-hermes-parser": "0.25.1", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" }, @@ -9374,42 +10239,17 @@ "@babel/core": "*" } }, - "node_modules/@react-native/babel-preset/node_modules/babel-plugin-syntax-hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz", - "integrity": "sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==", - "license": "MIT", - "dependencies": { - "hermes-parser": "0.25.1" - } - }, - "node_modules/@react-native/babel-preset/node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "license": "MIT" - }, - "node_modules/@react-native/babel-preset/node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "license": "MIT", - "dependencies": { - "hermes-estree": "0.25.1" - } - }, "node_modules/@react-native/codegen": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.76.3.tgz", - "integrity": "sha512-oJCH/jbYeGmFJql8/y76gqWCCd74pyug41yzYAjREso1Z7xL88JhDyKMvxEnfhSdMOZYVl479N80xFiXPy3ZYA==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.77.1.tgz", + "integrity": "sha512-cCUbkUewMjiK94Z2+Smh+qHkZrBSoXelOMruZGZe7TTCD6ygl6ho7fkfNuKrB2yFzSAjlUfUyLfaumVJGKslWw==", "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", "glob": "^7.1.1", - "hermes-parser": "0.23.1", + "hermes-parser": "0.25.1", "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", + "jscodeshift": "^17.0.0", "nullthrows": "^1.1.1", "yargs": "^17.6.2" }, @@ -9420,33 +10260,20 @@ "@babel/preset-env": "^7.1.6" } }, - "node_modules/@react-native/codegen/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/@react-native/community-cli-plugin": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.76.3.tgz", - "integrity": "sha512-vgsLixHS24jR0d0QqPykBWFaC+V8x9cM3cs4oYXw3W199jgBNGP9MWcUJLazD2vzrT/lUTVBVg0rBeB+4XR6fg==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.77.1.tgz", + "integrity": "sha512-w2H9ePpUq7eqqtzSUSaYqbNNZoU6pbBONjTIWdztp0lFdnUaLoLUMddt9XhtKFUlnNaSmfetjJSSrsi3JVbO6w==", "license": "MIT", "dependencies": { - "@react-native/dev-middleware": "0.76.3", - "@react-native/metro-babel-transformer": "0.76.3", + "@react-native/dev-middleware": "0.77.1", + "@react-native/metro-babel-transformer": "0.77.1", "chalk": "^4.0.0", - "execa": "^5.1.1", + "debug": "^2.2.0", "invariant": "^2.2.4", "metro": "^0.81.0", "metro-config": "^0.81.0", "metro-core": "^0.81.0", - "node-fetch": "^2.2.0", "readline": "^1.3.0", "semver": "^7.1.3" }, @@ -9462,6 +10289,38 @@ } } }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/debugger-frontend": { + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.77.1.tgz", + "integrity": "sha512-wX/f4JRyAc0PqcW3OBQAAw35k4KaTmDKe+/AJuSQLbqDH746awkFprmXRRTAfRc88q++4e6Db4gyK0GVdWNIpQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/dev-middleware": { + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.77.1.tgz", + "integrity": "sha512-DU6EEac57ch5XKflUB6eXepelHZFaKMJvmaZ24kt28AnvBp8rVrdaORe09pThuZdIF2m+j2BXsipU5zCd8BbZw==", + "license": "MIT", + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.77.1", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.2.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "selfsigned": "^2.4.1", + "serve-static": "^1.16.2", + "ws": "^6.2.3" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -9511,6 +10370,24 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/@react-native/community-cli-plugin/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/@react-native/community-cli-plugin/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -9520,6 +10397,27 @@ "node": ">=8" } }, + "node_modules/@react-native/community-cli-plugin/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/@react-native/community-cli-plugin/node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/@react-native/community-cli-plugin/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9533,22 +10431,22 @@ } }, "node_modules/@react-native/debugger-frontend": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.76.3.tgz", - "integrity": "sha512-pMHQ3NpPB28RxXciSvm2yD+uDx3pkhzfuWkc7VFgOduyzPSIr0zotUiOJzsAtrj8++bPbOsAraCeQhCqoOTWQw==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.76.6.tgz", + "integrity": "sha512-kP97xMQjiANi5/lmf8MakS7d8FTJl+BqYHQMqyvNiY+eeWyKnhqW2GL2v3eEUBAuyPBgJGivuuO4RvjZujduJg==", "license": "BSD-3-Clause", "engines": { "node": ">=18" } }, "node_modules/@react-native/dev-middleware": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.76.3.tgz", - "integrity": "sha512-b+2IpW40z1/S5Jo5JKrWPmucYU/PzeGyGBZZ/SJvmRnBDaP3txb9yIqNZAII1EWsKNhedh8vyRO5PSuJ9Juqzw==", + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.76.6.tgz", + "integrity": "sha512-1bAyd2/X48Nzb45s5l2omM75vy764odx/UnDs4sJfFCuK+cupU4nRPgl0XWIqgdM/2+fbQ3E4QsVS/WIKTFxvQ==", "license": "MIT", "dependencies": { "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.76.3", + "@react-native/debugger-frontend": "0.76.6", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", @@ -9575,50 +10473,36 @@ "node_modules/@react-native/dev-middleware/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/@react-native/dev-middleware/node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/@react-native/gradle-plugin": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.76.3.tgz", - "integrity": "sha512-t0aYZ8ND7+yc+yIm6Yp52bInneYpki6RSIFZ9/LMUzgMKvEB62ptt/7sfho9QkKHCNxE1DJSWIqLIGi/iHHkyg==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.77.1.tgz", + "integrity": "sha512-QNuNMWH0CeC+PYrAXiuUIBbwdeGJ3fZpQM03vdG3tKdk66cVSFvxLh60P0w5kRHN7UFBg2FAcYx5eQ/IdcAntg==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@react-native/js-polyfills": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.76.3.tgz", - "integrity": "sha512-pubJFArMMrdZiytH+W95KngcSQs+LsxOBsVHkwgMnpBfRUxXPMK4fudtBwWvhnwN76Oe+WhxSq7vOS5XgoPhmw==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.77.1.tgz", + "integrity": "sha512-6qd3kNr5R+JF+HzgM/fNSLEM1kw4RoOoaJV6XichvlOaCRmWS22X5TehVqiZOP95AAxtULRIifRs1cK5t9+JSg==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@react-native/metro-babel-transformer": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.76.3.tgz", - "integrity": "sha512-b2zQPXmW7avw/7zewc9nzMULPIAjsTwN03hskhxHUJH5pzUf7pIklB3FrgYPZrRhJgzHiNl3tOPu7vqiKzBYPg==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.77.1.tgz", + "integrity": "sha512-M4EzWDmUpIZhwJojEekbK7DzK2fYukU/TRIVZEmnbxVyWVwt/A1urbE2iV+s9E4E99pN+JdVpnBgu4LRCyPzJQ==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.76.3", - "hermes-parser": "0.23.1", + "@react-native/babel-preset": "0.77.1", + "hermes-parser": "0.25.1", "nullthrows": "^1.1.1" }, "engines": { @@ -9629,14 +10513,14 @@ } }, "node_modules/@react-native/metro-config": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.76.3.tgz", - "integrity": "sha512-rRaFZAflH/OcH+rveH+hn2BUSLnfb0tXHyBY7xX+fF2dmxnWh7HiRD2npG36z079Kq3ApykUbxdCtpy8n+GlLw==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.77.1.tgz", + "integrity": "sha512-hUtUPyTpAejRCwJAhAJ+WJctTkpzfzc4pBwxt0ax5JbR1UZkK7mME/8gHoO8BaT8+ETaCdUlk12/Njf0MQhZow==", "dev": true, "license": "MIT", "dependencies": { - "@react-native/js-polyfills": "0.76.3", - "@react-native/metro-babel-transformer": "0.76.3", + "@react-native/js-polyfills": "0.77.1", + "@react-native/metro-babel-transformer": "0.77.1", "metro-config": "^0.81.0", "metro-runtime": "^0.81.0" }, @@ -9654,9 +10538,9 @@ "integrity": "sha512-pcE4i0X7y3hsAE0SpIl7t6dUc0B0NZLd1yv7ssm4FrLhWG+CGyIq4eFDXpmPU1XHmL5PPySxTAjEMiwv6tAmOw==" }, "node_modules/@react-native/virtualized-lists": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.76.3.tgz", - "integrity": "sha512-wTGv9pVh3vAOWb29xFm+J9VRe9dUcUcb9FyaMLT/Hxa88W4wqa5ZMe1V9UvrrBiA1G5DKjv8/1ZcDsJhyugVKA==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.77.1.tgz", + "integrity": "sha512-S25lyHO9owc+uaV2tcd9CMTVJs7PUZX0UGCG60LoLOBHW3krVq0peI34Gm6HEhkeKqb4YvZXqI/ehoNPUm1/ww==", "license": "MIT", "dependencies": { "invariant": "^2.2.4", @@ -9799,6 +10683,41 @@ "react-dom": "^18.2.0" } }, + "node_modules/@rgba-image/common": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@rgba-image/common/-/common-0.1.13.tgz", + "integrity": "sha512-AnOBmBpjSgcymTuVhTGy+RB4FfmEQqR2GeJY3d3xfvR9fl3HfhzwgVqopuh3bKSAT6KRpJr7wNmug0qr3oI7bA==", + "license": "MIT" + }, + "node_modules/@rgba-image/copy": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@rgba-image/copy/-/copy-0.1.3.tgz", + "integrity": "sha512-fscJhpp8YtVELGIwQsv1Pj6BEN4PEWAlMJ6a/HWzYxzVr3y/dut4BUrqeWRKiKeRXAGqaV6QxkBxAgYMQYZEvw==", + "license": "MIT", + "dependencies": { + "@rgba-image/common": "^0.1.13" + } + }, + "node_modules/@rgba-image/create-image": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@rgba-image/create-image/-/create-image-0.1.1.tgz", + "integrity": "sha512-ndExUNyi9Ooa/OZqiJS53vYrQ48FX7MDmMrEslDxhsorDsXpeKI9w689r4AYhT9CF9KZlBe8SmI++3BwSvvwAQ==", + "license": "MIT", + "dependencies": { + "@rgba-image/common": "^0.1.0" + } + }, + "node_modules/@rgba-image/lanczos": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@rgba-image/lanczos/-/lanczos-0.1.1.tgz", + "integrity": "sha512-MSGGU7BZmEbg1xHtNp+StARoN7R38zJnFgSEvSzB710nXsHGEaJt//z2VnPfRQTtKSKUXEnp95JSuqDlXTBrYA==", + "license": "MIT", + "dependencies": { + "@rgba-image/common": "^0.1.13", + "@rgba-image/copy": "^0.1.2", + "@rgba-image/create-image": "^0.1.1" + } + }, "node_modules/@rnmapbox/maps": { "version": "10.1.33", "resolved": "https://registry.npmjs.org/@rnmapbox/maps/-/maps-10.1.33.tgz", @@ -10178,29 +11097,6 @@ "node": ">=14.14" } }, - "node_modules/@storybook/addon-docs/node_modules/recast": { - "version": "0.23.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@storybook/addon-docs/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@storybook/addon-essentials": { "version": "8.1.10", "dev": true, @@ -10679,29 +11575,6 @@ "node": ">=8" } }, - "node_modules/@storybook/addon-essentials/node_modules/recast": { - "version": "0.23.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@storybook/addon-essentials/node_modules/supports-color": { "version": "7.2.0", "dev": true, @@ -11365,29 +12238,6 @@ "node": ">=8" } }, - "node_modules/@storybook/blocks/node_modules/recast": { - "version": "0.23.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@storybook/blocks/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@storybook/blocks/node_modules/supports-color": { "version": "7.2.0", "dev": true, @@ -11680,22 +12530,6 @@ "node": ">=8" } }, - "node_modules/@storybook/cli/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/@storybook/cli/node_modules/jscodeshift": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz", @@ -11775,23 +12609,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/cli/node_modules/recast": { - "version": "0.23.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", - "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, "node_modules/@storybook/cli/node_modules/slash": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", @@ -11805,16 +12622,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/cli/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@storybook/cli/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -12007,23 +12814,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@storybook/codemod/node_modules/recast": { - "version": "0.23.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", - "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, "node_modules/@storybook/codemod/node_modules/slash": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", @@ -12037,16 +12827,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/codemod/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@storybook/codemod/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -12207,23 +12987,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@storybook/core/node_modules/recast": { - "version": "0.23.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", - "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, "node_modules/@storybook/core/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -12237,16 +13000,6 @@ "node": ">=10" } }, - "node_modules/@storybook/core/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@storybook/csf": { "version": "0.1.11", "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz", @@ -12378,29 +13131,6 @@ "node": ">=14.14" } }, - "node_modules/@storybook/csf-plugin/node_modules/recast": { - "version": "0.23.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@storybook/csf-plugin/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@storybook/csf/node_modules/type-fest": { "version": "2.19.0", "dev": true, @@ -14690,9 +15420,9 @@ "license": "ISC" }, "node_modules/@urql/core": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@urql/core/-/core-5.0.8.tgz", - "integrity": "sha512-1GOnUw7/a9bzkcM0+U8U5MmxW2A7FE5YquuEmcJzTtW5tIs2EoS4F2ITpuKBjRBbyRjZgO860nWFPo1m4JImGA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@urql/core/-/core-5.1.0.tgz", + "integrity": "sha512-yC3sw8yqjbX45GbXxfiBY8GLYCiyW/hLBbQF9l3TJrv4ro00Y0ChkKaD9I2KntRxAVm9IYBqh0awX8fwWAe/Yw==", "license": "MIT", "dependencies": { "@0no-co/graphql.web": "^1.0.5", @@ -15742,7 +16472,6 @@ }, "node_modules/ast-types": { "version": "0.16.1", - "dev": true, "license": "MIT", "dependencies": { "tslib": "^2.0.1" @@ -16355,11 +17084,12 @@ "license": "MIT" }, "node_modules/babel-plugin-syntax-hermes-parser": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.23.1.tgz", - "integrity": "sha512-uNLD0tk2tLUjGFdmCk+u/3FEw2o+BAwW4g+z2QVlxJrzZYOOPADroEcNtTPt5lNiScctaUmnsTkVEnOwZUOLhA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz", + "integrity": "sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==", + "license": "MIT", "dependencies": { - "hermes-parser": "0.23.1" + "hermes-parser": "0.25.1" } }, "node_modules/babel-plugin-transform-flow-enums": { @@ -16414,9 +17144,9 @@ } }, "node_modules/babel-preset-expo": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-12.0.3.tgz", - "integrity": "sha512-1695e8y3U/HjifKx33vcNnFMSUSXwPWwhFxRlL6NRx2TENN6gySH82gPOWgxcra6gi+EJgXx52xG3PcqTjwW6w==", + "version": "12.0.6", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-12.0.6.tgz", + "integrity": "sha512-az3H7gDVo0wxNBAFES8h5vLLWE8NPGkD9g5P962hDEOqZUdyPacb9MOzicypeLmcq9zQWr6E3iVtEHoNagCTTQ==", "license": "MIT", "dependencies": { "@babel/plugin-proposal-decorators": "^7.12.9", @@ -16425,7 +17155,7 @@ "@babel/plugin-transform-parameters": "^7.22.15", "@babel/preset-react": "^7.22.15", "@babel/preset-typescript": "^7.23.0", - "@react-native/babel-preset": "0.76.3", + "@react-native/babel-preset": "0.76.6", "babel-plugin-react-native-web": "~0.19.13", "react-refresh": "^0.14.2" }, @@ -16442,12 +17172,271 @@ } } }, + "node_modules/babel-preset-expo/node_modules/@react-native/babel-plugin-codegen": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.76.6.tgz", + "integrity": "sha512-yFC9I/aDBOBz3ZMlqKn2NY/mDUtCksUNZ7AQmBiTAeVTUP0ujEjE0hTOx5Qd+kok7A7hwZEX87HdSgjiJZfr5g==", + "license": "MIT", + "dependencies": { + "@react-native/codegen": "0.76.6" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/babel-preset-expo/node_modules/@react-native/babel-preset": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.76.6.tgz", + "integrity": "sha512-ojlVWY6S/VE/nb9hIRetPMTsW9ZmGb2R3dnToEXAtQQDz41eHMHXbkw/k2h0THp6qhas25ruNvn3N5n2o+lBzg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/plugin-proposal-export-default-from": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-default-from": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-flow-strip-types": "^7.25.2", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.25.2", + "@babel/plugin-transform-react-jsx-self": "^7.24.7", + "@babel/plugin-transform-react-jsx-source": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-runtime": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.25.2", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/template": "^7.25.0", + "@react-native/babel-plugin-codegen": "0.76.6", + "babel-plugin-syntax-hermes-parser": "^0.25.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/babel-preset-expo/node_modules/@react-native/codegen": { + "version": "0.76.6", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.76.6.tgz", + "integrity": "sha512-BABb3e5G/+hyQYEYi0AODWh2km2d8ERoASZr6Hv90pVXdUHRYR+yxCatX7vSd9rnDUYndqRTzD0hZWAucPNAKg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "glob": "^7.1.1", + "hermes-parser": "0.23.1", + "invariant": "^2.2.4", + "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/babel-preset-expo/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-preset-expo/node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/babel-preset-expo/node_modules/babel-plugin-react-native-web": { "version": "0.19.13", "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.13.tgz", "integrity": "sha512-4hHoto6xaN23LCyZgL9LJZc3olmAxd7b6jDzlZnKXAh4rRAbZRKNBJoOOdp46OBqgy+K0t0guTj5/mhA8inymQ==", "license": "MIT" }, + "node_modules/babel-preset-expo/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-preset-expo/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-preset-expo/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/babel-preset-expo/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-preset-expo/node_modules/hermes-estree": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", + "license": "MIT" + }, + "node_modules/babel-preset-expo/node_modules/hermes-parser": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.23.1" + } + }, + "node_modules/babel-preset-expo/node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/babel-preset-expo/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/babel-preset-expo/node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "license": "MIT", + "dependencies": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/babel-preset-expo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-preset-expo/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-preset-jest": { "version": "29.6.3", "license": "MIT", @@ -16806,6 +17795,17 @@ "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", "dev": true }, + "node_modules/browser-image-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/browser-image-hash/-/browser-image-hash-0.0.5.tgz", + "integrity": "sha512-j+rsA1L3vL8k8ji4pFPFAOU/wN/hegwk1eoMshFk3OtjzEzdDrT9Dz94OkLc43NhWGck2a9t5eQQok6zjJSPHQ==", + "license": "MIT", + "dependencies": { + "@rgba-image/lanczos": "^0.1.0", + "decimal.js": "^10.2.0", + "wasm-imagemagick": "^1.2.3" + } + }, "node_modules/browserslist": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", @@ -16881,6 +17881,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "license": "MIT", "dependencies": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" @@ -16889,7 +17890,8 @@ "node_modules/buffer-alloc-unsafe": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "license": "MIT" }, "node_modules/buffer-crc32": { "version": "0.2.13", @@ -16909,7 +17911,8 @@ "node_modules/buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "license": "MIT" }, "node_modules/buffer-from": { "version": "1.1.2", @@ -17154,21 +18157,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/cacache/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/cacache/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -18066,20 +19054,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/config-file-ts/node_modules/jackspeak": { - "version": "3.4.3", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/config-file-ts/node_modules/minimatch": { "version": "9.0.5", "dev": true, @@ -18548,6 +19522,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -18916,7 +19891,6 @@ }, "node_modules/decimal.js": { "version": "10.4.3", - "dev": true, "license": "MIT" }, "node_modules/decode-uri-component": { @@ -19028,6 +20002,137 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/default-gateway/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/default-gateway/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/default-gateway/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/defaults": { "version": "1.0.4", "license": "MIT", @@ -19234,8 +20339,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.1", - "devOptional": true, + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "license": "Apache-2.0", "engines": { "node": ">=8" @@ -21562,6 +22668,7 @@ }, "node_modules/execa": { "version": "5.1.1", + "devOptional": true, "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", @@ -21634,6 +22741,45 @@ "ua-parser-js": "^1.0.38" } }, + "node_modules/expensify-common/node_modules/react": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz", + "integrity": "sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expensify-common/node_modules/react-dom": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.12.0.tgz", + "integrity": "sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.18.0" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/expensify-common/node_modules/scheduler": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "node_modules/expensify-common/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -21673,26 +22819,26 @@ } }, "node_modules/expo": { - "version": "52.0.14", - "resolved": "https://registry.npmjs.org/expo/-/expo-52.0.14.tgz", - "integrity": "sha512-omGLh6cmaFZPcvTuMZY9Pi0aBOseeJI7MjJAAbi2rFssNVJJme44jM0CJ4Hq3p/6XqSFlZMqnuAfsAAzm/c/Rg==", + "version": "52.0.28", + "resolved": "https://registry.npmjs.org/expo/-/expo-52.0.28.tgz", + "integrity": "sha512-0O/JEYYCFszJ85frislm79YmlrQA5ghAQXV4dqcQcsy9FqftdicD4p/ehT36yiuGIhaKC6fn25LEaJ9JR2ei7g==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", - "@expo/cli": "0.22.0", - "@expo/config": "~10.0.5", - "@expo/config-plugins": "~9.0.11", - "@expo/fingerprint": "0.11.3", - "@expo/metro-config": "0.19.5", + "@expo/cli": "0.22.11", + "@expo/config": "~10.0.8", + "@expo/config-plugins": "~9.0.14", + "@expo/fingerprint": "0.11.7", + "@expo/metro-config": "0.19.9", "@expo/vector-icons": "^14.0.0", - "babel-preset-expo": "~12.0.3", - "expo-asset": "~11.0.1", - "expo-constants": "~17.0.3", - "expo-file-system": "~18.0.4", - "expo-font": "~13.0.1", - "expo-keep-awake": "~14.0.1", - "expo-modules-autolinking": "2.0.3", - "expo-modules-core": "2.1.1", + "babel-preset-expo": "~12.0.6", + "expo-asset": "~11.0.2", + "expo-constants": "~17.0.5", + "expo-file-system": "~18.0.7", + "expo-font": "~13.0.3", + "expo-keep-awake": "~14.0.2", + "expo-modules-autolinking": "2.0.7", + "expo-modules-core": "2.2.0", "fbemitter": "^3.0.0", "web-streams-polyfill": "^3.3.2", "whatwg-url-without-unicode": "8.0.0-3" @@ -21720,13 +22866,13 @@ } }, "node_modules/expo-asset": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-11.0.1.tgz", - "integrity": "sha512-WatvD7JVC89EsllXFYcS/rji3ajVzE2B/USo0TqedsETixwyVCQfrrvCdCPQyuKghrxVNEj8bQ/Qbea/RZLYjg==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-11.0.2.tgz", + "integrity": "sha512-We3Td5WsNsNQyXoheLnuwic6JCOt/pqXqIIyWaZ3z/PeHrA+SwoQdI18MjDhkudLK08tbIVyDSUW8IJHXa04eg==", "license": "MIT", "dependencies": { - "@expo/image-utils": "^0.6.0", - "expo-constants": "~17.0.0", + "@expo/image-utils": "^0.6.4", + "expo-constants": "~17.0.4", "invariant": "^2.2.4", "md5-file": "^3.2.3" }, @@ -21737,9 +22883,9 @@ } }, "node_modules/expo-av": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/expo-av/-/expo-av-15.0.1.tgz", - "integrity": "sha512-2d4j7RTH9Y5nI1FoC0woRjqnj5G8sF0al2iW6kG21PPs/CgS4QARbHxMrPxKpUXrC6iu+6EMj2h5H6T0nqteFg==", + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/expo-av/-/expo-av-15.0.2.tgz", + "integrity": "sha512-AHIHXdqLgK1dfHZF0JzX3YSVySGMrWn9QtPzaVjw54FAzvXfMt4sIoq4qRL/9XWCP9+ICcCs/u3EcvmxQjrfcA==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -21754,13 +22900,13 @@ } }, "node_modules/expo-constants": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-17.0.3.tgz", - "integrity": "sha512-lnbcX2sAu8SucHXEXxSkhiEpqH+jGrf+TF+MO6sHWIESjwOUVVYlT8qYdjR9xbxWmqFtrI4KV44FkeJf2DaFjQ==", + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-17.0.5.tgz", + "integrity": "sha512-6SHXh32jCB+vrp2TRDNkoGoM421eOBPZIXX9ixI0hKKz71tIjD+LMr/P+rGUd/ks312MP3WK3j5vcYYPkCD8tQ==", "license": "MIT", "dependencies": { - "@expo/config": "~10.0.4", - "@expo/env": "~0.4.0" + "@expo/config": "~10.0.8", + "@expo/env": "~0.4.1" }, "peerDependencies": { "expo": "*", @@ -21768,9 +22914,9 @@ } }, "node_modules/expo-file-system": { - "version": "18.0.4", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-18.0.4.tgz", - "integrity": "sha512-aAWEDwnu0XHOBYvQ9Q0+QIa+483vYJaC4IDsXyWQ73Rtsg273NZh5kYowY+cAocvoSmA99G6htrLBn11ax2bTQ==", + "version": "18.0.7", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-18.0.7.tgz", + "integrity": "sha512-6PpbQfogMXdzOsJzlJayy5qf40IfIHhudtAOzr32RlRYL4Hkmk3YcR9jG0PWQ0rklJfAhbAdP63yOcN+wDgzaA==", "license": "MIT", "dependencies": { "web-streams-polyfill": "^3.3.2" @@ -21781,9 +22927,9 @@ } }, "node_modules/expo-font": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-13.0.1.tgz", - "integrity": "sha512-8JE47B+6cLeKWr5ql8gU6YsPHjhrz1vMrTqYMm72No/8iW8Sb/uL4Oc0dpmbjq3hLLXBY0xPBQOgU7FQ6Y04Vg==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-13.0.3.tgz", + "integrity": "sha512-9IdYz+A+b3KvuCYP7DUUXF4VMZjPU+IsvAnLSVJ2TfP6zUD2JjZFx3jeo/cxWRkYk/aLj5+53Te7elTAScNl4Q==", "license": "MIT", "dependencies": { "fontfaceobserver": "^2.1.0" @@ -21794,9 +22940,9 @@ } }, "node_modules/expo-image": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-2.0.3.tgz", - "integrity": "sha512-+YnHTQv8jbXaut3FY7TDhNiSiGZ927C329mHvTZWV4Fyj32/Hjhhmk7dqq9I6LrA0nqBBiJjFj3u6VdHvCBnZg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/expo-image/-/expo-image-2.0.4.tgz", + "integrity": "sha512-oIVSlV/BpBJbI9Anf8RjraGJXDWSJxNKxdXkYBJ31XrQaUstOM7OmsVKjOK40ZFZHIz3rx5SBJWK5w52Uz+/bg==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -21819,9 +22965,9 @@ } }, "node_modules/expo-image-manipulator": { - "version": "13.0.5", - "resolved": "https://registry.npmjs.org/expo-image-manipulator/-/expo-image-manipulator-13.0.5.tgz", - "integrity": "sha512-ILBwBKATmO1469VS0o1dQq2iQwekMq32XCyNaeQ9gw9+2NBoN6Z64bRHEZkPxhHe6ULDM+zOTOL32/k+iVluYQ==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/expo-image-manipulator/-/expo-image-manipulator-13.0.6.tgz", + "integrity": "sha512-Rz8Kcfx1xYm0AsIDi6zfKYUDnwCP8edgYXWb00KAkzOF8bDxwzTrnvESWhCiveM4IB3fojjLpNeENME34p3bzA==", "license": "MIT", "dependencies": { "expo-image-loader": "~5.0.0" @@ -21831,9 +22977,9 @@ } }, "node_modules/expo-keep-awake": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-14.0.1.tgz", - "integrity": "sha512-c5mGCAIk2YM+Vsdy90BlEJ4ZX+KG5Au9EkJUIxXWlpnuKmDAJ3N+5nEZ7EUO1ZTheqoSBeAo4jJ8rTWPU+JXdw==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-14.0.2.tgz", + "integrity": "sha512-71XAMnoWjKZrN8J7Q3+u0l9Ytp4OfhNAYz8BCWF1/9aFUw09J3I7Z5DuI3MUsVMa/KWi+XhG+eDUFP8cVA19Uw==", "license": "MIT", "peerDependencies": { "expo": "*", @@ -21841,9 +22987,9 @@ } }, "node_modules/expo-modules-autolinking": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-2.0.3.tgz", - "integrity": "sha512-Q/ALJ54eS7Cr7cmbP+unEDTkHFQivQerWWrqZxuXOrSFYGCYU22+/xAZXaJOpZwseOVsP74zSkoRY/wBimVs7w==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-2.0.7.tgz", + "integrity": "sha512-rkGc6a/90AC3q8wSy4V+iIpq6Fd0KXmQICKrvfmSWwrMgJmLfwP4QTrvLYPYOOMjFwNJcTaohcH8vzW/wYKrMg==", "license": "MIT", "dependencies": { "@expo/spawn-async": "^1.7.2", @@ -21939,9 +23085,9 @@ } }, "node_modules/expo-modules-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-2.1.1.tgz", - "integrity": "sha512-yQzYCLR2mre4BNMXuqkeJ0oSNgmGEMI6BcmIzeNZbC2NFEjiaDpKvlV9bclYCtyVhUEVNbJcEPYMr6c1Y4eR4w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-2.2.0.tgz", + "integrity": "sha512-mOFEHIe6jZ7G5pYUVSQ2Ghs3CUr9Uz6DOh4JI+4PsTf0gmEvMmMEOrxirS89jRWQjXPJ7QaGBK0CJrZlj/Sdeg==", "license": "MIT", "dependencies": { "invariant": "^2.2.4" @@ -22262,6 +23408,12 @@ "integrity": "sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==", "license": "MIT" }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, "node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, @@ -22561,7 +23713,8 @@ "node_modules/fontfaceobserver": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", - "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==" + "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==", + "license": "BSD-2-Clause" }, "node_modules/for-each": { "version": "0.3.3", @@ -23558,16 +24711,18 @@ } }, "node_modules/hermes-estree": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", - "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==" + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "license": "MIT" }, "node_modules/hermes-parser": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", - "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "license": "MIT", "dependencies": { - "hermes-estree": "0.23.1" + "hermes-estree": "0.25.1" } }, "node_modules/hoist-non-react-statics": { @@ -23951,6 +25106,7 @@ }, "node_modules/human-signals": { "version": "2.1.0", + "devOptional": true, "license": "Apache-2.0", "engines": { "node": ">=10.17.0" @@ -24221,137 +25377,6 @@ "node": ">=6" } }, - "node_modules/internal-ip/node_modules/cross-spawn": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/internal-ip/node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "license": "BSD-2-Clause", - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-ip/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-ip/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-ip/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/internal-ip/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "license": "MIT", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/internal-ip/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/internal-ip/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/internal-ip/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/internal-ip/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/internal-ip/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/internal-slot": { "version": "1.0.7", "dev": true, @@ -25140,6 +26165,21 @@ "reflect.getprototypeof": "^1.0.3" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jake": { "version": "10.8.7", "dev": true, @@ -25993,14 +27033,14 @@ } }, "node_modules/jest-expo": { - "version": "52.0.2", - "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-52.0.2.tgz", - "integrity": "sha512-6xV/+IRw93Org1UlgIqu89Ex3vuPRozD5VqTS95AonHMgjb0XTHHhMmn+TdR1d3i3ziy7JFbWAMoBLwminIalw==", + "version": "52.0.3", + "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-52.0.3.tgz", + "integrity": "sha512-z2gptekrQ0FIichvRhrES31X9twtCCTzu00sWnPyFaQuWQdoyZiCj2WFPqVrpgIgNYLFIEGhc0VP9rUT9johJw==", "dev": true, "license": "MIT", "dependencies": { - "@expo/config": "~10.0.4", - "@expo/json-file": "^9.0.0", + "@expo/config": "~10.0.8", + "@expo/json-file": "^9.0.1", "@jest/create-cache-key-function": "^29.2.1", "@jest/globals": "^29.2.1", "babel-jest": "^29.2.1", @@ -27245,7 +28285,8 @@ "node_modules/jimp-compact": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz", - "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==" + "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==", + "license": "MIT" }, "node_modules/jiti": { "version": "1.20.0", @@ -27314,106 +28355,68 @@ "license": "0BSD" }, "node_modules/jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "version": "17.1.2", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-17.1.2.tgz", + "integrity": "sha512-uime4vFOiZ1o3ICT4Sm/AbItHEVw2oCxQ3a0egYVy3JMMOctxe07H3SKL1v175YqjMt27jn1N+3+Bj9SKDNgdQ==", "license": "MIT", "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", + "@babel/core": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/preset-flow": "^7.24.7", + "@babel/preset-typescript": "^7.24.7", + "@babel/register": "^7.24.6", "flow-parser": "0.*", "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", + "micromatch": "^4.0.7", "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" + "picocolors": "^1.0.1", + "recast": "^0.23.9", + "tmp": "^0.2.3", + "write-file-atomic": "^5.0.1" }, "bin": { "jscodeshift": "bin/jscodeshift.js" }, + "engines": { + "node": ">=16" + }, "peerDependencies": { "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/jscodeshift/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependenciesMeta": { + "@babel/preset-env": { + "optional": true + } } }, - "node_modules/jscodeshift/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/jscodeshift/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jscodeshift/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jscodeshift/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/jscodeshift/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jscodeshift/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", + "node_modules/jscodeshift/node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/jsdoc-type-pratt-parser": { @@ -28199,6 +29202,8 @@ }, "node_modules/lottie-react-native": { "version": "6.5.1", + "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-6.5.1.tgz", + "integrity": "sha512-pjih71P6qX6Ax5ucUBA+YJO7+fnveI581Bd8LmYeARm3spq3AnoGzEkrWaieM8odnK6WI4d5dwEJsxge/QjFPw==", "license": "Apache-2.0", "peerDependencies": { "@dotlottie/react-player": "^1.6.1", @@ -28219,6 +29224,12 @@ } } }, + "node_modules/lottie-web": { + "version": "5.12.2", + "resolved": "https://registry.npmjs.org/lottie-web/-/lottie-web-5.12.2.tgz", + "integrity": "sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg==", + "license": "MIT" + }, "node_modules/lower-case": { "version": "2.0.2", "dev": true, @@ -28574,6 +29585,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz", "integrity": "sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==", + "license": "MIT", "dependencies": { "buffer-alloc": "^1.1.0" }, @@ -29390,6 +30402,7 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -29985,6 +30998,7 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", + "devOptional": true, "license": "MIT", "dependencies": { "path-key": "^3.0.0" @@ -30385,6 +31399,7 @@ }, "node_modules/onetime": { "version": "5.1.2", + "devOptional": true, "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" @@ -30406,7 +31421,6 @@ "version": "7.4.2", "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dev": true, "license": "MIT", "dependencies": { "is-docker": "^2.0.0", @@ -30699,6 +31713,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz", "integrity": "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==", + "license": "MIT", "dependencies": { "pngjs": "^3.3.0" }, @@ -30710,6 +31725,7 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "license": "MIT", "engines": { "node": ">=4.0.0" } @@ -31981,9 +32997,9 @@ } }, "node_modules/react-devtools-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-5.3.2.tgz", - "integrity": "sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.0.1.tgz", + "integrity": "sha512-II3iSJhnR5nAscYDa9FCgPLq8mO5aEx/EKKtdXYTDnvdFEa3K7gs3jn1SKRXwQf9maOmIilmjnnx7Qy+3annPA==", "license": "MIT", "dependencies": { "shell-quote": "^1.6.1", @@ -32130,24 +33146,24 @@ } }, "node_modules/react-native": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.76.3.tgz", - "integrity": "sha512-0TUhgmlouRNf6yuDIIAdbQl0g1VsONgCMsLs7Et64hjj5VLMCA7np+4dMrZvGZ3wRNqzgeyT9oWJsUm49AcwSQ==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.77.1.tgz", + "integrity": "sha512-g2OMtsQqhgOuC4BqFyrcv0UsmbFcLOwfVRl/XAEHZK0p8paJubGIF3rAHN4Qh0GqGLWZGt7gJ7ha2yOmCFORoA==", "license": "MIT", "dependencies": { "@jest/create-cache-key-function": "^29.6.3", - "@react-native/assets-registry": "0.76.3", - "@react-native/codegen": "0.76.3", - "@react-native/community-cli-plugin": "0.76.3", - "@react-native/gradle-plugin": "0.76.3", - "@react-native/js-polyfills": "0.76.3", - "@react-native/normalize-colors": "0.76.3", - "@react-native/virtualized-lists": "0.76.3", + "@react-native/assets-registry": "0.77.1", + "@react-native/codegen": "0.77.1", + "@react-native/community-cli-plugin": "0.77.1", + "@react-native/gradle-plugin": "0.77.1", + "@react-native/js-polyfills": "0.77.1", + "@react-native/normalize-colors": "0.77.1", + "@react-native/virtualized-lists": "0.77.1", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "babel-jest": "^29.7.0", - "babel-plugin-syntax-hermes-parser": "^0.23.1", + "babel-plugin-syntax-hermes-parser": "0.25.1", "base64-js": "^1.5.1", "chalk": "^4.0.0", "commander": "^12.0.0", @@ -32160,11 +33176,10 @@ "memoize-one": "^5.0.0", "metro-runtime": "^0.81.0", "metro-source-map": "^0.81.0", - "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", - "react-devtools-core": "^5.3.1", + "react-devtools-core": "^6.0.1", "react-refresh": "^0.14.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.24.0-canary-efb381bbf-20230505", @@ -32348,14 +33363,14 @@ } }, "node_modules/react-native-gesture-handler": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.20.1.tgz", - "integrity": "sha512-Oqq5A606F6iV1eQ3FExEH6V4zE2uatNdrwQU1qMy7szHgm0SewQexeyLY3Zaaeo7luOknVq2xvZjNN/LvULGPw==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.22.0.tgz", + "integrity": "sha512-m5Ps1cOSxSiMP4re+XsbeWcC9DNJuIEjMSmtUxBdyfYEJtdu5iAAiX7KlHHrf2mnK4I/56Ncy4PvPKWBwSpWpQ==", + "license": "MIT", "dependencies": { "@egjs/hammerjs": "^2.0.17", "hoist-non-react-statics": "^3.3.0", - "invariant": "^2.2.4", - "prop-types": "^15.7.2" + "invariant": "^2.2.4" }, "peerDependencies": { "react": "*", @@ -32421,21 +33436,25 @@ } }, "node_modules/react-native-key-command": { - "version": "1.0.8", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/react-native-key-command/-/react-native-key-command-1.0.12.tgz", + "integrity": "sha512-T6/GXjVK+7l4D/vctzkOx/dmyJdFRNuG1qJuM/U8VeaBj0Ykm4jf5jzcZqBDe6h5XGzB4vZwgOuohAPwwzdn6w==", "license": "MIT", "dependencies": { "eventemitter3": "^5.0.1", "underscore": "^1.13.4" }, "peerDependencies": { - "react": "^18.1.0", - "react-dom": "18.1.0", - "react-native": "^0.70.4", - "react-native-web": "^0.19.7" + "react": ">=18.1.0", + "react-dom": ">=18.1.0", + "react-native": ">=0.70.4", + "react-native-web": ">=0.19.7" } }, "node_modules/react-native-key-command/node_modules/eventemitter3": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", "license": "MIT" }, "node_modules/react-native-keyboard-controller": { @@ -32861,10 +33880,12 @@ "license": "MIT" }, "node_modules/react-native-webview": { - "version": "13.8.6", + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-13.13.1.tgz", + "integrity": "sha512-Qwrvdwl2U2bG8QlghfRzGR/PCwKzW/cXTCR/WfMWHeGoADp2CHuCaEpfYO/HhlLLGy3Jqizsy+sjFhnKa1AgrA==", "license": "MIT", "dependencies": { - "escape-string-regexp": "2.0.0", + "escape-string-regexp": "^4.0.0", "invariant": "2.2.4" }, "peerDependencies": { @@ -32872,17 +33893,10 @@ "react-native": "*" } }, - "node_modules/react-native-webview/node_modules/escape-string-regexp": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/react-native/node_modules/@react-native/normalize-colors": { - "version": "0.76.3", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.76.3.tgz", - "integrity": "sha512-Yrpmrh4IDEupUUM/dqVxhAN8QW1VEUR3Qrk2lzJC1jB2s46hDe0hrMP2vs12YJqlzshteOthjwXQlY0TgIzgbg==", + "version": "0.77.1", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.77.1.tgz", + "integrity": "sha512-sCmEs/Vpi14CtFYhmKXpPFZntKYGezFGgT9cJANRS2aFseAL4MOomb5Ms+TOQw82aFcwPPjDX6Hrl87WjTf73A==", "license": "MIT" }, "node_modules/react-native/node_modules/ansi-regex": { @@ -32973,18 +33987,6 @@ "node": ">=8" } }, - "node_modules/react-native/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/react-native/node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", @@ -33392,32 +34394,21 @@ } }, "node_modules/recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "version": "0.23.9", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", + "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", "license": "MIT", "dependencies": { - "ast-types": "0.15.2", + "ast-types": "^0.16.1", "esprima": "~4.0.0", "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", "tslib": "^2.0.1" }, "engines": { "node": ">= 4" } }, - "node_modules/recast/node_modules/ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/recast/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -33759,10 +34750,13 @@ "node_modules/resolve-workspace-root": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.0.tgz", - "integrity": "sha512-IsaBUZETJD5WsI11Wt8PKHwaIe45or6pwNc8yflvLJ4DWtImK9kuLoH5kUva/2Mmx/RdIyr4aONNSa2v9LTJsw==" + "integrity": "sha512-IsaBUZETJD5WsI11Wt8PKHwaIe45or6pwNc8yflvLJ4DWtImK9kuLoH5kUva/2Mmx/RdIyr4aONNSa2v9LTJsw==", + "license": "MIT" }, "node_modules/resolve.exports": { - "version": "2.0.2", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "license": "MIT", "engines": { "node": ">=10" @@ -34309,6 +35303,69 @@ "node": ">=8" } }, + "node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "node_modules/sharp-phash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sharp-phash/-/sharp-phash-2.2.0.tgz", + "integrity": "sha512-/gBoes9EycJkt/2aakKl9BeSGxFbPpZ5lCDtpRRlnU+vkqqcdXi8YLIlXnJsTtTBmaL82zh1bPkV7uZSSIsj8w==", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "sharp": ">= 0.32.0" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "license": "MIT", @@ -35156,6 +36213,7 @@ }, "node_modules/strip-final-newline": { "version": "2.0.0", + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -35240,9 +36298,9 @@ } }, "node_modules/sucrase/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", @@ -35291,21 +36349,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sucrase/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/sucrase/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -35632,6 +36675,8 @@ }, "node_modules/temp-dir": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", "license": "MIT", "engines": { "node": ">=8" @@ -35990,7 +37035,6 @@ }, "node_modules/tmp": { "version": "0.2.3", - "dev": true, "license": "MIT", "engines": { "node": ">=14.14" @@ -36524,9 +37568,9 @@ "license": "MIT" }, "node_modules/undici": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.0.tgz", - "integrity": "sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==", + "version": "6.21.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.1.tgz", + "integrity": "sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==", "license": "MIT", "engines": { "node": ">=18.17" @@ -36643,6 +37687,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -36933,6 +37978,12 @@ "node": ">=10.12.0" } }, + "node_modules/valibot": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/valibot/-/valibot-0.13.1.tgz", + "integrity": "sha512-SG2W1RHqE2LShl3p6tyERt6I+G6PQa9ZFVfkyNKXz01HBzL+tBeH5kXw/5AQeAzPJSjI3djVGBl1CyozA1kyBQ==", + "license": "MIT" + }, "node_modules/validate-npm-package-name": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", @@ -37024,6 +38075,25 @@ "loose-envify": "^1.0.0" } }, + "node_modules/wasm-imagemagick": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/wasm-imagemagick/-/wasm-imagemagick-1.2.8.tgz", + "integrity": "sha512-V7u80n7g+iAoV7sYgQKGSdG59J6/aSMGO0DDK0zxKnwOGjmVXyjP0yU4tX4cMrfC0t/Wk3I8TX7cmdbFQOYHpg==", + "license": "Apache-2.0", + "dependencies": { + "p-map": "^2.0.0", + "stacktrace-js": "^2.0.0" + } + }, + "node_modules/wasm-imagemagick/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/watchpack": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", @@ -37890,6 +38960,16 @@ "dev": true, "license": "MIT" }, + "node_modules/xstate": { + "version": "4.38.3", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.38.3.tgz", + "integrity": "sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/xstate" + } + }, "node_modules/xtend": { "version": "4.0.2", "license": "MIT", diff --git a/package.json b/package.json index 2024f59e1ffa..155628d1d1cd 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "ipad-standalone": "concurrently \"STANDALONE_NEW_DOT=true ./scripts/run-build.sh --ipad\"", "ipad-sm": "concurrently \"./scripts/run-build.sh --ipad-sm\"", "ipad-sm-standalone": "concurrently \"STANDALONE_NEW_DOT=true ./scripts/run-build.sh --ipad-sm\"", - "start": "npx react-native start", + "start": "npx react-native start --client-logs", "web": "./scripts/set-pusher-suffix.sh && concurrently npm:web-proxy npm:web-server", "web-proxy": "ts-node web/proxy.ts", "web-server": "webpack-dev-server --open --config config/webpack/webpack.dev.ts", @@ -80,7 +80,7 @@ "@dotlottie/react-player": "^1.6.3", "@expensify/react-native-background-task": "file:./modules/background-task", "@expensify/react-native-live-markdown": "0.1.244", - "@expo/metro-runtime": "^4.0.0", + "@expo/metro-runtime": "^4.0.1", "@firebase/app": "^0.10.10", "@firebase/performance": "^0.6.8", "@formatjs/intl-datetimeformat": "^6.12.5", @@ -122,12 +122,12 @@ "dom-serializer": "^0.2.2", "domhandler": "^4.3.0", "expensify-common": "2.0.124", - "expo": "52.0.14", - "expo-asset": "^11.0.1", - "expo-av": "^15.0.1", - "expo-font": "^13.0.1", - "expo-image": "^2.0.3", - "expo-image-manipulator": "^13.0.5", + "expo": "52.0.28", + "expo-asset": "^11.0.2", + "expo-av": "^15.0.2", + "expo-font": "^13.0.3", + "expo-image": "^2.0.4", + "expo-image-manipulator": "^13.0.6", "fast-equals": "^4.0.3", "focus-trap-react": "^11.0.3", "howler": "^2.2.4", @@ -148,7 +148,7 @@ "react-error-boundary": "^4.0.11", "react-fast-pdf": "^1.0.27", "react-map-gl": "^7.1.3", - "react-native": "0.76.3", + "react-native": "0.77.1", "react-native-advanced-input-mask": "1.3.1", "react-native-android-location-enabler": "^2.0.1", "react-native-app-logs": "0.3.1", @@ -159,12 +159,12 @@ "react-native-document-picker": "^9.3.1", "react-native-draggable-flatlist": "^4.0.1", "react-native-fs": "^2.20.0", - "react-native-gesture-handler": "2.20.1", + "react-native-gesture-handler": "2.22.0", "react-native-google-places-autocomplete": "2.5.6", "react-native-haptic-feedback": "^2.3.3", "react-native-image-picker": "^7.1.2", "react-native-image-size": "git+https://github.com/Expensify/react-native-image-size#cb392140db4953a283590d7cf93b4d0461baa2a9", - "react-native-key-command": "^1.0.8", + "react-native-key-command": "1.0.12", "react-native-keyboard-controller": "1.16.7", "react-native-launch-arguments": "^4.0.2", "react-native-localize": "^2.2.6", @@ -191,7 +191,7 @@ "react-native-view-shot": "4.0.0", "react-native-vision-camera": "^4.6.1", "react-native-web": "0.19.13", - "react-native-webview": "13.8.6", + "react-native-webview": "13.13.1", "react-plaid-link": "3.3.2", "react-web-config": "^1.0.0", "react-webcam": "^7.1.1", @@ -236,8 +236,8 @@ "@react-native-community/cli-platform-android": "15.0.1", "@react-native-community/cli-platform-ios": "15.0.1", "@react-native-community/eslint-config": "3.2.0", - "@react-native/babel-preset": "0.76.3", - "@react-native/metro-config": "0.76.3", + "@react-native/babel-preset": "0.77.1", + "@react-native/metro-config": "0.77.1", "@react-navigation/devtools": "^6.0.10", "@storybook/addon-a11y": "^8.1.10", "@storybook/addon-essentials": "^8.1.10", @@ -314,7 +314,7 @@ "jest-circus": "29.4.1", "jest-cli": "29.4.1", "jest-environment-jsdom": "^29.4.1", - "jest-expo": "52.0.2", + "jest-expo": "52.0.3", "jest-transformer-svg": "^2.0.1", "jest-when": "^3.5.2", "link": "^2.1.1", @@ -353,14 +353,9 @@ "xlsx": "file:vendor/xlsx-0.20.3.tgz" }, "overrides": { - "react-native": "0.76.3", - "react-native-svg": "$react-native-svg", - "react": "18.3.1", - "react-dom": "18.3.1", "braces": "3.0.3", "yargs": "17.7.2", "yargs-parser": "21.1.1", - "@expo/config-plugins": "9.0.11", "ws": "8.17.1", "micromatch": "4.0.8", "json5": "2.2.2", @@ -375,7 +370,6 @@ "body-parser": "1.20.3", "path-to-regexp": "0.1.10", "send": "0.19.0", - "expo": "52.0.14", "regexpu-core": "5.3.2" }, "expo": { diff --git a/patches/@react-native+assets-registry+0.76.3.patch b/patches/@react-native+assets-registry+0.76.3.patch deleted file mode 100644 index c0d6ad20f707..000000000000 --- a/patches/@react-native+assets-registry+0.76.3.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/node_modules/@react-native/assets-registry/registry.js b/node_modules/@react-native/assets-registry/registry.js -index 64b2735..3851d92 100644 ---- a/node_modules/@react-native/assets-registry/registry.js -+++ b/node_modules/@react-native/assets-registry/registry.js -@@ -10,31 +10,15 @@ - - 'use strict'; - --export type AssetDestPathResolver = 'android' | 'generic'; -+const assets = []; - --export type PackagerAsset = { -- +__packager_asset: boolean, -- +fileSystemLocation: string, -- +httpServerLocation: string, -- +width: ?number, -- +height: ?number, -- +scales: Array, -- +hash: string, -- +name: string, -- +type: string, -- +resolver?: AssetDestPathResolver, -- ... --}; -- --const assets: Array = []; -- --function registerAsset(asset: PackagerAsset): number { -+function registerAsset(asset) { - // `push` returns new array length, so the first asset will - // get id 1 (not 0) to make the value truthy - return assets.push(asset); - } - --function getAssetByID(assetId: number): PackagerAsset { -+function getAssetByID(assetId) { - return assets[assetId - 1]; - } - diff --git a/patches/@react-native+gradle-plugin+0.76.3.patch b/patches/@react-native+gradle-plugin+0.77.1.patch similarity index 100% rename from patches/@react-native+gradle-plugin+0.76.3.patch rename to patches/@react-native+gradle-plugin+0.77.1.patch diff --git a/patches/@react-native+virtualized-lists+0.76.3+001+onStartReched.patch b/patches/@react-native+virtualized-lists+0.77.1+001+onStartReched.patch similarity index 100% rename from patches/@react-native+virtualized-lists+0.76.3+001+onStartReched.patch rename to patches/@react-native+virtualized-lists+0.77.1+001+onStartReched.patch diff --git a/patches/@react-native+virtualized-lists+0.76.3+002+osr-improvement.patch b/patches/@react-native+virtualized-lists+0.77.1+002+osr-improvement.patch similarity index 78% rename from patches/@react-native+virtualized-lists+0.76.3+002+osr-improvement.patch rename to patches/@react-native+virtualized-lists+0.77.1+002+osr-improvement.patch index 38871a2e7764..32367b75bba1 100644 --- a/patches/@react-native+virtualized-lists+0.76.3+002+osr-improvement.patch +++ b/patches/@react-native+virtualized-lists+0.77.1+002+osr-improvement.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.js b/node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.js -index e338d90..238989f 100644 +index 37b70ad..7441734 100644 --- a/node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.js +++ b/node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.js -@@ -89,6 +89,7 @@ type State = { +@@ -88,6 +88,7 @@ type State = { firstVisibleItemKey: ?string, // When > 0 the scroll position available in JS is considered stale and should not be used. pendingScrollUpdateCount: number, @@ -10,11 +10,11 @@ index e338d90..238989f 100644 }; function getScrollingThreshold(threshold: number, visibleLength: number) { -@@ -404,12 +405,13 @@ class VirtualizedList extends StateSafePureComponent { +@@ -401,12 +402,13 @@ class VirtualizedList extends StateSafePureComponent { const minIndexForVisible = this.props.maintainVisibleContentPosition?.minIndexForVisible ?? 0; -+ const itemCount = this.props.getItemCount(this.props.data); ++ const itemCount = this.props.getItemCount(this.props.data); this.state = { cellsAroundViewport: initialRenderRegion, @@ -25,15 +25,15 @@ index e338d90..238989f 100644 ? VirtualizedList._getItemKey(this.props, minIndexForVisible) : null, // When we have a non-zero initialScrollIndex, we will receive a -@@ -420,6 +422,7 @@ class VirtualizedList extends StateSafePureComponent { +@@ -417,6 +419,7 @@ class VirtualizedList extends StateSafePureComponent { this.props.initialScrollIndex > 0 ? 1 : 0, -+ lastItemCount: itemCount, ++ lastItemCount: itemCount, }; } -@@ -701,16 +704,15 @@ class VirtualizedList extends StateSafePureComponent { +@@ -698,7 +701,7 @@ class VirtualizedList extends StateSafePureComponent { // first and last could be stale (e.g. if a new, shorter items props is passed in), so we make // sure we're rendering a reasonable range here. const itemCount = newProps.getItemCount(newProps.data); @@ -41,9 +41,8 @@ index e338d90..238989f 100644 + if (itemCount === prevState.renderMask.numCells() && itemCount === prevState.lastItemCount) { return prevState; } -- - let maintainVisibleContentPositionAdjustment: ?number = null; - const prevFirstVisibleItemKey = prevState.firstVisibleItemKey; + +@@ -707,7 +710,7 @@ class VirtualizedList extends StateSafePureComponent { const minIndexForVisible = newProps.maintainVisibleContentPosition?.minIndexForVisible ?? 0; const newFirstVisibleItemKey = @@ -52,36 +51,36 @@ index e338d90..238989f 100644 ? VirtualizedList._getItemKey(newProps, minIndexForVisible) : null; if ( -@@ -758,6 +760,7 @@ class VirtualizedList extends StateSafePureComponent { +@@ -755,6 +758,7 @@ class VirtualizedList extends StateSafePureComponent { maintainVisibleContentPositionAdjustment != null ? prevState.pendingScrollUpdateCount + 1 : prevState.pendingScrollUpdateCount, -+ lastItemCount: itemCount, ++ lastItemCount: itemCount, }; } -@@ -1159,7 +1162,7 @@ class VirtualizedList extends StateSafePureComponent { +@@ -1157,7 +1161,7 @@ class VirtualizedList extends StateSafePureComponent { } } - componentDidUpdate(prevProps: Props) { + componentDidUpdate(prevProps: Props, prevState: State) { - const {data, extraData} = this.props; + const {data, extraData, getItemLayout} = this.props; if (data !== prevProps.data || extraData !== prevProps.extraData) { // clear the viewableIndices cache to also trigger -@@ -1181,6 +1184,11 @@ class VirtualizedList extends StateSafePureComponent { +@@ -1179,7 +1183,10 @@ class VirtualizedList extends StateSafePureComponent { if (hiPriInProgress) { this._hiPriInProgress = false; } -+ +- + if (this.state.cellsAroundViewport.first !== prevState.cellsAroundViewport.first || + this.state.cellsAroundViewport.last !== prevState.cellsAroundViewport.last) { + this._maybeCallOnEdgeReached(); + } - } - - _cellRefs: {[string]: null | CellRenderer} = {}; -@@ -1219,7 +1227,7 @@ class VirtualizedList extends StateSafePureComponent { + // We only call `onEndReached` after we render the last cell, but when + // getItemLayout is present, we can scroll past the last rendered cell, and + // never trigger a new layout or bounds change, so we need to check again +@@ -1225,7 +1232,7 @@ class VirtualizedList extends StateSafePureComponent { zoomScale: 1, }; _scrollRef: ?React.ElementRef = null; @@ -90,7 +89,7 @@ index e338d90..238989f 100644 _sentEndForContentLength = 0; _updateCellsToRenderBatcher: Batchinator; _viewabilityTuples: Array = []; -@@ -1550,16 +1558,16 @@ class VirtualizedList extends StateSafePureComponent { +@@ -1566,16 +1573,16 @@ class VirtualizedList extends StateSafePureComponent { onStartReached != null && this.state.cellsAroundViewport.first === 0 && isWithinStartThreshold && diff --git a/patches/@react-native-community+netinfo+11.2.1+002+turbomodule.patch b/patches/@react-native-community+netinfo+11.2.1+002+turbomodule.patch index 9b1fd0daaa0b..99e8108f8822 100644 --- a/patches/@react-native-community+netinfo+11.2.1+002+turbomodule.patch +++ b/patches/@react-native-community+netinfo+11.2.1+002+turbomodule.patch @@ -376,7 +376,7 @@ index 0000000..c61a84d + } +} diff --git a/node_modules/@react-native-community/netinfo/ios/RNCNetInfo.mm b/node_modules/@react-native-community/netinfo/ios/RNCNetInfo.mm -index e83b8c4..be520d9 100644 +index e83b8c4..47fc8bb 100644 --- a/node_modules/@react-native-community/netinfo/ios/RNCNetInfo.mm +++ b/node_modules/@react-native-community/netinfo/ios/RNCNetInfo.mm @@ -8,6 +8,10 @@ @@ -410,7 +410,15 @@ index e83b8c4..be520d9 100644 @property (nonatomic, strong) RNCConnectionStateWatcher *connectionStateWatcher; @property (nonatomic) BOOL isObserving; -@@ -97,6 +106,7 @@ - (void)connectionStateWatcher:(RNCConnectionStateWatcher *)connectionStateWatch +@@ -90,13 +99,14 @@ - (void)connectionStateWatcher:(RNCConnectionStateWatcher *)connectionStateWatch + + #pragma mark - Public API + +-RCT_EXPORT_METHOD(getCurrentState:(nullable NSString *)requestedInterface resolve:(RCTPromiseResolveBlock)resolve ++RCT_EXPORT_METHOD(getCurrentState:(NSString *)requestedInterface resolve:(RCTPromiseResolveBlock)resolve + reject:(__unused RCTPromiseRejectBlock)reject) + { + RNCConnectionState *state = [self.connectionStateWatcher currentState]; resolve([self currentDictionaryFromUpdateState:state withInterface:requestedInterface]); } @@ -3075,4 +3083,4 @@ index 878f7ba..0000000 - -#Files generated by the VS build -**/Generated Files/** -- \ No newline at end of file +- diff --git a/patches/@rnmapbox+maps+10.1.33.patch b/patches/@rnmapbox+maps+10.1.33.patch new file mode 100644 index 000000000000..683f92326cba --- /dev/null +++ b/patches/@rnmapbox+maps+10.1.33.patch @@ -0,0 +1,200 @@ +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +index fb2147f..241d789 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +@@ -249,10 +249,10 @@ class RNMBXImagesManager(private val mContext: ReactApplicationContext) : + Logger.e("RNMBXImages", "each element of strech should be an array but was: ${array.getDynamic(i)}") + } else { + val pair = array.getArray(i) +- if (pair.size() != 2 || pair.getType(0) != ReadableType.Number || pair.getType(1) != ReadableType.Number) { ++ if (pair?.size() != 2 || pair.getType(0) != ReadableType.Number || pair.getType(1) != ReadableType.Number) { + Logger.e("RNMBXImages", "each element of stretch should be pair of 2 integers but was ${pair}") + } +- result.add(ImageStretches(pair.getDouble(0).toFloat(), pair.getDouble(1).toFloat())) ++ result.add(ImageStretches(pair!!.getDouble(0).toFloat(), pair.getDouble(1).toFloat())) + } + } + return result; +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +index 688f3a6..0627519 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +@@ -15,7 +15,7 @@ import android.widget.FrameLayout + import androidx.lifecycle.Lifecycle + import androidx.lifecycle.LifecycleOwner + import androidx.lifecycle.LifecycleRegistry +-import androidx.lifecycle.ViewTreeLifecycleOwner ++import androidx.lifecycle.setViewTreeLifecycleOwner + import com.facebook.react.bridge.* + import com.mapbox.android.gestures.* + import com.mapbox.bindgen.Value +@@ -131,12 +131,13 @@ class RNMBXLifeCycle { + } + } + +- override fun getLifecycle(): Lifecycle { +- return lifecycleRegistry ++ override val lifecycle: Lifecycle ++ get() = lifecycleRegistry ++ + } + } +- ViewTreeLifecycleOwner.set(view, lifecycleOwner); +- } ++ view.setViewTreeLifecycleOwner(lifecycleOwner) ++ + lifecycleOwner?.handleLifecycleEvent(Lifecycle.Event.ON_START) + } + +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +index 220cf54..3e026c7 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +@@ -34,13 +34,13 @@ import java.util.HashMap + + fun ReadableArray.forEachString(action: (String) -> Unit) { + for (i in 0 until size()) { +- action(getString(i)) ++ action(getString(i)!!) + } + } + + fun ReadableArray.asArrayString(): Array { + val result = Array(size()) { +- getString(it) ++ getString(it)!! + } + return result + } +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt +index db13128..99fd5c8 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyleValue.kt +@@ -82,7 +82,7 @@ class RNMBXStyleValue(config: ReadableMap) { + val result = ArrayList(arr!!.size()) + for (i in 0 until arr.size()) { + val item = arr.getMap(i) +- result.add(item.getDouble("value")) ++ result.add(item!!.getDouble("value")) + } + return result + } +@@ -104,7 +104,7 @@ class RNMBXStyleValue(config: ReadableMap) { + val result = ArrayList(arr!!.size()) + for (i in 0 until arr.size()) { + val item = arr.getMap(i) +- val value = item.getString("value") ++ val value = item!!.getString("value") + if (value != null) { + result.add(value) + } else { +@@ -121,9 +121,9 @@ class RNMBXStyleValue(config: ReadableMap) { + val result = WritableNativeMap() + for (i in 0 until keyValues!!.size()) { + val keyValue = keyValues.getArray(i) +- val stringKey = keyValue.getMap(0).getString("value") ++ val stringKey = keyValue!!.getMap(0)!!.getString("value") + val value = WritableNativeMap() +- value.merge(keyValue.getMap(1)) ++ value.merge(keyValue.getMap(1)!!) + result.putMap(stringKey!!, value) + } + return result +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +index 637372d..da3bf91 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +@@ -119,7 +119,7 @@ class RNMBXShapeSourceManager(private val mContext: ReactApplicationContext, val + ) + ReadableType.Boolean -> Expression.literal(expressions.getBoolean(iExp)) + ReadableType.Number -> Expression.literal(expressions.getDouble(iExp)) +- else -> Expression.literal(expressions.getString(iExp)) ++ else -> Expression.literal(expressions.getString(iExp)!!) + } + builder.add(argument) + } +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSourceManager.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSourceManager.kt +index 3b0a072..2530916 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSourceManager.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXTileSourceManager.kt +@@ -41,7 +41,7 @@ abstract class RNMBXTileSourceManager> internal construct + val urls: MutableList = ArrayList() + for (i in 0 until tileUrlTemplates.asArray().size()) { + if (tileUrlTemplates.asArray().getType(0) == ReadableType.String) { +- urls.add(tileUrlTemplates.asArray().getString(i)) ++ urls.add(tileUrlTemplates.asArray().getString(i)!!) + } + } + source!!.tileUrlTemplates = urls +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/shapeAnimators/RNMBXChangeLineOffsetsShapeAnimatorModule.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/shapeAnimators/RNMBXChangeLineOffsetsShapeAnimatorModule.kt +index 28d1020..41f80d5 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/shapeAnimators/RNMBXChangeLineOffsetsShapeAnimatorModule.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/shapeAnimators/RNMBXChangeLineOffsetsShapeAnimatorModule.kt +@@ -210,7 +210,7 @@ private fun buildLineString(_coordinates: ReadableArray): LineString { + + for (i in 0 until _coordinates.size()) { + val arr = _coordinates.getArray(i) +- val coord = Point.fromLngLat(arr.getDouble(0), arr.getDouble(1)) ++ val coord = Point.fromLngLat(arr!!.getDouble(0), arr.getDouble(1)) + coordinates = coordinates.plus(coord) + } + +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/Dynamic.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/Dynamic.kt +index d52fa21..1a17410 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/Dynamic.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/Dynamic.kt +@@ -38,9 +38,9 @@ fun ReadableArray.toValue(): Value { + ReadableType.Null -> Value.nullValue() + ReadableType.Boolean -> Value.valueOf(getBoolean(i)) + ReadableType.Number -> Value.valueOf(getDouble(i)) +- ReadableType.String -> Value.valueOf(getString(i)) +- ReadableType.Array -> getArray(i).toValue() +- ReadableType.Map -> getMap(i).toValue() ++ ReadableType.String -> Value.valueOf(getString(i)!!) ++ ReadableType.Array -> getArray(i)!!.toValue() ++ ReadableType.Map -> getMap(i)!!.toValue() + }) + } + return Value.valueOf(result) +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt +index 83a78bc..b27dce1 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt +@@ -46,8 +46,8 @@ fun ReadableArray.toJsonArray() : JsonArray { + val result = JsonArray(size()) + for (i in 0 until size()) { + when (getType(i)) { +- ReadableType.Map -> result.add(getMap(i).toJsonObject()) +- ReadableType.Array -> result.add(getArray(i).toJsonArray()) ++ ReadableType.Map -> result.add(getMap(i)?.toJsonObject()) ++ ReadableType.Array -> result.add(getArray(i)?.toJsonArray()) + ReadableType.Null -> result.add(null as JsonElement?) + ReadableType.Number -> result.add(getDouble(i)) + ReadableType.String -> result.add(getString(i)) +diff --git a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt +index c69ef8c..912601f 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt +@@ -25,7 +25,7 @@ fun ReadableMap.forEach(action: (String, Any) -> Unit) { + val iterator = this.entryIterator + while (iterator.hasNext()) { + val next = iterator.next() +- action(next.key, next.value) ++ action(next.key, next.value!!) + } + } + fun ReadableMap.getIfDouble(key: String): Double? { +diff --git a/node_modules/@rnmapbox/maps/android/src/main/rn-compat/rn75/com/rnmapbox/rnmbx/rncompat/ReadableMap.kt b/node_modules/@rnmapbox/maps/android/src/main/rn-compat/rn75/com/rnmapbox/rnmbx/rncompat/ReadableMap.kt +index fee7f22..194e630 100644 +--- a/node_modules/@rnmapbox/maps/android/src/main/rn-compat/rn75/com/rnmapbox/rnmbx/rncompat/ReadableMap.kt ++++ b/node_modules/@rnmapbox/maps/android/src/main/rn-compat/rn75/com/rnmapbox/rnmbx/rncompat/ReadableMap.kt +@@ -1,7 +1,7 @@ + package com.rnmapbox.rnmbx.rncompat.readable_map + import com.facebook.react.bridge.ReadableMap + +-fun ReadableMap.getEntryIterator(): Iterator> ++fun ReadableMap.getEntryIterator(): Iterator> + { + return this.entryIterator + } +\ No newline at end of file diff --git a/patches/expo+52.0.14+002+rn-75-fixes.patch b/patches/expo+52.0.14+002+rn-75-fixes.patch deleted file mode 100644 index 9984ee05b624..000000000000 --- a/patches/expo+52.0.14+002+rn-75-fixes.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/node_modules/expo/android/src/main/java/expo/modules/ReactNativeHostWrapperBase.kt b/node_modules/expo/android/src/main/java/expo/modules/ReactNativeHostWrapperBase.kt -index 2c9d8d5..183197e 100644 ---- a/node_modules/expo/android/src/main/java/expo/modules/ReactNativeHostWrapperBase.kt -+++ b/node_modules/expo/android/src/main/java/expo/modules/ReactNativeHostWrapperBase.kt -@@ -9,12 +9,12 @@ import com.facebook.react.ReactPackage - import com.facebook.react.bridge.JavaScriptExecutorFactory - import com.facebook.react.bridge.ReactContext - import java.lang.reflect.Method -+import com.facebook.react.defaults.DefaultReactNativeHost - - open class ReactNativeHostWrapperBase( - application: Application, - protected val host: ReactNativeHost --) : ReactNativeHost(application) { -- // TODO: Inherit from DefaultReactNativeHost when we drop SDK 49 support -+) : DefaultReactNativeHost(application) { - - val reactNativeHostHandlers = ExpoModulesPackage.packageList - .flatMap { it.createReactNativeHostHandlers(application) } diff --git a/patches/expo+52.0.14+003+fix-form-data-entries-override.patch b/patches/expo+52.0.14+003+fix-form-data-entries-override.patch deleted file mode 100644 index 71f07055484b..000000000000 --- a/patches/expo+52.0.14+003+fix-form-data-entries-override.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/expo/src/winter/FormData.ts b/node_modules/expo/src/winter/FormData.ts -index 3a85791..db609a3 100644 ---- a/node_modules/expo/src/winter/FormData.ts -+++ b/node_modules/expo/src/winter/FormData.ts -@@ -121,7 +121,7 @@ export function installFormDataPatch(formData: typeof FormData) { - - // Required for RSC: https://github.com/facebook/react/blob/985747f81033833dca22f30b0c04704dd4bd3714/packages/react-server/src/ReactFlightServer.js#L2117 - // @ts-ignore: DOM.iterable is disabled for jest compat -- formData.prototype.entries = function* entries( -+ formData.prototype.entries ??= function* entries( - this: ReactNativeFormDataInternal - ): IterableIterator<[string, FormDataEntryValue]> { - for (const part of this._parts) { diff --git a/patches/expo+52.0.28+001+dont-change-formdata.patch b/patches/expo+52.0.28+001+dont-change-formdata.patch new file mode 100644 index 000000000000..14406b6d52f6 --- /dev/null +++ b/patches/expo+52.0.28+001+dont-change-formdata.patch @@ -0,0 +1,47 @@ +diff --git a/node_modules/expo/src/winter/FormData.ts b/node_modules/expo/src/winter/FormData.ts +index d78f165..577501c 100644 +--- a/node_modules/expo/src/winter/FormData.ts ++++ b/node_modules/expo/src/winter/FormData.ts +@@ -70,7 +70,16 @@ function normalizeArgs( + blobFilename: string | undefined + ): [string, File | string] { + if (value instanceof Blob) { +- value = { type: value.type, name: blobFilename || 'blob', blob: value }; ++ // @ts-expect-error: `Blob.data.blobId` is react-native's proprietary property. ++ if (value.data?.blobId != null) { ++ // For react-native created Blob objects, ++ // we need to keep its original form as-is without breaking functionality. ++ // However, we need to pass `name` for our file name handling. ++ // @ts-expect-error: Mutating the Blob object to add the `name` property. ++ value.name = blobFilename || 'blob'; ++ } else { ++ value = { type: value.type, name: blobFilename || 'blob', blob: value }; ++ } + } else if (typeof value !== 'object') { + value = String(value); + } +diff --git a/node_modules/expo/src/winter/fetch/convertFormData.ts b/node_modules/expo/src/winter/fetch/convertFormData.ts +index e559323..e8bdbdd 100644 +--- a/node_modules/expo/src/winter/fetch/convertFormData.ts ++++ b/node_modules/expo/src/winter/fetch/convertFormData.ts +@@ -30,6 +30,20 @@ export async function convertFormDataAsync( + results.push(entry.file.bytes()); + } else if ('blob' in entry) { + results.push(new Uint8Array(await blobToArrayBufferAsync(entry.blob))); ++ } else if (entry._data?.blobId != null) { ++ // When `FormData.getParts()` is called, React Native will use spread operator to copy the object and loose the Blob type info. ++ // We should find the original Blob instance from the `FormData._parts` internal properties. ++ // @ts-expect-error: react-native's proprietary Blob type ++ const blob = formData._parts?.find( ++ ([name, value]) => value.data?.blobId === entry._data.blobId ++ ); ++ if (blob == null) { ++ throw new Error('Cannot find the original Blob instance from FormData'); ++ } ++ if (!(blob[1] instanceof Blob)) { ++ throw new Error('Unexpected value type for Blob entry in FormData'); ++ } ++ results.push(new Uint8Array(await blobToArrayBufferAsync(blob[1]))); + } else { + throw new Error('Unsupported FormDataPart implementation'); + } diff --git a/patches/expo-asset+11.0.1+001+initial.patch b/patches/expo-asset+11.0.2+002+initial.patch similarity index 100% rename from patches/expo-asset+11.0.1+001+initial.patch rename to patches/expo-asset+11.0.2+002+initial.patch diff --git a/patches/expo-av+15.0.1+001+fix-blank-screen-android.patch b/patches/expo-av+15.0.2+001+fix-blank-screen-android.patch similarity index 100% rename from patches/expo-av+15.0.1+001+fix-blank-screen-android.patch rename to patches/expo-av+15.0.2+001+fix-blank-screen-android.patch diff --git a/patches/expo-av+15.0.1.patch b/patches/expo-av+15.0.2+002+handle-unsupported-videos-ios.patch similarity index 100% rename from patches/expo-av+15.0.1.patch rename to patches/expo-av+15.0.2+002+handle-unsupported-videos-ios.patch diff --git a/patches/expo-image-manipulator+13.0.5+001+initial.patch b/patches/expo-image-manipulator+13.0.6+001+initial.patch similarity index 100% rename from patches/expo-image-manipulator+13.0.5+001+initial.patch rename to patches/expo-image-manipulator+13.0.6+001+initial.patch diff --git a/patches/expo-image-manipulator+13.0.5+002+fix-type-exports.patch b/patches/expo-image-manipulator+13.0.6+002+fix-type-exports.patch similarity index 100% rename from patches/expo-image-manipulator+13.0.5+002+fix-type-exports.patch rename to patches/expo-image-manipulator+13.0.6+002+fix-type-exports.patch diff --git a/patches/expo-modules-core+2.1.1+002+change-global-type.patch b/patches/expo-modules-core+2.1.1+002+change-global-type.patch deleted file mode 100644 index fa0087a67441..000000000000 --- a/patches/expo-modules-core+2.1.1+002+change-global-type.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/expo-modules-core/build/ts-declarations/global.d.ts b/node_modules/expo-modules-core/build/ts-declarations/global.d.ts -index 6589274..9e3e46c 100644 ---- a/node_modules/expo-modules-core/build/ts-declarations/global.d.ts -+++ b/node_modules/expo-modules-core/build/ts-declarations/global.d.ts -@@ -59,7 +59,7 @@ export interface ExpoProcess { - EXPO_BASE_URL?: string; - /** Build-time representation of the `Platform.OS` value that the current JavaScript was bundled for. Does not support platform shaking wrapped require statements. */ - EXPO_OS?: string; -- [key: string]: any; -+ [key: string]: string; - }; - [key: string]: any; - } diff --git a/patches/expo-modules-core+2.1.1+004+fix-type-exports.patch b/patches/expo-modules-core+2.1.1+004+fix-type-exports.patch deleted file mode 100644 index ae7328386b21..000000000000 --- a/patches/expo-modules-core+2.1.1+004+fix-type-exports.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/node_modules/expo-modules-core/src/NativeModulesProxy.native.ts b/node_modules/expo-modules-core/src/NativeModulesProxy.native.ts -index 4f4244d..d378217 100644 ---- a/node_modules/expo-modules-core/src/NativeModulesProxy.native.ts -+++ b/node_modules/expo-modules-core/src/NativeModulesProxy.native.ts -@@ -5,7 +5,7 @@ - - import { NativeModules } from 'react-native'; - --import { ProxyNativeModule } from './NativeModulesProxy.types'; -+import type { ProxyNativeModule } from './NativeModulesProxy.types'; - - const LegacyNativeProxy = NativeModules.NativeUnimoduleProxy; - // Fixes `cannot find name 'global'.` in tests -diff --git a/node_modules/expo-modules-core/src/NativeModulesProxy.ts b/node_modules/expo-modules-core/src/NativeModulesProxy.ts -index e0409ba..5eab9de 100644 ---- a/node_modules/expo-modules-core/src/NativeModulesProxy.ts -+++ b/node_modules/expo-modules-core/src/NativeModulesProxy.ts -@@ -1,4 +1,4 @@ --import { ProxyNativeModule } from './NativeModulesProxy.types'; -+import type { ProxyNativeModule } from './NativeModulesProxy.types'; - - // We default to an empty object shim wherever we don't have an environment-specific implementation - -diff --git a/node_modules/expo-modules-core/src/index.ts b/node_modules/expo-modules-core/src/index.ts -index 944f46f..5cdb4af 100644 ---- a/node_modules/expo-modules-core/src/index.ts -+++ b/node_modules/expo-modules-core/src/index.ts -@@ -2,7 +2,7 @@ import EventEmitter, { type EventSubscription } from './EventEmitter'; - import { LegacyEventEmitter } from './LegacyEventEmitter'; - import NativeModule from './NativeModule'; - import NativeModulesProxy from './NativeModulesProxy'; --import { ProxyNativeModule } from './NativeModulesProxy.types'; -+import type { ProxyNativeModule } from './NativeModulesProxy.types'; - import { requireNativeViewManager } from './NativeViewManagerAdapter'; - import Platform from './Platform'; - import SharedObject from './SharedObject'; diff --git a/patches/expo-modules-core+2.1.1+001+disableViewRecycling.patch b/patches/expo-modules-core+2.2.0+001+disableViewRecycling.patch similarity index 100% rename from patches/expo-modules-core+2.1.1+001+disableViewRecycling.patch rename to patches/expo-modules-core+2.2.0+001+disableViewRecycling.patch diff --git a/patches/expo-modules-core+2.2.0+002+change-global-type.patch b/patches/expo-modules-core+2.2.0+002+change-global-type.patch new file mode 100644 index 000000000000..a73948326a38 --- /dev/null +++ b/patches/expo-modules-core+2.2.0+002+change-global-type.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/expo-modules-core/build/ts-declarations/global.d.ts b/node_modules/expo-modules-core/build/ts-declarations/global.d.ts +index 6ec6769..5374ce4 100644 +--- a/node_modules/expo-modules-core/build/ts-declarations/global.d.ts ++++ b/node_modules/expo-modules-core/build/ts-declarations/global.d.ts +@@ -58,7 +58,7 @@ export interface ExpoProcessEnv { + EXPO_BASE_URL?: string; + /** Build-time representation of the `Platform.OS` value that the current JavaScript was bundled for. Does not support platform shaking wrapped require statements. */ + EXPO_OS?: string; +- [key: string]: any; ++ [key: string]: string; + } + export interface ExpoProcess { + env: ExpoProcessEnv; diff --git a/patches/jest-expo+52.0.3.patch b/patches/jest-expo+52.0.3.patch new file mode 100644 index 000000000000..4ed3286ff518 --- /dev/null +++ b/patches/jest-expo+52.0.3.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/jest-expo/src/preset/setup.js b/node_modules/jest-expo/src/preset/setup.js +index 7a77203..d905ebe 100644 +--- a/node_modules/jest-expo/src/preset/setup.js ++++ b/node_modules/jest-expo/src/preset/setup.js +@@ -293,5 +293,8 @@ try { + // Installs web implementations of global things that are normally installed through JSI. + require('expo-modules-core/src/web/index.web'); + ++jest.doMock('expo/src/winter/FormData', () => ({ ++ installFormDataPatch: jest.fn(), ++})); + // Ensure the environment globals are installed before the first test runs. + require('expo/src/winter'); diff --git a/patches/lottie-react-native+6.5.1+002+bridgeless.patch b/patches/lottie-react-native+6.5.1+002+bridgeless.patch index 854d26f9beb9..9a5a4e84b199 100644 --- a/patches/lottie-react-native+6.5.1+002+bridgeless.patch +++ b/patches/lottie-react-native+6.5.1+002+bridgeless.patch @@ -4,7 +4,7 @@ index aa538d3..0185eaf 100644 +++ b/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/OnAnimationFailureEvent.kt @@ -21,6 +21,6 @@ constructor(surfaceId: Int, viewId: Int, private val error: Throwable) : } - + companion object { - const val EVENT_NAME = "topAnimationFailureEvent" + const val EVENT_NAME = "topAnimationFailure" @@ -17,7 +17,7 @@ index f17cff9..4ebe3ba 100644 +++ b/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/OnAnimationLoadedEvent.kt @@ -16,6 +16,6 @@ class OnAnimationLoadedEvent constructor(surfaceId: Int, viewId: Int) : } - + companion object { - const val EVENT_NAME = "topAnimationLoadedEvent" + const val EVENT_NAME = "topAnimationLoaded" diff --git a/patches/lottie-react-native+6.5.1+003+support-RN-77.patch b/patches/lottie-react-native+6.5.1+003+support-RN-77.patch new file mode 100644 index 000000000000..46d033857bb1 --- /dev/null +++ b/patches/lottie-react-native+6.5.1+003+support-RN-77.patch @@ -0,0 +1,24 @@ +diff --git a/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.kt b/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.kt +index e4bfb4a..851aec6 100644 +--- a/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.kt ++++ b/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.kt +@@ -102,8 +102,8 @@ class LottieAnimationViewPropertyManager(view: LottieAnimationView) { + textFilters?.let { + if (it.size() > 0) { + val textDelegate = TextDelegate(view) +- for (i in 0 until textFilters!!.size()) { +- val current = textFilters!!.getMap(i) ++ for (i in 0 until it.size()) { ++ val current = it.getMap(i) ?: continue + val searchText = current.getString("find") + val replacementText = current.getString("replace") + textDelegate.setText(searchText, replacementText) +@@ -213,7 +213,7 @@ class LottieAnimationViewPropertyManager(view: LottieAnimationView) { + colorFilters?.let { colorFilters -> + if (colorFilters.size() > 0) { + for (i in 0 until colorFilters.size()) { +- val current = colorFilters.getMap(i) ++ val current = colorFilters.getMap(i) ?: continue + parseColorFilter(current, view) + } + } diff --git a/patches/react-native+0.76.3+009+copyStateOnClone.patch b/patches/react-native+0.76.3+009+copyStateOnClone.patch deleted file mode 100644 index 982a7aeaa52a..000000000000 --- a/patches/react-native+0.76.3+009+copyStateOnClone.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/node_modules/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp b/node_modules/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp -index 68da528..04ec622 100644 ---- a/node_modules/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp -+++ b/node_modules/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp -@@ -370,6 +370,7 @@ ShadowNode::Unshared ShadowNode::cloneTree( - - childNode = parentNode.clone( - {.children = std::make_shared(children), -+ .state = parentNode.getState(), - .traits = traits}); - } - \ No newline at end of file diff --git a/patches/react-native+0.76.3+013+fixNavigationAnimations.patch b/patches/react-native+0.76.3+013+fixNavigationAnimations.patch deleted file mode 100644 index 23f685a09051..000000000000 --- a/patches/react-native+0.76.3+013+fixNavigationAnimations.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/node_modules/react-native/Libraries/Animated/nodes/AnimatedProps.js b/node_modules/react-native/Libraries/Animated/nodes/AnimatedProps.js -index e0b642f..c4d851c 100644 ---- a/node_modules/react-native/Libraries/Animated/nodes/AnimatedProps.js -+++ b/node_modules/react-native/Libraries/Animated/nodes/AnimatedProps.js -@@ -72,6 +72,7 @@ export default class AnimatedProps extends AnimatedNode { - this.#nodes = nodes; - this._props = props; - this._callback = callback; -+ this._connectedToView = false; - } - - __getValue(): Object { -@@ -153,6 +154,8 @@ export default class AnimatedProps extends AnimatedNode { - if (this._animatedView) { - this.__connectAnimatedView(); - } -+ } else if (!this._connectedToView && this._animatedView) { -+ this.__connectAnimatedView(); - } - } - -@@ -173,6 +176,7 @@ export default class AnimatedProps extends AnimatedNode { - nativeViewTag != null, - 'Unable to locate attached view in the native tree', - ); -+ this._connectedToView = true; - NativeAnimatedHelper.API.connectAnimatedNodeToView( - this.__getNativeTag(), - nativeViewTag, -@@ -186,6 +190,7 @@ export default class AnimatedProps extends AnimatedNode { - nativeViewTag != null, - 'Unable to locate attached view in the native tree', - ); -+ this._connectedToView = false; - NativeAnimatedHelper.API.disconnectAnimatedNodeFromView( - this.__getNativeTag(), - nativeViewTag, diff --git a/patches/react-native+0.76.3+017+Android-onHostResume-resume-frame-callback.patch b/patches/react-native+0.76.3+017+Android-onHostResume-resume-frame-callback.patch deleted file mode 100644 index f2776bba0933..000000000000 --- a/patches/react-native+0.76.3+017+Android-onHostResume-resume-frame-callback.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java -index b767513..8947486 100644 ---- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java -+++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java -@@ -143,6 +143,7 @@ public class FabricEventDispatcher implements EventDispatcher, LifecycleEventLis - @Override - public void onHostResume() { - scheduleDispatchOfBatchedEvents(); -+ mCurrentFrameCallback.resume(); - } - - @Override -@@ -212,6 +213,10 @@ public class FabricEventDispatcher implements EventDispatcher, LifecycleEventLis - } - } - -+ public void resume() { -+ mShouldStop = false; -+ } -+ - public void stop() { - mShouldStop = true; - } diff --git a/patches/react-native+0.76.3+019+keyboard-avoiding-view.patch b/patches/react-native+0.76.3+019+keyboard-avoiding-view.patch deleted file mode 100644 index 2ee8aa1fd0de..000000000000 --- a/patches/react-native+0.76.3+019+keyboard-avoiding-view.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js b/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js -index e26d677..597be5a 100644 ---- a/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js -+++ b/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js -@@ -175,6 +175,13 @@ class KeyboardAvoidingView extends React.Component { - } - - componentDidMount(): void { -+ // Fix KeyboardAvoidingView not aware of the keyboard closing after it is unmounted. -+ // Remove this patch after the upstream fix https://github.com/facebook/react-native/commit/08bd8ac47da60121225e7b281bbf566e2c5a291e is released. -+ if (!Keyboard.isVisible()) { -+ this._keyboardEvent = null; -+ this._setBottom(0); -+ } -+ - if (Platform.OS === 'ios') { - this._subscriptions = [ - Keyboard.addListener('keyboardWillChangeFrame', this._onKeyboardChange), diff --git a/patches/react-native+0.76.3+021+fix-selection-not-working.patch b/patches/react-native+0.76.3+021+fix-selection-not-working.patch deleted file mode 100644 index 7d57670b776a..000000000000 --- a/patches/react-native+0.76.3+021+fix-selection-not-working.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java -index df62f49..b134908 100644 ---- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java -+++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java -@@ -1084,12 +1084,18 @@ public class ReactEditText extends AppCompatEditText { - public void onAttachedToWindow() { - super.onAttachedToWindow(); - -+ int selectionStart = getSelectionStart(); -+ int selectionEnd = getSelectionEnd(); -+ - // Used to ensure that text is selectable inside of removeClippedSubviews - // See https://github.com/facebook/react-native/issues/6805 for original - // fix that was ported to here. - - super.setTextIsSelectable(true); - -+ // Restore the selection since `setTextIsSelectable` changed it. -+ setSelection(selectionStart, selectionEnd); -+ - if (mContainsImages) { - Spanned text = getText(); - TextInlineImageSpan[] spans = text.getSpans(0, text.length(), TextInlineImageSpan.class); diff --git a/patches/react-native+0.76.3+023+modal-navigation-bar-translucent.patch b/patches/react-native+0.76.3+023+modal-navigation-bar-translucent.patch deleted file mode 100644 index 34cc605c6a6b..000000000000 --- a/patches/react-native+0.76.3+023+modal-navigation-bar-translucent.patch +++ /dev/null @@ -1,221 +0,0 @@ -diff --git a/node_modules/react-native/Libraries/Modal/Modal.d.ts b/node_modules/react-native/Libraries/Modal/Modal.d.ts -index 4cc2df2..a501b27 100644 ---- a/node_modules/react-native/Libraries/Modal/Modal.d.ts -+++ b/node_modules/react-native/Libraries/Modal/Modal.d.ts -@@ -94,6 +94,11 @@ export interface ModalPropsAndroid { - * Determines whether your modal should go under the system statusbar. - */ - statusBarTranslucent?: boolean | undefined; -+ -+ /** -+ * Determines whether your modal should go under the system navigationbar. -+ */ -+ navigationBarTranslucent?: boolean | undefined; - } - - export type ModalProps = ModalBaseProps & -diff --git a/node_modules/react-native/Libraries/Modal/Modal.js b/node_modules/react-native/Libraries/Modal/Modal.js -index f0cb214..2c52e0d 100644 ---- a/node_modules/react-native/Libraries/Modal/Modal.js -+++ b/node_modules/react-native/Libraries/Modal/Modal.js -@@ -95,6 +95,14 @@ export type Props = $ReadOnly<{| - */ - statusBarTranslucent?: ?boolean, - -+ /** -+ * The `navigationBarTranslucent` prop determines whether your modal should go under -+ * the system navigationbar. -+ * -+ * See https://reactnative.dev/docs/modal.html#navigationbartranslucent-android -+ */ -+ navigationBarTranslucent?: ?boolean, -+ - /** - * The `hardwareAccelerated` prop controls whether to force hardware - * acceleration for the underlying window. -@@ -170,6 +178,14 @@ function confirmProps(props: Props) { - `Modal with '${props.presentationStyle}' presentation style and 'transparent' value is not supported.`, - ); - } -+ if ( -+ props.navigationBarTranslucent === true && -+ props.statusBarTranslucent !== true -+ ) { -+ console.warn( -+ 'Modal with translucent navigation bar and without translucent status bar is not supported.', -+ ); -+ } - } - } - -@@ -290,6 +306,7 @@ class Modal extends React.Component { - onDismiss={onDismiss} - visible={this.props.visible} - statusBarTranslucent={this.props.statusBarTranslucent} -+ navigationBarTranslucent={this.props.navigationBarTranslucent} - identifier={this._identifier} - style={styles.modal} - // $FlowFixMe[method-unbinding] added when improving typing for this parameters -diff --git a/node_modules/react-native/React/Views/RCTModalHostView.h b/node_modules/react-native/React/Views/RCTModalHostView.h -index 2fcdcae..0469c23 100644 ---- a/node_modules/react-native/React/Views/RCTModalHostView.h -+++ b/node_modules/react-native/React/Views/RCTModalHostView.h -@@ -27,6 +27,7 @@ - - // Android only - @property (nonatomic, assign) BOOL statusBarTranslucent; -+@property (nonatomic, assign) BOOL navigationBarTranslucent; - @property (nonatomic, assign) BOOL hardwareAccelerated; - @property (nonatomic, assign) BOOL animated; - -diff --git a/node_modules/react-native/React/Views/RCTModalHostViewManager.m b/node_modules/react-native/React/Views/RCTModalHostViewManager.m -index df454fc..c368d3e 100644 ---- a/node_modules/react-native/React/Views/RCTModalHostViewManager.m -+++ b/node_modules/react-native/React/Views/RCTModalHostViewManager.m -@@ -138,6 +138,7 @@ - (UIViewController *)_topMostViewControllerFrom:(UIViewController *)rootViewCon - RCT_EXPORT_VIEW_PROPERTY(presentationStyle, UIModalPresentationStyle) - RCT_EXPORT_VIEW_PROPERTY(transparent, BOOL) - RCT_EXPORT_VIEW_PROPERTY(statusBarTranslucent, BOOL) -+RCT_EXPORT_VIEW_PROPERTY(navigationBarTranslucent, BOOL) - RCT_EXPORT_VIEW_PROPERTY(hardwareAccelerated, BOOL) - RCT_EXPORT_VIEW_PROPERTY(animated, BOOL) - RCT_EXPORT_VIEW_PROPERTY(onShow, RCTDirectEventBlock) -diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt -index f8cadda..88157ae 100644 ---- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt -+++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt -@@ -57,6 +57,14 @@ public class ReactModalHostManager : - view.statusBarTranslucent = statusBarTranslucent - } - -+ @ReactProp(name = "navigationBarTranslucent") -+ public override fun setNavigationBarTranslucent( -+ view: ReactModalHostView, -+ navigationBarTranslucent: Boolean -+ ) { -+ view.navigationBarTranslucent = navigationBarTranslucent -+ } -+ - @ReactProp(name = "hardwareAccelerated") - public override fun setHardwareAccelerated( - view: ReactModalHostView, -diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt -index 3a0c928..19be70b 100644 ---- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt -+++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt -@@ -47,6 +47,7 @@ import com.facebook.react.uimanager.UIManagerModule - import com.facebook.react.uimanager.events.EventDispatcher - import com.facebook.react.views.common.ContextUtils - import com.facebook.react.views.view.setStatusBarTranslucency -+import com.facebook.react.views.view.setSystemBarsTranslucency - import com.facebook.react.views.view.ReactViewGroup - import java.util.Objects - -@@ -79,6 +80,12 @@ public class ReactModalHostView(context: ThemedReactContext) : - createNewDialog = true - } - -+ public var navigationBarTranslucent: Boolean = false -+ set(value) { -+ field = value -+ createNewDialog = true -+ } -+ - public var animationType: String? = null - set(value) { - field = value -@@ -324,7 +331,12 @@ public class ReactModalHostView(context: ThemedReactContext) : - } - } - -- dialogWindow.setStatusBarTranslucency(statusBarTranslucent) -+ // Navigation bar cannot be translucent without status bar being translucent too -+ dialogWindow.setSystemBarsTranslucency(navigationBarTranslucent) -+ -+ if (!navigationBarTranslucent) { -+ dialogWindow.setStatusBarTranslucency(statusBarTranslucent) -+ } - - if (transparent) { - dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) -diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt -index 4795564..0510705 100644 ---- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt -+++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt -@@ -7,10 +7,14 @@ - - package com.facebook.react.views.view - -+import android.content.res.Configuration -+import android.graphics.Color - import android.os.Build - import android.view.Window - import android.view.WindowManager - import androidx.core.view.ViewCompat -+import androidx.core.view.WindowCompat -+import androidx.core.view.WindowInsetsControllerCompat - - @Suppress("DEPRECATION") - public fun Window.setStatusBarTranslucency(isTranslucent: Boolean) { -@@ -31,6 +35,42 @@ public fun Window.setStatusBarTranslucency(isTranslucent: Boolean) { - ViewCompat.requestApplyInsets(decorView) - } - -+@Suppress("DEPRECATION") -+public fun Window.setSystemBarsTranslucency(isTranslucent: Boolean) { -+ WindowCompat.setDecorFitsSystemWindows(this, !isTranslucent) -+ -+ if (isTranslucent) { -+ val isDarkMode = -+ context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == -+ Configuration.UI_MODE_NIGHT_YES -+ -+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { -+ isStatusBarContrastEnforced = false -+ isNavigationBarContrastEnforced = false -+ } -+ -+ statusBarColor = Color.TRANSPARENT -+ navigationBarColor = when { -+ Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q -> Color.TRANSPARENT -+ Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1 && !isDarkMode -> -+ Color.argb(0xe6, 0xFF, 0xFF, 0xFF) -+ else -> Color.argb(0x80, 0x1b, 0x1b, 0x1b) -+ } -+ -+ WindowInsetsControllerCompat(this, this.decorView).run { -+ isAppearanceLightNavigationBars = !isDarkMode -+ } -+ -+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { -+ attributes.layoutInDisplayCutoutMode = when { -+ Build.VERSION.SDK_INT >= Build.VERSION_CODES.R -> -+ WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS -+ else -> WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES -+ } -+ } -+ } -+} -+ - public fun Window.setStatusBarVisibility(isHidden: Boolean) { - if (isHidden) { - this.statusBarHide() -diff --git a/node_modules/react-native/src/private/specs/components/RCTModalHostViewNativeComponent.js b/node_modules/react-native/src/private/specs/components/RCTModalHostViewNativeComponent.js -index 86bf895..58ec294 100644 ---- a/node_modules/react-native/src/private/specs/components/RCTModalHostViewNativeComponent.js -+++ b/node_modules/react-native/src/private/specs/components/RCTModalHostViewNativeComponent.js -@@ -58,6 +58,14 @@ type NativeProps = $ReadOnly<{| - */ - statusBarTranslucent?: WithDefault, - -+ /** -+ * The `navigationBarTranslucent` prop determines whether your modal should go under -+ * the system navigationbar. -+ * -+ * See https://reactnative.dev/docs/modal#navigationBarTranslucent -+ */ -+ navigationBarTranslucent?: WithDefault, -+ - /** - * The `hardwareAccelerated` prop controls whether to force hardware - * acceleration for the underlying window. diff --git a/patches/react-native+0.76.3+024+hybrid-app.patch b/patches/react-native+0.76.3+024+hybrid-app.patch deleted file mode 100644 index 265e175fa5d9..000000000000 --- a/patches/react-native+0.76.3+024+hybrid-app.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff --git a/node_modules/react-native/React-Core.podspec b/node_modules/react-native/React-Core.podspec -index fe7db7b..a09bd18 100644 ---- a/node_modules/react-native/React-Core.podspec -+++ b/node_modules/react-native/React-Core.podspec -@@ -134,6 +134,7 @@ Pod::Spec.new do |s| - s.dependency "React-runtimescheduler" - s.dependency "Yoga" - s.dependency "glog" -+ s.dependency "React-rendererconsistency" - - s.resource_bundles = {'React-Core_privacy' => 'React/Resources/PrivacyInfo.xcprivacy'} - -diff --git a/node_modules/react-native/ReactCommon/React-Fabric.podspec b/node_modules/react-native/ReactCommon/React-Fabric.podspec -index f375ff1..ad3a269 100644 ---- a/node_modules/react-native/ReactCommon/React-Fabric.podspec -+++ b/node_modules/react-native/ReactCommon/React-Fabric.podspec -@@ -219,6 +219,14 @@ Pod::Spec.new do |s| - - end - -+ s.subspec "consistency" do |ss| -+ ss.dependency folly_dep_name, folly_version -+ ss.compiler_flags = folly_compiler_flags -+ ss.source_files = "react/renderer/consistency/**/*.{m,mm,cpp,h}" -+ ss.header_dir = "react/renderer/consistency" -+ -+ end -+ - s.subspec "uimanager" do |ss| - ss.subspec "consistency" do |sss| - sss.dependency folly_dep_name, folly_version -diff --git a/node_modules/react-native/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec b/node_modules/react-native/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec -index a71ccaa..243b7d8 100644 ---- a/node_modules/react-native/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec -+++ b/node_modules/react-native/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec -@@ -16,7 +16,9 @@ else - source[:tag] = "v#{version}" - end - --header_search_paths = [] -+header_search_paths = [ -+ "\"$(PODS_TARGET_SRCROOT)/ReactCommon/react/renderer/consistency\"", -+] - - if ENV['USE_FRAMEWORKS'] - header_search_paths << "\"$(PODS_TARGET_SRCROOT)/../../..\"" # this is needed to allow the rendererconsistency access its own files -diff --git a/node_modules/react-native/ReactCommon/reactperflogger/React-perflogger.podspec b/node_modules/react-native/ReactCommon/reactperflogger/React-perflogger.podspec -index 66dfbf4..bda7de7 100644 ---- a/node_modules/react-native/ReactCommon/reactperflogger/React-perflogger.podspec -+++ b/node_modules/react-native/ReactCommon/reactperflogger/React-perflogger.podspec -@@ -24,7 +24,8 @@ header_search_paths = [ - "\"$(PODS_TARGET_SRCROOT)/..\"", - "\"$(PODS_ROOT)/RCT-Folly\"", - "\"$(PODS_ROOT)/DoubleConversion\"", -- "\"$(PODS_ROOT)/fmt/include\"" -+ "\"$(PODS_ROOT)/fmt/include\"", -+ "\"$(PODS_ROOT)/boost\"" - ] - - Pod::Spec.new do |s| -diff --git a/node_modules/react-native/third-party-podspecs/boost.podspec b/node_modules/react-native/third-party-podspecs/boost.podspec -index 585af40..b312219 100644 ---- a/node_modules/react-native/third-party-podspecs/boost.podspec -+++ b/node_modules/react-native/third-party-podspecs/boost.podspec -@@ -19,12 +19,14 @@ Pod::Spec.new do |spec| - # Pinning to the same version as React.podspec. - spec.platforms = min_supported_versions - spec.requires_arc = false -- spec.source_files = 'boost/**/*.{hpp,cpp}' -+ # spec.source_files = 'boost/**/*.{hpp,cpp}' -+ spec.project_header_files = 'boost/**/list.hpp' - - spec.module_name = 'boost' - spec.header_dir = 'boost' - spec.preserve_path = 'boost' -- spec.header_mappings_dir = 'boost/boost' -+ spec.header_mappings_dir = './' - - spec.resource_bundles = {'boost_privacy' => 'boost/PrivacyInfo.xcprivacy'} -+ - end diff --git a/patches/react-native+0.76.3+027+measureText-full-width-if-wraps.patch b/patches/react-native+0.76.3+027+measureText-full-width-if-wraps.patch deleted file mode 100644 index a54eac9ada85..000000000000 --- a/patches/react-native+0.76.3+027+measureText-full-width-if-wraps.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java -index 0c4e435..ab94785 100644 ---- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java -+++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java -@@ -606,6 +606,10 @@ public class TextLayoutManager { - for (int lineIndex = 0; lineIndex < calculatedLineCount; lineIndex++) { - boolean endsWithNewLine = - text.length() > 0 && text.charAt(layout.getLineEnd(lineIndex) - 1) == '\n'; -+ if (!endsWithNewLine && lineIndex + 1 < layout.getLineCount()) { -+ calculatedWidth = width; -+ break; -+ } - float lineWidth = - endsWithNewLine ? layout.getLineMax(lineIndex) : layout.getLineWidth(lineIndex); - if (lineWidth > calculatedWidth) { -diff --git a/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm b/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm -index 8b00c5f..1ab0761 100644 ---- a/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm -+++ b/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm -@@ -347,8 +347,33 @@ - (TextMeasurement)_measureTextStorage:(NSTextStorage *)textStorage - NSTextContainer *textContainer = layoutManager.textContainers.firstObject; - [layoutManager ensureLayoutForTextContainer:textContainer]; - -+ NSRange glyphRange = [layoutManager glyphRangeForTextContainer:textContainer]; -+ __block BOOL textDidWrap = NO; -+ [layoutManager -+ enumerateLineFragmentsForGlyphRange:glyphRange -+ usingBlock:^( -+ CGRect overallRect, -+ CGRect usedRect, -+ NSTextContainer *_Nonnull usedTextContainer, -+ NSRange lineGlyphRange, -+ BOOL *_Nonnull stop) { -+ NSRange range = [layoutManager characterRangeForGlyphRange:lineGlyphRange -+ actualGlyphRange:nil]; -+ NSUInteger lastCharacterIndex = range.location + range.length - 1; -+ BOOL endsWithNewLine = -+ [textStorage.string characterAtIndex:lastCharacterIndex] == '\n'; -+ if (!endsWithNewLine && textStorage.string.length > lastCharacterIndex + 1) { -+ textDidWrap = YES; -+ *stop = YES; -+ } -+ }]; -+ - CGSize size = [layoutManager usedRectForTextContainer:textContainer].size; - -+ if (textDidWrap) { -+ size.width = textContainer.size.width; -+ } -+ - size = (CGSize){RCTCeilPixelValue(size.width), RCTCeilPixelValue(size.height)}; - - __block auto attachments = TextMeasurement::Attachments{}; diff --git a/patches/react-native+0.76.3+028+fix-scroll-the-cursor-into-view-when-focus.patch b/patches/react-native+0.76.3+028+fix-scroll-the-cursor-into-view-when-focus.patch deleted file mode 100644 index 4e20f0a7d797..000000000000 --- a/patches/react-native+0.76.3+028+fix-scroll-the-cursor-into-view-when-focus.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm -index 4827219..2e7b1a1 100644 ---- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm -+++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm -@@ -114,6 +114,7 @@ - (void)didMoveToWindow - const auto &props = static_cast(*_props); - if (props.autoFocus) { - [_backedTextInputView becomeFirstResponder]; -+ [self scrollCursorIntoView]; - } - _didMoveToWindow = YES; - [self initializeReturnKeyType]; -@@ -342,6 +343,7 @@ - (BOOL)textInputShouldBeginEditing - - - (void)textInputDidBeginEditing - { -+ [self scrollCursorIntoView]; - if (_eventEmitter) { - static_cast(*_eventEmitter).onFocus([self _textInputMetrics]); - } -@@ -729,6 +731,15 @@ - (void)_setAttributedString:(NSAttributedString *)attributedString - _lastStringStateWasUpdatedWith = attributedString; - } - -+- (void)scrollCursorIntoView { -+ UITextRange *selectedRange = _backedTextInputView.selectedTextRange; -+ if (selectedRange.empty) { -+ NSInteger offsetStart = [_backedTextInputView offsetFromPosition:_backedTextInputView.beginningOfDocument -+ toPosition:selectedRange.start]; -+ [_backedTextInputView scrollRangeToVisible:NSMakeRange(offsetStart, 0)]; -+ } -+} -+ - // Ensure that newly typed text will inherit any custom attributes. We follow the logic of RN Android, where attributes - // to the left of the cursor are copied into new text, unless we are at the start of the field, in which case we will - // copy the attributes from text to the right. This allows consistency between backed input and new AttributedText diff --git a/patches/react-native+0.76.3+001+initial.patch b/patches/react-native+0.77.1+001+initial.patch similarity index 73% rename from patches/react-native+0.76.3+001+initial.patch rename to patches/react-native+0.77.1+001+initial.patch index ddcf34dad91c..1f63ad379aaf 100644 --- a/patches/react-native+0.76.3+001+initial.patch +++ b/patches/react-native+0.77.1+001+initial.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/react-native/React/Views/RCTModalHostViewManager.m b/node_modules/react-native/React/Views/RCTModalHostViewManager.m -index 8407662..df454fc 100644 +index eccf05f..e2ae7e2 100644 --- a/node_modules/react-native/React/Views/RCTModalHostViewManager.m +++ b/node_modules/react-native/React/Views/RCTModalHostViewManager.m @@ -64,6 +64,13 @@ - (void)presentModalHostView:(RCTModalHostView *)modalHostView @@ -13,6 +13,6 @@ index 8407662..df454fc 100644 + if (window && window.rootViewController && [window.rootViewController.view isFirstResponder]) { + [window.rootViewController.view resignFirstResponder]; + } - [[self _topMostViewControllerFrom:[modalHostView reactViewController]] presentViewController:viewController - animated:animated - completion:completionBlock]; + [[modalHostView reactViewController] presentViewController:viewController + animated:animated + completion:completionBlock]; diff --git a/patches/react-native+0.76.3+002+fixMVCPAndroid.patch b/patches/react-native+0.77.1+002+fixMVCPAndroid.patch similarity index 88% rename from patches/react-native+0.76.3+002+fixMVCPAndroid.patch rename to patches/react-native+0.77.1+002+fixMVCPAndroid.patch index abe20aa2895a..287bb86cb78b 100644 --- a/patches/react-native+0.76.3+002+fixMVCPAndroid.patch +++ b/patches/react-native+0.77.1+002+fixMVCPAndroid.patch @@ -126,45 +126,43 @@ index 26c9aeb..b2cff8b 100644 @Override diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java -index 1d7800d..b612029 100644 +index 8dc00b6..97bb202 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java -@@ -508,6 +508,10 @@ public class ReactHorizontalScrollView extends HorizontalScrollView - mOnScrollDispatchHelper.getYFlingVelocity(), - mEnableSyncOnScroll); - mPreventReentry = false; -+ +@@ -483,6 +483,9 @@ public class ReactHorizontalScrollView extends HorizontalScrollView + mOnScrollDispatchHelper.getXFlingVelocity(), + mOnScrollDispatchHelper.getYFlingVelocity()); + } + if (mMaintainVisibleContentPositionHelper != null) { + mMaintainVisibleContentPositionHelper.onScroll(); + } + } finally { + Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE); } - } - -@@ -1459,7 +1463,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView - if (layoutDirection == LAYOUT_DIRECTION_RTL) { +@@ -1414,7 +1417,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView + if (v.getLayoutDirection() == LAYOUT_DIRECTION_RTL) { adjustPositionForContentChangeRTL(left, right, oldLeft, oldRight); } else if (mMaintainVisibleContentPositionHelper != null) { - mMaintainVisibleContentPositionHelper.updateScrollPosition(); + mMaintainVisibleContentPositionHelper.onLayout(); } + ReactScrollViewHelper.emitLayoutChangeEvent(this); } - diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java -index e49a25a..0eb79ed 100644 +index adf92c1..49a1470 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java -@@ -432,6 +432,10 @@ public class ReactScrollView extends ScrollView - mOnScrollDispatchHelper.getYFlingVelocity(), - mEnableSyncOnScroll); - mPreventReentry = false; -+ +@@ -417,6 +417,9 @@ public class ReactScrollView extends ScrollView + mOnScrollDispatchHelper.getXFlingVelocity(), + mOnScrollDispatchHelper.getYFlingVelocity()); + } + if (mMaintainVisibleContentPositionHelper != null) { + mMaintainVisibleContentPositionHelper.onScroll(); + } + } finally { + Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE); } - } - -@@ -1235,7 +1239,7 @@ public class ReactScrollView extends ScrollView +@@ -1224,7 +1227,7 @@ public class ReactScrollView extends ScrollView } if (mMaintainVisibleContentPositionHelper != null) { diff --git a/patches/react-native+0.76.3+003+disableTextInputRecycling.patch b/patches/react-native+0.77.1+003+disableTextInputRecycling.patch similarity index 100% rename from patches/react-native+0.76.3+003+disableTextInputRecycling.patch rename to patches/react-native+0.77.1+003+disableTextInputRecycling.patch diff --git a/patches/react-native+0.76.3+004+iOSFontResolution.patch b/patches/react-native+0.77.1+004+iOSFontResolution.patch similarity index 79% rename from patches/react-native+0.76.3+004+iOSFontResolution.patch rename to patches/react-native+0.77.1+004+iOSFontResolution.patch index 5257fe75392d..b91f31326456 100644 --- a/patches/react-native+0.76.3+004+iOSFontResolution.patch +++ b/patches/react-native+0.77.1+004+iOSFontResolution.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm b/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm -index 1ff8c1f..921b495 100644 +index b086734..7d7f770 100644 --- a/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +++ b/node_modules/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm -@@ -37,9 +37,6 @@ static RCTFontProperties RCTResolveFontProperties( +@@ -38,9 +38,6 @@ static RCTFontProperties RCTResolveFontProperties( { fontProperties.family = fontProperties.family.length ? fontProperties.family : baseFontProperties.family; fontProperties.size = !isnan(fontProperties.size) ? fontProperties.size : baseFontProperties.size; @@ -12,7 +12,7 @@ index 1ff8c1f..921b495 100644 fontProperties.variant = fontProperties.variant != RCTFontVariantUndefined ? fontProperties.variant : baseFontProperties.variant; return fontProperties; -@@ -161,10 +158,14 @@ static RCTFontStyle RCTGetFontStyle(UIFont *font) +@@ -157,10 +154,14 @@ static RCTFontStyle RCTGetFontStyle(UIFont *font) if ([fontProperties.family isEqualToString:defaultFontProperties.family]) { // Handle system font as special case. This ensures that we preserve // the specific metrics of the standard system font as closely as possible. @@ -22,23 +22,21 @@ index 1ff8c1f..921b495 100644 font = RCTDefaultFontWithFontProperties(fontProperties); } else { NSArray *fontNames = [UIFont fontNamesForFamilyName:fontProperties.family]; -- -+ UIFontWeight fontWeight = fontProperties.weight; + UIFontWeight fontWeight = fontProperties.weight; + RCTFontStyle fontStyle = fontProperties.style; + if (fontNames.count == 0) { // Gracefully handle being given a font name rather than font family, for - // example: "Helvetica Light Oblique" rather than just "Helvetica". -@@ -174,18 +175,24 @@ static RCTFontStyle RCTGetFontStyle(UIFont *font) +@@ -173,15 +174,18 @@ static RCTFontStyle RCTGetFontStyle(UIFont *font) // Failback to system font. font = [UIFont systemFontOfSize:effectiveFontSize weight:fontProperties.weight]; } -- } else { -+ + fontNames = [UIFont fontNamesForFamilyName:font.familyName]; + fontWeight = isnan(fontWeight) ? RCTGetFontWeight(font) : fontWeight; + fontStyle = fontStyle == RCTFontStyleUndefined ? RCTGetFontStyle(font) : fontStyle; -+ } -+ + } + +- if (fontNames.count > 0) { + if (fontNames.count != 0) { // Get the closest font that matches the given weight for the fontFamily CGFloat closestWeight = INFINITY; @@ -50,9 +48,3 @@ index 1ff8c1f..921b495 100644 continue; } - CGFloat testWeight = RCTGetFontWeight(fontMatch); -- if (ABS(testWeight - fontProperties.weight) < ABS(closestWeight - fontProperties.weight)) { -+ if (ABS(testWeight - fontWeight) < ABS(closestWeight - fontWeight)) { - font = fontMatch; - closestWeight = testWeight; - } diff --git a/patches/react-native+0.76.3+005+resetAutoresizingOnView.patch b/patches/react-native+0.77.1+005+resetAutoresizingOnView.patch similarity index 100% rename from patches/react-native+0.76.3+005+resetAutoresizingOnView.patch rename to patches/react-native+0.77.1+005+resetAutoresizingOnView.patch diff --git a/patches/react-native+0.76.3+006+disableNonTranslucentStatusBar.patch b/patches/react-native+0.77.1+006+disableNonTranslucentStatusBar.patch similarity index 100% rename from patches/react-native+0.76.3+006+disableNonTranslucentStatusBar.patch rename to patches/react-native+0.77.1+006+disableNonTranslucentStatusBar.patch diff --git a/patches/react-native+0.76.3+007+TextInput.patch b/patches/react-native+0.77.1+007+TextInput.patch similarity index 100% rename from patches/react-native+0.76.3+007+TextInput.patch rename to patches/react-native+0.77.1+007+TextInput.patch diff --git a/patches/react-native+0.76.3+008+iOSCoreAnimationBorderRendering.patch b/patches/react-native+0.77.1+008+iOSCoreAnimationBorderRendering.patch similarity index 100% rename from patches/react-native+0.76.3+008+iOSCoreAnimationBorderRendering.patch rename to patches/react-native+0.77.1+008+iOSCoreAnimationBorderRendering.patch diff --git a/patches/react-native+0.77.1+009+copyStateOnClone.patch b/patches/react-native+0.77.1+009+copyStateOnClone.patch new file mode 100644 index 000000000000..854bc2b7baf7 --- /dev/null +++ b/patches/react-native+0.77.1+009+copyStateOnClone.patch @@ -0,0 +1,14 @@ +diff --git a/node_modules/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp b/node_modules/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp +index a9ca4d7..69e335f 100644 +--- a/node_modules/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp ++++ b/node_modules/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp +@@ -363,7 +363,8 @@ ShadowNode::Unshared ShadowNode::cloneTree( + children[childIndex] = childNode; + + childNode = parentNode.clone( +- {.children = std::make_shared(children)}); ++ {.children = std::make_shared(children), ++ .state = parentNode.getState()}); + } + + return std::const_pointer_cast(childNode); diff --git a/patches/react-native+0.76.3+010+textinput-clear-command.patch b/patches/react-native+0.77.1+010+textinput-clear-command.patch similarity index 87% rename from patches/react-native+0.76.3+010+textinput-clear-command.patch rename to patches/react-native+0.77.1+010+textinput-clear-command.patch index 90986b7983c3..0b76dabc3c1c 100644 --- a/patches/react-native+0.76.3+010+textinput-clear-command.patch +++ b/patches/react-native+0.77.1+010+textinput-clear-command.patch @@ -35,7 +35,7 @@ index a77e5b4..6c4bbb2 100644 color: {process: require('../../StyleSheet/processColor').default}, autoComplete: true, diff --git a/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js b/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js -index 6798059..3c3288c 100644 +index eb314f2..53d9349 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js +++ b/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js @@ -85,6 +85,9 @@ const RCTTextInputViewConfig = { @@ -48,8 +48,8 @@ index 6798059..3c3288c 100644 topChangeSync: { registrationName: 'onChangeSync', }, -@@ -154,6 +157,7 @@ const RCTTextInputViewConfig = { - lineBreakStrategyIOS: true, +@@ -155,6 +158,7 @@ const RCTTextInputViewConfig = { + lineBreakModeIOS: true, smartInsertDelete: true, ...ConditionallyIgnoredEventHandlers({ + onClear: true, @@ -57,14 +57,14 @@ index 6798059..3c3288c 100644 onSelectionChange: true, onContentSizeChange: true, diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts b/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts -index 75837e3..a5b4a5a 100644 +index e9b4e76..f7074aa 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts -@@ -739,6 +739,13 @@ export interface TextInputProps +@@ -762,6 +762,13 @@ export interface TextInputProps | ((e: NativeSyntheticEvent) => void) | undefined; -+ /** ++ /** + * Callback that is called when the text input was cleared using the native clear command. + */ + onClear?: @@ -75,10 +75,10 @@ index 75837e3..a5b4a5a 100644 * Callback that is called when the text input's text changes. */ diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js -index 28d9036..367ac6e 100644 +index dcf1123..0107e78 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js -@@ -1423,6 +1423,11 @@ function InternalTextInput(props: Props): React.Node { +@@ -1447,6 +1447,11 @@ function InternalTextInput(props: Props): React.Node { }); }; @@ -90,7 +90,7 @@ index 28d9036..367ac6e 100644 const _onFocus = (event: FocusEvent) => { TextInputState.focusInput(inputRef.current); if (props.onFocus) { -@@ -1588,6 +1593,7 @@ function InternalTextInput(props: Props): React.Node { +@@ -1612,6 +1617,7 @@ function InternalTextInput(props: Props): React.Node { mostRecentEventCount={mostRecentEventCount} nativeID={id ?? props.nativeID} onBlur={_onBlur} @@ -98,7 +98,7 @@ index 28d9036..367ac6e 100644 onChange={_onChange} onContentSizeChange={props.onContentSizeChange} onFocus={_onFocus} -@@ -1654,6 +1660,7 @@ function InternalTextInput(props: Props): React.Node { +@@ -1678,6 +1684,7 @@ function InternalTextInput(props: Props): React.Node { nativeID={id ?? props.nativeID} numberOfLines={props.rows ?? props.numberOfLines} onBlur={_onBlur} @@ -107,10 +107,10 @@ index 28d9036..367ac6e 100644 onFocus={_onFocus} /* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm -index 20749a6..f58f147 100644 +index 9a010a3..db7c519 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm -@@ -62,6 +62,7 @@ @implementation RCTBaseTextInputViewManager { +@@ -63,6 +63,7 @@ @implementation RCTBaseTextInputViewManager { RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock) RCT_EXPORT_VIEW_PROPERTY(onKeyPressSync, RCTDirectEventBlock) @@ -119,10 +119,10 @@ index 20749a6..f58f147 100644 RCT_EXPORT_VIEW_PROPERTY(onSelectionChange, RCTDirectEventBlock) RCT_EXPORT_VIEW_PROPERTY(onScroll, RCTDirectEventBlock) diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm -index e74500f..cca41cd 100644 +index 71433c3..f8358ed 100644 --- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm -@@ -496,6 +496,19 @@ - (void)blur +@@ -521,6 +521,19 @@ - (void)blur [_backedTextInputView resignFirstResponder]; } @@ -233,7 +233,7 @@ index 0000000..0c142a0 + } +} diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java -index c65955f..a013151 100644 +index f18e569..2733e3c 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java @@ -8,6 +8,7 @@ @@ -244,7 +244,7 @@ index c65955f..a013151 100644 import android.content.Context; import android.content.res.ColorStateList; -@@ -268,6 +269,9 @@ public class ReactTextInputManager extends BaseViewManager) => void) | undefined; @@ -100,10 +100,10 @@ index a5b4a5a..47cdcfc 100644 * The string that will be rendered before text input has been entered */ diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js b/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js -index 638acd7..2f35731 100644 +index b61fe39..64a5b99 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js -@@ -94,6 +94,18 @@ export type EditingEvent = SyntheticEvent< +@@ -93,6 +93,18 @@ export type EditingEvent = SyntheticEvent< |}>, >; @@ -122,7 +122,7 @@ index 638acd7..2f35731 100644 type DataDetectorTypesType = | 'phoneNumber' | 'link' -@@ -812,6 +824,11 @@ export type Props = $ReadOnly<{| +@@ -833,6 +845,11 @@ export type Props = $ReadOnly<{| */ onScroll?: ?(e: ScrollEvent) => mixed, @@ -135,7 +135,7 @@ index 638acd7..2f35731 100644 * The string that will be rendered before text input has been entered. */ diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js -index 367ac6e..2ffb38b 100644 +index 0107e78..0684516 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js @@ -134,6 +134,18 @@ export type EditingEvent = SyntheticEvent< @@ -157,7 +157,7 @@ index 367ac6e..2ffb38b 100644 type DataDetectorTypesType = | 'phoneNumber' | 'link' -@@ -812,6 +824,11 @@ export type Props = $ReadOnly<{| +@@ -836,6 +848,11 @@ export type Props = $ReadOnly<{| */ onScroll?: ?(e: ScrollEvent) => mixed, @@ -290,7 +290,7 @@ index ac8e464..2b91802 100644 - (void)textViewProbablyDidChangeSelection diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.h b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.h -index 9a02b82..06442b4 100644 +index 4804624..90b7081 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.h +++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.h @@ -37,6 +37,7 @@ NS_ASSUME_NONNULL_BEGIN @@ -302,10 +302,10 @@ index 9a02b82..06442b4 100644 @property (nonatomic, assign) NSInteger mostRecentEventCount; @property (nonatomic, assign, readonly) NSInteger nativeEventCount; diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm -index b0c645f..6047486 100644 +index 95edfd5..5111bda 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm +++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm -@@ -554,6 +554,26 @@ - (void)textInputDidChangeSelection +@@ -574,6 +574,26 @@ - (void)textInputDidChangeSelection }); } @@ -333,10 +333,10 @@ index b0c645f..6047486 100644 { [self enforceTextAttributesIfNeeded]; diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm -index f58f147..e367394 100644 +index db7c519..ec05595 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm -@@ -66,6 +66,7 @@ @implementation RCTBaseTextInputViewManager { +@@ -67,6 +67,7 @@ @implementation RCTBaseTextInputViewManager { RCT_EXPORT_VIEW_PROPERTY(onChangeSync, RCTDirectEventBlock) RCT_EXPORT_VIEW_PROPERTY(onSelectionChange, RCTDirectEventBlock) RCT_EXPORT_VIEW_PROPERTY(onScroll, RCTDirectEventBlock) @@ -404,10 +404,10 @@ index 0318671..667e646 100644 #pragma mark - Layout diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm -index 568a6a8..4827219 100644 +index f8358ed..91aff1a 100644 --- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm -@@ -463,6 +463,13 @@ - (void)textInputDidChangeSelection +@@ -481,6 +481,13 @@ - (void)textInputDidChangeSelection } } @@ -445,7 +445,7 @@ index 0000000..bfb5819 + public void onPaste(String type, String data); +} diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java -index 639914b..df62f49 100644 +index 56a1069..272ea7d 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -9,6 +9,10 @@ package com.facebook.react.views.textinput; @@ -467,7 +467,7 @@ index 639914b..df62f49 100644 import android.os.Build; import android.os.Bundle; import android.text.Editable; -@@ -118,6 +123,7 @@ public class ReactEditText extends AppCompatEditText { +@@ -122,6 +127,7 @@ public class ReactEditText extends AppCompatEditText { private @Nullable SelectionWatcher mSelectionWatcher; private @Nullable ContentSizeWatcher mContentSizeWatcher; private @Nullable ScrollWatcher mScrollWatcher; @@ -475,7 +475,7 @@ index 639914b..df62f49 100644 private InternalKeyListener mKeyListener; private boolean mDetectScrollMovement = false; private boolean mOnKeyPress = false; -@@ -164,6 +170,7 @@ public class ReactEditText extends AppCompatEditText { +@@ -165,6 +171,7 @@ public class ReactEditText extends AppCompatEditText { mKeyListener = new InternalKeyListener(); } mScrollWatcher = null; @@ -483,7 +483,7 @@ index 639914b..df62f49 100644 mTextAttributes = new TextAttributes(); applyTextAttributes(); -@@ -331,8 +338,29 @@ public class ReactEditText extends AppCompatEditText { +@@ -332,8 +339,29 @@ public class ReactEditText extends AppCompatEditText { */ @Override public boolean onTextContextMenuItem(int id) { @@ -514,7 +514,7 @@ index 639914b..df62f49 100644 } return super.onTextContextMenuItem(id); } -@@ -394,6 +422,10 @@ public class ReactEditText extends AppCompatEditText { +@@ -395,6 +423,10 @@ public class ReactEditText extends AppCompatEditText { mScrollWatcher = scrollWatcher; } @@ -526,10 +526,10 @@ index 639914b..df62f49 100644 * Attempt to set a selection or fail silently. Intentionally meant to handle bad inputs. * EventCounter is the same one used as with text. diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java -index a013151..a8bd6f9 100644 +index 2733e3c..93c3bec 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java -@@ -272,6 +272,9 @@ public class ReactTextInputManager extends BaseViewManager; + #nodes: $ReadOnlyArray; + #props: {[string]: mixed}; ++ #connectedToView: boolean; + + constructor( + inputProps: {[string]: mixed}, +@@ -91,6 +92,7 @@ export default class AnimatedProps extends AnimatedNode { + this.#nodes = nodes; + this.#props = props; + this.#callback = callback; ++ this.#connectedToView = false; + } + + __getValue(): Object { +@@ -196,6 +198,8 @@ export default class AnimatedProps extends AnimatedNode { + + if (this.#animatedView) { + this.__connectAnimatedView(); ++ } else if (!this.#connectedToView && this._animatedView) { ++ this.__connectAnimatedView(); + } + } + } +@@ -220,6 +224,7 @@ export default class AnimatedProps extends AnimatedNode { + throw new Error('Unable to locate attached view in the native tree'); + } + } ++ this.#connectedToView = true; + NativeAnimatedHelper.API.connectAnimatedNodeToView( + this.__getNativeTag(), + nativeViewTag, +@@ -236,6 +241,7 @@ export default class AnimatedProps extends AnimatedNode { + throw new Error('Unable to locate attached view in the native tree'); + } + } ++ this.#connectedToView = false; + NativeAnimatedHelper.API.disconnectAnimatedNodeFromView( + this.__getNativeTag(), + nativeViewTag, diff --git a/patches/react-native+0.76.3+014+fixScrollViewState.patch b/patches/react-native+0.77.1+014+fixScrollViewState.patch similarity index 100% rename from patches/react-native+0.76.3+014+fixScrollViewState.patch rename to patches/react-native+0.77.1+014+fixScrollViewState.patch diff --git a/patches/react-native+0.76.3+015+redactAppParameters.patch b/patches/react-native+0.77.1+015+redactAppParameters.patch similarity index 100% rename from patches/react-native+0.76.3+015+redactAppParameters.patch rename to patches/react-native+0.77.1+015+redactAppParameters.patch diff --git a/patches/react-native+0.76.3+016+android-keyboard-avoiding-view.patch b/patches/react-native+0.77.1+016+android-keyboard-avoiding-view.patch similarity index 91% rename from patches/react-native+0.76.3+016+android-keyboard-avoiding-view.patch rename to patches/react-native+0.77.1+016+android-keyboard-avoiding-view.patch index 27fa6074e6ce..218254a85605 100644 --- a/patches/react-native+0.76.3+016+android-keyboard-avoiding-view.patch +++ b/patches/react-native+0.77.1+016+android-keyboard-avoiding-view.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java -index ed1aba8..0a9284f 100644 +index a42933c..3d01cec 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java -@@ -891,7 +891,9 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot { +@@ -923,7 +923,9 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot { sendEvent( "keyboardDidHide", createKeyboardEventPayload( @@ -13,7 +13,7 @@ index ed1aba8..0a9284f 100644 0, PixelUtil.toDIPFromPixel(mVisibleViewArea.width()), 0)); -@@ -940,7 +942,9 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot { +@@ -972,7 +974,9 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot { sendEvent( "keyboardDidHide", createKeyboardEventPayload( diff --git a/patches/react-native+0.76.3+020+fix-mask-persisting-recycling.patch b/patches/react-native+0.77.1+017+fix-mask-persisting-recycling.patch similarity index 100% rename from patches/react-native+0.76.3+020+fix-mask-persisting-recycling.patch rename to patches/react-native+0.77.1+017+fix-mask-persisting-recycling.patch diff --git a/patches/react-native+0.76.3+022+fix-text-selecting-on-change.patch b/patches/react-native+0.77.1+018+fix-text-selecting-on-change.patch similarity index 86% rename from patches/react-native+0.76.3+022+fix-text-selecting-on-change.patch rename to patches/react-native+0.77.1+018+fix-text-selecting-on-change.patch index c6b079a8eec6..80dafbfaed58 100644 --- a/patches/react-native+0.76.3+022+fix-text-selecting-on-change.patch +++ b/patches/react-native+0.77.1+018+fix-text-selecting-on-change.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java -index b134908..26ef77b 100644 +index 272ea7d..840b5f5 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java -@@ -136,6 +136,7 @@ public class ReactEditText extends AppCompatEditText { +@@ -140,6 +140,7 @@ public class ReactEditText extends AppCompatEditText { private boolean mContextMenuHidden = false; private boolean mDidAttachToWindow = false; private boolean mSelectTextOnFocus = false; @@ -10,7 +10,7 @@ index b134908..26ef77b 100644 private @Nullable String mPlaceholder = null; private Overflow mOverflow = Overflow.VISIBLE; -@@ -256,11 +257,11 @@ public class ReactEditText extends AppCompatEditText { +@@ -257,11 +258,11 @@ public class ReactEditText extends AppCompatEditText { @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { onContentSizeChange(); @@ -24,7 +24,7 @@ index b134908..26ef77b 100644 } } -@@ -389,6 +390,7 @@ public class ReactEditText extends AppCompatEditText { +@@ -390,6 +391,7 @@ public class ReactEditText extends AppCompatEditText { if (getShowSoftInputOnFocus()) { showSoftKeyboard(); } diff --git a/patches/react-native+0.76.3+025+fix-scroll-view-jump.patch b/patches/react-native+0.77.1+019+fix-scroll-view-jump.patch similarity index 100% rename from patches/react-native+0.76.3+025+fix-scroll-view-jump.patch rename to patches/react-native+0.77.1+019+fix-scroll-view-jump.patch diff --git a/patches/react-native+0.76.3+026+fix-dropping-mutations-in-transactions.patch b/patches/react-native+0.77.1+020+fix-dropping-mutations-in-transactions.patch similarity index 89% rename from patches/react-native+0.76.3+026+fix-dropping-mutations-in-transactions.patch rename to patches/react-native+0.77.1+020+fix-dropping-mutations-in-transactions.patch index 7e9d05865c99..c1a5fed2af1f 100644 --- a/patches/react-native+0.76.3+026+fix-dropping-mutations-in-transactions.patch +++ b/patches/react-native+0.77.1+020+fix-dropping-mutations-in-transactions.patch @@ -1,8 +1,8 @@ -diff --git a/node_modules/react-native/ReactAndroid/src/main/jni/react/fabric/Binding.cpp b/node_modules/react-native/ReactAndroid/src/main/jni/react/fabric/Binding.cpp -index 3332d68..b1bc786 100644 ---- a/node_modules/react-native/ReactAndroid/src/main/jni/react/fabric/Binding.cpp -+++ b/node_modules/react-native/ReactAndroid/src/main/jni/react/fabric/Binding.cpp -@@ -486,7 +486,7 @@ void Binding::schedulerDidFinishTransaction( +diff --git a/node_modules/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp b/node_modules/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +index ebe6f1d..0d9897b 100644 +--- a/node_modules/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp ++++ b/node_modules/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +@@ -543,7 +543,7 @@ void FabricUIManagerBinding::schedulerDidFinishTransaction( mountingTransaction->getSurfaceId(); }); diff --git a/patches/react-native+0.76.3+029+fix-crash-when-deleting-expense.patch b/patches/react-native+0.77.1+021+fix-crash-when-deleting-expense.patch similarity index 100% rename from patches/react-native+0.76.3+029+fix-crash-when-deleting-expense.patch rename to patches/react-native+0.77.1+021+fix-crash-when-deleting-expense.patch diff --git a/patches/react-native+0.76.3+030+disable-suggestion-pop-up.patch b/patches/react-native+0.77.1+022+disable-suggestion-pop-up.patch similarity index 89% rename from patches/react-native+0.76.3+030+disable-suggestion-pop-up.patch rename to patches/react-native+0.77.1+022+disable-suggestion-pop-up.patch index 790c283edc8b..c9a9238a9510 100644 --- a/patches/react-native+0.76.3+030+disable-suggestion-pop-up.patch +++ b/patches/react-native+0.77.1+022+disable-suggestion-pop-up.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js b/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js -index 0973ae8..d5e6cee 100644 +index 865ccb2..4bedac9 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js +++ b/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js -@@ -169,6 +169,7 @@ const RCTTextInputViewConfig = { +@@ -170,6 +170,7 @@ const RCTTextInputViewConfig = { onChangeSync: true, onKeyPressSync: true, }), @@ -11,7 +11,7 @@ index 0973ae8..d5e6cee 100644 }; diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts b/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts -index 47cdcfc..22c42ae 100644 +index 214ccc0..2112772 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts @@ -136,6 +136,11 @@ export interface DocumentSelectionState extends EventEmitter { @@ -27,10 +27,10 @@ index 47cdcfc..22c42ae 100644 * enum('never', 'while-editing', 'unless-editing', 'always') * When the clear button should appear on the right side of the text view diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js b/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js -index 2f35731..a1455e7 100644 +index 64a5b99..2a7660c 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.flow.js -@@ -224,6 +224,12 @@ export type enterKeyHintType = +@@ -228,6 +228,12 @@ export type enterKeyHintType = type PasswordRules = string; type IOSProps = $ReadOnly<{| @@ -44,10 +44,10 @@ index 2f35731..a1455e7 100644 * When the clear button should appear on the right side of the text view. * This property is supported only for single-line TextInput component. diff --git a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js -index 2ffb38b..40e732f 100644 +index 0684516..a077ccc 100644 --- a/node_modules/react-native/Libraries/Components/TextInput/TextInput.js +++ b/node_modules/react-native/Libraries/Components/TextInput/TextInput.js -@@ -267,6 +267,12 @@ export type enterKeyHintType = +@@ -272,6 +272,12 @@ export type enterKeyHintType = type PasswordRules = string; type IOSProps = $ReadOnly<{| @@ -61,12 +61,12 @@ index 2ffb38b..40e732f 100644 * When the clear button should appear on the right side of the text view. * This property is supported only for single-line TextInput component. diff --git a/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.h b/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.h -index 205f994..3b528d2 100644 +index e176ff3..be946f8 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.h +++ b/node_modules/react-native/Libraries/Text/TextInput/Multiline/RCTUITextView.h -@@ -38,6 +38,8 @@ NS_ASSUME_NONNULL_BEGIN - +@@ -39,6 +39,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, strong, nullable) NSString *inputAccessoryViewID; + @property (nonatomic, strong, nullable) NSString *inputAccessoryViewButtonLabel; +@property (nonatomic, assign) BOOL disableKeyboardShortcuts; + @@ -122,10 +122,10 @@ index 065a819..b521dd9 100644 - (void)setFont:(UIFont *)font diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h b/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h -index cc51013..26a112f 100644 +index e3df41a..1f1af7e 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h -@@ -51,6 +51,8 @@ NS_ASSUME_NONNULL_BEGIN +@@ -52,6 +52,8 @@ NS_ASSUME_NONNULL_BEGIN // Use `attributedText.string` instead. @property (nonatomic, copy, nullable) NSString *text NS_UNAVAILABLE; @@ -135,7 +135,7 @@ index cc51013..26a112f 100644 NS_ASSUME_NONNULL_END diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm -index 6047486..5d1e97b 100644 +index 4d82c72..0d6f8aa 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm +++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.mm @@ -30,6 +30,8 @@ @implementation RCTBaseTextInputView { @@ -147,7 +147,7 @@ index 6047486..5d1e97b 100644 } - (void)reactUpdateResponderOffsetForScrollView:(RCTScrollView *)scrollView -@@ -64,6 +66,8 @@ - (instancetype)initWithBridge:(RCTBridge *)bridge +@@ -65,6 +67,8 @@ - (instancetype)initWithBridge:(RCTBridge *)bridge _bridge = bridge; _eventDispatcher = bridge.eventDispatcher; [self initializeReturnKeyType]; @@ -156,8 +156,8 @@ index 6047486..5d1e97b 100644 } return self; -@@ -374,6 +378,25 @@ - (void)setShowSoftInputOnFocus:(BOOL)showSoftInputOnFocus - } +@@ -394,6 +398,25 @@ - (void)setInputAccessoryViewButtonLabel:(NSString *)inputAccessoryViewButtonLab + self.backedTextInputView.inputAccessoryViewButtonLabel = inputAccessoryViewButtonLabel; } +- (void)setDisableKeyboardShortcuts:(BOOL)disableKeyboardShortcuts @@ -183,10 +183,10 @@ index 6047486..5d1e97b 100644 - (BOOL)textInputShouldBeginEditing diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm -index e367394..08ec761 100644 +index ec05595..4b43542 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm -@@ -70,6 +70,8 @@ @implementation RCTBaseTextInputViewManager { +@@ -71,6 +71,8 @@ @implementation RCTBaseTextInputViewManager { RCT_EXPORT_VIEW_PROPERTY(mostRecentEventCount, NSInteger) @@ -196,10 +196,10 @@ index e367394..08ec761 100644 RCT_EXPORT_SHADOW_PROPERTY(placeholder, NSString) RCT_EXPORT_SHADOW_PROPERTY(onContentSizeChange, RCTDirectEventBlock) diff --git a/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.h b/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.h -index 91f8eb0..fbf9f32 100644 +index 13c0b22..fe6d957 100644 --- a/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.h +++ b/node_modules/react-native/Libraries/Text/TextInput/Singleline/RCTUITextField.h -@@ -33,6 +33,7 @@ NS_ASSUME_NONNULL_BEGIN +@@ -34,6 +34,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, assign, readonly) CGFloat zoomScale; @property (nonatomic, assign, readonly) CGPoint contentOffset; @property (nonatomic, assign, readonly) UIEdgeInsets contentInset; @@ -256,12 +256,12 @@ index 667e646..617f05f 100644 - (NSDictionary *)_placeholderTextAttributes diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm -index 2e7b1a1..abd91ef 100644 +index 91aff1a..673043c 100644 --- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm -@@ -278,6 +278,11 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & - if (newTextInputProps.inputAccessoryViewID != oldTextInputProps.inputAccessoryViewID) { - _backedTextInputView.inputAccessoryViewID = RCTNSStringFromString(newTextInputProps.inputAccessoryViewID); +@@ -290,6 +290,11 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & + _backedTextInputView.inputAccessoryViewButtonLabel = + RCTNSStringFromString(newTextInputProps.inputAccessoryViewButtonLabel); } + + if (newTextInputProps.disableKeyboardShortcuts != oldTextInputProps.disableKeyboardShortcuts) { @@ -272,7 +272,7 @@ index 2e7b1a1..abd91ef 100644 [self setDefaultInputAccessoryView]; diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm -index 6345758..92c56b4 100644 +index 2b0278d..6e562ad 100644 --- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm @@ -45,6 +45,7 @@ void RCTCopyBackedTextInput( @@ -284,42 +284,39 @@ index 6345758..92c56b4 100644 [toTextInput setSelectedTextRange:fromTextInput.selectedTextRange notifyDelegate:NO]; } diff --git a/node_modules/react-native/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp b/node_modules/react-native/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp -index ec0f350..56c3b4f 100644 +index 80cbdc5..5acaa45 100644 --- a/node_modules/react-native/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +++ b/node_modules/react-native/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp -@@ -102,7 +102,13 @@ BaseTextInputProps::BaseTextInputProps( - rawProps, +@@ -103,6 +103,12 @@ BaseTextInputProps::BaseTextInputProps( "autoCapitalize", sourceProps.autoCapitalize, -- {})) {} -+ {})), + {})), + disableKeyboardShortcuts(convertRawProp( + context, + rawProps, + "disableKeyboardShortcuts", + sourceProps.disableKeyboardShortcuts, -+ {false})) {} - - void BaseTextInputProps::setProp( - const PropsParserContext& context, -@@ -180,6 +186,7 @@ void BaseTextInputProps::setProp( ++ {false})), + editable(convertRawProp( + context, + rawProps, +@@ -204,6 +210,7 @@ void BaseTextInputProps::setProp( RAW_SET_PROP_SWITCH_CASE_BASIC(text); RAW_SET_PROP_SWITCH_CASE_BASIC(mostRecentEventCount); RAW_SET_PROP_SWITCH_CASE_BASIC(autoCapitalize); + RAW_SET_PROP_SWITCH_CASE_BASIC(disableKeyboardShortcuts); - } - } - + RAW_SET_PROP_SWITCH_CASE_BASIC(editable); + RAW_SET_PROP_SWITCH_CASE_BASIC(readOnly); + RAW_SET_PROP_SWITCH_CASE_BASIC(submitBehavior); diff --git a/node_modules/react-native/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h b/node_modules/react-native/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h -index bff69fe..27782a1 100644 +index 36c199b..3fb7fa5 100644 --- a/node_modules/react-native/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +++ b/node_modules/react-native/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h -@@ -63,6 +63,8 @@ class BaseTextInputProps : public ViewProps, public BaseTextProps { - bool autoFocus{false}; +@@ -65,6 +65,7 @@ class BaseTextInputProps : public ViewProps, public BaseTextProps { std::string autoCapitalize{}; -+ + + bool disableKeyboardShortcuts{false}; - }; + bool editable{true}; + bool readOnly{false}; - } // namespace facebook::react diff --git a/patches/react-native+0.76.3+018+allow-recursive-commits-android.patch b/patches/react-native+0.77.1+023+dont-enable-height-centering.patch similarity index 54% rename from patches/react-native+0.76.3+018+allow-recursive-commits-android.patch rename to patches/react-native+0.77.1+023+dont-enable-height-centering.patch index bff332738ede..f66a8e9c1174 100644 --- a/patches/react-native+0.76.3+018+allow-recursive-commits-android.patch +++ b/patches/react-native+0.77.1+023+dont-enable-height-centering.patch @@ -1,13 +1,13 @@ diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt -index 38b3be0..edaee98 100644 +index f90ad02..44a8e36 100644 --- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt -@@ -51,6 +51,8 @@ public object DefaultNewArchitectureEntryPoint { - // similar bugs related to pressable. - override fun enableEventEmitterRetentionDuringGesturesOnAndroid(): Boolean = - fabricEnabled +@@ -50,6 +50,8 @@ public object DefaultNewArchitectureEntryPoint { + override fun enableEventEmitterRetentionDuringGesturesOnAndroid(): Boolean = + bridgelessEnabled || fabricEnabled + ++ override fun enableAndroidLineHeightCentering(): Boolean = false + -+ override fun allowRecursiveCommitsWithSynchronousMountOnAndroid(): Boolean = true - }) - } + override fun useTurboModules(): Boolean = bridgelessEnabled || turboModulesEnabled + }) diff --git a/patches/react-native-gesture-handler+2.20.1+001+fixTests.patch b/patches/react-native-gesture-handler+2.22.0+001+fixTests.patch similarity index 100% rename from patches/react-native-gesture-handler+2.20.1+001+fixTests.patch rename to patches/react-native-gesture-handler+2.22.0+001+fixTests.patch diff --git a/patches/react-native-modal+13.0.1+002+modal-navigation-bar-translucent.patch b/patches/react-native-modal+13.0.1+002+modal-navigation-bar-translucent.patch index a318627af02c..edeff4472883 100644 --- a/patches/react-native-modal+13.0.1+002+modal-navigation-bar-translucent.patch +++ b/patches/react-native-modal+13.0.1+002+modal-navigation-bar-translucent.patch @@ -19,10 +19,10 @@ index bd6419e..029762c 100644 }; state: State; diff --git a/node_modules/react-native-modal/dist/modal.js b/node_modules/react-native-modal/dist/modal.js -index 46277ea..feec991 100644 +index 2e70c0c..7a39705 100644 --- a/node_modules/react-native-modal/dist/modal.js +++ b/node_modules/react-native-modal/dist/modal.js -@@ -38,6 +38,7 @@ const defaultProps = { +@@ -39,6 +39,7 @@ const defaultProps = { scrollOffsetMax: 0, scrollHorizontal: false, statusBarTranslucent: false, @@ -30,3 +30,29 @@ index 46277ea..feec991 100644 supportedOrientations: ['portrait', 'landscape'], }; const extractAnimationFromProps = (props) => ({ +@@ -69,6 +70,7 @@ export class ReactNativeModal extends React.Component { + this.interactionHandle = null; + this.getDeviceHeight = () => this.props.deviceHeight || this.state.deviceHeight; + this.getDeviceWidth = () => this.props.deviceWidth || this.state.deviceWidth; ++ this.backHandlerEventSubscription = null; + this.onBackButtonPress = () => { + if (this.props.onBackButtonPress && this.props.isVisible) { + this.props.onBackButtonPress(); +@@ -467,13 +469,15 @@ export class ReactNativeModal extends React.Component { + document?.body?.addEventListener?.('keyup', this.handleEscape, true); + return; + } +- BackHandler.addEventListener('hardwareBackPress', this.onBackButtonPress); ++ this.backHandlerEventSubscription = BackHandler.addEventListener('hardwareBackPress', this.onBackButtonPress); + } + componentWillUnmount() { + if (Platform.OS === 'web') { + document?.body?.removeEventListener?.('keyup', this.handleEscape, true); + } else { +- BackHandler.removeEventListener('hardwareBackPress', this.onBackButtonPress); ++ if (this.backHandlerEventSubscription) { ++ this.backHandlerEventSubscription.remove(); ++ } + } + if (this.didUpdateDimensionsEmitter) { + this.didUpdateDimensionsEmitter.remove(); diff --git a/patches/react-native-screens+3.35.0+003+fix-screen-flicker-on-modal-unmount.patch b/patches/react-native-screens+3.35.0+003+fix-screen-flicker-on-modal-unmount.patch index bbeedbc57873..05d782879e4b 100644 --- a/patches/react-native-screens+3.35.0+003+fix-screen-flicker-on-modal-unmount.patch +++ b/patches/react-native-screens+3.35.0+003+fix-screen-flicker-on-modal-unmount.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/react-native-screens/ios/RNSScreenStack.mm b/node_modules/react-native-screens/ios/RNSScreenStack.mm -index ea27b03..8f1d005 100644 +index b70e08b..37db7ba 100644 --- a/node_modules/react-native-screens/ios/RNSScreenStack.mm +++ b/node_modules/react-native-screens/ios/RNSScreenStack.mm -@@ -1121,16 +1121,7 @@ - (void)mountChildComponentView:(UIView *)childCompone +@@ -1138,16 +1138,7 @@ - (nullable RNSScreenView *)childScreenForTag:(react::Tag)tag - (void)unmountChildComponentView:(UIView *)childComponentView index:(NSInteger)index { RNSScreenView *screenChildComponent = (RNSScreenView *)childComponentView; @@ -17,6 +17,6 @@ index ea27b03..8f1d005 100644 - [screenChildComponent.controller setViewToSnapshot]; - } + [screenChildComponent.controller setViewToSnapshot]; - + RCTAssert( screenChildComponent.reactSuperview == self, diff --git a/patches/react-native-screens+3.35.0+004+cover-all-cases.patch b/patches/react-native-screens+3.35.0+004+cover-all-cases.patch new file mode 100644 index 000000000000..98b5b853a24f --- /dev/null +++ b/patches/react-native-screens+3.35.0+004+cover-all-cases.patch @@ -0,0 +1,37 @@ +diff --git a/node_modules/react-native-screens/ios/RNSScreenStackHeaderConfig.mm b/node_modules/react-native-screens/ios/RNSScreenStackHeaderConfig.mm +index 4f1c040..481be63 100644 +--- a/node_modules/react-native-screens/ios/RNSScreenStackHeaderConfig.mm ++++ b/node_modules/react-native-screens/ios/RNSScreenStackHeaderConfig.mm +@@ -824,6 +824,8 @@ static RCTResizeMode resizeModeFromCppEquiv(react::ImageResizeMode resizeMode) + return RCTResizeModeCenter; + case react::ImageResizeMode::Repeat: + return RCTResizeModeRepeat; ++ default: ++ throw @"[RNScreens] Unhandled resizeMode"; + } + } + +diff --git a/node_modules/react-native-screens/package.json b/node_modules/react-native-screens/package.json +index bb7c35f..082fda3 100644 +--- a/node_modules/react-native-screens/package.json ++++ b/node_modules/react-native-screens/package.json +@@ -156,6 +156,19 @@ + "jsSrcsDir": "./src/fabric", + "android": { + "javaPackageName": "com.swmansion.rnscreens" ++ }, ++ "ios": { ++ "componentProvider": { ++ "RNSFullWindowOverlay": "RNSFullWindowOverlay", ++ "RNSModalScreen": "RNSModalScreen", ++ "RNSScreenContainer": "RNSScreenContainerView", ++ "RNSScreen": "RNSScreenView", ++ "RNSScreenNavigationContainer": "RNSScreenNavigationContainerView", ++ "RNSScreenStackHeaderConfig": "RNSScreenStackHeaderConfig", ++ "RNSScreenStackHeaderSubview": "RNSScreenStackHeaderSubview", ++ "RNSScreenStack": "RNSScreenStackView", ++ "RNSSearchBar": "RNSSearchBar" ++ } + } + }, + "packageManager": "yarn@4.1.1" diff --git a/patches/react-native-vision-camera+4.6.1.patch b/patches/react-native-vision-camera+4.6.1.patch index c388ae1398b0..455e1a1bd091 100644 --- a/patches/react-native-vision-camera+4.6.1.patch +++ b/patches/react-native-vision-camera+4.6.1.patch @@ -559,6 +559,21 @@ index 0000000..56a6c3d diff --git a/node_modules/react-native-vision-camera/android/src/main/.DS_Store b/node_modules/react-native-vision-camera/android/src/main/.DS_Store new file mode 100644 index 0000000..e69de29 +diff --git a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/CameraSession.kt b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/CameraSession.kt +index 862c03a..f892ab7 100644 +--- a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/CameraSession.kt ++++ b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/CameraSession.kt +@@ -90,7 +90,9 @@ class CameraSession(internal val context: Context, internal val callback: Callba + } + } + +- override fun getLifecycle(): Lifecycle = lifecycleRegistry ++ override val lifecycle: Lifecycle ++ get() = lifecycleRegistry ++// override fun getLifecycle(): Lifecycle = lifecycleRegistry + + /** + * Configures the [CameraSession] with new values in one batch. diff --git a/node_modules/react-native-vision-camera/ios/.swiftformat b/node_modules/react-native-vision-camera/ios/.swiftformat new file mode 100644 index 0000000..95e71c1 @@ -1056,7 +1071,7 @@ index 0000000..20f4996 +@end +#endif diff --git a/node_modules/react-native-vision-camera/lib/commonjs/Camera.js b/node_modules/react-native-vision-camera/lib/commonjs/Camera.js -index 4c04727..12b9255 100644 +index 4c04727..9628241 100644 --- a/node_modules/react-native-vision-camera/lib/commonjs/Camera.js +++ b/node_modules/react-native-vision-camera/lib/commonjs/Camera.js @@ -1,27 +1,42 @@ @@ -2299,6 +2314,7 @@ index 4c04727..12b9255 100644 + }, }); //# sourceMappingURL=Camera.js.map +\ No newline at end of file diff --git a/node_modules/react-native-vision-camera/lib/commonjs/Camera.js.map b/node_modules/react-native-vision-camera/lib/commonjs/Camera.js.map index a21019c..667d46b 100644 --- a/node_modules/react-native-vision-camera/lib/commonjs/Camera.js.map @@ -2525,7 +2541,7 @@ index 0000000..f3c7b03 + "mappings": ";;;;;;AAGA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAH7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA0Fe,IAAAG,+BAAsB,EAAc,YAAY,CAAC" +} diff --git a/node_modules/react-native-vision-camera/lib/module/Camera.js b/node_modules/react-native-vision-camera/lib/module/Camera.js -index e97f27c..fea7ccf 100644 +index e97f27c..95a2328 100644 --- a/node_modules/react-native-vision-camera/lib/module/Camera.js +++ b/node_modules/react-native-vision-camera/lib/module/Camera.js @@ -1,21 +1,35 @@ @@ -3756,6 +3772,7 @@ index e97f27c..fea7ccf 100644 + }, }); //# sourceMappingURL=Camera.js.map +\ No newline at end of file diff --git a/node_modules/react-native-vision-camera/lib/module/Camera.js.map b/node_modules/react-native-vision-camera/lib/module/Camera.js.map index a1a484f..b45fa1d 100644 --- a/node_modules/react-native-vision-camera/lib/module/Camera.js.map diff --git a/patches/react-native-webview+13.8.6.patch b/patches/react-native-webview+13.13.1.patch similarity index 100% rename from patches/react-native-webview+13.8.6.patch rename to patches/react-native-webview+13.13.1.patch diff --git a/src/components/Modal/BottomDockedModal/index.tsx b/src/components/Modal/BottomDockedModal/index.tsx index 4286bc60474e..44eca06d2b5c 100644 --- a/src/components/Modal/BottomDockedModal/index.tsx +++ b/src/components/Modal/BottomDockedModal/index.tsx @@ -1,6 +1,6 @@ import noop from 'lodash/noop'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; -import type {ViewStyle} from 'react-native'; +import type {NativeEventSubscription, ViewStyle} from 'react-native'; import {BackHandler, DeviceEventEmitter, Dimensions, InteractionManager, KeyboardAvoidingView, Modal, View} from 'react-native'; import {LayoutAnimationConfig} from 'react-native-reanimated'; import useThemeStyles from '@hooks/useThemeStyles'; @@ -41,6 +41,7 @@ function BottomDockedModal({ const [isTransitioning, setIsTransitioning] = useState(false); const [deviceWidth, setDeviceWidth] = useState(() => Dimensions.get('window').width); const [deviceHeight, setDeviceHeight] = useState(() => Dimensions.get('window').height); + const backHandlerListener = useRef(null); const handleRef = useRef(); const styles = useThemeStyles(); @@ -82,14 +83,14 @@ function BottomDockedModal({ if (getPlatform() === CONST.PLATFORM.WEB) { document.body.addEventListener('keyup', handleEscape, {capture: true}); } else { - BackHandler.addEventListener('hardwareBackPress', onBackButtonPressHandler); + backHandlerListener.current = BackHandler.addEventListener('hardwareBackPress', onBackButtonPressHandler); } return () => { if (getPlatform() === CONST.PLATFORM.WEB) { document.body.removeEventListener('keyup', handleEscape, {capture: true}); } else { - BackHandler.removeEventListener('hardwareBackPress', onBackButtonPressHandler); + backHandlerListener.current?.remove(); } deviceEventListener.remove(); }; diff --git a/src/components/Tooltip/EducationalTooltip/BaseEducationalTooltip.tsx b/src/components/Tooltip/EducationalTooltip/BaseEducationalTooltip.tsx index 35f636c7e882..e769207e366d 100644 --- a/src/components/Tooltip/EducationalTooltip/BaseEducationalTooltip.tsx +++ b/src/components/Tooltip/EducationalTooltip/BaseEducationalTooltip.tsx @@ -20,7 +20,7 @@ type ScrollingEventData = { */ function BaseEducationalTooltip({children, shouldRender = false, shouldHideOnNavigate = true, shouldHideOnScroll = false, ...props}: EducationalTooltipProps) { const genericTooltipStateRef = useRef(); - const tooltipElementRef = useRef>(); + const tooltipElementRef = useRef>(); const [shouldMeasure, setShouldMeasure] = useState(false); const show = useRef<() => void>(); diff --git a/src/components/Tooltip/EducationalTooltip/measureTooltipCoordinate/index.android.ts b/src/components/Tooltip/EducationalTooltip/measureTooltipCoordinate/index.android.ts index b789380dbbf7..91d685a0d8b3 100644 --- a/src/components/Tooltip/EducationalTooltip/measureTooltipCoordinate/index.android.ts +++ b/src/components/Tooltip/EducationalTooltip/measureTooltipCoordinate/index.android.ts @@ -1,14 +1,13 @@ -import type React from 'react'; import type {LayoutRectangle, NativeMethods} from 'react-native'; -export default function measureTooltipCoordinate(target: React.Component & Readonly, updateTargetBounds: (rect: LayoutRectangle) => void, showTooltip: () => void) { +export default function measureTooltipCoordinate(target: Readonly, updateTargetBounds: (rect: LayoutRectangle) => void, showTooltip: () => void) { return target?.measure((x, y, width, height, px, py) => { updateTargetBounds({height, width, x: px, y: py}); showTooltip(); }); } -function getTooltipCoordinates(target: React.Component & Readonly, callback: (rect: LayoutRectangle) => void) { +function getTooltipCoordinates(target: Readonly, callback: (rect: LayoutRectangle) => void) { return target?.measure((x, y, width, height, px, py) => { callback({height, width, x: px, y: py}); }); diff --git a/src/components/Tooltip/EducationalTooltip/measureTooltipCoordinate/index.ts b/src/components/Tooltip/EducationalTooltip/measureTooltipCoordinate/index.ts index f72a7ac21739..a9ca7db3cab0 100644 --- a/src/components/Tooltip/EducationalTooltip/measureTooltipCoordinate/index.ts +++ b/src/components/Tooltip/EducationalTooltip/measureTooltipCoordinate/index.ts @@ -1,14 +1,13 @@ -import type React from 'react'; import type {LayoutRectangle, NativeMethods} from 'react-native'; -export default function measureTooltipCoordinate(target: React.Component & Readonly, updateTargetBounds: (rect: LayoutRectangle) => void, showTooltip: () => void) { +export default function measureTooltipCoordinate(target: Readonly, updateTargetBounds: (rect: LayoutRectangle) => void, showTooltip: () => void) { return target?.measureInWindow((x, y, width, height) => { updateTargetBounds({height, width, x, y}); showTooltip(); }); } -function getTooltipCoordinates(target: React.Component & Readonly, callback: (rect: LayoutRectangle) => void) { +function getTooltipCoordinates(target: Readonly, callback: (rect: LayoutRectangle) => void) { return target?.measureInWindow((x, y, width, height) => { callback({height, width, x, y}); }); diff --git a/src/styles/index.ts b/src/styles/index.ts index 1d34008e1cd2..d1e34225d17f 100644 --- a/src/styles/index.ts +++ b/src/styles/index.ts @@ -3477,7 +3477,8 @@ const styles = (theme: ThemeColors) => noSelect: { boxShadow: 'none', - outlineStyle: 'none', + // After https://github.com/facebook/react-native/pull/46284 RN accepts only 3 options and undefined + outlineStyle: undefined, }, boxShadowNone: { diff --git a/tests/ui/PaginationTest.tsx b/tests/ui/PaginationTest.tsx index 73df63153b1d..67a39fa54c09 100644 --- a/tests/ui/PaginationTest.tsx +++ b/tests/ui/PaginationTest.tsx @@ -74,6 +74,7 @@ function triggerListLayout(reportID?: string) { ...LIST_SIZE, }, }, + persist: () => {}, }); fireEvent(within(report).getByTestId('report-actions-list'), 'onContentSizeChange', LIST_CONTENT_SIZE.width, LIST_CONTENT_SIZE.height); @@ -338,6 +339,9 @@ describe('Pagination', () => { await act(() => { (NativeNavigation as NativeNavigationMock).triggerTransitionEnd(); }); + // Due to https://github.com/facebook/react-native/commit/3485e9ed871886b3e7408f90d623da5c018da493 + // we need to scroll too to trigger `onStartReached` which triggers other updates + scrollToOffset(0); // ReportScreen relies on the onLayout event to receive updates from onyx. triggerListLayout(); await waitForBatchedUpdatesWithAct();