diff --git a/plans/kb.ttf.md b/plans/kb.ttf.md deleted file mode 100644 index a429e699cd2d..000000000000 --- a/plans/kb.ttf.md +++ /dev/null @@ -1,777 +0,0 @@ -# kb.ttf Icon Font Build Pipeline + Icon Browser - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Replace the `webfonts-generator` + `fontforge` pipeline for `kb.ttf` with pure Python using `fonttools`, and add a dev-only icon browser debug screen. - -**Architecture:** Add a `build-icon` subcommand to `shared/tools/fonts/font_tool.py` (same file, same pattern as `build-text`). The command reads SVG files from `shared/images/iconfont/`, converts paths to TrueType quadratic outlines using `fonttools` + `cu2quPen`, applies the same metrics that `fontforge` currently sets, and writes `shared/fonts/kb.ttf` plus `shared/fonts/android/kb.ttf`. A new `shared/settings/icons.tsx` debug screen shows all iconfont glyphs in a scrollable grid, gated behind `__DEV__`. - -**Tech Stack:** Python 3, `fonttools` 4.60.2 (already in `requirements.txt`), TypeScript/React Native for the debug screen. No new Python dependencies. - ---- - -## Background: current pipeline - -`yarn update-icon-font` runs `shared/desktop/yarn-helper/font.mts` which: -1. Uses `webfonts-generator` (Node.js) to combine the SVG files into a TTF -2. Calls `fontforge` via shell to apply OS/2, hhea, GASP metrics and shift glyphs vertically - -The new pipeline eliminates both `webfonts-generator` and `fontforge`, keeping the produced binary byte-for-byte equivalent in metrics (visual output will be identical). - -## Key constants (from `font.mts`) - -``` -FONT_HEIGHT = 1024 -DESCENT = FONT_HEIGHT / 16 = 64 -BASE_CHAR_CODE = 0xe900 -codepoint(counter) = BASE_CHAR_CODE + counter - 1 - -WIN_ASCENT = FONT_HEIGHT - DESCENT + 2 = 962 -WIN_DESCENT = DESCENT * 2 + 20 = 148 -TYPO_ASCENT = FONT_HEIGHT - DESCENT = 960 -TYPO_DESCENT = -DESCENT = -64 -TYPO_LINE_GAP = 0 -HHEA_ASCENT = WIN_ASCENT = 962 -HHEA_DESCENT = -WIN_DESCENT = -148 -GASP = {65535: 15} (all 4 bits: gridfit + dogray + symmetric) - -Glyph vertical shift (applied via coordinate transform during build): - All glyphs: shift Y by -64 (i.e., baseline = TYPO_ASCENT - FONT_HEIGHT = -64 below top) - 24-size glyphs: shift Y by additional -22 -``` - -## SVG coordinate transform - -The icon SVGs use `viewBox="0 0 W W"` (W = 8, 16, or 24). Font EM = 1024. Y-axis is flipped (SVG y-down, font y-up). - -For a glyph of grid size `W`: - -``` -scale = 1024.0 / W -x_font = x_svg * scale -y_font = (W - y_svg) * scale - DESCENT [for 8- and 16-size] -y_font = (W - y_svg) * scale - DESCENT - 22 [for 24-size only] -``` - -This is expressed as an affine matrix `(xx, xy, yx, yy, dx, dy)` for `TransformPen`: -``` -(scale, 0, 0, -scale, 0, W*scale - DESCENT) # 8 and 16 -(scale, 0, 0, -scale, 0, W*scale - DESCENT - 22) # 24 -``` - -Advance width for all glyphs = `W * scale = 1024`. - ---- - -## File map - -| Action | Path | -|--------|------| -| Modify | `shared/tools/fonts/font_tool.py` | -| Modify | `shared/fonts/manifest.json` | -| Modify | `shared/package.json` | -| Modify | `shared/fonts/README.md` | -| Create | `shared/settings/icons.tsx` | -| Modify | `shared/constants/settings.tsx` | -| Modify | `shared/settings/routes.tsx` | -| Modify | `shared/settings/root-phone.tsx` | -| Modify | `shared/settings/sub-nav/left-nav.tsx` | - ---- - -## Task 1: Add imports, constants, and SVG path parser to `font_tool.py` - -**Files:** -- Modify: `shared/tools/fonts/font_tool.py` - -- [ ] **Step 1: Add imports at the top of `font_tool.py`** - -After the existing `import glob, json, sys` block, add: - -```python -import re -import xml.etree.ElementTree as ET -``` - -- [ ] **Step 2: Add icon font constants after existing imports** - -```python -# --- Icon font build constants (match shared/desktop/yarn-helper/font.mts) --- -_ICON_FONT_HEIGHT = 1024 -_ICON_DESCENT = _ICON_FONT_HEIGHT // 16 # 64 -_ICON_BASE_CHAR_CODE = 0xe900 -_ICON_WIN_ASCENT = _ICON_FONT_HEIGHT - _ICON_DESCENT + 2 # 962 -_ICON_WIN_DESCENT = _ICON_DESCENT * 2 + 20 # 148 -_ICON_TYPO_ASCENT = _ICON_FONT_HEIGHT - _ICON_DESCENT # 960 -_ICON_TYPO_DESCENT = -_ICON_DESCENT # -64 -_ICON_HHEA_ASCENT = _ICON_WIN_ASCENT # 962 -_ICON_HHEA_DESCENT = -_ICON_WIN_DESCENT # -148 -_ICON_24_EXTRA_SHIFT = 22 -_ICON_FILENAME_RE = re.compile(r'^(\d+)-kb-iconfont-(.*?)-(\d+)\.svg$') -``` - -- [ ] **Step 3: Add SVG path parser function** - -This parser handles the subset of SVG path commands used by the icon SVGs (`M`, `L`, `H`, `V`, `C`, `Z` and their lowercase relative variants). It draws into a fonttools `SegmentPen`. - -```python -def _draw_svg_path(d: str, pen) -> None: - """Parse an SVG path `d` string and draw into a fonttools SegmentPen.""" - tokens = re.findall( - r'[MmLlHhVvCcSsQqTtZz]|[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?', - d - ) - idx = 0 - cmd = '' - cx, cy = 0.0, 0.0 - contour_open = False - - def nums(n: int) -> list: - nonlocal idx - result = [float(tokens[idx + i]) for i in range(n)] - idx += n - return result - - def ensure_closed(): - nonlocal contour_open - if contour_open: - pen.endPath() - contour_open = False - - while idx < len(tokens): - t = tokens[idx] - if re.match(r'[A-Za-z]', t): - cmd = t - idx += 1 - - if cmd in ('M', 'm'): - ensure_closed() - x, y = nums(2) - if cmd == 'm': - x, y = cx + x, cy + y - pen.moveTo((x, y)) - contour_open = True - cx, cy = x, y - # Subsequent coords in an M sequence are implicit L/l - cmd = 'L' if cmd == 'M' else 'l' - elif cmd in ('L', 'l'): - x, y = nums(2) - if cmd == 'l': - x, y = cx + x, cy + y - pen.lineTo((x, y)) - cx, cy = x, y - elif cmd in ('H', 'h'): - x, = nums(1) - if cmd == 'h': - x = cx + x - pen.lineTo((x, cy)) - cx = x - elif cmd in ('V', 'v'): - y, = nums(1) - if cmd == 'v': - y = cy + y - pen.lineTo((cx, y)) - cy = y - elif cmd in ('C', 'c'): - x1, y1, x2, y2, x, y = nums(6) - if cmd == 'c': - x1, y1 = cx + x1, cy + y1 - x2, y2 = cx + x2, cy + y2 - x, y = cx + x, cy + y - pen.curveTo((x1, y1), (x2, y2), (x, y)) - cx, cy = x, y - elif cmd in ('S', 's'): - # Smooth cubic: x1/y1 is reflection of previous control point. - # We don't track the previous control point so treat as C with x1=cx,y1=cy. - x2, y2, x, y = nums(4) - if cmd == 's': - x2, y2 = cx + x2, cy + y2 - x, y = cx + x, cy + y - pen.curveTo((cx, cy), (x2, y2), (x, y)) - cx, cy = x, y - elif cmd in ('Z', 'z'): - if contour_open: - pen.closePath() - contour_open = False - else: - idx += 1 # unknown command, skip - - ensure_closed() -``` - -- [ ] **Step 4: Verify the parser handles the real SVG files** - -```bash -cd /path/to/client -python3 -c " -import sys; sys.path.insert(0, 'shared/tools/fonts') -from font_tool import _draw_svg_path -from fontTools.pens.recordingPen import RecordingPen -p = RecordingPen() -_draw_svg_path('M8 15.75C4.281 0.25 0 3.719.25 8Z', p) -print(p.value) -" -``` - -Expected: prints a list of pen operations ending with `('closePath', ())` - -- [ ] **Step 5: Commit** - -```bash -git add shared/tools/fonts/font_tool.py -git commit -m "font_tool: add SVG path parser for icon font build" -``` - ---- - -## Task 2: Add `_build_icon_glyph` and `cmd_build_icon` to `font_tool.py` - -**Files:** -- Modify: `shared/tools/fonts/font_tool.py` - -- [ ] **Step 1: Add the per-glyph builder function** - -```python -def _build_icon_glyph(svg_path: str, size: int) -> tuple: - """ - Parse one SVG icon file and return (TTGlyph, advance_width, lsb). - size is the icon grid size (8, 16, or 24). - """ - from fontTools.pens.ttGlyphPen import TTGlyphPen - from fontTools.pens.transformPen import TransformPen - from fontTools.pens.cu2quPen import Cu2QuPen - - scale = _ICON_FONT_HEIGHT / size - y_shift = size * scale - _ICON_DESCENT - if size == 24: - y_shift -= _ICON_24_EXTRA_SHIFT - - # Pen chain: SVG path commands → transform → cubic→quadratic → TTGlyph - tt_pen = TTGlyphPen(None) - cu2qu_pen = Cu2QuPen(tt_pen, max_err=1.0, reverse_direction=False) - transform_pen = TransformPen(cu2qu_pen, (scale, 0, 0, -scale, 0, y_shift)) - - ns = 'http://www.w3.org/2000/svg' - tree = ET.parse(svg_path) - root = tree.getroot() - - for elem in root.iter(f'{{{ns}}}path'): - d = elem.get('d', '').strip() - if d: - _draw_svg_path(d, transform_pen) - - advance_width = int(round(size * scale)) # = 1024 for all sizes - glyph = tt_pen.glyph(dropImpliedOnCurves=True) - lsb = glyph.xMin if glyph.numberOfContours != 0 else 0 - return glyph, advance_width, lsb -``` - -- [ ] **Step 2: Add `cmd_build_icon`** - -```python -def cmd_build_icon(args): - from fontTools.fontBuilder import FontBuilder - - manifest = json.loads(Path(args.manifest).read_text()) - repo_root = Path(args.manifest).resolve().parent.parent.parent - icon_cfg = manifest.get("iconFont", {}) - iconfont_dir = repo_root / "shared" / "images" / "iconfont" - - # Collect and sort SVG files by counter - entries = [] - for svg_file in sorted(iconfont_dir.glob("*.svg")): - m = _ICON_FILENAME_RE.match(svg_file.name) - if not m: - continue - counter, name, size_str = int(m.group(1)), m.group(2), int(m.group(3)) - entries.append((counter, name, size_str, svg_file)) - entries.sort(key=lambda e: e[0]) - - if not entries: - print("ERROR: no SVG files found", file=sys.stderr) - sys.exit(1) - - # Build glyph data - glyph_order = [".notdef"] - char_map: dict[int, str] = {} - glyph_data: dict = {} - h_metrics: dict = {} - - # .notdef: empty glyph - from fontTools.ttLib.tables._g_l_y_f import Glyph as TTGlyph - empty = TTGlyph() - empty.numberOfContours = 0 - empty.coordinates = [] - empty.flags = [] - empty.components = [] - glyph_data[".notdef"] = empty - h_metrics[".notdef"] = (_ICON_FONT_HEIGHT, 0) - - seen_counters: set[int] = set() - errors = 0 - for counter, name, size, svg_path in entries: - if counter in seen_counters: - print(f"ERROR: duplicate counter {counter} in {svg_path.name}", file=sys.stderr) - errors += 1 - continue - seen_counters.add(counter) - - glyph_name = f"uni{(_ICON_BASE_CHAR_CODE + counter - 1):04X}" - codepoint = _ICON_BASE_CHAR_CODE + counter - 1 - glyph_order.append(glyph_name) - char_map[codepoint] = glyph_name - - try: - glyph, adv, lsb = _build_icon_glyph(str(svg_path), size) - glyph_data[glyph_name] = glyph - h_metrics[glyph_name] = (adv, lsb) - except Exception as e: - print(f"ERROR building glyph for {svg_path.name}: {e}", file=sys.stderr) - errors += 1 - # insert empty glyph so glyph order stays consistent - glyph_data[glyph_name] = empty - h_metrics[glyph_name] = (_ICON_FONT_HEIGHT, 0) - - if errors: - print(f"build-icon: {errors} error(s)", file=sys.stderr) - sys.exit(1) - - # Assemble font - fb = FontBuilder(_ICON_FONT_HEIGHT, isTTF=True) - fb.setupGlyphOrder(glyph_order) - fb.setupCharacterMap(char_map) - fb.setupGlyf(glyph_data) - fb.setupHorizontalMetrics(h_metrics) - fb.setupHorizontalHeader( - ascent=_ICON_HHEA_ASCENT, - descent=_ICON_HHEA_DESCENT, - ) - fb.setupNameTable({ - "familyName": "kb", - "styleName": "Regular", - }) - fb.setupOs2( - sTypoAscender=_ICON_TYPO_ASCENT, - sTypoDescender=_ICON_TYPO_DESCENT, - sTypoLineGap=0, - usWinAscent=_ICON_WIN_ASCENT, - usWinDescent=_ICON_WIN_DESCENT, - fsType=0, - fsSelection=0, - ) - fb.setupPost(keepGlyphNames=False) - fb.setupGasp(gaspRange={65535: 15}) - - # Determine output paths from manifest iconFont config - outputs: list[str] = icon_cfg.get("outputs", [icon_cfg.get("output", "")]) - if isinstance(outputs, str): - outputs = [outputs] - - platform: str = getattr(args, 'platform', 'all') - android_output = icon_cfg.get("androidOutput", "") - - wrote = [] - if platform == "android": - if android_output: - out_path = repo_root / android_output - out_path.parent.mkdir(parents=True, exist_ok=True) - fb.font.save(str(out_path)) - wrote.append(str(out_path)) - else: - for rel in outputs: - if not rel: - continue - out_path = repo_root / rel - out_path.parent.mkdir(parents=True, exist_ok=True) - fb.font.save(str(out_path)) - wrote.append(str(out_path)) - - for w in wrote: - print(f" wrote {w}", file=sys.stderr) - print(f"build-icon: {len(entries)} glyphs, {len(wrote)} output(s)", file=sys.stderr) - - # Touch sentinel so webpack notices font change - sentinel = repo_root / "shared" / "fonts" / ".font-build-stamp" - sentinel.write_text(str(__import__('time').time()) + "\n") -``` - -- [ ] **Step 3: Register `cmd_build_icon` in `main()`** - -In the `main()` function, add after the `p_diff` block (before `args = parser.parse_args()`): - -```python - p_icon = sub.add_parser("build-icon", help="Build kb.ttf icon font from SVGs") - p_icon.add_argument("--manifest", required=True, metavar="FILE") - p_icon.add_argument("--platform", default="all", choices=["all", "android"], - help="Target platform (default: all; 'android' writes androidOutput)") - p_icon.set_defaults(func=cmd_build_icon) -``` - -- [ ] **Step 4: Commit** - -```bash -git add shared/tools/fonts/font_tool.py -git commit -m "font_tool: add build-icon command (SVG→TTF via fonttools)" -``` - ---- - -## Task 3: Update `manifest.json`, `package.json`, and `README.md` - -**Files:** -- Modify: `shared/fonts/manifest.json` -- Modify: `shared/package.json` -- Modify: `shared/fonts/README.md` - -- [ ] **Step 1: Update `manifest.json` — add outputs and androidOutput to iconFont** - -Replace the existing `"iconFont"` block: - -```json -"iconFont": { - "id": "kb", - "source": "shared/images/iconfont/*.svg", - "output": "shared/fonts/kb.ttf", - "outputs": ["shared/fonts/kb.ttf", "shared/fonts/ios/kb.ttf", "shared/fonts/electron/kb.ttf"], - "androidOutput": "shared/fonts/android/kb.ttf", - "generator": "shared/tools/fonts/font_tool.py" -} -``` - -Note: `"generator"` is informational only (was pointing to the old font.mts). The `"output"` key stays for backward compatibility with `cmd_snapshot_metrics`. - -- [ ] **Step 2: Add yarn scripts to `shared/package.json`** - -In the `scripts` section, after `"font:build-android"`: - -```json -"font:build-icon": "python3 tools/fonts/font_tool.py build-icon --manifest fonts/manifest.json", -"font:build-icon-android": "python3 tools/fonts/font_tool.py build-icon --manifest fonts/manifest.json --platform android", -``` - -- [ ] **Step 3: Add documentation to `shared/fonts/README.md`** - -In the "Build Commands" section, after `yarn font:build-android`: - -```markdown -Build icon font (kb.ttf) for all platforms (iOS, Electron) from SVGs: - -```sh -yarn font:build-icon -``` - -Build icon font for Android: - -```sh -yarn font:build-icon-android -``` -``` - -Also update the "Directory Layout" table to add: - -```markdown -| `shared/fonts/ios/` | iOS-specific built outputs (includes `kb.ttf`) | -``` - -And add a note under `## Open Questions` removing or resolving the web font question if appropriate (leave as-is if uncertain). - -- [ ] **Step 4: Run the build and verify output exists** - -```bash -cd shared -yarn font:build-icon -``` - -Expected stderr: lines like ` wrote .../shared/fonts/kb.ttf` then `build-icon: 193 glyphs, 3 output(s)` - -Check the file was written: -```bash -ls -la shared/fonts/kb.ttf shared/fonts/android/kb.ttf -``` - -Expected: both files exist with recent modification time and size > 20KB. - -- [ ] **Step 5: Inspect the built font and spot-check metrics** - -```bash -cd shared -yarn font:inspect --inputs fonts/kb.ttf | python3 -c " -import json, sys -d = json.load(sys.stdin)[0] -os2 = d['tables']['OS/2'] -hhea = d['tables']['hhea'] -gasp = d['tables'].get('gasp', {}) -print('WIN_ASCENT', os2['usWinAscent'], '== 962?', os2['usWinAscent'] == 962) -print('WIN_DESCENT', os2['usWinDescent'], '== 148?', os2['usWinDescent'] == 148) -print('TYPO_ASCENT', os2['sTypoAscender'], '== 960?', os2['sTypoAscender'] == 960) -print('HHEA_ASCENT', hhea['ascender'], '== 962?', hhea['ascender'] == 962) -print('GASP', gasp) -print('GLYPH_COUNT', d['glyphCount'], '>= 194?', d['glyphCount'] >= 194) -" -``` - -Expected: all comparisons print `True`, GASP shows `{\"65535\": 15}`, glyph count ≥ 194 (193 icons + .notdef). - -- [ ] **Step 6: Commit** - -```bash -git add shared/fonts/manifest.json shared/package.json shared/fonts/README.md -git commit -m "font: wire font:build-icon yarn scripts and manifest outputs" -``` - ---- - -## Task 4: Create `shared/settings/icons.tsx` icon browser - -**Files:** -- Create: `shared/settings/icons.tsx` - -This debug screen shows every `iconfont-*` entry from `iconMeta` in a scrollable grid. Each cell renders the glyph via `Kb.Icon` with the icon name below it. A search box filters by name. - -- [ ] **Step 1: Create `shared/settings/icons.tsx`** - -```tsx -// Dev-only icon browser. Gated by __DEV__ in nav and routes — never visible in production. -import * as Kb from '@/common-adapters' -import {iconMeta} from '@/common-adapters/icon.constants-gen.shared' -import type {IconType} from '@/common-adapters/icon.constants-gen.d' -import * as React from 'react' - -const iconfontTypes: ReadonlyArray = (Object.keys(iconMeta) as Array) - .filter(k => iconMeta[k].isFont) - .sort() - -const CELL_SIZE = 80 - -const IconCell = ({type}: {type: IconType}) => { - const name = type.replace(/^iconfont-/, '') - return ( - - - - {name} - - - ) -} - -const Icons = () => { - const [query, setQuery] = React.useState('') - const filtered = query - ? iconfontTypes.filter(t => t.includes(query.toLowerCase())) - : iconfontTypes - - return ( - - - - - {filtered.length} / {iconfontTypes.length} - - - - - {filtered.map(t => ( - - ))} - - - - ) -} - -const styles = Kb.Styles.styleSheetCreate(() => ({ - cell: { - height: CELL_SIZE, - padding: Kb.Styles.globalMargins.xtiny, - width: CELL_SIZE, - }, - cellLabel: { - color: Kb.Styles.globalColors.black_50, - marginTop: 2, - textAlign: 'center', - }, - count: { - color: Kb.Styles.globalColors.black_50, - marginLeft: Kb.Styles.globalMargins.small, - }, - grid: { - flexWrap: 'wrap', - padding: Kb.Styles.globalMargins.tiny, - }, - scroll: {flex: 1}, - searchRow: { - alignItems: 'center', - borderBottomColor: Kb.Styles.globalColors.black_10, - borderBottomWidth: 1, - padding: Kb.Styles.globalMargins.small, - }, -})) - -export default Icons -``` - -- [ ] **Step 2: Check that `Kb.SearchFilter` is the right component name** - -```bash -cd shared -grep -r 'SearchFilter\|searchFilter' common-adapters/index.tsx | head -5 -``` - -If `SearchFilter` is not exported from `@/common-adapters`, use `Kb.PlainInput` instead: - -```tsx - -``` - -And add to styles: -```ts -searchInput: { - borderColor: Kb.Styles.globalColors.black_10, - borderRadius: 4, - borderWidth: 1, - flex: 1, - padding: Kb.Styles.globalMargins.xtiny, -}, -``` - -- [ ] **Step 3: Check that `sizeType="Big"` exists on `Kb.Icon`** - -```bash -cd shared -grep -n 'sizeType\|Big' common-adapters/icon.tsx | head -10 -``` - -If `sizeType` isn't a valid prop, replace with `fontSize={24}`. - -- [ ] **Step 4: Run TypeScript check** - -```bash -cd shared -yarn tsc --noEmit 2>&1 | grep icons -``` - -Expected: no errors in `settings/icons.tsx` - -- [ ] **Step 5: Commit** - -```bash -git add shared/settings/icons.tsx -git commit -m "settings: add dev-only icon browser screen" -``` - ---- - -## Task 5: Register the icon browser in settings routes and nav - -**Files:** -- Modify: `shared/constants/settings.tsx` -- Modify: `shared/settings/routes.tsx` -- Modify: `shared/settings/root-phone.tsx` -- Modify: `shared/settings/sub-nav/left-nav.tsx` - -The pattern to follow exactly mirrors how `settingsTypographyTab` and `typography.tsx` are wired up. - -- [ ] **Step 1: Add constant to `shared/constants/settings.tsx`** - -After line 23 (`export const settingsTypographyTab = ...`): - -```ts -export const settingsIconsTab = 'settingsTabs.iconsTab' -``` - -- [ ] **Step 2: Add route to `shared/settings/routes.tsx`** - -The typography block is at lines 134–137 (the `__DEV__` guard inside `sharedNewRoutes`). Add an adjacent entry immediately after the typography entry, before the closing of the `__DEV__` spread: - -```ts -[Settings.settingsIconsTab]: { - getOptions: {title: 'Icons'}, - screen: React.lazy(async () => import('./icons')), -}, -``` - -Also at line 155 (the mobile-side `__DEV__` spread), add: - -```ts -[Settings.settingsIconsTab]: sharedNewRoutes[Settings.settingsIconsTab], -``` - -Read the exact lines first to match the indentation and structure before editing. - -- [ ] **Step 3: Add nav entry to `shared/settings/root-phone.tsx`** - -Find the `__DEV__` block around line 183 that adds the Typography nav item. Add an Icons entry immediately after it: - -```tsx -{__DEV__ && ( - navigateAppend({name: Settings.settingsIconsTab, params: {}})} - > - Icons - -)} -``` - -Read the Typography entry first and match its exact JSX structure. - -- [ ] **Step 4: Add nav entry to `shared/settings/sub-nav/left-nav.tsx`** - -Find the `{__DEV__ && ...}` block around line 127 that renders the Typography nav link. Add an adjacent Icons block immediately after it: - -```tsx -{__DEV__ && ( - -)} -``` - -Again read the Typography block first and match its exact JSX structure (the component name may differ from `SubNav`). - -- [ ] **Step 5: Lint and type-check** - -```bash -cd shared -yarn lint --quiet 2>&1 | grep -E 'icons|settings' -yarn tsc --noEmit 2>&1 | grep -E 'icons|settings' -``` - -Expected: no errors. - -- [ ] **Step 6: Commit** - -```bash -git add shared/constants/settings.tsx shared/settings/routes.tsx \ - shared/settings/root-phone.tsx shared/settings/sub-nav/left-nav.tsx -git commit -m "settings: register dev-only icon browser in routes and nav" -``` - ---- - -## Self-review - -**Spec coverage:** -- [x] Python build for `shared/fonts/kb.ttf` — Task 2 -- [x] Python build for `shared/fonts/android/kb.ttf` — Tasks 2–3 -- [x] Matches existing metrics (OS/2, hhea, GASP) — constants in Task 1, applied in Task 2 -- [x] Yarn scripts `font:build-icon` / `font:build-icon-android` — Task 3 -- [x] README updated — Task 3 -- [x] Icon browser debug screen — Task 4 -- [x] Screen registered behind `__DEV__` guard — Task 5 - -**Known tuning step (not in plan tasks):** If rendered icons look inverted or filled incorrectly, change `reverse_direction=False` to `reverse_direction=True` in `Cu2QuPen(...)` in `_build_icon_glyph`. This controls whether TrueType contour winding is reversed during cubic→quadratic conversion. The correct value depends on how the source SVGs specify fill direction. - -**Placeholder check:** None — all steps include exact code or exact commands. diff --git a/plans/split-ts.md b/plans/split-ts.md index 1f633d8ace06..b935115fa1d6 100644 --- a/plans/split-ts.md +++ b/plans/split-ts.md @@ -4,7 +4,7 @@ **Goal:** Replace the single `shared/tsconfig.json` with per-platform configs so that `dom` APIs are forbidden in native code, native-only APIs are forbidden in desktop code, and the `.d.ts` type stubs are eliminated in favor of auto-generated `paths` that resolve directly to platform implementation files. -**Architecture:** A generator script (`shared/tools/gen-ts-paths.mjs`) scans the filesystem for modules that have `.desktop.tsx`/`.native.tsx` variants but no plain `.tsx`, then writes `tsconfig.paths.desktop.json` and `tsconfig.paths.native.json`. Each platform tsconfig extends `tsconfig.base.json` plus its generated paths file (TypeScript 5.0 array `extends`). The generated files are gitignored and regenerated before every type-check. Because TypeScript `paths` only intercept non-relative import specifiers, this works cleanly for the `@/*` alias style used throughout the codebase. +**Architecture:** A generator script (`shared/tools/gen-ts-paths.mjs`) scans the filesystem for modules that have `.desktop.tsx`/`.native.tsx` variants but no plain `.tsx`, then writes `tsconfig.paths.desktop.json` and `tsconfig.paths.native.json`. Each platform tsconfig extends `tsconfig.base.json` plus its generated paths file (TypeScript 5.0 array `extends`). The generated files are checked into the repo and must be regenerated (by running the generator script) whenever platform-split files are added or removed. Because TypeScript `paths` only intercept non-relative import specifiers, this works cleanly for the `@/*` alias style used throughout the codebase. **Tech Stack:** TypeScript (`tsgo`), tsconfig `extends` array (TS 5.0+), Node ESM script, `yarn` scripts @@ -18,12 +18,11 @@ | `shared/tsconfig.base.json` | Create — platform-agnostic compiler options | | `shared/tsconfig.desktop.json` | Create — desktop lib/types, extends base + generated paths | | `shared/tsconfig.native.json` | Create — native lib/types, extends base + generated paths | -| `shared/tsconfig.paths.desktop.json` | Generated (gitignored) — `@/foo` → `./foo.desktop` mappings | -| `shared/tsconfig.paths.native.json` | Generated (gitignored) — `@/foo` → `./foo.native` mappings | +| `shared/tsconfig.paths.desktop.json` | Generated (checked in) — `@/foo` → `./foo.desktop` mappings | +| `shared/tsconfig.paths.native.json` | Generated (checked in) — `@/foo` → `./foo.native` mappings | | `shared/tools/gen-ts-paths.mjs` | Create — generator script | | `shared/package.json` | Modify `tsc` script to run generator then both platform configs | | `shared/**/*.d.ts` | Delete — replaced by generated paths (keep only non-platform stubs) | -| `.gitignore` | Modify — add generated paths files | --- @@ -206,31 +205,29 @@ git commit -m "build: add gen-ts-paths.mjs to generate per-platform tsconfig pat --- -### Task 3: Gitignore the generated paths files +### Task 3: Commit the generated paths files **Files:** -- Modify: root `.gitignore` or `shared/.gitignore` +- Commit: `shared/tsconfig.paths.desktop.json`, `shared/tsconfig.paths.native.json` -- [ ] **Step 1: Check which gitignore to update** +The generated paths files are checked into the repo so they are available without running the generator first (e.g. in CI before `node tools/gen-ts-paths.mjs` has run). The generator script must still be run whenever platform-split files are added or removed to keep them up to date. -```bash -ls /Users/chrisnojima/go/src/github.com/keybase/client/shared/.gitignore 2>/dev/null && echo "shared gitignore exists" || echo "use root" -``` - -- [ ] **Step 2: Add entries** +- [ ] **Step 1: Gitignore only the build output dirs** Add to whichever `.gitignore` covers `shared/`: ``` -shared/tsconfig.paths.desktop.json -shared/tsconfig.paths.native.json shared/.tsOuts/ ``` -- [ ] **Step 3: Commit** +```bash +ls /Users/chrisnojima/go/src/github.com/keybase/client/shared/.gitignore 2>/dev/null && echo "shared gitignore exists" || echo "use root" +``` + +- [ ] **Step 2: Commit the generated files** ```bash -git add .gitignore -git commit -m "chore: gitignore generated tsconfig paths files and tsOuts" +cd shared && git add tsconfig.paths.desktop.json tsconfig.paths.native.json +git commit -m "build: add generated tsconfig paths files" ``` --- @@ -550,7 +547,7 @@ git commit -m "build: yarn tsc generates paths and checks desktop + native confi - [x] **tsconfig.base.json** has all platform-agnostic options, no lib/types - [x] **tsconfig.desktop.json** adds `dom`, `webpack-env`, excludes `.native.*` files - [x] **tsconfig.native.json** drops `dom`/`webpack-env`, excludes `.desktop.*` and `./desktop/` -- [x] **Generated paths files** are gitignored +- [x] **Generated paths files** are checked into the repo - [x] **Platform-split .d.ts stubs** deleted; non-platform stubs (`globals.d.ts` etc.) kept - [x] **tsconfig.json** is editor fallback extending desktop - [x] **yarn tsc** runs generator then both platform configs diff --git a/plans/todo.md b/plans/todo.md index 11744e7d8cd0..b8c8c3d5f802 100644 --- a/plans/todo.md +++ b/plans/todo.md @@ -1,7 +1,8 @@ +look for opportunities to use gap in all boxes any leftover zustand store -ios bg colors wrong ios push to convo broken ts split maybe legend list for chat thread desktop legend list for chat thread native update deps +remove zoom toolkit diff --git a/shared/Gemfile b/shared/Gemfile index f42caf02fa18..3f5286e6aa02 100644 --- a/shared/Gemfile +++ b/shared/Gemfile @@ -12,3 +12,4 @@ gem 'bigdecimal' gem 'logger' gem 'benchmark' gem 'mutex_m' +gem 'nkf' diff --git a/shared/android/app/build.gradle b/shared/android/app/build.gradle index 355f03f4c7eb..2c3402c31031 100644 --- a/shared/android/app/build.gradle +++ b/shared/android/app/build.gradle @@ -38,9 +38,9 @@ react { /* Variants */ // The list of variants to that are debuggable. For those we're going to - // skip the bundling of the JS bundle and the assets. By default is just 'debug'. + // skip the bundling of the JS bundle and the assets. Default is "debug", "debugOptimized". // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. - // debuggableVariants = ["liteDebug", "prodDebug"] + // debuggableVariants = ["liteDebug", "liteDebugOptimized", "prodDebug", "prodDebugOptimized"] /* Bundling */ // A list containing the node command and its flags. Default is just 'node'. diff --git a/shared/android/gradle/wrapper/gradle-wrapper.properties b/shared/android/gradle/wrapper/gradle-wrapper.properties index aa3412994495..08593f8f92ad 100644 --- a/shared/android/gradle/wrapper/gradle-wrapper.properties +++ b/shared/android/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ #Mon May 06 15:15:57 PDT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/shared/android/gradlew b/shared/android/gradlew index 556ff1614754..88eed48f0ebd 100755 --- a/shared/android/gradlew +++ b/shared/android/gradlew @@ -114,7 +114,6 @@ MSYS* | MINGW*) msys=true ;; #( NONSTOP*) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ]; then @@ -172,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys"; then APP_HOME=$(cygpath --path --mixed "$APP_HOME") - CLASSPATH=$(cygpath --path --mixed "$CLASSPATH") JAVACMD=$(cygpath --unix "$JAVACMD") @@ -213,7 +211,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/shared/android/gradlew.bat b/shared/android/gradlew.bat index c0653e6e5549..4747c80d247e 100644 --- a/shared/android/gradlew.bat +++ b/shared/android/gradlew.bat @@ -75,11 +75,10 @@ goto fail :execute @rem Setup the command line -set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/shared/app.json b/shared/app.json index 924c4d53c9c9..21dd7eb7c6d5 100644 --- a/shared/app.json +++ b/shared/app.json @@ -9,6 +9,14 @@ }, "android": { "package": "io.keybase.ossifrage" - } + }, + "plugins": [ + "expo-asset", + "expo-audio", + "expo-image", + "expo-localization", + "expo-mail-composer", + "expo-video" + ] } } diff --git a/shared/app/index.native.tsx b/shared/app/index.native.tsx index 70c9ae276980..7858e811c81a 100644 --- a/shared/app/index.native.tsx +++ b/shared/app/index.native.tsx @@ -121,24 +121,24 @@ if (__DEV__ && !globalThis.DEBUGmadeEngine) { // once per module let inited = false const useInit = () => { - if (inited) return - inited = true - initDarkMode() - Animated.addWhitelistedNativeProps({text: true}) - install() - const {batch} = C.useWaitingState.getState().dispatch - const eng = makeEngine(batch, c => { - if (c) { - onEngineConnected() - } else { - onEngineDisconnected() - } - }, onEngineIncoming) - initPlatformListener() - eng.listenersAreReady() - - // On mobile there is no installer - useConfigState.getState().dispatch.installerRan() + React.useEffect(() => { + if (inited) return + inited = true + initDarkMode() + Animated.addWhitelistedNativeProps({text: true}) + install() + const {batch} = C.useWaitingState.getState().dispatch + const eng = makeEngine(batch, c => { + if (c) { + onEngineConnected() + } else { + onEngineDisconnected() + } + }, onEngineIncoming) + initPlatformListener() + eng.listenersAreReady() + useConfigState.getState().dispatch.installerRan() + }, []) } // reanimated has issues updating shared values with this on seemingly w/ zoom toolkit diff --git a/shared/chat/audio/audio-recorder.native.tsx b/shared/chat/audio/audio-recorder.native.tsx index 9cda1db3a21d..f3355d82c1eb 100644 --- a/shared/chat/audio/audio-recorder.native.tsx +++ b/shared/chat/audio/audio-recorder.native.tsx @@ -7,10 +7,9 @@ import * as InputState from '@/chat/conversation/input-area/input-state' import {colors} from '@/styles/colors' import * as Reanimated from 'react-native-reanimated' import {AmpTracker} from './amptracker' -import {usePanGesture, GestureDetector, type PanGestureActiveEvent} from 'react-native-gesture-handler' -import {View} from 'react-native' +import {PanResponder, View, type GestureResponderEvent, type PanResponderGestureState} from 'react-native' import {formatAudioRecordDuration} from '@/util/timestamp' -import {useAudioRecorder, useAudioRecorderState, AudioModule, AudioQuality, IOSOutputFormat} from 'expo-audio' +import {AudioModule, AudioQuality, IOSOutputFormat} from 'expo-audio' import {setupAudioMode} from '@/util/audio.native' import logger from '@/logger' import * as Haptics from 'expo-haptics' @@ -81,6 +80,110 @@ const useTooltip = () => { return {flashTip, tooltip} } +type MicButtonProps = { + startedSV: SVN + fadeSV: SVN + canceledSV: SVN + lockedSV: SVN + dragXSV: SVN + dragYSV: SVN + startRecording: () => void + onCancelRecording: () => void + onFlashTip: () => void + sendRecording: () => void + onReset: () => void +} + +const MicButton = (p: MicButtonProps) => { + 'use no memo' + const {startedSV, fadeSV, canceledSV, lockedSV, dragXSV, dragYSV, + startRecording, onCancelRecording, onFlashTip, sendRecording, onReset} = p + + const panStartRef = React.useRef(0) + const overlayTimeoutIdRef = React.useRef(0) + const cbRef = React.useRef({onCancelRecording, onFlashTip, sendRecording, onReset, startRecording}) + + // useState factory captures only plain mutable locals — no React refs transitively. + // We swap them out from useLayoutEffect, which is not subject to render-phase lint rules. + const [ctx] = React.useState(() => { + let _grant = () => {} + let _move = (_e: GestureResponderEvent, _gs: PanResponderGestureState) => {} + let _release = () => {} + let _terminate = () => {} + return { + panHandlers: PanResponder.create({ + onStartShouldSetPanResponder: () => true, + onMoveShouldSetPanResponder: () => true, + onPanResponderGrant: () => _grant(), + onPanResponderMove: (e, gs) => _move(e, gs), + onPanResponderRelease: () => _release(), + onPanResponderTerminate: () => _terminate(), + }).panHandlers, + set( + grant: () => void, + move: (e: GestureResponderEvent, gs: PanResponderGestureState) => void, + release: () => void, + terminate: () => void, + ) { + _grant = grant + _move = move + _release = release + _terminate = terminate + }, + } + }) + + // All ref/SharedValue accesses live here — useLayoutEffect is post-render, not during render. + React.useLayoutEffect(() => { + cbRef.current = {onCancelRecording, onFlashTip, sendRecording, onReset, startRecording} + ctx.set( + () => { + overlayTimeoutIdRef.current = setTimeout(() => { + if (startedSV.value) return + startedSV.set(1) + fadeSV.set(withSpring(1, {duration: 200})) + cbRef.current.startRecording() + }, 200) as unknown as number + if (!panStartRef.current) panStartRef.current = Date.now() + }, + (_e: GestureResponderEvent, gs: PanResponderGestureState) => { + if (lockedSV.value || canceledSV.value) return + const maxCancelDrift = -120 + const maxLockDrift = -100 + dragYSV.set(interpolate(gs.dy, [maxLockDrift, 0], [maxLockDrift, 0], Extrapolation.CLAMP)) + dragXSV.set(interpolate(gs.dx, [maxCancelDrift, 0], [maxCancelDrift, 0], Extrapolation.CLAMP)) + if (gs.dx < maxCancelDrift) canceledSV.set(1) + else if (gs.dy < maxLockDrift) lockedSV.set(1) + }, + () => { + const diff = Date.now() - panStartRef.current + startedSV.set(0) + panStartRef.current = 0 + clearTimeout(overlayTimeoutIdRef.current) + overlayTimeoutIdRef.current = 0 + const wasCancel = canceledSV.value === 1 + const panLocked = lockedSV.value === 1 + if (wasCancel) { cbRef.current.onCancelRecording(); return } + if (diff < 200) { cbRef.current.onFlashTip(); return } + if (!panLocked) { cbRef.current.sendRecording(); cbRef.current.onReset() } + }, + () => { + startedSV.set(0) + panStartRef.current = 0 + clearTimeout(overlayTimeoutIdRef.current) + overlayTimeoutIdRef.current = 0 + cbRef.current.onCancelRecording() + }, + ) + }) + + return ( + + + + ) +} + const useIconAndOverlay = (p: { flashTip: () => void startRecording: () => void @@ -146,102 +249,20 @@ const useIconAndOverlay = (p: { onCancelRecording() } - const [iconVisible, setIconVisible] = React.useState(false) - - // work around bug in gesture handler where it crashes on mount - React.useEffect(() => { - const id = setTimeout(() => { - setIconVisible(true) - return () => { - clearTimeout(id) - } - }, 1000) - }, []) - const panStartSV = useSharedValue(0) - - const overlayTimeoutIdRef = React.useRef(0) - const showOverlay = () => { - // we get this multiple times for some reason - if (startedSV.value) { - return - } - startedSV.set(1) - fadeSV.set(withSpring(1, {duration: 200})) - startRecording() - } - const setupOverlayTimeout = () => { - overlayTimeoutIdRef.current = setTimeout(() => { - showOverlay() - }, 200) as unknown as number - } - const cleanupOverlayTimeout = () => { - clearTimeout(overlayTimeoutIdRef.current) - overlayTimeoutIdRef.current = 0 - } - - const gesture = usePanGesture({ - maxPointers: 1, - minDistance: 0, - minPointers: 1, - onFinalize: (_e: unknown) => { - 'worklet' - const diff = Date.now() - panStartSV.value - startedSV.set(0) - panStartSV.set(0) - runOnJS(cleanupOverlayTimeout)() - const needTip = diff < 200 - const wasCancel = canceledSV.value === 1 - const panLocked = lockedSV.value === 1 - if (wasCancel) { - runOnJS(onCancelRecording)() - return - } - - if (needTip) { - runOnJS(onFlashTip)() - return - } - - if (!panLocked) { - runOnJS(sendRecording)() - onReset() - fadeSV.set(withTiming(0, {duration: 200})) - } - }, - onTouchesDown: () => { - 'worklet' - runOnJS(setupOverlayTimeout)() - if (!panStartSV.value) { - panStartSV.set(Date.now()) - } - }, - onUpdate: (e: PanGestureActiveEvent) => { - 'worklet' - if (lockedSV.value || canceledSV.value) { - return - } - const maxCancelDrift = -120 - const maxLockDrift = -100 - dragYSV.set(interpolate(e.translationY, [maxLockDrift, 0], [maxLockDrift, 0], Extrapolation.CLAMP)) - dragXSV.set(interpolate(e.translationX, [maxCancelDrift, 0], [maxCancelDrift, 0], Extrapolation.CLAMP)) - if (e.translationX < maxCancelDrift) { - canceledSV.set(1) - } else if (e.translationY < maxLockDrift) { - lockedSV.set(1) - } - }, - }) - - const icon = iconVisible ? ( - - - - - - - - ) : ( - + const icon = ( + ) const durationStyle = useAnimatedStyle(() => ({ @@ -317,20 +338,21 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho const [staged, setStaged] = React.useState(false) const [stagedRecording, setStagedRecording] = React.useState({duration: 0, path: ''}) - const recorder = useAudioRecorder(recordingOptions) - const recorderState = useAudioRecorderState(recorder, 100) + // Recorder is created lazily on startRecording and released on stop/reset/unmount. + // This avoids holding a native SharedRef across unrelated navigations (e.g. photo picker). + const recorderRef = React.useRef | null>(null) + const meteringIntervalRef = React.useRef | null>(null) - React.useEffect(() => { - const inamp = recorderState.metering - if (inamp === undefined) { - return + const releaseRecorder = React.useCallback(() => { + if (meteringIntervalRef.current !== null) { + clearInterval(meteringIntervalRef.current) + meteringIntervalRef.current = null } - const amp = 10 ** (inamp * 0.05) - ampTracker.addAmp(amp) - const maxScale = 8 - const minScale = 3 - ampSV.set(withTiming(minScale + amp * (maxScale - minScale), {duration: 100})) - }, [recorderState, ampTracker, ampSV]) + if (recorderRef.current) { + recorderRef.current.release() + recorderRef.current = null + } + }, []) const stopRecording = async () => { const needsTeardown = hasSetupRecording.current @@ -340,9 +362,14 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho } recordEndRef.current = Date.now() - if (recordStartRef.current > 0) { + if (meteringIntervalRef.current !== null) { + clearInterval(meteringIntervalRef.current) + meteringIntervalRef.current = null + } + + if (recordStartRef.current > 0 && recorderRef.current) { try { - await recorder.stop() + await recorderRef.current.stop() } catch (e) { console.log('Recording stopping fail', e) } @@ -353,6 +380,7 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho try { await stopRecording() } catch {} + releaseRecorder() ampTracker.reset() const path = pathRef.current pathRef.current = '' @@ -403,6 +431,8 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho hasSetupRecording.current = true vibrate(true) + const recorder = new AudioModule.AudioRecorder(recordingOptions) + recorderRef.current = recorder await recorder.prepareToRecordAsync() const audioPath = recorder.uri?.replace(/^file:\/\//, '') if (!audioPath) { @@ -413,6 +443,17 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho recorder.record() recordStartRef.current = Date.now() recordEndRef.current = recordStartRef.current + + meteringIntervalRef.current = setInterval(() => { + const status = recorderRef.current?.getStatus() + const inamp = status?.metering + if (inamp === undefined) return + const amp = 10 ** (inamp * 0.05) + ampTracker.addAmp(amp) + const maxScale = 8 + const minScale = 3 + ampSV.set(withTiming(minScale + amp * (maxScale - minScale), {duration: 100})) + }, 100) } impl() @@ -480,11 +521,12 @@ const useRecorder = (p: {ampSV: SVN; setShowAudioSend: (s: boolean) => void; sho React.useEffect(() => { return () => { setShowAudioSend(false) + releaseRecorder() onResetEvent() .then(() => {}) .catch(() => {}) } - }, [setShowAudioSend]) + }, [setShowAudioSend, releaseRecorder]) return {audioSend, cancelRecording, sendRecording, stageRecording, staged, startRecording} } diff --git a/shared/chat/conversation/container.tsx b/shared/chat/conversation/container.tsx index d23eb3cb057f..85284787afbb 100644 --- a/shared/chat/conversation/container.tsx +++ b/shared/chat/conversation/container.tsx @@ -41,7 +41,6 @@ const ConversationInner = function ConversationInner() { } } })() - switch (type) { case 'error': return diff --git a/shared/chat/conversation/input-area/normal/index.tsx b/shared/chat/conversation/input-area/normal/index.tsx index 093560e2779d..54dc042f0f5a 100644 --- a/shared/chat/conversation/input-area/normal/index.tsx +++ b/shared/chat/conversation/input-area/normal/index.tsx @@ -126,7 +126,7 @@ const doInjectText = (inputRef: React.RefObject, text: string, } const ConnectedPlatformInput = function ConnectedPlatformInput() { - const route = useRoute | RootRouteProps<'chatRoot'>>() + const route = useRoute() as RootRouteProps<'chatConversation'> | RootRouteProps<'chatRoot'> const params = getRouteParamsFromRoute<'chatConversation' | 'chatRoot'>(route) const infoPanelShowing = !!(params && typeof params === 'object' && 'infoPanel' in params && params.infoPanel) const uiData = InputState.useConversationInput( diff --git a/shared/chat/conversation/list-area/index.desktop.tsx b/shared/chat/conversation/list-area/index.desktop.tsx index 23fe3b263b3c..fb19b9b51a33 100644 --- a/shared/chat/conversation/list-area/index.desktop.tsx +++ b/shared/chat/conversation/list-area/index.desktop.tsx @@ -264,19 +264,14 @@ const useScrolling = (p: { markInitiallyLoadedThreadAsRead() } + setDidFirstLoad(true) if (centeredOrdinal) { lockedToBottomRef.current = false scrollToCentered() - requestAnimationFrame(() => { - requestAnimationFrame(() => { - setDidFirstLoad(true) - }) - }) } else { scrollToBottomSync() requestAnimationFrame(() => { scrollToBottomSync() - setDidFirstLoad(true) }) } }, [loaded, centeredOrdinal, markInitiallyLoadedThreadAsRead, scrollToBottomSync, scrollToCentered]) diff --git a/shared/chat/conversation/messages/message-popup/attachment.tsx b/shared/chat/conversation/messages/message-popup/attachment.tsx index fe380dc8cdf6..d59db9734a27 100644 --- a/shared/chat/conversation/messages/message-popup/attachment.tsx +++ b/shared/chat/conversation/messages/message-popup/attachment.tsx @@ -167,7 +167,7 @@ const PopAttachThread = (ownProps: OwnProps) => { useConversationAttachmentActions() const itemsData = useItems(ordinal, onHidden) const header = useHeader(ordinal, onHidden) - const {params} = useRoute() + const {params} = useRoute() as ChatRootRoute const infoPanelShowing = !!params.infoPanel const {meta, participantInfo} = useConversationThreadSelector( C.useShallow(s => ({meta: s.meta, participantInfo: s.participants})) diff --git a/shared/chat/conversation/messages/special-top-message.tsx b/shared/chat/conversation/messages/special-top-message.tsx index 672792488182..2a6819016363 100644 --- a/shared/chat/conversation/messages/special-top-message.tsx +++ b/shared/chat/conversation/messages/special-top-message.tsx @@ -113,16 +113,15 @@ const ErrorMessage = () => { function SpecialTopMessage() { const username = useCurrentUserState(s => s.username) const conversationIDKey = useConversationThreadID() - const {messageOrdinals, meta, moreToLoadBack, participants} = useConversationThreadSelector( + const {firstOrdinal, hasLoadedEver, meta, moreToLoadBack, participants} = useConversationThreadSelector( C.useShallow(s => ({ - messageOrdinals: s.messageOrdinals, + firstOrdinal: s.messageOrdinals?.[0] ?? T.Chat.numberToOrdinal(0), + hasLoadedEver: s.messageOrdinals !== undefined, meta: s.meta, moreToLoadBack: s.moreToLoadBack, participants: s.participants, })) ) - const hasLoadedEver = messageOrdinals !== undefined - const ordinal = messageOrdinals?.[0] ?? T.Chat.numberToOrdinal(0) const {teamType, supersedes, retentionPolicy, teamRetentionPolicy} = meta const loadMoreType = moreToLoadBack ? 'moreToLoad' : 'noMoreToLoad' const pendingState = @@ -142,32 +141,6 @@ function SpecialTopMessage() { const showRetentionNotice = retentionPolicy.type !== 'retain' && !(retentionPolicy.type === 'inherit' && teamRetentionPolicy.type === 'retain') - // we defer showing this so it doesn't flash so much - const [allowDigging, setAllowDigging] = React.useState(false) - const lastOrdinalRef = React.useRef(ordinal) - - const digTimerRef = React.useRef | undefined>(undefined) - React.useEffect(() => { - if (ordinal !== lastOrdinalRef.current) { - setAllowDigging(false) - lastOrdinalRef.current = ordinal - if (digTimerRef.current) { - clearTimeout(digTimerRef.current) - } - digTimerRef.current = setTimeout(() => { - setAllowDigging(true) - }, 3000) - } - }, [ordinal]) - - React.useEffect(() => { - return () => { - if (digTimerRef.current) { - clearTimeout(digTimerRef.current) - digTimerRef.current = undefined - } - } - }, []) const openPrivateFolder = () => { FS.navToPath(T.FS.stringToPath(`/keybase/private/${username}`)) @@ -198,7 +171,7 @@ function SpecialTopMessage() { )} - {allowDigging && loadMoreType === 'moreToLoad' && pendingState === 'done' && ( + {loadMoreType === 'moreToLoad' && pendingState === 'done' && ( @@ -208,7 +181,7 @@ function SpecialTopMessage() { )} {!Kb.Styles.isMobile || usingFlashList ? null : ( // special case here with the sep. The flatlist and flashlist invert the leading-trailing, see useStateFast - + )} ) diff --git a/shared/chat/conversation/messages/wrapper/long-pressable/index.native.tsx b/shared/chat/conversation/messages/wrapper/long-pressable/index.native.tsx index 6cc460316486..587311f1ae83 100644 --- a/shared/chat/conversation/messages/wrapper/long-pressable/index.native.tsx +++ b/shared/chat/conversation/messages/wrapper/long-pressable/index.native.tsx @@ -4,10 +4,7 @@ import * as InputState from '../../../input-area/input-state' import type {Props} from '.' import {useOrdinal} from '../../ids-context' import {useConversationThreadToggleSearch} from '../../../thread-context' -import Swipeable, { - type SwipeableMethods, - SwipeDirection, -} from 'react-native-gesture-handler/ReanimatedSwipeable' +import Swipeable, {type SwipeableMethods} from '@/common-adapters/swipeable-row.native' import {Pressable, Keyboard} from 'react-native' import {FocusContext} from '@/chat/conversation/normal/context' import * as Reanimated from 'react-native-reanimated' @@ -51,11 +48,9 @@ function LongPressable(props: Props) { } const swipeRef = React.useRef(null) - const onSwipeableWillOpen = (dir: SwipeDirection) => { - if (dir === SwipeDirection.LEFT) { - swipeRef.current?.close() - onSwipeLeft() - } + const onSwipeableWillOpen = () => { + swipeRef.current?.close() + onSwipeLeft() } return ( @@ -63,8 +58,6 @@ function LongPressable(props: Props) { ref={swipeRef} renderRightActions={makeAction} onSwipeableWillOpen={onSwipeableWillOpen} - overshootRight={false} - dragOffsetFromLeftEdge={1000} > {inner} diff --git a/shared/chat/conversation/thread-load-status-context.test.tsx b/shared/chat/conversation/thread-load-status-context.test.tsx index ca7f77d2e1b6..ae747f8f18a5 100644 --- a/shared/chat/conversation/thread-load-status-context.test.tsx +++ b/shared/chat/conversation/thread-load-status-context.test.tsx @@ -6,7 +6,6 @@ import * as T from '@/constants/types' import {notifyEngineActionListeners} from '@/engine/action-listener' import {resetAllStores} from '@/util/zustand' import {useCurrentUserState} from '@/stores/current-user' -import {useShellState} from '@/stores/shell' import { ConversationThreadLoadStatusProvider, useThreadLoadStatus, @@ -15,20 +14,6 @@ import { } from './thread-load-status-context' import {ConversationThreadProvider} from './thread-context' -let mockRouteFocused = true -let mockVisibleScreenName: string | undefined -jest.mock('@react-navigation/core', () => ({ - createNavigationContainerRef: jest.fn(() => ({current: null})), - useIsFocused: () => mockRouteFocused, -})) -jest.mock('@/constants/router', () => { - const actual = jest.requireActual('@/constants/router') - return { - ...actual, - getVisibleScreen: () => (mockVisibleScreenName ? {name: mockVisibleScreenName} : undefined), - } -}) - jest.mock('@/stores/inbox-rows', () => ({ flushInboxRowUpdates: jest.fn(), getInboxRowTrustedState: jest.fn(() => undefined), @@ -53,8 +38,6 @@ const flushPromises = async () => { } beforeEach(() => { - mockRouteFocused = true - mockVisibleScreenName = undefined jest.spyOn(T.RPCChat, 'localRequestInboxUnboxRpcPromise').mockResolvedValue(undefined) useCurrentUserState.getState().dispatch.setBootstrap({ deviceID: 'device-id', @@ -143,71 +126,3 @@ test('mounted stale-thread reload reports status through the provider', async () expect(result.current).toBe(T.RPCChat.UIChatThreadStatusTyp.server) }) - -test('mounted route focus reload reports status through the provider', async () => { - mockRouteFocused = false - jest.spyOn(T.RPCChat, 'localGetThreadNonblockRpcListener').mockImplementation(async p => { - p.incomingCallMap['chat.1.chatUi.chatThreadStatus']?.({ - status: {typ: T.RPCChat.UIChatThreadStatusTyp.server}, - }) - await Promise.resolve() - return {offline: false} - }) - const {rerender, result} = renderHook(() => useThreadLoadStatus(), {wrapper}) - - act(() => { - mockRouteFocused = true - rerender() - }) - await act(async () => { - await flushPromises() - }) - - expect(result.current).toBe(T.RPCChat.UIChatThreadStatusTyp.server) -}) - -test('mounted route focus skips reload after returning from emoji picker', async () => { - mockRouteFocused = false - mockVisibleScreenName = 'chatChooseEmoji' - const getThread = jest.spyOn(T.RPCChat, 'localGetThreadNonblockRpcListener').mockResolvedValue({ - offline: false, - }) - const {rerender} = renderHook(() => useThreadLoadStatus(), {wrapper}) - - act(() => { - mockRouteFocused = true - mockVisibleScreenName = undefined - rerender() - }) - await act(async () => { - await flushPromises() - }) - - expect(getThread).not.toHaveBeenCalled() -}) - -test('mounted app foreground does not reload the thread', async () => { - const getThread = jest.spyOn(T.RPCChat, 'localGetThreadNonblockRpcListener').mockImplementation(async p => { - p.incomingCallMap['chat.1.chatUi.chatThreadStatus']?.({ - status: {typ: T.RPCChat.UIChatThreadStatusTyp.server}, - }) - await Promise.resolve() - return {offline: false} - }) - renderHook(() => useThreadLoadStatus(), {wrapper}) - - act(() => { - useShellState.getState().dispatch.changedFocus(false) - }) - await act(async () => { - await flushPromises() - }) - act(() => { - useShellState.getState().dispatch.changedFocus(true) - }) - await act(async () => { - await flushPromises() - }) - - expect(getThread).not.toHaveBeenCalled() -}) diff --git a/shared/chat/conversation/thread-load-status-context.tsx b/shared/chat/conversation/thread-load-status-context.tsx index ff0c2f365090..aa9f44357a38 100644 --- a/shared/chat/conversation/thread-load-status-context.tsx +++ b/shared/chat/conversation/thread-load-status-context.tsx @@ -130,7 +130,6 @@ export const ConversationThreadLoadStatusProvider = ( }) } - useEngineActionListener('chat.1.NotifyChat.ChatThreadsStale', action => { const hasStaleThread = (action.payload.params.updates ?? []).some( update => T.Chat.conversationIDToKey(update.convID) === id diff --git a/shared/chat/conversation/thread-search-route.tsx b/shared/chat/conversation/thread-search-route.tsx index 5db5f4694747..cc6d8ee2ac0b 100644 --- a/shared/chat/conversation/thread-search-route.tsx +++ b/shared/chat/conversation/thread-search-route.tsx @@ -30,7 +30,7 @@ const isThreadSearchRouteParams = ( Object.prototype.hasOwnProperty.call(params, 'inputAction')) export const useChatThreadRouteParams = (): ThreadSearchRouteProps | undefined => { - const route = useRoute | RootRouteProps<'chatRoot'>>() + const route = useRoute() as RootRouteProps<'chatConversation'> | RootRouteProps<'chatRoot'> const params = getRouteParamsFromRoute<'chatConversation' | 'chatRoot'>(route) return isThreadSearchRouteParams(params) ? params : undefined } diff --git a/shared/chat/inbox-and-conversation-header.tsx b/shared/chat/inbox-and-conversation-header.tsx index c3844a016c84..d47fb36e0df2 100644 --- a/shared/chat/inbox-and-conversation-header.tsx +++ b/shared/chat/inbox-and-conversation-header.tsx @@ -28,7 +28,7 @@ const Header = () => { } const Header2 = () => { - const {params} = useRoute() + const {params} = useRoute() as ChatRootRoute const username = useCurrentUserState(s => s.username) const infoPanelShowing = !!params.infoPanel const conversationIDKey = params.conversationIDKey ?? Chat.noConversationIDKey diff --git a/shared/chat/inbox/get-options.tsx b/shared/chat/inbox/get-options.tsx index c7e6afc12be6..70d2bddc2484 100644 --- a/shared/chat/inbox/get-options.tsx +++ b/shared/chat/inbox/get-options.tsx @@ -38,7 +38,7 @@ const desktopOptions = { } export default { - freezeOnBlur: false, + inactiveBehavior: 'none' as const, ...(Kb.Styles.isMobile ? mobileOptions : desktopOptions), headerTitle: () => ( diff --git a/shared/chat/inbox/index.desktop.tsx b/shared/chat/inbox/index.desktop.tsx index a98bd452fb82..9532bb4cfb8a 100644 --- a/shared/chat/inbox/index.desktop.tsx +++ b/shared/chat/inbox/index.desktop.tsx @@ -233,8 +233,13 @@ function InboxBody(props: ControlledInboxProps) { const scrollDiv = React.useRef(null) const listRef = React.useRef(null) - const {showFloating, showUnread, unreadCount, scrollToUnread, lastVisibleIdxRef, applyUnreadAndFloating} = - useUnreadShortcut({listRef, rows, unreadIndices, unreadTotal}) + const getSize = React.useCallback( + (item: RowItem) => getRowHeight(item.type, item.type === 'divider' && item.showButton), + [] + ) + + const {showFloating, showUnread, unreadCount, scrollToUnread, applyUnreadAndFloating} = + useUnreadShortcut({listRef, rows, unreadIndices, unreadTotal, getSize}) const onScrollUnbox = useScrollUnbox(onUntrustedInboxVisible, 200) // onViewableItemsChanged doesn't fire on initial render, only on scroll. @@ -254,13 +259,9 @@ function InboxBody(props: ControlledInboxProps) { } }, [rows, onUntrustedInboxVisible]) - const itemHeight = { - getSize: (item: RowItem) => getRowHeight(item.type, item.type === 'divider' && item.showButton), - type: 'perItem' as const, - } + const itemHeight = {getSize, type: 'perItem' as const} const onViewChanged = (data: ViewableItemsData) => { - lastVisibleIdxRef.current = data.viewableItems.at(-1)?.index ?? -1 applyUnreadAndFloating() onScrollUnbox(data) } diff --git a/shared/chat/inbox/index.native.tsx b/shared/chat/inbox/index.native.tsx index 9c791b8cac81..18d1605a79de 100644 --- a/shared/chat/inbox/index.native.tsx +++ b/shared/chat/inbox/index.native.tsx @@ -2,10 +2,7 @@ import * as C from '@/constants' import * as Chat from '@/constants/chat' import * as Kb from '@/common-adapters' import * as React from 'react' -import {isLiquidGlassSupported as _isLiquidGlassSupported} from '@callstack/liquid-glass' import {useChosenChannelsTeamnames} from '@/chat/conversation/manage-channels-badge' -import {useNavigation, type NavigationProp} from '@react-navigation/native' -import type {NativeBottomTabNavigationProp} from '@react-navigation/bottom-tabs/unstable' import {PerfProfiler} from '@/perf/react-profiler' import * as RowSizes from './row/sizes' import BigTeamsDivider from './row/big-teams-divider' @@ -17,7 +14,6 @@ import UnreadShortcut from './unread-shortcut' import type * as T from '@/constants/types' import {Alert} from 'react-native' import type {LegendListRef} from '@/common-adapters' -import type {RootParamList} from '@/router-v2/route-params' import {makeRow} from './row' import {useOpenedRowState} from './row/opened-row-state' import type {InboxSearchController} from './use-inbox-search' @@ -25,8 +21,6 @@ import {useInboxSearch} from './use-inbox-search' import {useInboxState} from './use-inbox-state' import {type RowItem, type ViewableItemsData, viewabilityConfig, getItemType, keyExtractor, useUnreadShortcut, useScrollUnbox} from './list-helpers' -const isLiquidGlassSupported = _isLiquidGlassSupported as boolean - const NoChats = (props: {onNewChat: () => void}) => ( <> - const navigation = useNavigation>() const chosenChannelsTeamnames = useChosenChannelsTeamnames() const listExtraData = React.useMemo( () => ({ @@ -96,26 +89,22 @@ function InboxBody(p: ControlledInboxProps) { ) const listRef = React.useRef(null) + + const getSize = React.useCallback((item: RowItem) => { + switch (item.type) { + case 'small': return RowSizes.smallRowHeight + case 'big': return RowSizes.bigRowHeight + case 'bigHeader': return RowSizes.bigHeaderHeight + case 'divider': return RowSizes.dividerHeight(item.showButton) + case 'teamBuilder': return 120 + } + }, []) + const {showFloating, showUnread, unreadCount, scrollToUnread, applyUnreadAndFloating} = - useUnreadShortcut({listRef, rows, unreadIndices, unreadTotal}) + useUnreadShortcut({listRef, rows, unreadIndices, unreadTotal, getSize}) const onScrollUnbox = useScrollUnbox(onUntrustedInboxVisible, 1000) - React.useEffect(() => { - applyUnreadAndFloating() - }, [applyUnreadAndFloating]) - - const itemHeight = { - getSize: (item: RowItem) => { - switch (item.type) { - case 'small': return RowSizes.smallRowHeight - case 'big': return RowSizes.bigRowHeight - case 'bigHeader': return RowSizes.bigHeaderHeight - case 'divider': return RowSizes.dividerHeight(item.showButton) - case 'teamBuilder': return 120 - } - }, - type: 'perItem' as const, - } + const itemHeight = {getSize, type: 'perItem' as const} const renderItem = (_index: number, item: RowItem): React.ReactElement | null => { const row = item @@ -185,26 +174,9 @@ function InboxBody(p: ControlledInboxProps) { ), [promptSmallTeamsNum, scrollToBigTeams] ) - const renderBottomAccessory = React.useCallback( - () => renderFloatingDivider(true), - [renderFloatingDivider] - ) - const useTabBottomAccessory = C.isIOS && C.isPhone && isLiquidGlassSupported const showFloatingDivider = showFloating && !isSearching && allowShowFloatingButton - React.useEffect(() => { - if (!useTabBottomAccessory) { - return - } - const parent = navigation.getParent | undefined>() - parent?.setOptions({bottomAccessory: showFloatingDivider ? renderBottomAccessory : undefined}) - return () => { - parent?.setOptions({bottomAccessory: undefined}) - } - }, [navigation, renderBottomAccessory, showFloatingDivider, useTabBottomAccessory]) - const noChats = !neverLoaded && !isSearching && !rows.length && - const floatingDivider = showFloatingDivider && !useTabBottomAccessory && renderFloatingDivider() return ( @@ -235,7 +207,11 @@ function InboxBody(p: ControlledInboxProps) { /> )} {noChats} - {floatingDivider || (rows.length === 0 && !neverLoaded && )} + {showFloatingDivider ? ( + {renderFloatingDivider(true)} + ) : ( + rows.length === 0 && !neverLoaded && + )} {showUnread && !isSearching && !showFloating && ( )} diff --git a/shared/chat/inbox/list-helpers.tsx b/shared/chat/inbox/list-helpers.tsx index 916e2d40710d..5bdcb64bda10 100644 --- a/shared/chat/inbox/list-helpers.tsx +++ b/shared/chat/inbox/list-helpers.tsx @@ -48,43 +48,67 @@ const calcUnreadShortcut = (unreadIndices: ReadonlyMap, lastVisi : {firstOffscreenIdx: -1, showUnread: false, unreadCount: 0} } -const shouldShowFloating = (rows: ArrayLike, lastVisibleIdx: number): boolean => { - if (lastVisibleIdx < 0) return false - // Find the first non-small row (the divider). Show floating if it's beyond the last visible index. - // This is invariant to row shifts: when small teams expand, the divider moves right, so - // lastVisibleIdx < dividerIdx becomes true even without a new scroll event. - for (let i = 0; i < rows.length; i++) { - if (rows[i]?.type !== 'small') return lastVisibleIdx < i +// Compute divider Y offset from known item sizes, avoiding LegendList's internal +// positions array which is lazily recomputed after data changes. +const getDividerYOffset = (rows: ArrayLike, getSize: (item: RowItem) => number): number => { + let offset = 0 + for (const item of Array.from(rows)) { + if (item.type !== 'small') return offset + offset += getSize(item) } - return false + return -1 +} + +const shouldShowFloating = ( + rows: ArrayLike, + getSize: (item: RowItem) => number, + listRef: React.RefObject<{getState: () => {scroll: number; scrollLength: number}} | null> +): boolean => { + const state = listRef.current?.getState() + if (!state || state.scrollLength <= 0) return false + const dividerY = getDividerYOffset(rows, getSize) + if (dividerY < 0) return false + return dividerY > state.scroll + state.scrollLength } export function useUnreadShortcut(p: { rows: ReadonlyArray unreadIndices: ReadonlyMap unreadTotal: number + getSize: (item: RowItem) => number listRef: React.RefObject<{ - getState: () => {end: number} + getState: () => {end: number; scroll: number; scrollLength: number} scrollToIndex: (params: {animated?: boolean; index: number; viewPosition?: number}) => Promise } | null> }) { - const {rows, unreadIndices, unreadTotal, listRef} = p + const {rows, unreadIndices, unreadTotal, getSize, listRef} = p const [showFloating, setShowFloating] = React.useState(false) const [showUnread, setShowUnread] = React.useState(false) const [unreadCount, setUnreadCount] = React.useState(0) const firstOffscreenIdxRef = React.useRef(-1) - const lastVisibleIdxRef = React.useRef(-1) - const applyUnreadAndFloating = React.useCallback(() => { - const fromList = listRef.current?.getState().end ?? -1 - if (fromList >= 0) lastVisibleIdxRef.current = fromList - const lastVisibleIdx = lastVisibleIdxRef.current + // Captures latest rows/getSize/etc. — recreated when deps change. + const applyImpl = React.useCallback(() => { + const state = listRef.current?.getState() + const lastVisibleIdx = state?.end ?? -1 const info = calcUnreadShortcut(unreadIndices, lastVisibleIdx) setShowUnread(info.showUnread) setUnreadCount(info.unreadCount) firstOffscreenIdxRef.current = info.firstOffscreenIdx - setShowFloating(shouldShowFloating(rows, lastVisibleIdx)) - }, [listRef, unreadIndices, rows]) + setShowFloating(shouldShowFloating(rows, getSize, listRef)) + }, [listRef, unreadIndices, rows, getSize]) + + // Always points to the latest applyImpl. Updated in a layout effect so it's + // current before any post-paint callbacks (e.g. the 100ms minimumViewTime timeout + // in LegendList's onViewableItemsChanged) fire. + const applyRef = React.useRef(applyImpl) + React.useLayoutEffect(() => { + applyRef.current = applyImpl + }) + + // Stable function safe to use in onViewChanged — avoids stale closure issue where + // LegendList's minimumViewTime setTimeout fires with an old callback capturing old rows. + const applyUnreadAndFloating = React.useCallback(() => applyRef.current(), []) const scrollToUnread = () => { if (firstOffscreenIdxRef.current <= 0) { @@ -93,11 +117,12 @@ export function useUnreadShortcut(p: { void listRef.current?.scrollToIndex({animated: true, index: firstOffscreenIdxRef.current, viewPosition: 0.5}) } + // Re-run when data changes (rows, unreadIndices, unreadTotal). React.useEffect(() => { - applyUnreadAndFloating() - }, [applyUnreadAndFloating, unreadTotal]) + applyImpl() + }, [applyImpl, unreadTotal]) - return {applyUnreadAndFloating, lastVisibleIdxRef, scrollToUnread, showFloating, showUnread, unreadCount} + return {applyUnreadAndFloating, scrollToUnread, showFloating, showUnread, unreadCount} } export function useScrollUnbox( diff --git a/shared/chat/inbox/metadata.tsx b/shared/chat/inbox/metadata.tsx index feb73f05c957..efd8fa557f21 100644 --- a/shared/chat/inbox/metadata.tsx +++ b/shared/chat/inbox/metadata.tsx @@ -266,6 +266,12 @@ export const onChatRouteChanged = ( export const hydrateInboxLayout = (layout: T.RPCChat.UIInboxLayout) => { syncInboxRowsFromLayout(layout) + const missingSnippetIds = (layout.smallTeams ?? []) + .filter(row => !row.snippet) + .map(row => T.Chat.stringToConversationIDKey(row.convID)) + if (missingSnippetIds.length > 0) { + queueMetaToRequest(missingSnippetIds) + } } export const hydrateInboxConversations = (inboxUIItems: ReadonlyArray) => { diff --git a/shared/chat/inbox/row/small-team/swipe-conv-actions/index.native.tsx b/shared/chat/inbox/row/small-team/swipe-conv-actions/index.native.tsx index 475a8e4d05f3..4b317be31950 100644 --- a/shared/chat/inbox/row/small-team/swipe-conv-actions/index.native.tsx +++ b/shared/chat/inbox/row/small-team/swipe-conv-actions/index.native.tsx @@ -4,9 +4,8 @@ import * as React from 'react' import * as Reanimated from 'react-native-reanimated' import * as RowSizes from '../../sizes' import type {Props} from '.' -import {View} from 'react-native' -import {RectButton} from 'react-native-gesture-handler' -import Swipeable, {type SwipeableMethods} from 'react-native-gesture-handler/ReanimatedSwipeable' +import {Pressable, View} from 'react-native' +import Swipeable, {type SwipeableMethods} from '@/common-adapters/swipeable-row.native' import {useOpenedRowState} from '../../opened-row-state' import {useInboxRowSmall} from '@/stores/inbox-rows' import {hideConversation, markConversationUnread, muteConversation} from '@/chat/conversation/status-actions' @@ -38,12 +37,12 @@ const Action = (p: { return ( - + {text} - + ) } @@ -124,11 +123,11 @@ function SwipeConvActions(p: Props) { } const inner = onPress ? ( - + {children} - + ) : ( {children} diff --git a/shared/common-adapters/bottom-accessory.d.ts b/shared/common-adapters/bottom-accessory.d.ts new file mode 100644 index 000000000000..ced298e315a9 --- /dev/null +++ b/shared/common-adapters/bottom-accessory.d.ts @@ -0,0 +1,3 @@ +import type * as React from 'react' + +export declare const BottomAccessory: (p: {children: React.ReactNode}) => React.ReactNode diff --git a/shared/common-adapters/bottom-accessory.desktop.tsx b/shared/common-adapters/bottom-accessory.desktop.tsx new file mode 100644 index 000000000000..c6a07f51271a --- /dev/null +++ b/shared/common-adapters/bottom-accessory.desktop.tsx @@ -0,0 +1,3 @@ +import type * as React from 'react' + +export const BottomAccessory = ({children}: {children: React.ReactNode}) => <>{children} diff --git a/shared/common-adapters/bottom-accessory.native.tsx b/shared/common-adapters/bottom-accessory.native.tsx new file mode 100644 index 000000000000..e6611f883cb0 --- /dev/null +++ b/shared/common-adapters/bottom-accessory.native.tsx @@ -0,0 +1,26 @@ +import * as C from '@/constants' +import * as React from 'react' +import {useNavigation} from '@react-navigation/native' +import {useIsFocused} from '@react-navigation/core' +import type {BottomTabNavigationProp} from '@react-navigation/bottom-tabs' +import {isLiquidGlassSupported as _isLiquidGlassSupported} from '@callstack/liquid-glass' +import type {RootParamList} from '@/router-v2/route-params' + +const isLiquidGlassActive = (C.isIOS && C.isPhone && _isLiquidGlassSupported) as boolean + +export const BottomAccessory = ({children}: {children: React.ReactNode}) => { + const navigation = useNavigation() + const isFocused = useIsFocused() + + React.useEffect(() => { + if (!isLiquidGlassActive || !isFocused) return + const parent = navigation.getParent() as BottomTabNavigationProp | undefined + parent?.setOptions({bottomAccessory: (): React.ReactNode => children}) + return () => { + parent?.setOptions({bottomAccessory: undefined}) + } + }, [children, isFocused, navigation]) + + if (isLiquidGlassActive) return null + return <>{children} +} diff --git a/shared/common-adapters/index.d.ts b/shared/common-adapters/index.d.ts index afb9d4bf6981..4775cdbbb2a9 100644 --- a/shared/common-adapters/index.d.ts +++ b/shared/common-adapters/index.d.ts @@ -15,6 +15,7 @@ export { export {default as Animation} from './animation' export {default as Avatar} from './avatar' export {default as AvatarLine} from './avatar/avatar-line' +export {BottomAccessory} from './bottom-accessory' export {default as BackButton} from './back-button' export {default as Badge} from './badge' export {Banner, BannerParagraph} from './banner' diff --git a/shared/common-adapters/index.desktop.tsx b/shared/common-adapters/index.desktop.tsx index 8a9ec1d6e548..bd96ec3e746b 100644 --- a/shared/common-adapters/index.desktop.tsx +++ b/shared/common-adapters/index.desktop.tsx @@ -1,3 +1,4 @@ export * from './index-impl' export const ReAnimated = {} export const LayoutAnimation = {} +export {BottomAccessory} from './bottom-accessory.desktop' diff --git a/shared/common-adapters/index.native.tsx b/shared/common-adapters/index.native.tsx index f1432f426811..8ad71b8604cb 100644 --- a/shared/common-adapters/index.native.tsx +++ b/shared/common-adapters/index.native.tsx @@ -1,3 +1,4 @@ import {LayoutAnimation} from 'react-native' export * from './index-impl' export {LayoutAnimation} +export {BottomAccessory} from './bottom-accessory.native' diff --git a/shared/common-adapters/list.d.ts b/shared/common-adapters/list.d.ts index d43200a67732..2ea51ae6e346 100644 --- a/shared/common-adapters/list.d.ts +++ b/shared/common-adapters/list.d.ts @@ -5,6 +5,7 @@ import type {LegendListRef as _LegendListRef} from '@legendapp/list/react' export type LegendListState = { end: number scroll: number + scrollLength: number start: number } diff --git a/shared/common-adapters/swipeable-row.native.tsx b/shared/common-adapters/swipeable-row.native.tsx new file mode 100644 index 000000000000..a4b528746c9d --- /dev/null +++ b/shared/common-adapters/swipeable-row.native.tsx @@ -0,0 +1,134 @@ +import * as React from 'react' +import * as Reanimated from 'react-native-reanimated' +import {PanResponder, View, type GestureResponderEvent, type PanResponderGestureState, type ViewStyle} from 'react-native' + +export type SwipeableMethods = { + close: () => void +} + +type Props = { + children?: React.ReactNode + renderRightActions?: ( + progress: Reanimated.SharedValue, + translation: Reanimated.SharedValue + ) => React.ReactNode + onSwipeableOpenStartDrag?: () => void + onSwipeableWillOpen?: (direction: 'left') => void + containerStyle?: ViewStyle +} + +const SwipeableRow = React.forwardRef(function SwipeableRow(props, ref) { + 'use no memo' + const {children, renderRightActions, onSwipeableOpenStartDrag, onSwipeableWillOpen, containerStyle} = props + + const translationX = Reanimated.useSharedValue(0) + const openWidthSV = Reanimated.useSharedValue(0) + + const progress = Reanimated.useDerivedValue(() => + Reanimated.interpolate( + -translationX.value, + [0, openWidthSV.value > 0 ? openWidthSV.value : 1], + [0, 1], + Reanimated.Extrapolation.CLAMP + ) + ) + + const startTranslationRef = React.useRef(0) + const wasClosedOnGrantRef = React.useRef(true) + const hasFiredOpenStartDragRef = React.useRef(false) + const cbRef = React.useRef({onSwipeableOpenStartDrag, onSwipeableWillOpen}) + + const [ctx] = React.useState(() => { + let _grant = () => {} + let _move = (_dx: number, _vx: number) => {} + let _release = (_dx: number, _vx: number) => {} + let _close = () => {} + return { + panHandlers: PanResponder.create({ + onStartShouldSetPanResponder: () => false, + onMoveShouldSetPanResponder: (_e: GestureResponderEvent, gs: PanResponderGestureState) => + Math.abs(gs.dx) > Math.abs(gs.dy) && Math.abs(gs.dx) > 5, + onPanResponderGrant: () => _grant(), + onPanResponderMove: (_e: GestureResponderEvent, gs: PanResponderGestureState) => _move(gs.dx, gs.vx), + onPanResponderRelease: (_e: GestureResponderEvent, gs: PanResponderGestureState) => _release(gs.dx, gs.vx), + onPanResponderTerminate: (_e: GestureResponderEvent, gs: PanResponderGestureState) => + _release(gs.dx, gs.vx), + }).panHandlers, + close: () => _close(), + set( + grant: () => void, + move: (dx: number, vx: number) => void, + release: (dx: number, vx: number) => void, + close: () => void + ) { + _grant = grant + _move = move + _release = release + _close = close + }, + } + }) + + React.useImperativeHandle(ref, () => ({close: ctx.close})) + + React.useLayoutEffect(() => { + cbRef.current = {onSwipeableOpenStartDrag, onSwipeableWillOpen} + ctx.set( + () => { + startTranslationRef.current = translationX.value + wasClosedOnGrantRef.current = translationX.value > -5 + hasFiredOpenStartDragRef.current = false + }, + (dx, _vx) => { + const newX = Math.min(0, startTranslationRef.current + dx) + if (wasClosedOnGrantRef.current && !hasFiredOpenStartDragRef.current && newX < -5) { + hasFiredOpenStartDragRef.current = true + cbRef.current.onSwipeableOpenStartDrag?.() + } + translationX.set(newX) + }, + (dx, vx) => { + const newX = Math.min(0, startTranslationRef.current + dx) + const width = openWidthSV.value + const shouldOpen = width > 0 && (newX < -(width * 0.4) || vx < -0.5) + if (shouldOpen) { + translationX.set(Reanimated.withSpring(-width, {duration: 300})) + cbRef.current.onSwipeableWillOpen?.('left') + } else { + translationX.set(Reanimated.withSpring(0, {duration: 300})) + } + }, + () => { + translationX.set(Reanimated.withSpring(0, {duration: 300})) + } + ) + }) + + const animStyle = Reanimated.useAnimatedStyle(() => ({ + transform: [{translateX: translationX.value}], + })) + + return ( + + {renderRightActions && ( + + { + openWidthSV.set(e.nativeEvent.layout.width) + }} + > + {renderRightActions(progress, translationX)} + + + )} + + {children} + + + ) +}) + +export default SwipeableRow diff --git a/shared/crypto/decrypt.tsx b/shared/crypto/decrypt.tsx index 7246953b4c9d..98c9e2a9116d 100644 --- a/shared/crypto/decrypt.tsx +++ b/shared/crypto/decrypt.tsx @@ -136,7 +136,7 @@ export const useDecryptState = (params?: CryptoInputRouteParams) => { } export const DecryptInput = (_props: unknown) => { - const {params} = useRoute>() + const {params} = useRoute() as RootRouteProps<'decryptTab'> const controller = useDecryptState(params) const navigateAppend = C.Router2.navigateAppend @@ -207,7 +207,7 @@ export const DecryptOutput = ({route}: {route: {params: CommonOutputRouteParams} } export const DecryptIO = () => { - const {params} = useRoute>() + const {params} = useRoute() as RootRouteProps<'decryptTab'> const controller = useDecryptState(params) return ( ( ) export const EncryptInput = (_props: unknown) => { - const {params} = useRoute>() + const {params} = useRoute() as RootRouteProps<'encryptTab'> return } @@ -564,7 +564,7 @@ export const EncryptOutput = ({route}: {route: {params: EncryptOutputRouteParams } export const EncryptIO = () => { - const {params} = useRoute>() + const {params} = useRoute() as RootRouteProps<'encryptTab'> const controller = useEncryptScreenState(params) const appendEncryptRecipientsBuilder = C.Router2.appendEncryptRecipientsBuilder diff --git a/shared/crypto/sign.tsx b/shared/crypto/sign.tsx index 10a09a548e50..521d25575c16 100644 --- a/shared/crypto/sign.tsx +++ b/shared/crypto/sign.tsx @@ -144,7 +144,7 @@ const SignOutputBanner = ({state}: {state: CommonOutputRouteParams}) => ( ) export const SignInput = (_props: unknown) => { - const {params} = useRoute>() + const {params} = useRoute() as RootRouteProps<'signTab'> const controller = useSignState(params) const blurCBRef = React.useRef(() => {}) const navigateAppend = C.Router2.navigateAppend @@ -217,7 +217,7 @@ export const SignOutput = ({route}: {route: {params: CommonOutputRouteParams}}) } export const SignIO = () => { - const {params} = useRoute>() + const {params} = useRoute() as RootRouteProps<'signTab'> const controller = useSignState(params) return ( { } export const VerifyInput = (_props: unknown) => { - const {params} = useRoute>() + const {params} = useRoute() as RootRouteProps<'verifyTab'> const controller = useVerifyState(params) const navigateAppend = C.Router2.navigateAppend @@ -204,7 +204,7 @@ export const VerifyOutput = ({route}: {route: {params: CommonOutputRouteParams}} } export const VerifyIO = () => { - const {params} = useRoute>() + const {params} = useRoute() as RootRouteProps<'verifyTab'> const controller = useVerifyState(params) return ( ) => const itemHeight = {height: 48, type: 'fixed'} as const function ReloadableDevices() { - const navigation = useNavigation>() + const navigation = useNavigation() as unknown as NativeStackNavigationProp const [devices, setDevices] = React.useState>([]) const waiting = C.Waiting.useAnyWaiting(C.waitingKeyDevices) const loadDevicesRPC = C.useRPC(T.RPCGen.deviceDeviceHistoryListRpcPromise) diff --git a/shared/fs/footer/upload-container.native.tsx b/shared/fs/footer/upload-container.native.tsx index c5715fbf89f4..a57647a4b493 100644 --- a/shared/fs/footer/upload-container.native.tsx +++ b/shared/fs/footer/upload-container.native.tsx @@ -1,25 +1,14 @@ -import * as C from '@/constants' -import * as React from 'react' import * as Kb from '@/common-adapters' import * as T from '@/constants/types' import {useColorScheme, Image} from 'react-native' -import {useNavigation} from '@react-navigation/native' -import {useIsFocused} from '@react-navigation/core' -import type {NativeBottomTabNavigationProp} from '@react-navigation/bottom-tabs/unstable' -import {isLiquidGlassSupported as _isLiquidGlassSupported} from '@callstack/liquid-glass' -import type {RootParamList} from '@/router-v2/route-params' import Upload from './upload' import {useUploadCountdown} from './use-upload-countdown' import {useFsUploadStatus, useKbfsDaemonStatus} from '../common' import {useNonFolderSyncingPaths} from '../common/use-non-folder-syncing-paths' -const isLiquidGlassSupported = _isLiquidGlassSupported as boolean - const lightPatternImage = require('../../images/upload-pattern-80.png') as number const darkPatternImage = require('../../images/dark-upload-pattern-80.png') as number -// Self-contained: subscribes to upload state directly so it re-renders on its own -// without needing the parent to swap the bottomAccessory callback every tick. const UploadAccessory = () => { const kbfsDaemonStatus = useKbfsDaemonStatus() const uploads = useFsUploadStatus() @@ -58,8 +47,6 @@ const UploadAccessory = () => { ) } -const renderBottomAccessory = () => - const UploadContainer = () => { const kbfsDaemonStatus = useKbfsDaemonStatus() const uploads = useFsUploadStatus() @@ -73,21 +60,8 @@ const UploadContainer = () => { totalSyncingBytes: uploads.totalSyncingBytes, }) - const useTabBottomAccessory = C.isIOS && C.isPhone && isLiquidGlassSupported - const navigation = useNavigation() - const isFocused = useIsFocused() - - React.useEffect(() => { - if (!useTabBottomAccessory || !isFocused) return - const parent = navigation.getParent | undefined>() - parent?.setOptions({bottomAccessory: np.showing ? renderBottomAccessory : undefined}) - return () => { - parent?.setOptions({bottomAccessory: undefined}) - } - }, [isFocused, navigation, np.showing, useTabBottomAccessory]) - - if (useTabBottomAccessory) { - return null + if (np.showing) { + return } return } diff --git a/shared/ios/Keybase.xcodeproj/project.pbxproj b/shared/ios/Keybase.xcodeproj/project.pbxproj index 8927cceb47d8..fa5460b568e5 100644 --- a/shared/ios/Keybase.xcodeproj/project.pbxproj +++ b/shared/ios/Keybase.xcodeproj/project.pbxproj @@ -469,10 +469,16 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Keybase/Pods-Keybase-frameworks.sh", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ExpoModulesJSI/ExpoModulesJSI.framework/ExpoModulesJSI", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/React-Core-prebuilt/React.framework/React", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ReactNativeDependencies/ReactNativeDependencies.framework/ReactNativeDependencies", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermesvm.framework/hermesvm", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ExpoModulesJSI.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/React.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ReactNativeDependencies.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermesvm.framework", ); runOnlyForDeploymentPostprocessing = 0; @@ -511,12 +517,9 @@ "${PODS_CONFIGURATION_BUILD_DIR}/ExpoLocalization/ExpoLocalization_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/ExpoMediaLibrary/ExpoMediaLibrary_privacy.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/ExpoTaskManager/ExpoTaskManager_privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.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", "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/LottiePrivacyInfo.bundle", "${PODS_CONFIGURATION_BUILD_DIR}/lottie-react-native/Lottie_React_Native_Privacy.bundle", ); @@ -528,12 +531,9 @@ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoLocalization_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoMediaLibrary_privacy.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoTaskManager_privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.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", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/LottiePrivacyInfo.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Lottie_React_Native_Privacy.bundle", ); @@ -655,7 +655,7 @@ "$(SRCROOT)/KeybaseGo", ); INFOPLIST_FILE = Keybase/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -674,6 +674,7 @@ PRODUCT_BUNDLE_IDENTIFIER = keybase.ios; PRODUCT_NAME = Keybase; PROVISIONING_PROFILE = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SWIFT_OBJC_BRIDGING_HEADER = "Keybase/Keybase-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -707,7 +708,7 @@ "$(SRCROOT)/KeybaseGo", ); INFOPLIST_FILE = Keybase/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -726,6 +727,7 @@ PRODUCT_BUNDLE_IDENTIFIER = keybase.ios; PRODUCT_NAME = Keybase; PROVISIONING_PROFILE = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SWIFT_OBJC_BRIDGING_HEADER = "Keybase/Keybase-Bridging-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -767,7 +769,7 @@ ); GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = KeybaseShare/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -820,7 +822,7 @@ ); GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = KeybaseShare/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -929,13 +931,18 @@ "${PODS_ROOT}/React-graphics/react/renderer/graphics/platform/ios", "${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers", "${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers/platform/ios", + "${PODS_ROOT}/React-featureflags", + "${PODS_ROOT}/React-renderercss", ); - IPHONEOS_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; LD = ""; LDPLUSPLUS = ""; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = "$(inherited)"; + OTHER_CFLAGS = ( + "$(inherited)", + "-DRCT_REMOVE_LEGACY_ARCH=1", + ); OTHER_CPLUSPLUSFLAGS = ( "$(OTHER_CFLAGS)", "-DFOLLY_NO_CONFIG", @@ -943,6 +950,7 @@ "-DFOLLY_USE_LIBCPP=1", "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", + "-DRCT_REMOVE_LEGACY_ARCH=1", ); OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "-DDEBUG"; @@ -1042,12 +1050,17 @@ "${PODS_ROOT}/React-graphics/react/renderer/graphics/platform/ios", "${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers", "${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers/platform/ios", + "${PODS_ROOT}/React-featureflags", + "${PODS_ROOT}/React-renderercss", ); - IPHONEOS_DEPLOYMENT_TARGET = 15.1; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; LD = ""; LDPLUSPLUS = ""; MTL_ENABLE_DEBUG_INFO = NO; - OTHER_CFLAGS = "$(inherited)"; + OTHER_CFLAGS = ( + "$(inherited)", + "-DRCT_REMOVE_LEGACY_ARCH=1", + ); OTHER_CPLUSPLUSFLAGS = ( "$(OTHER_CFLAGS)", "-DFOLLY_NO_CONFIG", @@ -1055,6 +1068,7 @@ "-DFOLLY_USE_LIBCPP=1", "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", + "-DRCT_REMOVE_LEGACY_ARCH=1", ); OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = ""; diff --git a/shared/ios/Podfile b/shared/ios/Podfile index 1897973657b5..86abb05c3f24 100644 --- a/shared/ios/Podfile +++ b/shared/ios/Podfile @@ -6,7 +6,7 @@ podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties ENV['RCT_USE_RN_DEP'] ||= '1' if podfile_properties['ios.buildReactNativeFromSource'] != 'true' ENV['RCT_USE_PREBUILT_RNCORE'] ||= '1' if podfile_properties['ios.buildReactNativeFromSource'] != 'true' ENV['RCT_HERMES_V1_ENABLED'] ||= '1' if podfile_properties['expo.useHermesV1'] == 'true' -platform :ios, min_ios_version_supported +platform :ios, '16.4' prepare_react_native_project! diff --git a/shared/ios/Podfile.lock b/shared/ios/Podfile.lock index e7d9305329b4..62a397d8c32f 100644 --- a/shared/ios/Podfile.lock +++ b/shared/ios/Podfile.lock @@ -1,21 +1,14 @@ PODS: - - boost (1.84.0) - - DoubleConversion (1.1.6) - - EXConstants (55.0.16): + - EXConstants (56.0.10): - ExpoModulesCore - - Expo (55.0.23): - - boost - - DoubleConversion + - Expo (56.0.0-preview.11): - ExpoModulesCore - - fast_float - - fmt - - glog + - ExpoModulesJSI - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -32,67 +25,61 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - ExpoAsset (55.0.17): + - ExpoAsset (56.0.9): - ExpoModulesCore - - ExpoAudio (55.0.14): + - ExpoAudio (56.0.6): - ExpoModulesCore - - ExpoCamera (55.0.18): + - ExpoCamera (56.0.5): - ExpoModulesCore - - ExpoCameraBarcodeScanning (55.0.18): + - ExpoCameraBarcodeScanning (56.0.5): - ExpoCamera - ZXingObjC/OneD - ZXingObjC/PDF417 - - ExpoClipboard (55.0.13): + - ExpoClipboard (56.0.3): - ExpoModulesCore - - ExpoContacts (55.0.14): + - ExpoContacts (56.0.4): - ExpoModulesCore - - ExpoDocumentPicker (55.0.13): + - ExpoDocumentPicker (56.0.3): - ExpoModulesCore - - ExpoDomWebView (55.0.6): + - ExpoDomWebView (56.0.5): - ExpoModulesCore - - ExpoFileSystem (55.0.19): + - ExpoFileSystem (56.0.4): - ExpoModulesCore - - ExpoFont (55.0.7): + - ExpoFont (56.0.3): - ExpoModulesCore - - ExpoHaptics (55.0.14): + - ExpoHaptics (56.0.3): - ExpoModulesCore - - ExpoImage (55.0.10): + - ExpoImage (56.0.4): - ExpoModulesCore - libavif/libdav1d - SDWebImage (~> 5.21.0) - SDWebImageAVIFCoder (~> 0.11.0) - SDWebImageSVGCoder (~> 1.7.0) - SDWebImageWebPCoder (~> 0.14.6) - - ExpoImagePicker (55.0.20): + - ExpoImagePicker (56.0.8): - ExpoModulesCore - - ExpoKeepAwake (55.0.8): + - ExpoKeepAwake (56.0.3): - ExpoModulesCore - - ExpoLocalization (55.0.13): + - ExpoLocalization (56.0.4): - ExpoModulesCore - - ExpoLocation (55.1.9): + - ExpoLocation (56.0.8): - ExpoModulesCore - - ExpoLogBox (55.0.12): + - ExpoLogBox (56.0.9): - React-Core - - ExpoMailComposer (55.0.13): + - ExpoMailComposer (56.0.3): - ExpoModulesCore - - ExpoMediaLibrary (55.0.16): + - ExpoMediaLibrary (56.0.4): - ExpoModulesCore - React-Core - - ExpoModulesCore (55.0.25): - - boost - - DoubleConversion + - ExpoModulesCore (56.0.8): - ExpoModulesJSI - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -108,30 +95,32 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNWorklets - - SocketRocket + - ReactNativeDependencies - Yoga - - ExpoModulesJSI (55.0.25): - - hermes-engine + - ExpoModulesJSI (56.0.4): - React-Core - - React-runtimescheduler - ReactCommon - - ExpoScreenCapture (55.0.13): + - ExpoModulesWorklets (56.0.8): - ExpoModulesCore - - ExpoSMS (55.0.13): + - ExpoModulesJSI + - ExpoModulesWorkletsAdapter (56.0.8): - ExpoModulesCore - - ExpoTaskManager (55.0.15): + - ExpoModulesJSI + - ExpoModulesWorklets + - RNWorklets + - ExpoScreenCapture (56.0.4): + - ExpoModulesCore + - ExpoSMS (56.0.3): + - ExpoModulesCore + - ExpoTaskManager (56.0.8): - ExpoModulesCore - UMAppLoader - - ExpoVideo (55.0.16): + - ExpoVideo (56.1.0): - ExpoModulesCore - - fast_float (8.0.0) - - FBLazyVector (0.83.4) - - fmt (12.1.0) - - glog (0.3.5) - - hermes-engine (0.14.1): - - hermes-engine/Pre-built (= 0.14.1) - - hermes-engine/Pre-built (0.14.1) + - FBLazyVector (0.85.3) + - hermes-engine (250829098.0.10): + - hermes-engine/Pre-built (= 250829098.0.10) + - hermes-engine/Pre-built (250829098.0.10) - KBCommon (1.0.0) - libavif/core (1.0.0) - libavif/libdav1d (1.0.0): @@ -151,17 +140,11 @@ PODS: - libwebp/webp (1.5.0): - libwebp/sharpyuv - LiquidGlass (0.7.1): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -176,22 +159,16 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - lottie-ios (4.6.0) - lottie-react-native (7.3.6): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - lottie-ios (= 4.6.0) - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -206,61 +183,36 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - RCT-Folly (2024.11.18.00): - - boost - - DoubleConversion - - fast_float (= 8.0.0) - - fmt (= 12.1.0) - - glog - - RCT-Folly/Default (= 2024.11.18.00) - - RCT-Folly/Default (2024.11.18.00): - - boost - - DoubleConversion - - fast_float (= 8.0.0) - - fmt (= 12.1.0) - - glog - - RCT-Folly/Fabric (2024.11.18.00): - - boost - - DoubleConversion - - fast_float (= 8.0.0) - - fmt (= 12.1.0) - - glog - - RCTDeprecation (0.83.4) - - RCTRequired (0.83.4) - - RCTSwiftUI (0.83.4) - - RCTSwiftUIWrapper (0.83.4): + - RCTDeprecation (0.85.3) + - RCTRequired (0.85.3) + - RCTSwiftUI (0.85.3) + - RCTSwiftUIWrapper (0.85.3): - RCTSwiftUI - - RCTTypeSafety (0.83.4): - - FBLazyVector (= 0.83.4) - - RCTRequired (= 0.83.4) - - React-Core (= 0.83.4) - - React (0.83.4): - - React-Core (= 0.83.4) - - React-Core/DevSupport (= 0.83.4) - - React-Core/RCTWebSocket (= 0.83.4) - - React-RCTActionSheet (= 0.83.4) - - React-RCTAnimation (= 0.83.4) - - React-RCTBlob (= 0.83.4) - - React-RCTImage (= 0.83.4) - - React-RCTLinking (= 0.83.4) - - React-RCTNetwork (= 0.83.4) - - React-RCTSettings (= 0.83.4) - - React-RCTText (= 0.83.4) - - React-RCTVibration (= 0.83.4) - - React-callinvoker (0.83.4) - - React-Core (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - RCTTypeSafety (0.85.3): + - FBLazyVector (= 0.85.3) + - RCTRequired (= 0.85.3) + - React-Core (= 0.85.3) + - React (0.85.3): + - React-Core (= 0.85.3) + - React-Core/DevSupport (= 0.85.3) + - React-Core/RCTWebSocket (= 0.85.3) + - React-RCTActionSheet (= 0.85.3) + - React-RCTAnimation (= 0.85.3) + - React-RCTBlob (= 0.85.3) + - React-RCTImage (= 0.85.3) + - React-RCTLinking (= 0.85.3) + - React-RCTNetwork (= 0.85.3) + - React-RCTSettings (= 0.85.3) + - React-RCTText (= 0.85.3) + - React-RCTVibration (= 0.85.3) + - React-callinvoker (0.85.3) + - React-Core (0.85.3): + - hermes-engine - RCTDeprecation - - React-Core/Default (= 0.83.4) + - React-Core-prebuilt + - React-Core/Default (= 0.85.3) - React-cxxreact - React-featureflags - React-hermes @@ -273,18 +225,14 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/CoreModulesHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt (0.85.3): + - ReactNativeDependencies + - React-Core/CoreModulesHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -298,18 +246,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/Default (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/Default (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-cxxreact - React-featureflags - React-hermes @@ -322,20 +264,14 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/DevSupport (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/DevSupport (0.85.3): + - hermes-engine - RCTDeprecation - - React-Core/Default (= 0.83.4) - - React-Core/RCTWebSocket (= 0.83.4) + - React-Core-prebuilt + - React-Core/Default (= 0.85.3) + - React-Core/RCTWebSocket (= 0.85.3) - React-cxxreact - React-featureflags - React-hermes @@ -348,18 +284,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTActionSheetHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTActionSheetHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -373,18 +303,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTAnimationHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTAnimationHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -398,18 +322,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTBlobHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTBlobHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -423,18 +341,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTImageHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTImageHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -448,18 +360,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTLinkingHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTLinkingHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -473,18 +379,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTNetworkHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTNetworkHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -498,18 +398,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTSettingsHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTSettingsHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -523,18 +417,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTTextHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTTextHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -548,18 +436,12 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTVibrationHeaders (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTVibrationHeaders (0.85.3): + - hermes-engine - RCTDeprecation + - React-Core-prebuilt - React-Core/Default - React-cxxreact - React-featureflags @@ -573,19 +455,13 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Core/RCTWebSocket (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core/RCTWebSocket (0.85.3): + - hermes-engine - RCTDeprecation - - React-Core/Default (= 0.83.4) + - React-Core-prebuilt + - React-Core/Default (= 0.85.3) - React-cxxreact - React-featureflags - React-hermes @@ -598,63 +474,49 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-CoreModules (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - RCTTypeSafety (= 0.83.4) - - React-Core/CoreModulesHeaders (= 0.83.4) - - React-debug - - React-jsi (= 0.83.4) + - React-CoreModules (0.85.3): + - RCTTypeSafety (= 0.85.3) + - React-Core-prebuilt + - React-Core/CoreModulesHeaders (= 0.85.3) + - React-debug + - React-featureflags + - React-jsi (= 0.85.3) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - React-NativeModulesApple - React-RCTBlob - React-RCTFBReactNativeSpec - - React-RCTImage (= 0.83.4) + - React-RCTImage (= 0.85.3) - React-runtimeexecutor - React-utils - ReactCommon - - SocketRocket - - React-cxxreact (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker (= 0.83.4) - - React-debug (= 0.83.4) - - React-jsi (= 0.83.4) + - ReactNativeDependencies + - React-cxxreact (0.85.3): + - hermes-engine + - React-callinvoker (= 0.85.3) + - React-Core-prebuilt + - React-debug (= 0.85.3) + - React-jsi (= 0.85.3) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - - React-logger (= 0.83.4) - - React-perflogger (= 0.83.4) + - React-logger (= 0.85.3) + - React-perflogger (= 0.85.3) - React-runtimeexecutor - - React-timing (= 0.83.4) - - React-utils - - SocketRocket - - React-debug (0.83.4) - - React-defaultsnativemodule (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-timing (= 0.85.3) + - React-utils + - ReactNativeDependencies + - React-debug (0.85.3): + - React-debug/redbox (= 0.85.3) + - React-debug/redbox (0.85.3) + - React-defaultsnativemodule (0.85.3): + - hermes-engine + - React-Core-prebuilt - React-domnativemodule + - React-Fabric/animated - React-featureflags - React-featureflagsnativemodule - React-idlecallbacksnativemodule @@ -662,19 +524,14 @@ PODS: - React-jsi - React-jsiexecutor - React-microtasksnativemodule + - React-mutationobservernativemodule - React-RCTFBReactNativeSpec - React-webperformancenativemodule - - SocketRocket + - ReactNativeDependencies - Yoga - - React-domnativemodule (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-domnativemodule (0.85.3): + - hermes-engine + - React-Core-prebuilt - React-Fabric - React-Fabric/bridging - React-FabricComponents @@ -684,41 +541,34 @@ PODS: - React-RCTFBReactNativeSpec - React-runtimeexecutor - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Fabric (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-Fabric (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/animated (= 0.83.4) - - React-Fabric/animationbackend (= 0.83.4) - - React-Fabric/animations (= 0.83.4) - - React-Fabric/attributedstring (= 0.83.4) - - React-Fabric/bridging (= 0.83.4) - - React-Fabric/componentregistry (= 0.83.4) - - React-Fabric/componentregistrynative (= 0.83.4) - - React-Fabric/components (= 0.83.4) - - React-Fabric/consistency (= 0.83.4) - - React-Fabric/core (= 0.83.4) - - React-Fabric/dom (= 0.83.4) - - React-Fabric/imagemanager (= 0.83.4) - - React-Fabric/leakchecker (= 0.83.4) - - React-Fabric/mounting (= 0.83.4) - - React-Fabric/observers (= 0.83.4) - - React-Fabric/scheduler (= 0.83.4) - - React-Fabric/telemetry (= 0.83.4) - - React-Fabric/templateprocessor (= 0.83.4) - - React-Fabric/uimanager (= 0.83.4) + - React-Fabric/animated (= 0.85.3) + - React-Fabric/animationbackend (= 0.85.3) + - React-Fabric/animations (= 0.85.3) + - React-Fabric/attributedstring (= 0.85.3) + - React-Fabric/bridging (= 0.85.3) + - React-Fabric/componentregistry (= 0.85.3) + - React-Fabric/componentregistrynative (= 0.85.3) + - React-Fabric/components (= 0.85.3) + - React-Fabric/consistency (= 0.85.3) + - React-Fabric/core (= 0.85.3) + - React-Fabric/dom (= 0.85.3) + - React-Fabric/imagemanager (= 0.85.3) + - React-Fabric/leakchecker (= 0.85.3) + - React-Fabric/mounting (= 0.85.3) + - React-Fabric/observers (= 0.85.3) + - React-Fabric/scheduler (= 0.85.3) + - React-Fabric/telemetry (= 0.85.3) + - React-Fabric/uimanager (= 0.85.3) - React-featureflags - React-graphics - React-jsi @@ -729,21 +579,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/animated (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/animated (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug + - React-Fabric/animationbackend - React-featureflags - React-graphics - React-jsi @@ -754,19 +599,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/animationbackend (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/animationbackend (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -779,19 +618,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/animations (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/animations (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -804,19 +637,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/attributedstring (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/attributedstring (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -829,19 +656,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/bridging (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/bridging (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -854,19 +675,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/componentregistry (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/componentregistry (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -879,19 +694,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/componentregistrynative (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/componentregistrynative (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -904,25 +713,19 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/components (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.83.4) - - React-Fabric/components/root (= 0.83.4) - - React-Fabric/components/scrollview (= 0.83.4) - - React-Fabric/components/view (= 0.83.4) + - React-Fabric/components/legacyviewmanagerinterop (= 0.85.3) + - React-Fabric/components/root (= 0.85.3) + - React-Fabric/components/scrollview (= 0.85.3) + - React-Fabric/components/view (= 0.85.3) - React-featureflags - React-graphics - React-jsi @@ -933,19 +736,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components/legacyviewmanagerinterop (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/components/legacyviewmanagerinterop (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -958,19 +755,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components/root (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/components/root (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -983,19 +774,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components/scrollview (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/components/scrollview (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1008,19 +793,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components/view (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/components/view (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1034,20 +813,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-Fabric/consistency (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-Fabric/consistency (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1060,19 +833,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/core (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/core (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1085,19 +852,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/dom (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/dom (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1110,19 +871,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/imagemanager (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/imagemanager (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1135,19 +890,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/leakchecker (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/leakchecker (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1160,19 +909,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/mounting (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/mounting (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1185,23 +928,18 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/observers (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/observers (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/observers/events (= 0.83.4) - - React-Fabric/observers/intersection (= 0.83.4) + - React-Fabric/observers/events (= 0.85.3) + - React-Fabric/observers/intersection (= 0.85.3) + - React-Fabric/observers/mutation (= 0.85.3) - React-featureflags - React-graphics - React-jsi @@ -1212,19 +950,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/observers/events (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/observers/events (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1237,19 +969,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/observers/intersection (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/observers/intersection (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1262,72 +988,55 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/scheduler (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/observers/mutation (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/observers/events - React-featureflags - React-graphics - React-jsi - React-jsiexecutor - React-logger - - React-performancecdpmetrics - - React-performancetimeline - React-rendererdebug - React-runtimeexecutor - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/telemetry (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/scheduler (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug + - React-Fabric/animationbackend + - React-Fabric/observers/events - React-featureflags - React-graphics - React-jsi - React-jsiexecutor - React-logger + - React-performancecdpmetrics + - React-performancetimeline - React-rendererdebug - React-runtimeexecutor - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/templateprocessor (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/telemetry (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1340,22 +1049,16 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/uimanager (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/uimanager (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/uimanager/consistency (= 0.83.4) + - React-Fabric/uimanager/consistency (= 0.85.3) - React-featureflags - React-graphics - React-jsi @@ -1367,19 +1070,13 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/uimanager/consistency (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-Fabric/uimanager/consistency (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1393,24 +1090,18 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket - - React-FabricComponents (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-FabricComponents (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components (= 0.83.4) - - React-FabricComponents/textlayoutmanager (= 0.83.4) + - React-FabricComponents/components (= 0.85.3) + - React-FabricComponents/textlayoutmanager (= 0.85.3) - React-featureflags - React-graphics - React-jsi @@ -1421,35 +1112,28 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.83.4) - - React-FabricComponents/components/iostextinput (= 0.83.4) - - React-FabricComponents/components/modal (= 0.83.4) - - React-FabricComponents/components/rncore (= 0.83.4) - - React-FabricComponents/components/safeareaview (= 0.83.4) - - React-FabricComponents/components/scrollview (= 0.83.4) - - React-FabricComponents/components/switch (= 0.83.4) - - React-FabricComponents/components/text (= 0.83.4) - - React-FabricComponents/components/textinput (= 0.83.4) - - React-FabricComponents/components/unimplementedview (= 0.83.4) - - React-FabricComponents/components/virtualview (= 0.83.4) - - React-FabricComponents/components/virtualviewexperimental (= 0.83.4) + - React-FabricComponents/components/inputaccessory (= 0.85.3) + - React-FabricComponents/components/iostextinput (= 0.85.3) + - React-FabricComponents/components/modal (= 0.85.3) + - React-FabricComponents/components/rncore (= 0.85.3) + - React-FabricComponents/components/safeareaview (= 0.85.3) + - React-FabricComponents/components/scrollview (= 0.85.3) + - React-FabricComponents/components/switch (= 0.85.3) + - React-FabricComponents/components/text (= 0.85.3) + - React-FabricComponents/components/textinput (= 0.85.3) + - React-FabricComponents/components/unimplementedview (= 0.85.3) + - React-FabricComponents/components/virtualview (= 0.85.3) - React-featureflags - React-graphics - React-jsi @@ -1460,20 +1144,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/inputaccessory (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/inputaccessory (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1487,20 +1165,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/iostextinput (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/iostextinput (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1514,20 +1186,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/modal (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/modal (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1541,20 +1207,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/rncore (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/rncore (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1568,20 +1228,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/safeareaview (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/safeareaview (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1595,20 +1249,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/scrollview (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/scrollview (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1622,20 +1270,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/switch (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/switch (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1649,20 +1291,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/text (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/text (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1676,20 +1312,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/textinput (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/textinput (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1703,20 +1333,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/unimplementedview (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/unimplementedview (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1730,20 +1354,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/virtualview (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/components/virtualview (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1757,20 +1375,14 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/components/virtualviewexperimental (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricComponents/textlayoutmanager (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-Fabric @@ -1784,154 +1396,81 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-FabricComponents/textlayoutmanager (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-FabricImage (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricImage (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired (= 0.83.4) - - RCTTypeSafety (= 0.83.4) + - RCTRequired (= 0.85.3) + - RCTTypeSafety (= 0.85.3) + - React-Core-prebuilt - React-Fabric - React-featureflags - React-graphics - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.83.4) + - React-jsiexecutor (= 0.85.3) - React-logger - React-rendererdebug - React-utils - ReactCommon - - SocketRocket + - ReactNativeDependencies - Yoga - - React-featureflags (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-featureflagsnativemodule (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-featureflags (0.85.3): + - React-Core-prebuilt + - ReactNativeDependencies + - React-featureflagsnativemodule (0.85.3): + - hermes-engine + - React-Core-prebuilt - React-featureflags - React-jsi - React-jsiexecutor - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - - SocketRocket - - React-graphics (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-graphics (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt + - React-featureflags - React-jsi - React-jsiexecutor - React-utils - - SocketRocket - - React-hermes (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-hermes (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-cxxreact (= 0.83.4) + - React-Core-prebuilt + - React-cxxreact (= 0.85.3) - React-jsi - - React-jsiexecutor (= 0.83.4) + - React-jsiexecutor (= 0.85.3) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing + - React-jsitooling - React-oscompat - - React-perflogger (= 0.83.4) + - React-perflogger (= 0.85.3) - React-runtimeexecutor - - SocketRocket - - React-idlecallbacksnativemodule (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-idlecallbacksnativemodule (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-jsi - React-jsiexecutor - React-RCTFBReactNativeSpec - React-runtimeexecutor - React-runtimescheduler - ReactCommon/turbomodule/core - - SocketRocket - - React-ImageManager (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-ImageManager (0.85.3): + - React-Core-prebuilt - React-Core/Default - React-debug - React-Fabric - React-graphics - React-rendererdebug - React-utils - - SocketRocket - - React-intersectionobservernativemodule (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-intersectionobservernativemodule (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-cxxreact - React-Fabric - React-Fabric/bridging @@ -1942,169 +1481,116 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-jserrorhandler (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-jserrorhandler (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags - React-jsi - ReactCommon/turbomodule/bridging - - SocketRocket - - React-jsi (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-jsi (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-jsiexecutor (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-Core-prebuilt + - ReactNativeDependencies + - React-jsiexecutor (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-cxxreact - React-debug + - React-jserrorhandler - React-jsi - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing + - React-jsitooling - React-perflogger - React-runtimeexecutor - React-utils - - SocketRocket - - React-jsinspector (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-jsinspector (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-featureflags - React-jsi - React-jsinspectorcdp - React-jsinspectornetwork - React-jsinspectortracing - React-oscompat - - React-perflogger (= 0.83.4) + - React-perflogger (= 0.85.3) - React-runtimeexecutor - React-utils - - SocketRocket - - React-jsinspectorcdp (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-jsinspectornetwork (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-jsinspectorcdp (0.85.3): + - React-Core-prebuilt + - ReactNativeDependencies + - React-jsinspectornetwork (0.85.3): + - React-Core-prebuilt - React-jsinspectorcdp - - SocketRocket - - React-jsinspectortracing (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-jsinspectortracing (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-jsi - React-jsinspectornetwork - React-oscompat - React-timing - - SocketRocket - - React-jsitooling (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-cxxreact (= 0.83.4) - - React-debug - - React-jsi (= 0.83.4) + - React-utils + - ReactNativeDependencies + - React-jsitooling (0.85.3): + - hermes-engine + - React-Core-prebuilt + - React-cxxreact (= 0.85.3) + - React-debug + - React-jsi (= 0.85.3) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - React-runtimeexecutor - React-utils - - SocketRocket - - React-jsitracing (0.83.4): - - React-jsi - - React-logger (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-Mapbuffer (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-debug - - SocketRocket - - React-microtasksnativemodule (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-jsitracing (0.85.3): + - React-jsi + - React-logger (0.85.3): + - React-Core-prebuilt + - ReactNativeDependencies + - React-Mapbuffer (0.85.3): + - React-Core-prebuilt + - React-debug + - ReactNativeDependencies + - React-microtasksnativemodule (0.85.3): + - hermes-engine + - React-Core-prebuilt - React-jsi - React-jsiexecutor - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies + - React-mutationobservernativemodule (0.85.3): + - hermes-engine + - React-Core-prebuilt + - React-cxxreact + - React-Fabric + - React-Fabric/bridging + - React-Fabric/observers/mutation + - React-featureflags + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - React-runtimeexecutor + - ReactCommon/turbomodule/core + - ReactNativeDependencies + - Yoga - react-native-kb (0.1.1): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - KBCommon - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2119,20 +1605,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - react-native-keyboard-controller (1.21.7): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2148,20 +1628,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - react-native-keyboard-controller/common (1.21.7): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2176,20 +1650,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - react-native-netinfo (12.0.1): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2204,20 +1672,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - react-native-safe-area-context (5.7.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2234,20 +1696,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - react-native-safe-area-context/common (5.7.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2262,20 +1718,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - react-native-safe-area-context/fabric (5.7.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2291,20 +1741,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - react-native-webview (13.16.1): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2319,19 +1763,13 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - React-NativeModulesApple (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-NativeModulesApple (0.85.3): + - hermes-engine - React-callinvoker - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -2341,88 +1779,53 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket - - React-networking (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-featureflags + - ReactNativeDependencies + - React-networking (0.85.3): + - React-Core-prebuilt - React-jsinspectornetwork - React-jsinspectortracing - React-performancetimeline - React-timing - - SocketRocket - - React-oscompat (0.83.4) - - React-perflogger (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-performancecdpmetrics (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-oscompat (0.85.3) + - React-perflogger (0.85.3): + - React-Core-prebuilt + - ReactNativeDependencies + - React-performancecdpmetrics (0.85.3): + - hermes-engine + - React-Core-prebuilt - React-jsi - React-performancetimeline - React-runtimeexecutor - React-timing - - SocketRocket - - React-performancetimeline (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-performancetimeline (0.85.3): + - React-Core-prebuilt - React-featureflags + - React-jsinspector - React-jsinspectortracing - React-perflogger - React-timing - - SocketRocket - - React-RCTActionSheet (0.83.4): - - React-Core/RCTActionSheetHeaders (= 0.83.4) - - React-RCTAnimation (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-RCTActionSheet (0.85.3): + - React-Core/RCTActionSheetHeaders (= 0.85.3) + - React-RCTAnimation (0.85.3): - RCTTypeSafety + - React-Core-prebuilt - React-Core/RCTAnimationHeaders + - React-debug - React-featureflags - React-jsi - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - SocketRocket - - React-RCTAppDelegate (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-RCTAppDelegate (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-CoreModules - React-debug - React-defaultsnativemodule @@ -2444,16 +1847,10 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon - - SocketRocket - - React-RCTBlob (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-RCTBlob (0.85.3): + - hermes-engine + - React-Core-prebuilt - React-Core/RCTBlobHeaders - React-Core/RCTWebSocket - React-jsi @@ -2463,18 +1860,12 @@ PODS: - React-RCTFBReactNativeSpec - React-RCTNetwork - ReactCommon - - SocketRocket - - React-RCTFabric (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-RCTFabric (0.85.3): + - hermes-engine - RCTSwiftUIWrapper - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-FabricComponents @@ -2499,37 +1890,25 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket + - ReactNativeDependencies - Yoga - - React-RCTFBReactNativeSpec (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-RCTFBReactNativeSpec (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-jsi - React-NativeModulesApple - - React-RCTFBReactNativeSpec/components (= 0.83.4) + - React-RCTFBReactNativeSpec/components (= 0.85.3) - ReactCommon - - SocketRocket - - React-RCTFBReactNativeSpec/components (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-RCTFBReactNativeSpec/components (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2539,40 +1918,28 @@ PODS: - React-rendererdebug - React-utils - ReactCommon - - SocketRocket + - ReactNativeDependencies - Yoga - - React-RCTImage (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric + - React-RCTImage (0.85.3): - RCTTypeSafety + - React-Core-prebuilt - React-Core/RCTImageHeaders - React-jsi - React-NativeModulesApple - React-RCTFBReactNativeSpec - React-RCTNetwork - ReactCommon - - SocketRocket - - React-RCTLinking (0.83.4): - - React-Core/RCTLinkingHeaders (= 0.83.4) - - React-jsi (= 0.83.4) + - ReactNativeDependencies + - React-RCTLinking (0.85.3): + - React-Core/RCTLinkingHeaders (= 0.85.3) + - React-jsi (= 0.85.3) - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - ReactCommon/turbomodule/core (= 0.83.4) - - React-RCTNetwork (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric + - ReactCommon/turbomodule/core (= 0.85.3) + - React-RCTNetwork (0.85.3): - RCTTypeSafety + - React-Core-prebuilt - React-Core/RCTNetworkHeaders - React-debug - React-featureflags @@ -2583,17 +1950,11 @@ PODS: - React-networking - React-RCTFBReactNativeSpec - ReactCommon - - SocketRocket - - React-RCTRuntime (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-RCTRuntime (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - React-Core + - React-Core-prebuilt - React-debug - React-jsi - React-jsinspector @@ -2605,63 +1966,39 @@ PODS: - React-runtimeexecutor - React-RuntimeHermes - React-utils - - SocketRocket - - React-RCTSettings (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-RCTSettings (0.85.3): - RCTTypeSafety + - React-Core-prebuilt - React-Core/RCTSettingsHeaders - React-jsi - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - SocketRocket - - React-RCTText (0.83.4): - - React-Core/RCTTextHeaders (= 0.83.4) + - ReactNativeDependencies + - React-RCTText (0.85.3): + - React-Core/RCTTextHeaders (= 0.85.3) - Yoga - - React-RCTVibration (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric + - React-RCTVibration (0.85.3): + - React-Core-prebuilt - React-Core/RCTVibrationHeaders - React-jsi - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - SocketRocket - - React-rendererconsistency (0.83.4) - - React-renderercss (0.83.4): - - React-debug - - React-utils - - React-rendererdebug (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-debug - - SocketRocket - - React-RuntimeApple (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-rendererconsistency (0.85.3) + - React-renderercss (0.85.3): + - React-debug + - React-utils + - React-rendererdebug (0.85.3): + - React-Core-prebuilt + - React-debug + - ReactNativeDependencies + - React-RuntimeApple (0.85.3): + - hermes-engine - React-callinvoker + - React-Core-prebuilt - React-Core/Default - React-CoreModules - React-cxxreact @@ -2680,16 +2017,10 @@ PODS: - React-RuntimeHermes - React-runtimescheduler - React-utils - - SocketRocket - - React-RuntimeCore (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-RuntimeCore (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-cxxreact - React-Fabric - React-featureflags @@ -2702,29 +2033,17 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - SocketRocket - - React-runtimeexecutor (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric + - ReactNativeDependencies + - React-runtimeexecutor (0.85.3): + - React-Core-prebuilt - React-debug - React-featureflags - - React-jsi (= 0.83.4) + - React-jsi (= 0.85.3) - React-utils - - SocketRocket - - React-RuntimeHermes (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-RuntimeHermes (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-featureflags - React-hermes - React-jsi @@ -2736,17 +2055,11 @@ PODS: - React-RuntimeCore - React-runtimeexecutor - React-utils - - SocketRocket - - React-runtimescheduler (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactNativeDependencies + - React-runtimescheduler (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - React-callinvoker + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -2758,30 +2071,18 @@ PODS: - React-runtimeexecutor - React-timing - React-utils - - SocketRocket - - React-timing (0.83.4): + - ReactNativeDependencies + - React-timing (0.85.3): - React-debug - - React-utils (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-utils (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-debug - - React-jsi (= 0.83.4) - - SocketRocket - - React-webperformancenativemodule (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - React-jsi (= 0.85.3) + - ReactNativeDependencies + - React-webperformancenativemodule (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric + - React-Core-prebuilt - React-cxxreact - React-jsi - React-jsiexecutor @@ -2789,21 +2090,15 @@ PODS: - React-RCTFBReactNativeSpec - React-runtimeexecutor - ReactCommon/turbomodule/core - - SocketRocket - - ReactAppDependencyProvider (0.83.4): + - ReactNativeDependencies + - ReactAppDependencyProvider (0.85.3): - ReactCodegen - - ReactCodegen (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - ReactCodegen (0.85.3): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-FabricImage @@ -2817,79 +2112,72 @@ PODS: - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket - - ReactCommon (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - ReactCommon/turbomodule (= 0.83.4) - - SocketRocket - - ReactCommon/turbomodule (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker (= 0.83.4) - - React-cxxreact (= 0.83.4) - - React-jsi (= 0.83.4) - - React-logger (= 0.83.4) - - React-perflogger (= 0.83.4) - - ReactCommon/turbomodule/bridging (= 0.83.4) - - ReactCommon/turbomodule/core (= 0.83.4) - - SocketRocket - - ReactCommon/turbomodule/bridging (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker (= 0.83.4) - - React-cxxreact (= 0.83.4) - - React-jsi (= 0.83.4) - - React-logger (= 0.83.4) - - React-perflogger (= 0.83.4) - - SocketRocket - - ReactCommon/turbomodule/core (0.83.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker (= 0.83.4) - - React-cxxreact (= 0.83.4) - - React-debug (= 0.83.4) - - React-featureflags (= 0.83.4) - - React-jsi (= 0.83.4) - - React-logger (= 0.83.4) - - React-perflogger (= 0.83.4) - - React-utils (= 0.83.4) - - SocketRocket + - ReactNativeDependencies + - ReactCommon (0.85.3): + - React-Core-prebuilt + - ReactCommon/turbomodule (= 0.85.3) + - ReactNativeDependencies + - ReactCommon/turbomodule (0.85.3): + - hermes-engine + - React-callinvoker (= 0.85.3) + - React-Core-prebuilt + - React-cxxreact (= 0.85.3) + - React-jsi (= 0.85.3) + - React-logger (= 0.85.3) + - React-perflogger (= 0.85.3) + - ReactCommon/turbomodule/bridging (= 0.85.3) + - ReactCommon/turbomodule/core (= 0.85.3) + - ReactNativeDependencies + - ReactCommon/turbomodule/bridging (0.85.3): + - hermes-engine + - React-callinvoker (= 0.85.3) + - React-Core-prebuilt + - React-cxxreact (= 0.85.3) + - React-jsi (= 0.85.3) + - React-logger (= 0.85.3) + - React-perflogger (= 0.85.3) + - ReactNativeDependencies + - ReactCommon/turbomodule/core (0.85.3): + - hermes-engine + - React-callinvoker (= 0.85.3) + - React-Core-prebuilt + - React-cxxreact (= 0.85.3) + - React-debug (= 0.85.3) + - React-featureflags (= 0.85.3) + - React-jsi (= 0.85.3) + - React-logger (= 0.85.3) + - React-perflogger (= 0.85.3) + - React-utils (= 0.85.3) + - ReactNativeDependencies + - ReactNativeDependencies (0.85.3) + - ReactNavigation (8.0.0-alpha.24): + - hermes-engine + - RCTRequired + - RCTTypeSafety + - React-Core + - React-Core-prebuilt + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - ReactNativeDependencies + - Yoga - RNCMaskedView (0.3.2): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2904,20 +2192,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - RNCPicker (2.11.4): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2932,20 +2214,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - - RNGestureHandler (3.0.0-beta.3): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - RNGestureHandler (2.31.2): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-FabricComponents @@ -2961,20 +2237,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - RNReanimated (4.3.1): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -2990,23 +2260,17 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - ReactNativeDependencies - RNReanimated/apple (= 4.3.1) - RNReanimated/common (= 4.3.1) - RNWorklets - - SocketRocket - Yoga - RNReanimated/apple (4.3.1): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -3022,21 +2286,15 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - ReactNativeDependencies - RNWorklets - - SocketRocket - Yoga - RNReanimated/common (4.3.1): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -3052,21 +2310,15 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - ReactNativeDependencies - RNWorklets - - SocketRocket - Yoga - - RNScreens (4.24.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - RNScreens (4.25.0): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -3082,21 +2334,15 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNScreens/common (= 4.24.0) - - SocketRocket + - ReactNativeDependencies + - RNScreens/common (= 4.25.0) - Yoga - - RNScreens/common (4.24.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog + - RNScreens/common (4.25.0): - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -3112,20 +2358,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - RNWorklets (0.8.3): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -3141,22 +2381,16 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core + - ReactNativeDependencies - RNWorklets/apple (= 0.8.3) - RNWorklets/common (= 0.8.3) - - SocketRocket - Yoga - RNWorklets/apple (0.8.3): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -3172,20 +2406,14 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - RNWorklets/common (0.8.3): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-featureflags @@ -3201,7 +2429,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - SocketRocket + - ReactNativeDependencies - Yoga - SDWebImage (5.21.7): - SDWebImage/Core (= 5.21.7) @@ -3214,8 +2442,7 @@ PODS: - SDWebImageWebPCoder (0.14.6): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.17) - - SocketRocket (0.7.1) - - UMAppLoader (55.0.5) + - UMAppLoader (56.0.1) - Yoga (0.0.0) - ZXingObjC/Core (3.6.9) - ZXingObjC/OneD (3.6.9): @@ -3224,8 +2451,6 @@ PODS: - ZXingObjC/Core DEPENDENCIES: - - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - EXConstants (from `../node_modules/expo-constants/ios`) - Expo (from `../node_modules/expo`) - ExpoAsset (from `../node_modules/expo-asset/ios`) @@ -3248,20 +2473,18 @@ DEPENDENCIES: - ExpoMailComposer (from `../node_modules/expo-mail-composer/ios`) - ExpoMediaLibrary (from `../node_modules/expo-media-library/ios`) - ExpoModulesCore (from `../node_modules/expo-modules-core`) - - ExpoModulesJSI (from `../node_modules/expo-modules-core`) + - ExpoModulesJSI (from `../node_modules/expo-modules-jsi/apple`) + - ExpoModulesWorklets (from `../node_modules/expo-modules-core`) + - ExpoModulesWorkletsAdapter (from `../node_modules/expo-modules-core`) - ExpoScreenCapture (from `../node_modules/expo-screen-capture/ios`) - ExpoSMS (from `../node_modules/expo-sms/ios`) - ExpoTaskManager (from `../node_modules/expo-task-manager/ios`) - ExpoVideo (from `../node_modules/expo-video/ios`) - - 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`) - - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - KBCommon (from `../../rnmodules/kb-common`) - "LiquidGlass (from `../node_modules/@callstack/liquid-glass`)" - lottie-react-native (from `../node_modules/lottie-react-native`) - - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - RCTRequired (from `../node_modules/react-native/Libraries/Required`) - RCTSwiftUI (from `../node_modules/react-native/ReactApple/RCTSwiftUI`) @@ -3270,6 +2493,7 @@ DEPENDENCIES: - React (from `../node_modules/react-native/`) - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - React-Core (from `../node_modules/react-native/`) + - React-Core-prebuilt (from `../node_modules/react-native/React-Core-prebuilt.podspec`) - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) @@ -3298,6 +2522,7 @@ DEPENDENCIES: - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) + - React-mutationobservernativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/mutationobserver`) - react-native-kb (from `../node_modules/react-native-kb`) - react-native-keyboard-controller (from `../node_modules/react-native-keyboard-controller`) - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" @@ -3336,13 +2561,14 @@ DEPENDENCIES: - ReactAppDependencyProvider (from `build/generated/ios/ReactAppDependencyProvider`) - ReactCodegen (from `build/generated/ios/ReactCodegen`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - ReactNativeDependencies (from `../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec`) + - "ReactNavigation (from `../node_modules/@react-navigation/native`)" - "RNCMaskedView (from `../node_modules/@react-native-masked-view/masked-view`)" - "RNCPicker (from `../node_modules/@react-native-picker/picker`)" - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNReanimated (from `../node_modules/react-native-reanimated`) - RNScreens (from `../node_modules/react-native-screens`) - RNWorklets (from `../node_modules/react-native-worklets`) - - SocketRocket (~> 0.7.1) - UMAppLoader (from `../node_modules/unimodules-app-loader/ios`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) @@ -3356,14 +2582,9 @@ SPEC REPOS: - SDWebImageAVIFCoder - SDWebImageSVGCoder - SDWebImageWebPCoder - - SocketRocket - ZXingObjC EXTERNAL SOURCES: - boost: - :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" - DoubleConversion: - :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" EXConstants: :path: "../node_modules/expo-constants/ios" Expo: @@ -3409,6 +2630,10 @@ EXTERNAL SOURCES: ExpoModulesCore: :path: "../node_modules/expo-modules-core" ExpoModulesJSI: + :path: "../node_modules/expo-modules-jsi/apple" + ExpoModulesWorklets: + :path: "../node_modules/expo-modules-core" + ExpoModulesWorkletsAdapter: :path: "../node_modules/expo-modules-core" ExpoScreenCapture: :path: "../node_modules/expo-screen-capture/ios" @@ -3418,25 +2643,17 @@ EXTERNAL SOURCES: :path: "../node_modules/expo-task-manager/ios" ExpoVideo: :path: "../node_modules/expo-video/ios" - fast_float: - :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec" FBLazyVector: :path: "../node_modules/react-native/Libraries/FBLazyVector" - fmt: - :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" - glog: - :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-v0.14.1 + :tag: hermes-v250829098.0.10 KBCommon: :path: "../../rnmodules/kb-common" LiquidGlass: :path: "../node_modules/@callstack/liquid-glass" lottie-react-native: :path: "../node_modules/lottie-react-native" - RCT-Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTDeprecation: :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" RCTRequired: @@ -3453,6 +2670,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/callinvoker" React-Core: :path: "../node_modules/react-native/" + React-Core-prebuilt: + :podspec: "../node_modules/react-native/React-Core-prebuilt.podspec" React-CoreModules: :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: @@ -3507,6 +2726,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon" React-microtasksnativemodule: :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" + React-mutationobservernativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/mutationobserver" react-native-kb: :path: "../node_modules/react-native-kb" react-native-keyboard-controller: @@ -3583,6 +2804,10 @@ EXTERNAL SOURCES: :path: build/generated/ios/ReactCodegen ReactCommon: :path: "../node_modules/react-native/ReactCommon" + ReactNativeDependencies: + :podspec: "../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec" + ReactNavigation: + :path: "../node_modules/@react-navigation/native" RNCMaskedView: :path: "../node_modules/@react-native-masked-view/masked-view" RNCPicker: @@ -3601,136 +2826,135 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 - DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb - EXConstants: dadbeba983acc30f855a919658a2b34fbd86615d - Expo: 564250e74ccdb0eb68bc3a073caa3721af924038 - ExpoAsset: 7721c5c4ae2a7c3c8147a046727ac6c020b05648 - ExpoAudio: a826903abdeba843cde8602bd1c077d808b31f1d - ExpoCamera: 82498151f9c05cc70d116d2bf68e4c187869300c - ExpoCameraBarcodeScanning: 66aa18c44eb8d034bdb49ea1b893fe549372ef7b - ExpoClipboard: 5d1b0cd2686406f21e616f2d9b3431259dee2e6a - ExpoContacts: 9b16b5a573c3d899b2d70c86adfb948cff58e997 - ExpoDocumentPicker: be59b82799ae30811e3f37a7521d6622baa63a19 - ExpoDomWebView: b2e9d601f9cb77d3c97da73234e175b64be91928 - ExpoFileSystem: 0b73b097e67c83622640168f620defc65a1a6f70 - ExpoFont: a95606f106a6394df8edf6d0d87aab9020af5ad4 - ExpoHaptics: 679f09dc37d5981e619bc197732007a3334e80b8 - ExpoImage: 74d26278507b0b0d85b1e50562412172603f59eb - ExpoImagePicker: 7c75b2f076d6f45598fcbd035908aebc4c2eb257 - ExpoKeepAwake: d0eb7a0719500d2a43fbf29b6f79e84d70c75ebf - ExpoLocalization: c5cd7fa65c797d3a2f1adbd1fd4c601c524fd677 - ExpoLocation: 2eb121e655cc08a1fc34bc84e8429c0f216c83ec - ExpoLogBox: a678d36477ab9544fe63e0b5328a0716539b6774 - ExpoMailComposer: bb63854e80400563d4a1537f1c9fadf7c8e70ab1 - ExpoMediaLibrary: ddb07a0f7e0e8b36adc3130fa2fe5757643273bb - ExpoModulesCore: a0657acfb83a882b48f84492a095fd44fd43b26c - ExpoModulesJSI: 1685389cde9f19c40f98ca0ad46d4804471486cc - ExpoScreenCapture: bcbb78db8311c51553ce6178c43e52bef0654c2a - ExpoSMS: cd74cf9d83be085384481c47bfe7240baba70cb6 - ExpoTaskManager: 7c2660c3c0bd0ed863e1536e59e11b71ac1490c6 - ExpoVideo: 9e10be01a10776a89ae1f0775445b4e4ba6b09f0 - fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 - FBLazyVector: 82d1d7996af4c5850242966eb81e73f9a6dfab1e - fmt: 530618a01105dae0fa3a2f27c81ae11fa8f67eac - glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 - hermes-engine: 621abd41f5a0ebf0c22caf62736910378ee3833b + EXConstants: fdd880c2bc015efc74ba602e3809963a5f554683 + Expo: 4710b638d018109e241005907c3a3eaf010657ec + ExpoAsset: ae8c582c6083bac3c90a3d70360690123a2a45dd + ExpoAudio: 90a10d3f5a1286587e2ef81de73105ea0fab621e + ExpoCamera: 4d44aace75d08eeb91838a7d08345cd57b2c65f5 + ExpoCameraBarcodeScanning: 25b7b6ce09d5deb09aad0b60cba2fdc1dbccc3e9 + ExpoClipboard: eee843698341fd26d571fd2807800f98abb6123c + ExpoContacts: e2d187f6d473bf1f3ba0d4219875237fcfca0965 + ExpoDocumentPicker: 89b97c8810a16cdc89e7596043be4703b44a3664 + ExpoDomWebView: 27205be8754f9992913b8a9a08e65019f2207075 + ExpoFileSystem: 16e678f837808810b2bc562570976b04414eda67 + ExpoFont: 8b9b7b0fe8a5e563a69e7b132749e50a85afb6e4 + ExpoHaptics: 89364cf3c3ca2cfd54cafed42f3be3169bab6d42 + ExpoImage: 59f71ed6d030241ffadead114064cfd01bd0dc12 + ExpoImagePicker: 7c889bafeefe4e7fc5eddd5c8b59a5ed0d504eb8 + ExpoKeepAwake: 359c47a1d9ccc3a3c519bca6e39562cce230c5bb + ExpoLocalization: 18a218aa883b7bf46ee3d18d912631ed3348b560 + ExpoLocation: 7f0735ad65adf604f7af22c456f83bcde161faed + ExpoLogBox: b2147153c9899bfe07ed17a390f9d9326c7e9faa + ExpoMailComposer: e202b670f62063851ed74c964034037312d523a8 + ExpoMediaLibrary: 2ee3defd62fa8da9cb80fdcca71968cdeec7b24f + ExpoModulesCore: 95eca2cfe431a54a73fcaaf2f33ef7351711168c + ExpoModulesJSI: f87c393c97d49dbcc58dbfdec8978e5f3511bb97 + ExpoModulesWorklets: 9ece64ac27429cb4418463f5ca6b054c31921e86 + ExpoModulesWorkletsAdapter: b7ad9887504503c6f5ae0b8a8e33e56f986935a7 + ExpoScreenCapture: c388565b6244aec9d96c18941efbee8655b2fec2 + ExpoSMS: 2cebfd889706da39a397d20c8a68abb0ce7f185d + ExpoTaskManager: 36735b682d007105996f84c413e8c2885e4dfc3b + ExpoVideo: fa20020308f9f8e3458c05c7216d139d47fc1b32 + FBLazyVector: 24e62c765683b8d89006a88a2c8f5cf019f0074d + hermes-engine: 615bb48c9c5775981afab071d9298a804bd98a87 KBCommon: bd1f35bb07924f4cc57417b00dab6734747b6423 libavif: 5f8e715bea24debec477006f21ef9e95432e254d libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 - LiquidGlass: 1e594cdb75c5d0c2eff9fcd3cbad2a9e06adb0eb + LiquidGlass: 3fd4582008eeba28d60c5960953a32df6a65ad0a lottie-ios: 8f959969761e9c45d70353667d00af0e5b9cadb3 - lottie-react-native: e542fe4b6e8eddcf893d5a8cef9f8b5c6d2f7331 - RCT-Folly: b29feb752b08042c62badaef7d453f3bb5e6ae23 - RCTDeprecation: 9da1d0cf93db23ca8b41e8efe9ae558fd9c0077f - RCTRequired: 92a63c7041031a131fa5206eb082d53f95729b79 - RCTSwiftUI: 395b65655229fa2006415207adcfcb6e35dc78ed - RCTSwiftUIWrapper: 91351441a592e07e09a2f94d2cbdf088fde7e2e1 - RCTTypeSafety: 091ec3b2994c00939652cbe91cfa9ee8a4ae75b5 - React: 3e14066ac707b3e369d09e2e923d8bee7f8c33ff - React-callinvoker: 2d95e8e26fbab01f06fbf006d2c370f834a3537b - React-Core: 0e73cf940736e6d32683d1b9e427ca9e92f96e5a - React-CoreModules: a252c33b178381722498afe5fa475bb110cc2943 - React-cxxreact: 271c58e22ece5be60e9a6ee7d3d40474028833fc - React-debug: 00098ab10215a5f349f9e41b8da69b52d7f53b91 - React-defaultsnativemodule: 2182274eeb1b40459a8a7405712d8a6cd6792681 - React-domnativemodule: 7e38c517ab0fb3ea74f57c69e2e2ba730c0109c5 - React-Fabric: b5720298e72677d7b8a8aa89483fdc33dcf33764 - React-FabricComponents: 98ff7d7e35800d3d05bdc1a54f83788025c1a6cd - React-FabricImage: aa4f9826dcced5eee5e12e41e3f491eaa220e91a - React-featureflags: eefbf8f62c6a576602126a0de1de230750058bab - React-featureflagsnativemodule: 0085450d3061db5344c6781099542311b3513aaa - React-graphics: 56492a59f40d36354ec67c0792247ff3503941db - React-hermes: 26feaea19d95e73a794d6f84cfcbce63f85cb9ec - React-idlecallbacksnativemodule: fad601be1d1785e569378c5ac22074474e4cfc26 - React-ImageManager: 543553e70b7bdb9d51acb18787a12296827248d8 - React-intersectionobservernativemodule: b1bd7b872a7afc59f64cba9284e9a06a77dd72b1 - React-jserrorhandler: bf0069cf5482871e740e5e930e94c1efbc1f9b7f - React-jsi: 8442310fcae4f17ed2c2df00cc8a53fb479bef1b - React-jsiexecutor: e73fa2e25be645f8f98f00893adcf24e449de8ce - React-jsinspector: acee2680599a9a1dbe777524019ec5d3331a6fda - React-jsinspectorcdp: 0eae61e61eab2a9879ced678acfa184f55d9c2d1 - React-jsinspectornetwork: 6782891f0fa52e6ae726841b0ed0ce475c581931 - React-jsinspectortracing: 872d5770944d5d2b748b3eaafae66347778d8d38 - React-jsitooling: 44b154b80c0ca99f4944aa736ed15f896c8a3a98 - React-jsitracing: 9f5bf0eae699f0d8d4f82814868969f43523b04b - React-logger: 993e4b9793768764e0fdd379ad1d6582f7905463 - React-Mapbuffer: 0b0d3c3074187e72d8a6e8cacce120cb24581565 - React-microtasksnativemodule: 175741856a8f6a31e20b973cb784db023256b259 - react-native-kb: 47269c30b862f82a1556f88cc6f00dbee91a9a98 - react-native-keyboard-controller: c610d1f839ad9cd41f4420db14beaa1cf64263f6 - react-native-netinfo: 9fad4eedfec9840a10e73ac4591ea1158523309b - react-native-safe-area-context: eda63a662750758c1fdd7e719c9f1026c8d161cb - react-native-webview: 83c663c5bdf1357d3e7c00986260cb888ea0e328 - React-NativeModulesApple: 5f9aa5b3964c22ea10a13fbefc5b0e91285882b9 - React-networking: f134989f25bd7e4c86128f279495b33d6c64b624 - React-oscompat: 854967d380ee2921c848790cdb942b42d22017d8 - React-perflogger: bb302310d56078ced79111225a74815465b5c9f9 - React-performancecdpmetrics: 60f97726acc23e9e339965baf01c4794da339311 - React-performancetimeline: bdedf8a33b075deedf93ef08b4e44fa7e2a63b05 - React-RCTActionSheet: 1182e251a2f93857ab7a4a13732c881449cc225f - React-RCTAnimation: 7fff267277af4af4abcec3b7d8dc4e3956aaf414 - React-RCTAppDelegate: 5e0010863f9a433d724f0811c9a4518a96cec535 - React-RCTBlob: 44ada012ff2dfa9a88f979d9631808138356b1f4 - React-RCTFabric: f14e7548d2a95e336727170b8a6a2ccdb40e1654 - React-RCTFBReactNativeSpec: ffd275ee59ee639832b2682e5841dff0b36ee341 - React-RCTImage: e02f7772bbd165ef13c0051de1b9da6baefd11e6 - React-RCTLinking: 68ffd8feb4f0ea6fe3f10a264568901e17a7575c - React-RCTNetwork: 2f99990cb2ada2f2409b83174a96e6b901d254f8 - React-RCTRuntime: 373e1bd4bfbd400fda6edf545978f37c73d9a792 - React-RCTSettings: a0ccf26bdca389ee6f6d897bf208293f86234814 - React-RCTText: d24b35c913a17b68b6207b0211967587e5c64c81 - React-RCTVibration: 3ab7eb971e4fa0774a3e0a376f3ea14dc6c7f963 - React-rendererconsistency: 6b7dbf477c6b4993e77ec4ba89386168c490259f - React-renderercss: 288970f844805dd3864a9c967c1e035948ac7ef9 - React-rendererdebug: 30c19c8fd4d3ce080efcdab0d693ffda46281316 - React-RuntimeApple: c8f3853dea3e4051379adbdb40621750add60037 - React-RuntimeCore: 8b9f702c2a2c9130b720b34a2231405d44bdf432 - React-runtimeexecutor: 75189b1b32e6d6ffa296cec70f7b867d89082215 - React-RuntimeHermes: 3c5ae1084fca5a50aa61eaa155c1dd83c9035850 - React-runtimescheduler: 05ac9eea4e46178d45dbefb3daef2448b3b0713e - React-timing: 88019680fbc33e5f23e76a0c48db5f754938163a - React-utils: 7e1534af16a2bd9ff8b0a3caf83b68696d3c913f - React-webperformancenativemodule: f61042f7803aedfe91bc688d5e3bb4323d7feb77 - ReactAppDependencyProvider: 2b19d66e5ddfe8dc7afb6338a4626156cbf2bab1 - ReactCodegen: d6c9a8bda218917454530b681464c8556e896a34 - ReactCommon: cbb4e1e2bff77892671eae8eb52154dcebf02280 - RNCMaskedView: d707a83784c67099b54b37d056ababb2767ce15e - RNCPicker: 35fc66f352403cdfe99d53b541f5180482ca2bc5 - RNGestureHandler: d4ab2d812e9fae76169abe994b6f215f8f231143 - RNReanimated: 879497d7fcda8c61e52b1f00ebc7ce9fd97e3cc0 - RNScreens: e902eba58a27d3ad399a495d578e8aba3ea0f490 - RNWorklets: 534af667da0c0049e0060ae43f03c7df8cc9a6e0 + lottie-react-native: 79af66ef54ccaf1dcbbd547947f845a75f70a489 + RCTDeprecation: a4c521821fab57cbb125b36effe84d897d0dfa12 + RCTRequired: 9f3a7e5645d4bc3f551593de7550bb66ab6e42bc + RCTSwiftUI: 239ed2eb9e73de5a6f518810630f0c95e01c8702 + RCTSwiftUIWrapper: 966ca7f5f22ac0b2b2255fb09cffc381f5440b03 + RCTTypeSafety: 2a6403ba3492c04510e7c15bd635461646c43bb2 + React: e2dc35338068bbd299c66f043ae0d7f25de8499e + React-callinvoker: 28b25d21b124c26cebaea713ba7d801b9351dc48 + React-Core: 02ed7d2ffb70437bdf2aba074a13078a7b0b9ff0 + React-Core-prebuilt: 802f462f2f595418d4da662b0f07a18d3988a990 + React-CoreModules: b3a5a42dadcde3b5d47b325bd912eb2ced89e146 + React-cxxreact: fe8f88dda044e5905e99a00f41b7a874c3908716 + React-debug: 9af1e96a6069c996e3d9f1e493603e74bc9f1593 + React-defaultsnativemodule: ef8c2a55daadc1208d72237c20638a937fc99d1e + React-domnativemodule: 022dc420df8409c2c9b724f872d678f0e73e254c + React-Fabric: feb1cf67568bf2201aa2180f6ed104106edff14f + React-FabricComponents: c6a7ae46e80f1152ada1d13b9e90c8f61689cab7 + React-FabricImage: 6b478ee0986b6c6f8ef925fc1539dbd73ee8c6e1 + React-featureflags: 25925b2a222c4d27fa7625083f9eee3ecc50edf9 + React-featureflagsnativemodule: 0fc8626dc9708a55f8ac0f556b1982ecfa31a6fb + React-graphics: 35f524ebf597dfa00965efeacebab35608b8229b + React-hermes: 663286153a8ad6bf752b742654c766ff5e8991e7 + React-idlecallbacksnativemodule: b02adbab676f22ad603a7db55344b99890db597d + React-ImageManager: bb1606f3c8a8681b98933839d1b3776e74e11cb6 + React-intersectionobservernativemodule: e81bf037d9a4e08efb03a0cccb61361ec5cb9e8d + React-jserrorhandler: 2a5f316dee142d671cec8b9940956120a26225cb + React-jsi: eb7cc4cffcf24796cc302d5b2bca0e92544139a9 + React-jsiexecutor: 65006f60e64c72c6b82f62ef6bd17c84846e73f8 + React-jsinspector: a5cc10871111ac6ae6f60d0030be6546b98c3917 + React-jsinspectorcdp: 9c456fc9218c5ba16531273591cd8e40db38d047 + React-jsinspectornetwork: 8e9ac32459b7af5efa4d5962be734bdc387db090 + React-jsinspectortracing: a36ce197288a347d43aa1dbc09d72dee24269646 + React-jsitooling: 2870fce5bfd23414d39ea141ea6ca4fe67d82b12 + React-jsitracing: d66fb487dd177cf5e1136229de8675da35afac01 + React-logger: bf149dea4343a9037b74bade36cced8b63f03f46 + React-Mapbuffer: 33e3bcefb14c2ce5ba867d908ff16cced1f9b487 + React-microtasksnativemodule: 3a42e75434099fd10030e36fe9f3b27e3811afd5 + React-mutationobservernativemodule: a7f3dc483d3e0e0fade0ea00e2cc95e2e462e023 + react-native-kb: 71289be80d93678d5abff5805cb638cd36d9e08e + react-native-keyboard-controller: 0aad0cfd38b44c097484fe1dc9938bfceb05330c + react-native-netinfo: a05f9b897e76ad24b53f615fed1cbb731932363d + react-native-safe-area-context: ba7283e541a5f57c6b27a7e33f2c40b8977888c0 + react-native-webview: 2a4da2e03d3ec2c731c4d1a389cb86aaa4902167 + React-NativeModulesApple: deba264b03bd79c6bd61014fa30e40321b5e443a + React-networking: 905170b05255ad7025dd16e9d0cf5a7b9458208a + React-oscompat: 64a0c7ef5441855dc6e2a6afe8ba8f92aa05075e + React-perflogger: ca04287f205086a1edb5c95882be7b6068458889 + React-performancecdpmetrics: bb76b28a76f5384e69174652747f5feb9a4914ac + React-performancetimeline: df497e95ce4439bdef5d5c751c7ca5fbcab47633 + React-RCTActionSheet: ab545c1e7b5f1ce4f8b40b6fa06afe2869095884 + React-RCTAnimation: 343147a9cd68c93d0ca280799fedfc7102d76ce4 + React-RCTAppDelegate: 5054754e92aaa9f8bfabe0f1022b84e46f3dcb57 + React-RCTBlob: 8c7ae3422ca4e72bc64b7a0142fd730efc5d4dfb + React-RCTFabric: b6d57f19439c1b02c1dbcf11ee70b9dc6fab8026 + React-RCTFBReactNativeSpec: b57aa2c72a1ea985d49999a8f0fc8f79ad481c9c + React-RCTImage: 481457bca63e039eb997f7d16c7560472f49657e + React-RCTLinking: 76cbb871240cec2dc5e7aa26c60f59e0ebbcf5a2 + React-RCTNetwork: e23a778225b7672e38545d3c5c24e1f4aad6d15f + React-RCTRuntime: 43cf561d276a46b8ba217f7c5161547ff35ae43e + React-RCTSettings: 96196b535bef147381f96cc60ce9bda85d8be848 + React-RCTText: 749ebbd1a999fd84d80f37002ea3bf597fcea6df + React-RCTVibration: 5b41a7f274757c2928845981d970916ef9e4ca14 + React-rendererconsistency: 136a8589d3317a8aed2cbc4a42d8db59d4ca82cc + React-renderercss: 2ca0e84b561309c1d6a80885affa22a669bdfb6a + React-rendererdebug: e994176289d0f50d03e7b8dd512b2ccdba83f79c + React-RuntimeApple: 0a875de8b8210035fd107ca5b91779383a4c0e4e + React-RuntimeCore: cc3e105f674079e2d535bd1508601ff90b3243b2 + React-runtimeexecutor: 2dcc6f4e167a026f7a72268e4b395f5e41c8e641 + React-RuntimeHermes: 6d654deb1405f48a0dd7f5d4b72f9fd6181b4b28 + React-runtimescheduler: bea6c85aa0cc603c5c15789661d0a40b1030df88 + React-timing: 344568a2d138d9beaf1b7815716faf2382472789 + React-utils: 892f56c9e4e0aeadce0391b181af87f419c41758 + React-webperformancenativemodule: 9d79deafb4623b6f7716abdf38294cd6a2f7d4d7 + ReactAppDependencyProvider: 25c9c516839be2c5e3d3344f95dc7da5f7e63fc2 + ReactCodegen: 7016a2114079361a2f1536b3c91a15ceb8eb7ca4 + ReactCommon: 7dfc3250793bf36cf221096ff59e1179e13eef7f + ReactNativeDependencies: a6322d261348755da88238e31671807522b1ad9d + ReactNavigation: 12afab54ad339de96a78851eae7d8c4fa84cb726 + RNCMaskedView: 8069b4d4e23b3d28b4fcac70bf266be43ffc3d2e + RNCPicker: a3921be99ae291e420e3e8940e5b2b53e572c543 + RNGestureHandler: a97cc64efbfcb7a53969a38310a189a3d5246c65 + RNReanimated: dbe1365727409813696964826b407873304f4d51 + RNScreens: 85c533985720c563272c6f6dd19e1278dfd0f5d4 + RNWorklets: 4931990f73bc8f347586918b2e13f11dfadf3b75 SDWebImage: e9fc87c1aab89a8ab1bbd74eba378c6f53be8abf SDWebImageAVIFCoder: afe194a084e851f70228e4be35ef651df0fc5c57 SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380 - SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 - UMAppLoader: 045699ef1cc6afda399a5c78bde728f23bcce213 - Yoga: c7fcecd3a5864321db161a74cf2cd735f800c119 + UMAppLoader: b7d22886a244871c20b5a8f2fcea13c18534e677 + Yoga: e240fec777ff1f21ef42ccebbb44b6d262125855 ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 -PODFILE CHECKSUM: 6a24e9a9953ffc6f7d8ff2c496a2103ac06487f4 +PODFILE CHECKSUM: c43b979b3adeae962381375fcdfdbeded06ff07f COCOAPODS: 1.16.2 diff --git a/shared/jest.config.js b/shared/jest.config.js index 0f72e3c4a4c8..e805013413e2 100644 --- a/shared/jest.config.js +++ b/shared/jest.config.js @@ -19,6 +19,7 @@ module.exports = { '^@/(.*)$': '/$1', '^@/logger$': '/test/mocks/logger.js', '^@react-navigation/core$': '/test/mocks/react-navigation-core.js', + '^@react-navigation/native$': '/test/mocks/react-navigation-native.js', '^react-native$': '/test/mocks/react-native.js', }, setupFiles: ['/jest.setup.js'], diff --git a/shared/login/reset/confirm.test.tsx b/shared/login/reset/confirm.test.tsx index 1f75e00fb4e3..ad338bfd08db 100644 --- a/shared/login/reset/confirm.test.tsx +++ b/shared/login/reset/confirm.test.tsx @@ -69,7 +69,7 @@ describe('ConfirmReset', () => { }) mockSetOptions.mockReset() mockSubmitResetPrompt.mockReset() - ;(useNavigation as jest.Mock).mockReturnValue({ + ;(useNavigation as unknown as jest.Mock).mockReturnValue({ addListener: mockAddListener, setOptions: mockSetOptions, }) diff --git a/shared/package.json b/shared/package.json index b3a523238343..27001bdeff06 100644 --- a/shared/package.json +++ b/shared/package.json @@ -55,7 +55,7 @@ "rn-jsbuild-ios": "mkdir -p ios/dist && react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ios/dist/main.jsbundle --sourcemap-output ios/dist/main.jsbundle.sourcemap", "rn-jsbuild-android": "mkdir -p android/dist && react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/dist/main.jsbundle --sourcemap-output android/dist/main.jsbundle.sourcemap", "tsc": "./node_modules/.bin/tsgo --project ./tsconfig.json", - "modules": "yarn install --pure-lockfile --ignore-optional --ignore-scripts && yarn postinstall && cd node_modules/electron && yarn postinstall && cd ../.. && cd node_modules/@typescript/native-preview && yarn install", + "modules": "yarn install --pure-lockfile --ignore-optional --ignore-scripts && yarn postinstall && cd node_modules/@typescript/native-preview && yarn install", "log-to-trace": "node desktop/yarn-helper/log-to-trace.mts", "pod-clean": "pod cache clean --all ; rm -rf ios/build; rm -rf ios/Pods; rm -f ios/.xcode.env.local; rm -rf ../rnmodules/react-native-kb/node_modules", "pod-install": "cd ios; pod install --repo-update", @@ -85,55 +85,55 @@ "private": true, "dependencies": { "@callstack/liquid-glass": "0.7.1", - "@gorhom/bottom-sheet": "5.2.13", + "@gorhom/bottom-sheet": "5.2.14", "@gorhom/portal": "1.0.14", "@khanacademy/simple-markdown": "2.2.3", - "@legendapp/list": "3.0.0-beta.53", + "@legendapp/list": "3.0.0-beta.56", "@msgpack/msgpack": "3.1.3", "@react-native-community/netinfo": "12.0.1", "@react-native-masked-view/masked-view": "0.3.2", "@react-native-picker/picker": "2.11.4", - "@react-navigation/bottom-tabs": "7.15.12", - "@react-navigation/core": "7.17.3", - "@react-navigation/native": "7.2.3", - "@react-navigation/native-stack": "7.14.13", + "@react-navigation/bottom-tabs": "8.0.0-alpha.29", + "@react-navigation/core": "8.0.0-alpha.15", + "@react-navigation/native": "8.0.0-alpha.24", + "@react-navigation/native-stack": "8.0.0-alpha.30", "date-fns": "4.1.0", "emoji-datasource-apple": "16.0.0", "emoji-regex": "10.6.0", - "expo": "55.0.23", - "expo-asset": "55.0.17", - "expo-audio": "55.0.14", - "expo-camera": "55.0.18", - "expo-clipboard": "55.0.13", - "expo-contacts": "55.0.14", - "expo-document-picker": "55.0.13", - "expo-file-system": "55.0.19", - "expo-haptics": "55.0.14", - "expo-image": "55.0.10", - "expo-image-picker": "55.0.20", - "expo-localization": "55.0.13", - "expo-location": "55.1.9", - "expo-mail-composer": "55.0.13", - "expo-media-library": "55.0.16", - "expo-screen-capture": "55.0.13", - "expo-sms": "55.0.13", - "expo-task-manager": "55.0.15", - "expo-video": "55.0.16", + "expo": "56.0.0-preview.11", + "expo-asset": "56.0.9", + "expo-audio": "56.0.6", + "expo-camera": "56.0.5", + "expo-clipboard": "56.0.3", + "expo-contacts": "56.0.4", + "expo-document-picker": "56.0.3", + "expo-file-system": "56.0.4", + "expo-haptics": "56.0.3", + "expo-image": "56.0.4", + "expo-image-picker": "56.0.8", + "expo-localization": "56.0.4", + "expo-location": "56.0.8", + "expo-mail-composer": "56.0.3", + "expo-media-library": "56.0.4", + "expo-screen-capture": "56.0.4", + "expo-sms": "56.0.3", + "expo-task-manager": "56.0.8", + "expo-video": "56.1.0", "google-libphonenumber": "3.2.44", - "immer": "11.1.7", + "immer": "11.1.8", "lodash": "4.18.1", "lottie-react-native": "7.3.6", "lottie-web": "5.13.0", "menubar": "9.5.2", - "react": "19.2.0", - "react-dom": "19.2.0", - "react-native": "0.83.4", - "react-native-gesture-handler": "3.0.0-beta.3", + "react": "19.2.3", + "react-dom": "19.2.3", + "react-native": "0.85.3", + "react-native-gesture-handler": "2.31.2", "react-native-kb": "file:../rnmodules/react-native-kb", "react-native-keyboard-controller": "1.21.7", "react-native-reanimated": "4.3.1", "react-native-safe-area-context": "5.7.0", - "react-native-screens": "4.24.0", + "react-native-screens": "4.25.0", "react-native-web": "0.21.2", "react-native-webview": "13.16.1", "react-native-worklets": "0.8.3", @@ -147,36 +147,36 @@ "@babel/preset-react": "7.28.5", "@babel/preset-typescript": "7.28.5", "@electron/packager": "20.0.0", + "@eslint/compat": "2.1.0", + "@eslint/js": "10.0.1", "@pmmmwh/react-refresh-webpack-plugin": "0.6.2", "@react-native-community/cli": "20.1.3", "@react-native-community/cli-platform-android": "20.1.3", "@react-native-community/cli-platform-ios": "20.1.3", - "@react-native/babel-preset": "0.83.2", - "@react-native/eslint-config": "0.83.2", - "@react-native/metro-config": "0.83.2", - "@types/jest": "30.0.0", + "@react-native/babel-preset": "0.85.3", + "@react-native/eslint-config": "0.85.3", + "@react-native/metro-config": "0.85.3", + "@testing-library/dom": "10.4.1", + "@testing-library/react": "16.3.2", "@types/google-libphonenumber": "7.4.30", + "@types/jest": "30.0.0", "@types/lodash": "4.17.24", "@types/lodash-es": "4.17.12", "@types/react": "19.2.14", "@types/react-dom": "19.2.3", "@types/react-measure": "2.0.12", "@types/webpack-env": "1.18.8", - "@typescript/native-preview": "7.0.0-dev.20260507.1", - "@testing-library/dom": "10.4.1", - "@testing-library/react": "16.3.2", + "@typescript/native-preview": "7.0.0-dev.20260514.1", "@welldone-software/why-did-you-render": "10.0.1", + "babel-jest": "30.4.1", "babel-loader": "10.1.1", - "babel-jest": "30.4.0", "babel-plugin-module-resolver": "5.0.3", "babel-plugin-react-compiler": "1.0.0", "babel-plugin-react-native-web": "0.21.2", - "babel-preset-expo": "55.0.21", + "babel-preset-expo": "56.0.8", "cross-env": "10.1.0", "css-loader": "7.1.4", - "electron": "42.0.0", - "@eslint/compat": "2.0.5", - "@eslint/js": "10.0.1", + "electron": "42.0.1", "eslint": "10.3.0", "eslint-plugin-deprecation": "3.0.0", "eslint-plugin-promise": "7.3.0", @@ -185,22 +185,22 @@ "eslint-plugin-react-hooks": "7.1.1", "fs-extra": "11.3.5", "html-webpack-plugin": "5.6.7", - "jest": "30.4.0", - "jest-environment-jsdom": "30.4.0", + "jest": "30.4.2", + "jest-environment-jsdom": "30.4.1", "json5": "2.2.3", "null-loader": "4.0.1", "patch-package": "8.0.1", "prettier": "3.8.3", "react-refresh": "0.18.0", - "react-scan": "0.5.6", + "react-scan": "1.2.0", "rimraf": "6.1.3", "style-loader": "4.0.0", - "terser-webpack-plugin": "5.5.0", + "terser-webpack-plugin": "5.6.0", "typescript": "6.0.3", - "typescript-eslint": "8.59.2", + "typescript-eslint": "8.59.3", "webpack": "5.106.2", "webpack-cli": "7.0.2", - "webpack-dev-server": "5.2.3", + "webpack-dev-server": "5.2.4", "webpack-merge": "6.0.1" }, "resolutions": { diff --git a/shared/patches/@react-navigation+bottom-tabs+8.0.0-alpha.28.patch b/shared/patches/@react-navigation+bottom-tabs+8.0.0-alpha.28.patch new file mode 100644 index 000000000000..0b2d0848d949 --- /dev/null +++ b/shared/patches/@react-navigation+bottom-tabs+8.0.0-alpha.28.patch @@ -0,0 +1,59 @@ +diff --git a/node_modules/@react-navigation/bottom-tabs/lib/module/views/BottomTabViewNativeImpl.js b/node_modules/@react-navigation/bottom-tabs/lib/module/views/BottomTabViewNativeImpl.js +index 8c6a647..bc2aea8 100644 +--- a/node_modules/@react-navigation/bottom-tabs/lib/module/views/BottomTabViewNativeImpl.js ++++ b/node_modules/@react-navigation/bottom-tabs/lib/module/views/BottomTabViewNativeImpl.js +@@ -36,6 +36,10 @@ export function BottomTabViewNative({ + } + const [pendingNavigation, setPendingNavigation] = React.useState(null); + const previousRouteKeyRef = React.useRef(focusedRouteKey); ++ const [navStateRequest, setNavStateRequest] = React.useState(() => ({ ++ selectedScreenKey: state.routes[state.index].key, ++ baseProvenance: 0, ++ })); + React.useEffect(() => { + const previousRouteKey = previousRouteKeyRef.current; + if (previousRouteKey !== focusedRouteKey && descriptors[previousRouteKey]?.options.popToTopOnBlur) { +@@ -147,9 +151,11 @@ export function BottomTabViewNative({ + }, + children: [tabBarPosition === 'top' || tabBarPosition === 'left' ? tabBarElement : null, /*#__PURE__*/_jsx(Tabs.Host, { + tabBarHidden: hasCustomTabBar || shouldHideTabBar, +- bottomAccessory: bottomAccessory ? environment => bottomAccessory({ +- placement: environment +- }) : undefined, ++ ios: { ++ bottomAccessory: bottomAccessory ? environment => bottomAccessory({ ++ placement: environment ++ }) : undefined, ++ }, + tabBarItemLabelVisibilityMode: currentOptions?.tabBarLabelVisibilityMode, + tabBarControllerMode: tabBarControllerMode, + tabBarMinimizeBehavior: tabBarMinimizeBehavior, +@@ -168,9 +174,14 @@ export function BottomTabViewNative({ + tabBarItemActiveIndicatorEnabled: currentOptions?.tabBarActiveIndicatorEnabled, + tabBarItemRippleColor: currentOptions?.tabBarRippleColor, + experimentalControlNavigationStateInJS: false, +- onNativeFocusChange: e => { +- const route = state.routes.find(route => route.key === e.nativeEvent.tabKey); ++ navStateRequest: navStateRequest, ++ onTabSelected: e => { ++ const route = state.routes.find(route => route.key === e.nativeEvent.selectedScreenKey); + if (route) { ++ setNavStateRequest({ ++ selectedScreenKey: e.nativeEvent.selectedScreenKey, ++ baseProvenance: e.nativeEvent.provenance, ++ }); + const event = navigation.emit({ + type: 'tabPress', + target: route.key, +@@ -271,9 +282,8 @@ export function BottomTabViewNative({ + onDidAppear: () => onTransitionEnd({ + route + }), +- tabKey: route.key, +- icon: icon, +- selectedIcon: selectedIcon?.ios ?? selectedIcon?.shared, ++ screenKey: route.key, ++ ios: {icon: icon?.ios, selectedIcon: selectedIcon?.ios ?? selectedIcon?.shared}, + tabBarItemBadgeBackgroundColor: badgeBackgroundColor, + tabBarItemBadgeTextColor: badgeTextColor, + tabBarItemAccessibilityLabel: tabBarAccessibilityLabel, diff --git a/shared/patches/react-native+0.83.4.patch b/shared/patches/react-native+0.83.4.patch deleted file mode 100644 index 30c1678a38f2..000000000000 --- a/shared/patches/react-native+0.83.4.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/node_modules/react-native/gradle/libs.versions.toml b/node_modules/react-native/gradle/libs.versions.toml -index f21668f..2f9c466 100644 ---- a/node_modules/react-native/gradle/libs.versions.toml -+++ b/node_modules/react-native/gradle/libs.versions.toml -@@ -44,7 +44,7 @@ yoga-proguard-annotations = "1.19.0" - boost="1_83_0" - doubleconversion="1.1.6" - fastFloat="8.0.0" --fmt="11.0.2" -+fmt="12.1.0" - folly="2024.11.18.00" - glog="0.3.5" - gflags="2.2.0" -diff --git a/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec b/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec -index 8852179..040c4f0 100644 ---- a/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec -+++ b/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec -@@ -25,7 +25,7 @@ Pod::Spec.new do |spec| - spec.dependency "DoubleConversion" - spec.dependency "glog" - spec.dependency "fast_float", "8.0.0" -- spec.dependency "fmt", "11.0.2" -+ spec.dependency "fmt", "12.1.0" - spec.compiler_flags = '-Wno-documentation -faligned-new' - spec.source_files = 'folly/String.cpp', - 'folly/Conv.cpp', -diff --git a/node_modules/react-native/third-party-podspecs/fmt.podspec b/node_modules/react-native/third-party-podspecs/fmt.podspec -index 2f38990..a40c575 100644 ---- a/node_modules/react-native/third-party-podspecs/fmt.podspec -+++ b/node_modules/react-native/third-party-podspecs/fmt.podspec -@@ -8,14 +8,14 @@ fmt_git_url = fmt_config[:git] - - Pod::Spec.new do |spec| - spec.name = "fmt" -- spec.version = "11.0.2" -+ spec.version = "12.1.0" - spec.license = { :type => "MIT" } - spec.homepage = "https://github.com/fmtlib/fmt" - spec.summary = "{fmt} is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams." - spec.authors = "The fmt contributors" - spec.source = { - :git => fmt_git_url, -- :tag => "11.0.2" -+ :tag => "12.1.0" - } - spec.pod_target_xcconfig = { - "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(), diff --git a/shared/patches/react-native-screens+4.25.0-beta.3.patch b/shared/patches/react-native-screens+4.25.0-beta.3.patch new file mode 100644 index 000000000000..1ad5f4e45b39 --- /dev/null +++ b/shared/patches/react-native-screens+4.25.0-beta.3.patch @@ -0,0 +1,14 @@ +diff --git a/node_modules/react-native-screens/ios/tabs/host/RNSTabsHostComponentView.mm b/node_modules/react-native-screens/ios/tabs/host/RNSTabsHostComponentView.mm +index d7afe44..c9816ee 100644 +--- a/node_modules/react-native-screens/ios/tabs/host/RNSTabsHostComponentView.mm ++++ b/node_modules/react-native-screens/ios/tabs/host/RNSTabsHostComponentView.mm +@@ -85,7 +85,8 @@ - (void)initState + [self resetProps]; + + _controller = [[RNSTabBarController alloc] initWithTabsHostComponentView:self]; +- RCTAssert([_controller addNavigationStateObserver:self], ++ BOOL observerRegistered = [_controller addNavigationStateObserver:self]; ++ RCTAssert(observerRegistered, + @"[RNScreens] Failed to register RNSTabsHostComponentView as navigation state observer"); + + _reactSubviews = [NSMutableArray new]; diff --git a/shared/router-v2/react-navigation.d.ts b/shared/router-v2/react-navigation.d.ts index 27cc0898d72b..8f4032e3631d 100644 --- a/shared/router-v2/react-navigation.d.ts +++ b/shared/router-v2/react-navigation.d.ts @@ -1,10 +1,9 @@ import type {RootParamList as KBRootParamList} from './route-params' +import type {PrivateValueStore} from '@react-navigation/core' -declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace - namespace ReactNavigation { - interface RootParamList extends KBRootParamList {} - } +declare module '@react-navigation/core' { + // eslint-disable-next-line @typescript-eslint/no-empty-object-type + interface RootNavigator extends PrivateValueStore<[KBRootParamList, unknown, unknown]> {} } export {} diff --git a/shared/router-v2/router.native.tsx b/shared/router-v2/router.native.tsx index 7e28c3c79eae..dd4bd2046a71 100644 --- a/shared/router-v2/router.native.tsx +++ b/shared/router-v2/router.native.tsx @@ -12,8 +12,7 @@ import logger from '@/logger' import {Platform, StatusBar, View} from 'react-native' import {HeaderLeftButton} from '@/common-adapters/header-buttons' import {NavigationContainer, type NavigationProp} from '@react-navigation/native' -// NAV8: import {createBottomTabNavigator} from '@react-navigation/bottom-tabs' -import {createNativeBottomTabNavigator} from '@react-navigation/bottom-tabs/unstable' // NAV7 +import {createBottomTabNavigator} from '@react-navigation/bottom-tabs' import {modalRoutes, routes, loggedOutRoutes, tabRoots, routeMapToStaticScreens} from './routes' import {createNativeStackNavigator} from '@react-navigation/native-stack' import {isLiquidGlassSupported as _isLiquidGlassSupported} from '@callstack/liquid-glass' @@ -47,8 +46,7 @@ const tabToLabel = new Map([ // just to get badge rollups const tabs = C.isTablet ? Tabs.tabletTabs : Tabs.phoneTabs -// NAV8: const Tab = createBottomTabNavigator() -const Tab = createNativeBottomTabNavigator() // NAV7 +const Tab = createBottomTabNavigator() const tabRoutes = routes const settingsTabChildren = [Tabs.gitTab, Tabs.devicesTab, Tabs.settingsTab] as const diff --git a/shared/router-v2/router.shared.tsx b/shared/router-v2/router.shared.tsx index bfac734a7d84..11a4fbe6f74f 100644 --- a/shared/router-v2/router.shared.tsx +++ b/shared/router-v2/router.shared.tsx @@ -21,7 +21,7 @@ export const darkTheme: Theme = { colors: { background: darkColors.white, border: darkColors.black_10, - card: undefined as unknown as string, + card: darkColors.white, notification: darkColors.black, primary: darkColors.black, text: darkColors.black, @@ -38,7 +38,7 @@ export const lightTheme: Theme = { colors: { background: colors.white, border: colors.black_10, - card: undefined as unknown as string, + card: colors.white, notification: colors.black, primary: colors.black, text: colors.black, diff --git a/shared/settings/account/index.tsx b/shared/settings/account/index.tsx index f245d14bb75e..828e64988f5d 100644 --- a/shared/settings/account/index.tsx +++ b/shared/settings/account/index.tsx @@ -183,13 +183,10 @@ type AddedBannerState = { const AccountSettings = ({route}: Props) => { const addedEmailFromRoute = route.params?.addedEmailBannerEmail const addedPhoneFromRoute = !!route.params?.addedPhoneBanner - const navigation = - useNavigation< - NavigationProp< - Record, - typeof settingsAccountTab - > - >() + const navigation = useNavigation() as NavigationProp< + Record, + typeof settingsAccountTab + > const isFocused = useIsFocused() const emails = useSettingsEmailState(s => s.emails) const phones = useSettingsPhoneState(s => s.phones) diff --git a/shared/stores/inbox-rows.tsx b/shared/stores/inbox-rows.tsx index 7d90631b081e..6148c0b0f0f5 100644 --- a/shared/stores/inbox-rows.tsx +++ b/shared/stores/inbox-rows.tsx @@ -254,7 +254,7 @@ export const syncInboxRowsFromLayout = (layout: T.RPCChat.UIInboxLayout) => { small.draft = row.draft || '' small.hasBadge = small.badgeCount > 0 small.hasUnread = small.unreadCount > 0 - small.isDecryptingSnippet = !!id && !snippet + small.isDecryptingSnippet = !!id && !snippet && small.trustedState !== 'trusted' small.isMuted = row.isMuted small.snippet = snippet small.snippetDecoration = row.snippetDecoration diff --git a/shared/team-building/list-body.tsx b/shared/team-building/list-body.tsx index 5fe313d51b84..14dfd8b1537b 100644 --- a/shared/team-building/list-body.tsx +++ b/shared/team-building/list-body.tsx @@ -401,7 +401,7 @@ export const ListBody = ({ onFinishTeamBuilding, enterInputCounter, }: ListBodyProps) => { - const {params} = useRoute>() + const {params} = (useRoute() as RootRouteProps<'peopleTeamBuilder'>) const recommendedHideYourself = params.recommendedHideYourself ?? false const teamID = params.teamID const ResultRow = namespace === 'people' ? PeopleResult : UserResult diff --git a/shared/teams/add-members-wizard/confirm.tsx b/shared/teams/add-members-wizard/confirm.tsx index 6f3936ddd1f4..87d1297374cd 100644 --- a/shared/teams/add-members-wizard/confirm.tsx +++ b/shared/teams/add-members-wizard/confirm.tsx @@ -43,7 +43,7 @@ type TeamAddToTeamConfirmParamList = { const AddMembersConfirm = ({wizard: initialWizard}: Props) => { const navigation = - useNavigation>() + useNavigation() as NativeStackNavigationProp const [wizardState, setWizardState] = React.useState(() => ({ initialWizard, wizard: initialWizard, diff --git a/shared/teams/container.tsx b/shared/teams/container.tsx index c9491f78062d..16fb6ad7b5f7 100644 --- a/shared/teams/container.tsx +++ b/shared/teams/container.tsx @@ -82,7 +82,7 @@ const Connected = ({filter = '', sort = 'role'}: Props) => { })) const nav = useSafeNavigation() - const navigation = useNavigation>() + const navigation = useNavigation() as NativeStackNavigationProp const onCreateTeam = () => nav.safeNavigateAppend({name: 'teamWizard1TeamPurpose', params: {wizard: makeNewTeamWizard()}}) const onJoinTeam = () => nav.safeNavigateAppend({name: 'teamJoinTeamDialog', params: {}}) diff --git a/shared/teams/get-options.tsx b/shared/teams/get-options.tsx index 0d8df4314033..86c3634218c6 100644 --- a/shared/teams/get-options.tsx +++ b/shared/teams/get-options.tsx @@ -24,9 +24,9 @@ const useHeaderActions = () => { } const TeamsFilter = () => { - const route = useRoute>() + const route = useRoute() as RouteProp const params = route.params - const navigation = useNavigation>() + const navigation = useNavigation() as NativeStackNavigationProp const filterValue = params.filter ?? '' const {teams} = useTeamsList() const numTeams = teams.length diff --git a/shared/teams/join-team/container.tsx b/shared/teams/join-team/container.tsx index 9e977f16b95d..fcb270dd37c0 100644 --- a/shared/teams/join-team/container.tsx +++ b/shared/teams/join-team/container.tsx @@ -33,9 +33,8 @@ const ContainerInner = ({initialTeamname, success: successParam}: OwnProps) => { const [successTeamName, setSuccessTeamName] = React.useState('') const [name, _setName] = React.useState(initialTeamname ?? '') const joinTeam = C.useRPC(T.RPCGen.teamsTeamAcceptInviteOrRequestAccessRpcListener) - const navigation = useNavigation< - NativeStackNavigationProp - >() + const navigation = + useNavigation() as NativeStackNavigationProp const navigateUp = C.Router2.navigateUp const success = !!successParam const handoffToInviteRef = React.useRef(false) diff --git a/shared/teams/new-team/wizard/add-subteam-members.tsx b/shared/teams/new-team/wizard/add-subteam-members.tsx index f943e5463a30..87b80447e294 100644 --- a/shared/teams/new-team/wizard/add-subteam-members.tsx +++ b/shared/teams/new-team/wizard/add-subteam-members.tsx @@ -21,9 +21,7 @@ type TeamWizardSubteamMembersParamList = { const AddSubteamMembers = ({wizard: wizardState}: Props) => { const navigation = - useNavigation< - NativeStackNavigationProp - >() + useNavigation() as NativeStackNavigationProp const [selectedMembers, setSelectedMembers] = React.useState(new Set()) const [filter, setFilter] = React.useState('') const filterL = filter.toLowerCase() diff --git a/shared/teams/new-team/wizard/create-channels.tsx b/shared/teams/new-team/wizard/create-channels.tsx index df617adca51f..2c736a17ddca 100644 --- a/shared/teams/new-team/wizard/create-channels.tsx +++ b/shared/teams/new-team/wizard/create-channels.tsx @@ -99,7 +99,7 @@ type TeamWizard5ChannelsParamList = { const WizardCreateChannels = ({wizard: initialWizard}: WizardProps) => { const navigation = - useNavigation>() + useNavigation() as NativeStackNavigationProp const navigateAppend = C.Router2.navigateAppend return ( { const navigation = - useNavigation>() + useNavigation() as NativeStackNavigationProp const navigateAppend = C.Router2.navigateAppend const teamname = wizardState.name const initialSubteams = wizardState.subteams ?? ['', '', ''] diff --git a/shared/teams/new-team/wizard/make-big-team.tsx b/shared/teams/new-team/wizard/make-big-team.tsx index 9d9486456264..af23cfe9fbd6 100644 --- a/shared/teams/new-team/wizard/make-big-team.tsx +++ b/shared/teams/new-team/wizard/make-big-team.tsx @@ -14,7 +14,7 @@ type TeamWizard4TeamSizeParamList = { const MakeBigTeam = ({wizard: initialWizard}: Props) => { const navigation = - useNavigation>() + useNavigation() as NativeStackNavigationProp const navigateAppend = C.Router2.navigateAppend const onSubmit = (isBig: boolean) => { const wizard = {...initialWizard, isBig} diff --git a/shared/teams/new-team/wizard/new-team-info.tsx b/shared/teams/new-team/wizard/new-team-info.tsx index 4b95992c981b..f58a004a3611 100644 --- a/shared/teams/new-team/wizard/new-team-info.tsx +++ b/shared/teams/new-team/wizard/new-team-info.tsx @@ -37,7 +37,7 @@ type TeamWizard2TeamInfoParamList = { const NewTeamInfo = ({wizard: teamWizardState}: Props) => { const navigation = - useNavigation>() + useNavigation() as NativeStackNavigationProp const parentTeamID = teamWizardState.parentTeamID ?? T.Teams.noTeamID const { teamMeta: {teamname: loadedParentName}, diff --git a/shared/teams/new-team/wizard/team-purpose.tsx b/shared/teams/new-team/wizard/team-purpose.tsx index c3a8b6bcf459..e82d39c0db9f 100644 --- a/shared/teams/new-team/wizard/team-purpose.tsx +++ b/shared/teams/new-team/wizard/team-purpose.tsx @@ -15,7 +15,7 @@ type TeamWizard1TeamPurposeParamList = { const TeamPurpose = ({wizard: wizardParam}: Props) => { const navigation = - useNavigation>() + useNavigation() as NativeStackNavigationProp const navigateAppend = C.Router2.navigateAppend const wizard = wizardParam ?? makeNewTeamWizard() const onSubmit = (teamType: T.Teams.TeamWizardTeamType) => { diff --git a/shared/test/mocks/react-navigation-native.js b/shared/test/mocks/react-navigation-native.js new file mode 100644 index 000000000000..b460963e8d05 --- /dev/null +++ b/shared/test/mocks/react-navigation-native.js @@ -0,0 +1,9 @@ +/* global exports, require */ +const core = require('./react-navigation-core.js') + +Object.assign(exports, core) + +exports.useRoute = () => ({key: 'mock-route', name: 'mock', params: {}}) +exports.useNavigationState = selector => selector({index: 0, key: 'nav-state', routeNames: [], routes: [], stale: false, type: 'tab'}) +exports.NavigationContainer = core.useNavigationBuilder +exports.createStaticNavigation = () => () => null diff --git a/shared/util/expo-document-picker.native.tsx b/shared/util/expo-document-picker.native.tsx index 648e9696846e..d802d1c710db 100644 --- a/shared/util/expo-document-picker.native.tsx +++ b/shared/util/expo-document-picker.native.tsx @@ -3,8 +3,9 @@ import * as DocumentPicker from 'expo-document-picker' export const pickDocumentsAsync = async ( allowsMultipleSelection: boolean = false ): Promise => { - return DocumentPicker.getDocumentAsync({ + const res = await DocumentPicker.getDocumentAsync({ copyToCacheDirectory: true, multiple: allowsMultipleSelection, }) + return res } diff --git a/shared/util/expo-image-picker.native.tsx b/shared/util/expo-image-picker.native.tsx index b3c342b4e30a..8351e0bbe140 100644 --- a/shared/util/expo-image-picker.native.tsx +++ b/shared/util/expo-image-picker.native.tsx @@ -4,9 +4,6 @@ const defaultOptions = { allowsEditing: false, exif: false, quality: 0.4, - // even though this is marked as deprecated if its not set it will IGNORE ALL OTHER SETTINGS we pass here - videoExportPreset: ImagePicker.VideoExportPreset.HighestQuality, - videoQuality: ImagePicker.UIImagePickerControllerQualityType.Medium, } as const const mediaTypeToImagePickerMediaType = ( @@ -14,16 +11,28 @@ const mediaTypeToImagePickerMediaType = ( ): Array => mediaType === 'photo' ? ['images'] : mediaType === 'video' ? ['videos'] : ['images', 'videos'] +const canceled: ImagePicker.ImagePickerResult = {assets: null, canceled: true} + +const guardUndefined = (res: ImagePicker.ImagePickerResult | undefined, name: string) => { + if (!res) { + // Expo 56 beta: native module returns undefined in some cases; treat as canceled. + // Rebuild the dev client if this persists. + console.error(`[expo-image-picker] ${name} returned undefined`) + return canceled + } + return res +} + export const launchCameraAsync = async ( mediaType: 'photo' | 'video' | 'mixed', askPermAndRetry: boolean = true ): Promise => { + let res: ImagePicker.ImagePickerResult | undefined try { - const res = await ImagePicker.launchCameraAsync({ + res = await ImagePicker.launchCameraAsync({ ...defaultOptions, mediaTypes: mediaTypeToImagePickerMediaType(mediaType), }) - return res } catch (e) { if (!askPermAndRetry) { throw e @@ -36,6 +45,7 @@ export const launchCameraAsync = async ( } catch {} return launchCameraAsync(mediaType, false) } + return guardUndefined(res, 'launchCameraAsync') } export const launchImageLibraryAsync = async ( @@ -43,14 +53,14 @@ export const launchImageLibraryAsync = async ( askPermAndRetry: boolean = true, allowsMultipleSelection: boolean = false ): Promise => { + let res: ImagePicker.ImagePickerResult | undefined try { - const res = await ImagePicker.launchImageLibraryAsync({ + res = await ImagePicker.launchImageLibraryAsync({ ...defaultOptions, allowsMultipleSelection, ...(mediaType === 'video' ? {allowsEditing: true, allowsMultipleSelection: false} : {}), mediaTypes: mediaTypeToImagePickerMediaType(mediaType), }) - return res } catch (e) { if (!askPermAndRetry) { throw e @@ -60,6 +70,7 @@ export const launchImageLibraryAsync = async ( } catch {} return launchImageLibraryAsync(mediaType, false, allowsMultipleSelection) } + return guardUndefined(res, 'launchImageLibraryAsync') } export type ImagePickerResult = ImagePicker.ImagePickerResult export type ImageInfo = { diff --git a/shared/yarn.lock b/shared/yarn.lock index 9dc5215bd277..7b28f6c70217 100644 --- a/shared/yarn.lock +++ b/shared/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"@antfu/ni@^0.23.0": - version "0.23.2" - resolved "https://registry.yarnpkg.com/@antfu/ni/-/ni-0.23.2.tgz#3e7eed2f02654e8b2cacf21e32f1033f455d29d2" - integrity sha512-FSEVWXvwroExDXUu8qV6Wqp2X3D1nJ0Li4LFymCyvCVrm7I3lNfG0zZWSWvGU1RE7891eTnFTyh31L3igOwNKQ== - "@asamuzakjp/css-color@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@asamuzakjp/css-color/-/css-color-3.2.0.tgz#cc42f5b85c593f79f1fa4f25d2b9b321e61d1794" @@ -18,7 +13,7 @@ "@csstools/css-tokenizer" "^3.0.3" lru-cache "^10.4.3" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.20.0", "@babel/code-frame@^7.27.1", "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.20.0", "@babel/code-frame@^7.27.1", "@babel/code-frame@^7.28.6", "@babel/code-frame@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.0.tgz#7cd7a59f15b3cc0dcd803038f7792712a7d0b15c" integrity sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw== @@ -27,17 +22,12 @@ js-tokens "^4.0.0" picocolors "^1.1.1" -"@babel/compat-data@^7.28.6": - version "7.29.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.0.tgz#00d03e8c0ac24dd9be942c5370990cbe1f17d88d" - integrity sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg== - -"@babel/compat-data@^7.29.3": +"@babel/compat-data@^7.28.6", "@babel/compat-data@^7.29.3": version "7.29.3" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.3.tgz#e3f5347f0589596c91d227ccb6a541d37fb1307b" integrity sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg== -"@babel/core@7.29.0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.20.0", "@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.25.2", "@babel/core@^7.26.0", "@babel/core@^7.27.4": +"@babel/core@7.29.0", "@babel/core@^7.20.0", "@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.25.2", "@babel/core@^7.26.0", "@babel/core@^7.27.4": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.29.0.tgz#5286ad785df7f79d656e88ce86e650d16ca5f322" integrity sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA== @@ -67,7 +57,7 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.20.5", "@babel/generator@^7.27.5", "@babel/generator@^7.29.0", "@babel/generator@^7.29.1": +"@babel/generator@^7.20.5", "@babel/generator@^7.26.2", "@babel/generator@^7.27.5", "@babel/generator@^7.29.0", "@babel/generator@^7.29.1": version "7.29.1" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.1.tgz#d09876290111abbb00ef962a7b83a5307fba0d50" integrity sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw== @@ -97,16 +87,16 @@ semver "^6.3.1" "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz#611ff5482da9ef0db6291bcd24303400bca170fb" - integrity sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow== + version "7.29.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.3.tgz#67328947d956f06fc7b48def269bf0489155fd42" + integrity sha512-RpLYy2sb51oNLjuu1iD3bwBqCBWUzjO0ocp+iaCP/lJtb2CPLcnC2Fftw+4sAzaMELGeWTgExSKADbdo0GFVzA== dependencies: "@babel/helper-annotate-as-pure" "^7.27.3" "@babel/helper-member-expression-to-functions" "^7.28.5" "@babel/helper-optimise-call-expression" "^7.27.1" "@babel/helper-replace-supers" "^7.28.6" "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" - "@babel/traverse" "^7.28.6" + "@babel/traverse" "^7.29.0" semver "^6.3.1" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1", "@babel/helper-create-regexp-features-plugin@^7.28.5": @@ -118,10 +108,10 @@ regexpu-core "^6.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.5", "@babel/helper-define-polyfill-provider@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz#714dfe33d8bd710f556df59953720f6eeb6c1a14" - integrity sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA== +"@babel/helper-define-polyfill-provider@^0.6.5", "@babel/helper-define-polyfill-provider@^0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz#cf1e4462b613f2b54c41e6ff758d5dfcaa2c85d1" + integrity sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA== dependencies: "@babel/helper-compilation-targets" "^7.28.6" "@babel/helper-plugin-utils" "^7.28.6" @@ -222,24 +212,17 @@ "@babel/types" "^7.28.6" "@babel/helpers@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" - integrity sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== + version "7.29.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.29.2.tgz#9cfbccb02b8e229892c0b07038052cc1a8709c49" + integrity sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw== dependencies: "@babel/template" "^7.28.6" - "@babel/types" "^7.28.6" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.24.4", "@babel/parser@^7.25.3", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": - version "7.29.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.0.tgz#669ef345add7d057e92b7ed15f0bac07611831b6" - integrity sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== - dependencies: "@babel/types" "^7.29.0" -"@babel/parser@^7.23.9": - version "7.29.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.2.tgz#58bd50b9a7951d134988a1ae177a35ef9a703ba1" - integrity sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA== +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.4", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": + version "7.29.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.3.tgz#116f70a77958307fceac27747573032f8a62f88e" + integrity sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA== dependencies: "@babel/types" "^7.29.0" @@ -481,7 +464,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.24.7", "@babel/plugin-transform-arrow-functions@^7.27.1": +"@babel/plugin-transform-arrow-functions@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== @@ -548,7 +531,7 @@ "@babel/helper-replace-supers" "^7.28.6" "@babel/traverse" "^7.28.6" -"@babel/plugin-transform-computed-properties@^7.24.7", "@babel/plugin-transform-computed-properties@^7.28.6": +"@babel/plugin-transform-computed-properties@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz#936824fc71c26cb5c433485776d79c8e7b0202d2" integrity sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ== @@ -632,7 +615,7 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-function-name@^7.25.1", "@babel/plugin-transform-function-name@^7.27.1": +"@babel/plugin-transform-function-name@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== @@ -648,7 +631,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-literals@^7.25.2", "@babel/plugin-transform-literals@^7.27.1": +"@babel/plugin-transform-literals@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== @@ -725,7 +708,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-numeric-separator@^7.24.7", "@babel/plugin-transform-numeric-separator@^7.28.6": +"@babel/plugin-transform-numeric-separator@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz#1310b0292762e7a4a335df5f580c3320ee7d9e9f" integrity sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w== @@ -825,7 +808,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-react-jsx@^7.25.2", "@babel/plugin-transform-react-jsx@^7.27.1": +"@babel/plugin-transform-react-jsx@^7.25.2", "@babel/plugin-transform-react-jsx@^7.27.1", "@babel/plugin-transform-react-jsx@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz#f51cb70a90b9529fbb71ee1f75ea27b7078eed62" integrity sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow== @@ -878,14 +861,14 @@ babel-plugin-polyfill-regenerator "^0.6.5" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.24.7", "@babel/plugin-transform-shorthand-properties@^7.27.1": +"@babel/plugin-transform-shorthand-properties@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-spread@^7.24.7", "@babel/plugin-transform-spread@^7.28.6": +"@babel/plugin-transform-spread@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz#40a2b423f6db7b70f043ad027a58bcb44a9757b6" integrity sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA== @@ -893,7 +876,7 @@ "@babel/helper-plugin-utils" "^7.28.6" "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-sticky-regex@^7.24.7", "@babel/plugin-transform-sticky-regex@^7.27.1": +"@babel/plugin-transform-sticky-regex@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== @@ -1051,7 +1034,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@7.28.5", "@babel/preset-react@^7.22.15": +"@babel/preset-react@7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.28.5.tgz#6fcc0400fa79698433d653092c3919bb4b0878d9" integrity sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ== @@ -1074,17 +1057,12 @@ "@babel/plugin-transform-modules-commonjs" "^7.27.1" "@babel/plugin-transform-typescript" "^7.28.5" -"@babel/runtime@^7.12.5": +"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.25.0": version "7.29.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.2.tgz#9a6e2d05f4b6692e1801cd4fb176ad823930ed5e" integrity sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g== -"@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.25.0": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.6.tgz#d267a43cb1836dc4d182cce93ae75ba954ef6d2b" - integrity sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA== - -"@babel/template@^7.25.0", "@babel/template@^7.28.6", "@babel/template@^7.3.3": +"@babel/template@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== @@ -1093,7 +1071,7 @@ "@babel/parser" "^7.28.6" "@babel/types" "^7.28.6" -"@babel/traverse@^7.25.3", "@babel/traverse@^7.27.1", "@babel/traverse@^7.28.5", "@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0": +"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.5", "@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.0.tgz#f323d05001440253eead3c9c858adbe00b90310a" integrity sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA== @@ -1106,7 +1084,7 @@ "@babel/types" "^7.29.0" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.26.0", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.5", "@babel/types@^7.28.6", "@babel/types@^7.29.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.26.0", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.5", "@babel/types@^7.28.6", "@babel/types@^7.29.0", "@babel/types@^7.4.4": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" integrity sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A== @@ -1153,17 +1131,24 @@ integrity sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw== "@discoveryjs/json-ext@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-1.0.0.tgz#f75c08f88cfd9eb8d9b062284d5bbcc60c41bf2a" - integrity sha512-dDlz3W405VMFO4w5kIP9DOmELBcvFQGmLoKSdIRstBDubKFYwaNHV1NnlzMCQpXQFGWVALmeMORAuiLx18AvZQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-1.1.0.tgz#44b5ce3485e95235aca06e628eeaaa3c816bc4cc" + integrity sha512-Xc3VhU02wqZ1HvHRJUwL09HkZSTvidqY5Ya0NXBSYOxAp+Ln9dcJr9fySI+CkONzP3PekQo9WdzCv0PGER/mOA== + +"@egjs/hammerjs@^2.0.17": + version "2.0.17" + resolved "https://registry.yarnpkg.com/@egjs/hammerjs/-/hammerjs-2.0.17.tgz#5dc02af75a6a06e4c2db0202cae38c9263895124" + integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A== + dependencies: + "@types/hammerjs" "^2.0.36" "@electron/asar@^4.0.0", "@electron/asar@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-4.0.1.tgz#0f0edc51ddb5bf30acb49f706d616b11a0b90668" - integrity sha512-F4Ykm1jiBGY1WV/o8Q8oFW8Nq0u+S2/vPujzNJtdSJ6C4LHC4CiGLn7c17s7SolZ23gcvCebMncmZtNc+MkxPQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-4.2.0.tgz#7055e68aad45e42751879fa083e59477dff47d58" + integrity sha512-npW1NW5yy8EB9XY/vEw9sUdgmq0sJEhmSBb6bqyFOAw1CSkrhvAvO6QWlW8CdIMo8VN1lkdF345l/MeW0LrY0Q== dependencies: commander "^13.1.0" - glob "^11.0.1" + glob "^13.0.2" minimatch "^10.0.1" "@electron/get@^5.0.0": @@ -1189,9 +1174,9 @@ promise-retry "^2.0.1" "@electron/osx-sign@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-2.3.0.tgz#9418be8bacd65d211ef8a738b9094bdb5277dd00" - integrity sha512-qh/BkWUHITP2W1grtCWn8Pm4EML3q1Rfo2tnd/KHo+f1le5gAYotBc6yEfK6X2VHyN21mPZ3CjvOiYOwjimBlA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-2.4.0.tgz#d9dc4a4c40bc0c04a086ca7c03c18672666ea825" + integrity sha512-9mJiKF/yrn2FYt1Pd9hIN8bUWs6w6uhm8DJJ/tZtTPMVmqv9/NO1JvRh+NyOJp8kE2bfffK4YkU3ZyM+rHipUw== dependencies: debug "^4.3.4" isbinaryfile "^4.0.8" @@ -1223,45 +1208,42 @@ yargs-parser "^22.0.0" "@electron/universal@^3.0.1": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-3.0.2.tgz#d21fabd2729f9f5edbf2d8ab088718c4ac29244c" - integrity sha512-2/NBjJhw/VXQayIIj8Mu3ZeZ+lRjx90l2aKqkQiVrA2HiFTc/KHKN8Fjj3Ta7xMAxn45mAKJCatR8xeJ/eW7Tg== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-3.0.4.tgz#1750983d1dc31e8c761b7c1aeef68c86b38f148f" + integrity sha512-G7mNdfZIdPbx54dTorGlV7SN7nHAKlbJU1NjjeuEo7RzEMYBG62+tKpA2VrzocGcvFLxqJI5XYIknca9EijwOw== dependencies: "@electron/asar" "^4.0.0" - "@malept/cross-spawn-promise" "^2.0.0" debug "^4.3.1" - dir-compare "^4.2.0" - minimatch "^9.0.3" plist "^3.1.0" "@electron/windows-sign@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@electron/windows-sign/-/windows-sign-2.0.2.tgz#7396f18c19e407751ffe8528628e292cba52c634" - integrity sha512-9Lldk4pvRBh/BWhwopW4CxCnVoztEAVWdxvVVwpvrFd/3QU3dVn15IRmVB9i46IqpAg1Y42cFtRT0NQKZPpc5A== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@electron/windows-sign/-/windows-sign-2.0.3.tgz#343551e8daa9ec0036e3554f038a71a2e19ddadb" + integrity sha512-lJGpt2artEZNiOsQtU1JmcLr4Ow/AGskwjTTNaxL2+R2wLN7G2BHL4Z9unOoW321N69kBP1nzObSMdDbQydjbA== dependencies: debug "^4.3.4" graceful-fs "^4.2.11" postject "^1.0.0-alpha.6" "@emnapi/core@^1.4.3": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.9.1.tgz#2143069c744ca2442074f8078462e51edd63c7bd" - integrity sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA== + version "1.10.0" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.10.0.tgz#380ccc8f2412ea22d1d972df7f8ee23a3b9c7467" + integrity sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw== dependencies: - "@emnapi/wasi-threads" "1.2.0" + "@emnapi/wasi-threads" "1.2.1" tslib "^2.4.0" "@emnapi/runtime@^1.4.3": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.9.1.tgz#115ff2a0d589865be6bd8e9d701e499c473f2a8d" - integrity sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA== + version "1.10.0" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.10.0.tgz#4b260c0d3534204e98c6110b8db1a987d26ec87c" + integrity sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA== dependencies: tslib "^2.4.0" -"@emnapi/wasi-threads@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz#a19d9772cc3d195370bf6e2a805eec40aa75e18e" - integrity sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg== +"@emnapi/wasi-threads@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz#28fed21a1ba1ce797c44a070abc94d42f3ae8548" + integrity sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w== dependencies: tslib "^2.4.0" @@ -1270,6 +1252,136 @@ resolved "https://registry.yarnpkg.com/@epic-web/invariant/-/invariant-1.0.0.tgz#1073e5dee6dd540410784990eb73e4acd25c9813" integrity sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA== +"@esbuild/aix-ppc64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz#80fcbe36130e58b7670511e888b8e88a259ed76c" + integrity sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA== + +"@esbuild/android-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz#8aa4965f8d0a7982dc21734bf6601323a66da752" + integrity sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg== + +"@esbuild/android-arm@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz#300712101f7f50f1d2627a162e6e09b109b6767a" + integrity sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg== + +"@esbuild/android-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz#87dfb27161202bdc958ef48bb61b09c758faee16" + integrity sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg== + +"@esbuild/darwin-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz#79197898ec1ff745d21c071e1c7cc3c802f0c1fd" + integrity sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg== + +"@esbuild/darwin-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz#146400a8562133f45c4d2eadcf37ddd09718079e" + integrity sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA== + +"@esbuild/freebsd-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz#1c5f9ba7206e158fd2b24c59fa2d2c8bb47ca0fe" + integrity sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg== + +"@esbuild/freebsd-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz#ea631f4a36beaac4b9279fa0fcc6ca29eaeeb2b3" + integrity sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ== + +"@esbuild/linux-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz#e1066bce58394f1b1141deec8557a5f0a22f5977" + integrity sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ== + +"@esbuild/linux-arm@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz#452cd66b20932d08bdc53a8b61c0e30baf4348b9" + integrity sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw== + +"@esbuild/linux-ia32@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz#b24f8acc45bcf54192c7f2f3be1b53e6551eafe0" + integrity sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA== + +"@esbuild/linux-loong64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz#f9cfffa7fc8322571fbc4c8b3268caf15bd81ad0" + integrity sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng== + +"@esbuild/linux-mips64el@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz#575a14bd74644ffab891adc7d7e60d275296f2cd" + integrity sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw== + +"@esbuild/linux-ppc64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz#75b99c70a95fbd5f7739d7692befe60601591869" + integrity sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA== + +"@esbuild/linux-riscv64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz#2e3259440321a44e79ddf7535c325057da875cd6" + integrity sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w== + +"@esbuild/linux-s390x@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz#17676cabbfe5928da5b2a0d6df5d58cd08db2663" + integrity sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg== + +"@esbuild/linux-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz#0583775685ca82066d04c3507f09524d3cd7a306" + integrity sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw== + +"@esbuild/netbsd-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz#f04c4049cb2e252fe96b16fed90f70746b13f4a4" + integrity sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg== + +"@esbuild/netbsd-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz#77da0d0a0d826d7c921eea3d40292548b258a076" + integrity sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ== + +"@esbuild/openbsd-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz#6296f5867aedef28a81b22ab2009c786a952dccd" + integrity sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A== + +"@esbuild/openbsd-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz#f8d23303360e27b16cf065b23bbff43c14142679" + integrity sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw== + +"@esbuild/openharmony-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz#49e0b768744a3924be0d7fd97dd6ce9b2923d88d" + integrity sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg== + +"@esbuild/sunos-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz#a6ed7d6778d67e528c81fb165b23f4911b9b13d6" + integrity sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w== + +"@esbuild/win32-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz#9ac14c378e1b653af17d08e7d3ce34caef587323" + integrity sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg== + +"@esbuild/win32-ia32@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz#918942dcbbb35cc14fca39afb91b5e6a3d127267" + integrity sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ== + +"@esbuild/win32-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz#9bdad8176be7811ad148d1f8772359041f46c6c5" + integrity sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA== + "@eslint-community/eslint-utils@^4.4.0", "@eslint-community/eslint-utils@^4.8.0", "@eslint-community/eslint-utils@^4.9.1": version "4.9.1" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" @@ -1282,10 +1394,10 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== -"@eslint/compat@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@eslint/compat/-/compat-2.0.5.tgz#65421b3f6e5a864e0255ab31884fb26fdc4d0210" - integrity sha512-IbHDbHJfkVNv6xjlET8AIVo/K1NQt7YT4Rp6ok/clyBGcpRx1l6gv0Rq3vBvYfPJIZt6ODf66Zq08FJNDpnzgg== +"@eslint/compat@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@eslint/compat/-/compat-2.1.0.tgz#8c66110f95cf0fdd864b76ae4d534042dea7bb7f" + integrity sha512-LgaSCymEpw7tF53xvDw9SNsraPb1IBHxpdABIOM0hW8UAlP8znrjYtuxfR58FSJ3L9BhwD+FaPRFQpZq84Nh6g== dependencies: "@eslint/core" "^1.2.1" @@ -1330,32 +1442,34 @@ "@eslint/core" "^1.2.1" levn "^0.4.1" -"@expo/cli@55.0.29": - version "55.0.29" - resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-55.0.29.tgz#393727e54af44a5047196059ea94e89dd32c307e" - integrity sha512-r2dXQ82e/3nwxS7faLRL6HBD8UWDo/IyptQ0Vg6Z5Bgyp2Kd24h8xPn3RHfY3LLJ3wfEXglf4E79/Dqkm1Z6WA== +"@expo/cli@^56.1.4": + version "56.1.4" + resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-56.1.4.tgz#6a56bbe2f75b0caecc5aa70a1440df02a09614bd" + integrity sha512-bCj3xRcA07h88uGDkr5xxiMXl0xcLyqkIQwMN5vxgCH2zEmAmdHJLGarOBReqhFfib/Igr+Rg+/cYb/qBaqmow== dependencies: "@expo/code-signing-certificates" "^0.0.6" - "@expo/config" "~55.0.16" - "@expo/config-plugins" "~55.0.8" + "@expo/config" "~56.0.5" + "@expo/config-plugins" "~56.0.5" "@expo/devcert" "^1.2.1" - "@expo/env" "~2.1.2" - "@expo/image-utils" "^0.8.14" - "@expo/json-file" "^10.0.14" - "@expo/log-box" "55.0.12" - "@expo/metro" "~55.1.1" - "@expo/metro-config" "~55.0.20" - "@expo/osascript" "^2.4.3" - "@expo/package-manager" "^1.10.5" - "@expo/plist" "^0.5.3" - "@expo/prebuild-config" "^55.0.17" - "@expo/require-utils" "^55.0.5" - "@expo/router-server" "^55.0.16" - "@expo/schema-utils" "^55.0.4" + "@expo/env" "~2.2.0" + "@expo/image-utils" "^0.9.2" + "@expo/inline-modules" "^0.0.7" + "@expo/json-file" "^10.1.0" + "@expo/log-box" "^56.0.9" + "@expo/metro" "~56.0.0" + "@expo/metro-config" "~56.0.8" + "@expo/metro-file-map" "^56.0.2" + "@expo/osascript" "^2.5.0" + "@expo/package-manager" "^1.11.0" + "@expo/plist" "^0.6.0" + "@expo/prebuild-config" "^56.0.7" + "@expo/require-utils" "^56.1.0" + "@expo/router-server" "^56.0.8" + "@expo/schema-utils" "^56.0.0" "@expo/spawn-async" "^1.7.2" "@expo/ws-tunnel" "^1.0.1" - "@expo/xcpretty" "^4.4.0" - "@react-native/dev-middleware" "0.83.6" + "@expo/xcpretty" "^4.4.4" + "@react-native/dev-middleware" "0.85.3" accepts "^1.3.8" arg "^5.0.2" better-opn "~3.0.2" @@ -1367,7 +1481,7 @@ connect "^3.7.0" debug "^4.3.4" dnssd-advertise "^1.1.4" - expo-server "^55.0.9" + expo-server "^56.0.2" fetch-nodeshim "^0.4.10" getenv "^2.0.0" glob "^13.0.0" @@ -1376,7 +1490,7 @@ node-forge "^1.3.3" npm-package-arg "^11.0.0" ora "^3.4.0" - picomatch "^4.0.3" + picomatch "^4.0.4" pretty-format "^29.7.0" progress "^2.0.3" prompts "^2.3.2" @@ -1384,7 +1498,6 @@ semver "^7.6.0" send "^0.19.0" slugify "^1.3.4" - source-map-support "~0.5.21" stacktrace-parser "^0.1.10" structured-headers "^0.4.1" terminal-link "^2.1.1" @@ -1400,14 +1513,14 @@ dependencies: node-forge "^1.3.3" -"@expo/config-plugins@~55.0.8": - version "55.0.8" - resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-55.0.8.tgz#1b3f2b06b941b113ddc920be179b90c86eb82ef9" - integrity sha512-8WfWTRntTCcowfOS+tHdB0z98gKetTwktg4G5TWkCkXVa8Jt1NUnvzaaU4UHk2vbR2U4N84RyZJFizSwfF6C9g== +"@expo/config-plugins@~56.0.5": + version "56.0.5" + resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-56.0.5.tgz#47a9d81ffe35f1a7f744996df00b60ef3b7a59a2" + integrity sha512-JRm6a08uQnlp7WCk+TN5B+VdZ36db6syOh0Kf5ItvGd2TFFFCCHgN5rq7P9LLup2DKkoBJTcYfbRI9uNcMrkrw== dependencies: - "@expo/config-types" "^55.0.5" - "@expo/json-file" "~10.0.13" - "@expo/plist" "^0.5.2" + "@expo/config-types" "^56.0.4" + "@expo/json-file" "~10.1.0" + "@expo/plist" "^0.6.0" "@expo/sdk-runtime-versions" "^1.0.0" chalk "^4.1.2" debug "^4.3.5" @@ -1419,20 +1532,20 @@ xcode "^3.0.1" xml2js "0.6.0" -"@expo/config-types@^55.0.5": - version "55.0.5" - resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-55.0.5.tgz#731ce3e95866254e18977c0026ebab8a00dd6e10" - integrity sha512-sCmSUZG4mZ/ySXvfyyBdhjivz8Q539X1NondwDdYG7s3SBsk+wsgPJzYsqgAG/P9+l0xWjUD2F+kQ1cAJ6NNLg== +"@expo/config-types@^56.0.4": + version "56.0.4" + resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-56.0.4.tgz#0b18b4f95a8a4e290c600dc587d333d0ad2609c2" + integrity sha512-K4n0s28nvfLJ0xUA7Skrt+5gDc9wmJM3asrHGd33UhQg4l1O1WDVGrgoytUEd9yVX3NqX+d+A9Cmk6/F7ZujxQ== -"@expo/config@~55.0.16": - version "55.0.16" - resolved "https://registry.yarnpkg.com/@expo/config/-/config-55.0.16.tgz#3aac506efa859ffaf42ce300f77292703227a12d" - integrity sha512-H5dpQv5TfyZDNheZAWO3SmP10diGWZwN5QOUsArkDJih0QKNtahQBOmrV2xbhgln/nrUGoy41U/ZIY/MEx63Ug== +"@expo/config@~56.0.5": + version "56.0.5" + resolved "https://registry.yarnpkg.com/@expo/config/-/config-56.0.5.tgz#7d873a05a2c9841e9c1dbd2e1587ac0e8c8e41b0" + integrity sha512-yJXncq6swbwuWLlYd0Byyr0JCxbmnjeJJBDufvfsSr0PiIdA/KGYItffrDntpcUPYiL+CVmdNp4bNUOWOOTwUg== dependencies: - "@expo/config-plugins" "~55.0.8" - "@expo/config-types" "^55.0.5" - "@expo/json-file" "^10.0.14" - "@expo/require-utils" "^55.0.5" + "@expo/config-plugins" "~56.0.5" + "@expo/config-types" "^56.0.4" + "@expo/json-file" "^10.1.0" + "@expo/require-utils" "^56.1.0" deepmerge "^4.3.1" getenv "^2.0.0" glob "^13.0.0" @@ -1448,33 +1561,38 @@ "@expo/sudo-prompt" "^9.3.1" debug "^3.1.0" -"@expo/devtools@55.0.3": - version "55.0.3" - resolved "https://registry.yarnpkg.com/@expo/devtools/-/devtools-55.0.3.tgz#78f43a56bdffc503d94ab42322269e1320cdc889" - integrity sha512-KoIDgo0NoXeWLsIcOdZqtAG/1LlsM+JL0DA3bo0vCYaOYTBLXi/ZvRBqa20Ub8D2vKLNa+FgRQW0gRg04Ps1Pg== +"@expo/devtools@~56.0.2": + version "56.0.2" + resolved "https://registry.yarnpkg.com/@expo/devtools/-/devtools-56.0.2.tgz#e1284c713d4d9fb574b2c231de915c3a283d3b0b" + integrity sha512-ANl4kPdbe0/HQYWkDEN79S6bQhI+i/ZCnPxuC853pPsB4svhINC7Ku9lmGOKPsUUWWnrHg1spkDGQBZ4sD6JxQ== dependencies: chalk "^4.1.2" -"@expo/dom-webview@^55.0.6": - version "55.0.6" - resolved "https://registry.yarnpkg.com/@expo/dom-webview/-/dom-webview-55.0.6.tgz#216908464ddf0196a2828210042712a651109f20" - integrity sha512-ZNm8tiNEZysxrr36J0x4mOCGyJDcaIvL/3tMxBz0VJIJDcV19xjuJAhJQxHovu+jKx6s9tRyEAINa1mdrzV39g== +"@expo/dom-webview@^56.0.5", "@expo/dom-webview@~56.0.5": + version "56.0.5" + resolved "https://registry.yarnpkg.com/@expo/dom-webview/-/dom-webview-56.0.5.tgz#2a09924714d7419f24c7f573c00bba0b55e1eb38" + integrity sha512-UIEJxkLg6cHqofKrpWpkn9E6ApxVRtCgZhZkARPr9VV7rBVloJgeroTHs31YgU/JpbI5lLQOnfOlGo54W6C2Ew== -"@expo/env@^2.1.2", "@expo/env@~2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@expo/env/-/env-2.1.2.tgz#c25ecadc60555873761a02c4b85bdd1663fa568c" - integrity sha512-RJtGFfj/ygO/6zcVbV3cckHf4THcEkv5IZft1GjCB3dfT6axvzvIwXE9EiQqQYmGHcQ+ZrvC8xZcIhiHba0pYg== +"@expo/env@^2.2.0", "@expo/env@~2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@expo/env/-/env-2.2.1.tgz#c19c5d4b6dba38367c363847d6ee56b907197f6e" + integrity sha512-WzO6VeJQc6c3STSRAsktIEzkiW2FOPnZItv8e2KOXcK/5YLbwqRJsPHNyDpysbah9mPN5fFz7AgMmCdhKsvzRg== dependencies: chalk "^4.0.0" debug "^4.3.4" getenv "^2.0.0" -"@expo/fingerprint@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.16.7.tgz#288719e85e4da2f624ad9b42128f4e86384dd198" - integrity sha512-BH8sicYOqZ1iBMwCVEGIz6uTTfylosjc49FoMmCYIzKOiYdiVehsfoYBwyfxwWIiya1VMhm1gv0cgOP8fxHpDw== +"@expo/expo-modules-macros-plugin@~0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@expo/expo-modules-macros-plugin/-/expo-modules-macros-plugin-0.0.8.tgz#e3c50a31716cb811d5fc82407b776baec115a6a1" + integrity sha512-ZHH+Hgle/ZyVfTSd9L+ON/0a7BouMEQ3wJKGmOilPLYMTjx5NOcbNZVaJ3iAHKCplvDIHHjPdmqVPorWMHm19A== + +"@expo/fingerprint@^0.18.1": + version "0.18.1" + resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.18.1.tgz#e7fea49f276bfbee1d46e901ae4e8b648ccd3a82" + integrity sha512-JdGnAQy5Yk1C0utd3bS64FtqycauNJlgKfoE07XAYR/f92kjutSLMKdFAWKnUC3+6mMkzEs5qP0SNtLBXd/gVQ== dependencies: - "@expo/env" "^2.1.2" + "@expo/env" "^2.2.0" "@expo/spawn-async" "^1.7.2" arg "^5.0.2" chalk "^4.1.2" @@ -1486,25 +1604,12 @@ resolve-from "^5.0.0" semver "^7.6.0" -"@expo/image-utils@^0.8.13": - version "0.8.13" - resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.8.13.tgz#c7476352af9f576440e5ec8201c2f75f090a4804" - integrity sha512-1I//yBQeTY6p0u1ihqGNDAr35EbSG8uFEupFrIF0jd++h9EWH33521yZJU1yE+mwGlzCb61g3ehu78siMhXBlA== - dependencies: - "@expo/require-utils" "^55.0.4" - "@expo/spawn-async" "^1.7.2" - chalk "^4.0.0" - getenv "^2.0.0" - jimp-compact "0.16.1" - parse-png "^2.1.0" - semver "^7.6.0" - -"@expo/image-utils@^0.8.14": - version "0.8.14" - resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.8.14.tgz#1c4bf2e6787436ae14beb834b7c36133329de842" - integrity sha512-5Sn+jG4Cw+shC2wDMXoqSAJnvERbiwzHn05FpWtD5IBflfTIs5gUmjzwiGVyjOdlMSQhgRrw/AymPbmO9h9mpQ== +"@expo/image-utils@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.9.2.tgz#8684ab519cd7edc28e42a0e0c34201ac6c24d776" + integrity sha512-8zcCiOTS9vfnFQiIhiEhfIdcTqoUyGdOimeFvA4jm6cWih0jqK6o3mm3Zh0xnh+qAiR0hdFiSFh8sj6lMfKi6Q== dependencies: - "@expo/require-utils" "^55.0.5" + "@expo/require-utils" "^56.1.0" "@expo/spawn-async" "^1.7.2" chalk "^4.0.0" getenv "^2.0.0" @@ -1512,166 +1617,162 @@ parse-png "^2.1.0" semver "^7.6.0" -"@expo/json-file@^10.0.14", "@expo/json-file@~10.0.14": - version "10.0.14" - resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-10.0.14.tgz#6a1e1506f17144aab5e34f7f5a1f468080f7157b" - integrity sha512-yWwBFywFv+SxkJp/pIzzA416JVYflNUh7pqQzgaA6nXDqRyK7KfrqVzk8PdUfDnqbBcaZZxpzNssfQZzp5KHrA== +"@expo/inline-modules@^0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@expo/inline-modules/-/inline-modules-0.0.7.tgz#088d91913f3ed544450e579cb60a63bca02dec45" + integrity sha512-76j0tBC810ILShi+L3BborRUwim0cIV1QOm7pvv2ekxHOufILscyg0iP9I/pZwzQIn4TOAeoYP+XsQJUcv+S+g== dependencies: - "@babel/code-frame" "^7.20.0" - json5 "^2.2.3" + "@expo/config-plugins" "~56.0.5" -"@expo/json-file@~10.0.13": - version "10.0.13" - resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-10.0.13.tgz#1a9ac56333786e8672181b0b95aab08f8255a548" - integrity sha512-pX/XjQn7tgNw6zuuV2ikmegmwe/S7uiwhrs2wXrANMkq7ozrA+JcZwgW9Q/8WZgciBzfAhNp5hnackHcrmapQA== +"@expo/json-file@^10.1.0", "@expo/json-file@~10.1.0": + version "10.1.1" + resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-10.1.1.tgz#f8b4439e16602c92329d7b2b9469568bd3acff18" + integrity sha512-rmkjHrYLdfhGGW1TINHwJ/TIcKgtd+1iV+uTycEB74RWSax6U2klRiXXGgudKH6j2OrDSCm3edYTPukSVZtsIQ== dependencies: "@babel/code-frame" "^7.20.0" json5 "^2.2.3" -"@expo/local-build-cache-provider@55.0.12": - version "55.0.12" - resolved "https://registry.yarnpkg.com/@expo/local-build-cache-provider/-/local-build-cache-provider-55.0.12.tgz#0e226eb9f23010165c89d5c9bbf275fa7b1ac316" - integrity sha512-Wqhe7ajt6lyIEQvqDC1zm0MQ1RqQLlM9awCepY9pz+tm9rvhuxGPZTSddWeD8k4kolinBlDbLDFnNi06XgaDWQ== +"@expo/local-build-cache-provider@^56.0.5": + version "56.0.5" + resolved "https://registry.yarnpkg.com/@expo/local-build-cache-provider/-/local-build-cache-provider-56.0.5.tgz#8397c36bea4b09b89b0e2a9e9f10370a880c3ba9" + integrity sha512-w7vfgMPL9ZcPjUoVsXjtRAdXpyKWB1vRhWxgihwpDj4Rw6nqbHafmwxzkY/UilDRoW/Wvt0o+myN8RQpp9UXtQ== dependencies: - "@expo/config" "~55.0.16" + "@expo/config" "~56.0.5" chalk "^4.1.2" -"@expo/log-box@55.0.12": - version "55.0.12" - resolved "https://registry.yarnpkg.com/@expo/log-box/-/log-box-55.0.12.tgz#da3bb055eb094916f88d5fee8b918d7a0a628467" - integrity sha512-f9ARS8J60cq3LLNdIqmUjYwyerBzVS5Ecp7KjIf3GOIPjW0571rkcwLz4/U18l/1DeSkSzIkYsNl2TC9oTdWaQ== +"@expo/log-box@^56.0.9": + version "56.0.9" + resolved "https://registry.yarnpkg.com/@expo/log-box/-/log-box-56.0.9.tgz#a61002fe43a0a042187335b715f50c933104b8f8" + integrity sha512-7axMVu3wXC1lUCobwRMRalUCvK4yC8qdoaJ/9Yxyf3JjhJ0h1geXS4QyBT+FDZyyjHlAqvZ8FDGADdXQbZtQQA== dependencies: - "@expo/dom-webview" "^55.0.6" + "@expo/dom-webview" "^56.0.5" anser "^1.4.9" stacktrace-parser "^0.1.10" -"@expo/metro-config@55.0.20", "@expo/metro-config@~55.0.20": - version "55.0.20" - resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-55.0.20.tgz#a6532a2cd7566d0dcba94d82eb612ae639e1c91d" - integrity sha512-dUv0simEyPbN2wbOjI+BdEZyXdghgCZD0+3rrA1WxXZN1lRofUx6g2+Nik2Qg61v/BXFrCTh8reYEzQPzHOhdQ== +"@expo/metro-config@~56.0.8": + version "56.0.8" + resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-56.0.8.tgz#e43e403e21dde55ff62d5fa3ee9e49fc92c7f8de" + integrity sha512-xsHLFFDJD0T18QBVjxqKpx63VUGxy5xR8zstaMfUBjT5305QRcIqzlBGEvOB0j6jjQrEaFYdi7rTxztIbtEVpA== dependencies: "@babel/code-frame" "^7.20.0" "@babel/core" "^7.20.0" "@babel/generator" "^7.20.5" - "@expo/config" "~55.0.16" - "@expo/env" "~2.1.2" - "@expo/json-file" "~10.0.14" - "@expo/metro" "~55.1.1" + "@expo/config" "~56.0.5" + "@expo/env" "~2.2.0" + "@expo/json-file" "~10.1.0" + "@expo/metro" "~56.0.0" "@expo/spawn-async" "^1.7.2" + "@jridgewell/gen-mapping" "^0.3.13" + "@jridgewell/remapping" "^2.3.5" + "@jridgewell/sourcemap-codec" "^1.5.5" browserslist "^4.25.0" chalk "^4.1.0" debug "^4.3.2" getenv "^2.0.0" glob "^13.0.0" - hermes-parser "^0.32.0" + hermes-parser "^0.33.3" jsc-safe-url "^0.2.4" lightningcss "^1.30.1" - picomatch "^4.0.3" - postcss "~8.4.32" + picomatch "^4.0.4" + postcss "^8.5.14" resolve-from "^5.0.0" -"@expo/metro@~55.1.1": - version "55.1.1" - resolved "https://registry.yarnpkg.com/@expo/metro/-/metro-55.1.1.tgz#6d164d2c9dde03967c4480f72c7cbea39ac156c8" - integrity sha512-/wfXo5hTuAVpVLG/4hzlmD9NBGJkzkmBEMm/4VICajYRbj7y8OmqqPWbbymzHiBiHB6tI9BnsyXpQM6zVZEECg== - dependencies: - metro "0.83.7" - metro-babel-transformer "0.83.7" - metro-cache "0.83.7" - metro-cache-key "0.83.7" - metro-config "0.83.7" - metro-core "0.83.7" - metro-file-map "0.83.7" - metro-minify-terser "0.83.7" - metro-resolver "0.83.7" - metro-runtime "0.83.7" - metro-source-map "0.83.7" - metro-symbolicate "0.83.7" - metro-transform-plugins "0.83.7" - metro-transform-worker "0.83.7" - -"@expo/osascript@^2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@expo/osascript/-/osascript-2.4.3.tgz#d589096c3e85dac47a74014bec6b84b37d3964bc" - integrity sha512-wbuj3EebM7W9hN/Wp4xTzKd6rQ2zKJzAxkFxkOOwyysLp0HOAgQ4/5RINyoS241pZUX2rUHq7mAJ7pcCQ8U0Ow== +"@expo/metro-file-map@^56.0.2": + version "56.0.2" + resolved "https://registry.yarnpkg.com/@expo/metro-file-map/-/metro-file-map-56.0.2.tgz#98e7d57a1e18e3fbe28776373b2cbe23caacf30e" + integrity sha512-CYsYBdrk0m/fmJJJ1BE4IDlrFGUAX4uv7XvF7RF3XJlHgNq9qFO7Dmtvy1zWw/YmWUZDR9UEGrq52UM7IxA+NQ== + dependencies: + debug "^4.3.4" + fb-watchman "^2.0.2" + invariant "^2.2.4" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + +"@expo/metro@~56.0.0": + version "56.0.0" + resolved "https://registry.yarnpkg.com/@expo/metro/-/metro-56.0.0.tgz#7ed3d4b2968123054223eae9b98918561f6f6128" + integrity sha512-5gIgQHtEpjjvsjKfVtIv23a98LLRV0/y07PDShEwYSytAMlE3FSF8RHXqtHc1sUJL6dn7hnuIBpIbrLXXuVi0A== + dependencies: + metro "0.84.4" + metro-babel-transformer "0.84.4" + metro-cache "0.84.4" + metro-cache-key "0.84.4" + metro-config "0.84.4" + metro-core "0.84.4" + metro-file-map "0.84.4" + metro-minify-terser "0.84.4" + metro-resolver "0.84.4" + metro-runtime "0.84.4" + metro-source-map "0.84.4" + metro-symbolicate "0.84.4" + metro-transform-plugins "0.84.4" + metro-transform-worker "0.84.4" + +"@expo/osascript@^2.5.0": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@expo/osascript/-/osascript-2.5.1.tgz#e855d66d77c619e73b93fdd1b72b31fe359680f0" + integrity sha512-NfXw0NalR6mWnLBS1/uP2v4yDPX17zg5D5SD1XCNtUMT/B4c91Lv/omhSUbwZA6BybwOr2PILrRo06q9nKHj2w== dependencies: "@expo/spawn-async" "^1.7.2" -"@expo/package-manager@^1.10.5": - version "1.10.5" - resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-1.10.5.tgz#112ca55f3538168520c293dcb2cc3a87cb4f1b2a" - integrity sha512-nCP9Mebfl3jvOr0/P6VAuyah6PAtun+aihIL2zAtuE8uSe94JWkVZ7051i0MUVO+y3gFpBqnr8IIH5ch+VJjHA== +"@expo/package-manager@^1.11.0": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-1.11.1.tgz#09c16b25889865e85416250db834e15e333101dc" + integrity sha512-Szx0R4qUqyNGQDUSoItxkxjhdrpMtAcDjh7Yxg0Pgyn8D3HNgC1QB+QDDdLnXd8bc103fRbTeGcVwJVJBli3Gg== dependencies: - "@expo/json-file" "^10.0.14" + "@expo/json-file" "^10.1.0" "@expo/spawn-async" "^1.7.2" chalk "^4.0.0" npm-package-arg "^11.0.0" ora "^3.4.0" resolve-workspace-root "^2.0.0" -"@expo/plist@^0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.5.2.tgz#5bfc81cf09c1c0513a31d7e5cabf85b2ac4d1d71" - integrity sha512-o4xdVdBpe4aTl3sPMZ2u3fJH4iG1I768EIRk1xRZP+GaFI93MaR3JvoFibYqxeTmLQ1p1kNEVqylfUjezxx45g== - dependencies: - "@xmldom/xmldom" "^0.8.8" - base64-js "^1.5.1" - xmlbuilder "^15.1.1" - -"@expo/plist@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.5.3.tgz#11c6855bcd5dea952e227cbc16d0765bbddf13b9" - integrity sha512-jz5oPcPDd3fygwVxwSwmO6wodTwm0Qa14NUyPy0ka7H8sFmCtNZUI2+DzVe/EXjOhq1FbEjrwl89gdlWYOnVjQ== +"@expo/plist@^0.6.0": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.6.1.tgz#48097418ed718783b97117c99a2293562af42630" + integrity sha512-uzreEr7EtgkAm1Mr6R3j0W1u9mFE/0TYFSKF8in16FXDRvmjpFcZ6pYJ4yBYG/fFiE3/uBqkq7GVq4s2Dte60g== dependencies: "@xmldom/xmldom" "^0.8.8" base64-js "^1.5.1" xmlbuilder "^15.1.1" -"@expo/prebuild-config@^55.0.17": - version "55.0.17" - resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-55.0.17.tgz#60733edd52ad7f2f0ea7da022869e6304521a2ab" - integrity sha512-Mcs+dg4Ripu0yCtzf66KZr18PehI1O8HxzJw+G5SUF8VWX+ic99aci1PltvmydWepLwTQL6ykmpXicAUA31IqA== - dependencies: - "@expo/config" "~55.0.16" - "@expo/config-plugins" "~55.0.8" - "@expo/config-types" "^55.0.5" - "@expo/image-utils" "^0.8.14" - "@expo/json-file" "^10.0.14" - "@react-native/normalize-colors" "0.83.6" +"@expo/prebuild-config@^56.0.7": + version "56.0.7" + resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-56.0.7.tgz#61aa1058a03f9db7c686021b9d7db22f8d19d009" + integrity sha512-w8avBuBQg4DSQMBXS8ewvn+AXLI71f1zxs1NbAtCGFh1g7jC/C19qZXCx6DCwu1rpRcJiuq7tdKdoLQDw5HPnw== + dependencies: + "@expo/config" "~56.0.5" + "@expo/config-plugins" "~56.0.5" + "@expo/config-types" "^56.0.4" + "@expo/image-utils" "^0.9.2" + "@expo/json-file" "^10.1.0" + "@react-native/normalize-colors" "0.85.3" debug "^4.3.1" + expo-modules-autolinking "~56.0.6" resolve-from "^5.0.0" semver "^7.6.0" - xml2js "0.6.0" -"@expo/require-utils@^55.0.4": - version "55.0.4" - resolved "https://registry.yarnpkg.com/@expo/require-utils/-/require-utils-55.0.4.tgz#cd474a8997ba6ecfa43d084a7f17bde0cb854179" - integrity sha512-JAANvXqV7MOysWeVWgaiDzikoyDjJWOV/ulOW60Zb3kXJfrx2oZOtGtDXDFKD1mXuahQgoM5QOjuZhF7gFRNjA== +"@expo/require-utils@^56.1.0": + version "56.1.0" + resolved "https://registry.yarnpkg.com/@expo/require-utils/-/require-utils-56.1.0.tgz#e4c08aaf6d374e523955a2ee77b3724d1d250395" + integrity sha512-yjV01snAK6LyQWGbBuMWH8wQAy8XbPkCUo2u7OcHW0FRON8vwGDqINFxJOmmfTytXn2HTtPjilDRBCxGDZFC7g== dependencies: "@babel/code-frame" "^7.20.0" "@babel/core" "^7.25.2" "@babel/plugin-transform-modules-commonjs" "^7.24.8" -"@expo/require-utils@^55.0.5": - version "55.0.5" - resolved "https://registry.yarnpkg.com/@expo/require-utils/-/require-utils-55.0.5.tgz#50ac2bd7fa74d8c55749c88c2bef19d4d23e0b84" - integrity sha512-U4K/CQ2VpXuwfNGsN+daKmYOt15hCP8v/pXaYH6eut7kdYZo6SfJ1yr67BIcJ+1Gzzs+QzTxswAZChKpXmceyw== - dependencies: - "@babel/code-frame" "^7.20.0" - "@babel/core" "^7.25.2" - "@babel/plugin-transform-modules-commonjs" "^7.24.8" - -"@expo/router-server@^55.0.16": - version "55.0.16" - resolved "https://registry.yarnpkg.com/@expo/router-server/-/router-server-55.0.16.tgz#43227f1a35ea63fa16838c292cb079e2e1475d84" - integrity sha512-LvAdrm039nQBG+95+ff5Rc4CsBuoc/giDhjQrgxB9lKJqC/ZTq1xbwfEZFNq6yokX6fOCs/vlxdhmSkOjMIrvg== +"@expo/router-server@^56.0.8": + version "56.0.8" + resolved "https://registry.yarnpkg.com/@expo/router-server/-/router-server-56.0.8.tgz#8cb96bae2bd58d05839d841ca490b5438506e86f" + integrity sha512-jGzqOkLMn49bd7kzCvpVcAc0Zvvn6nWNmec5sAP1N4Xy1LuCfNGXsmf+CJUnL7YxfFM48Lx1fu79OnrivJ4BrQ== dependencies: debug "^4.3.4" -"@expo/schema-utils@^55.0.4": - version "55.0.4" - resolved "https://registry.yarnpkg.com/@expo/schema-utils/-/schema-utils-55.0.4.tgz#2039daa04933da8f27957fd61b2b6d8d22d34bba" - integrity sha512-65IdeeE8dAZR3n3J5Eq7LYiQ8BFGeEYCWPBCzycvafL7PkskbCyIclTQarRwf/HXFoRvezKCjaLwy/8v9Prk6g== +"@expo/schema-utils@^56.0.0": + version "56.0.1" + resolved "https://registry.yarnpkg.com/@expo/schema-utils/-/schema-utils-56.0.1.tgz#44b993a64ed8dc0439e7571edf3d70b0f0b78bc4" + integrity sha512-CZ/+mYbQmWeOnkCGlWy9K+lFxbJSMFY7+TqBZcKzBSTU5Q7IGRvn/sOG3TdNjIdLPmbA8xe7R/c3UUQ28R9i9w== "@expo/sdk-runtime-versions@^1.0.0": version "1.0.0" @@ -1690,29 +1791,24 @@ resolved "https://registry.yarnpkg.com/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz#0fd2813402a42988e49145cab220e25bea74b308" integrity sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw== -"@expo/vector-icons@^15.0.2": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-15.1.1.tgz#4b1d2c60493c0b0536972f0a5babd5f5c85b48f4" - integrity sha512-Iu2VkcoI5vygbtYngm7jb4ifxElNVXQYdDrYkT7UCEIiKLeWnQY0wf2ZhHZ+Wro6Sc5TaumpKUOqDRpLi5rkvw== - "@expo/ws-tunnel@^1.0.1": version "1.0.6" resolved "https://registry.yarnpkg.com/@expo/ws-tunnel/-/ws-tunnel-1.0.6.tgz#92b70e7264ad42ea07f28a20f2f540b91d07bdd9" integrity sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q== -"@expo/xcpretty@^4.4.0": - version "4.4.1" - resolved "https://registry.yarnpkg.com/@expo/xcpretty/-/xcpretty-4.4.1.tgz#dcd41f886f8a0474c217adaef84f4733e44625c9" - integrity sha512-KZNxZvnGCtiM2aYYZ6Wz0Ix5r47dAvpNLApFtZWnSoERzAdOMzVBOPysBoM0JlF6FKWZ8GPqgn6qt3dV/8Zlpg== +"@expo/xcpretty@^4.4.4": + version "4.4.4" + resolved "https://registry.yarnpkg.com/@expo/xcpretty/-/xcpretty-4.4.4.tgz#7ca8c3bfb9bbcf9d69c0f9fe6756e6db239baf89" + integrity sha512-4aQzz9vgxcNXFfo/iyNgDDYfsU5XGKKxWxZopw0cVotHiW+U8IJbIxMaxsINs6bHhtkG3StKNPcOrn3eBuxKPw== dependencies: "@babel/code-frame" "^7.20.0" chalk "^4.1.0" js-yaml "^4.1.0" -"@gorhom/bottom-sheet@5.2.13": - version "5.2.13" - resolved "https://registry.yarnpkg.com/@gorhom/bottom-sheet/-/bottom-sheet-5.2.13.tgz#67764e2300b224aff332a818b6deba2c899badd6" - integrity sha512-cMxyd9kIowMME9kw2wwXAuWrXUQnPkJQz7rDbOSBBomZ+PpV/C/tlO1UozBrAe2zs3tp9th3JMW21FI/y0VeuQ== +"@gorhom/bottom-sheet@5.2.14": + version "5.2.14" + resolved "https://registry.yarnpkg.com/@gorhom/bottom-sheet/-/bottom-sheet-5.2.14.tgz#2b74ad9293b0ad40518487c6dcd151cadd5b3de3" + integrity sha512-uLQFlDjp9z+jrOFcMSEldPqL5JdaXL3vXOh+juhwoNvXgTsEorJLjHTugXu+YccAG/0KJnShzKCrb71MHBsvJg== dependencies: "@gorhom/portal" "1.0.14" invariant "^2.2.4" @@ -1736,19 +1832,27 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@humanfs/core@^0.19.1": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" - integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== +"@humanfs/core@^0.19.2": + version "0.19.2" + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.2.tgz#a8272ca03b2acf492670222b2320b6c421bfde60" + integrity sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA== + dependencies: + "@humanfs/types" "^0.15.0" "@humanfs/node@^0.16.6": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.7.tgz#822cb7b3a12c5a240a24f621b5a2413e27a45f26" - integrity sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ== + version "0.16.8" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.8.tgz#8f800cccc13f4f8cd3116e2d9c0a94939da3e3ed" + integrity sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ== dependencies: - "@humanfs/core" "^0.19.1" + "@humanfs/core" "^0.19.2" + "@humanfs/types" "^0.15.0" "@humanwhocodes/retry" "^0.4.0" +"@humanfs/types@^0.15.0": + version "0.15.0" + resolved "https://registry.yarnpkg.com/@humanfs/types/-/types-0.15.0.tgz#f2a09f62012390b2bff3fc6fb248ddec8c09a090" + integrity sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q== + "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" @@ -1771,11 +1875,6 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" -"@isaacs/cliui@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-9.0.0.tgz#4d0a3f127058043bf2e7ee169eaf30ed901302f3" - integrity sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg== - "@isaacs/ttlcache@^1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz#21fb23db34e9b6220c6ba023a0118a2dd3461ea2" @@ -1793,173 +1892,125 @@ resolve-from "^5.0.0" "@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + version "0.1.6" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.6.tgz#8dc9afa2ac1506cb1a58f89940f1c124446c8df3" + integrity sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw== -"@jest/console@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-30.4.0.tgz#9b13a3696fd2baa16f3622127675e618658ed31c" - integrity sha512-116ay6wMT9l0QRIhmvDtcw77Ql35S0CMePCn5FGIvuqUZv+Twx+hiIacSPH1pONdG7JhiWqOiqX7s2eQ7Wko2g== +"@jest/console@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-30.4.1.tgz#e57725678c3fcc9f7e5597e691e454fee4ce0939" + integrity sha512-v3bhyxUh9Hgmo5p6hAOXe14/R3ZxZDOsvHleh4B07z3m/x4/ngPUXEm9XwK4sF4u+f+P2ORb0Ge+MgpaqRMVDA== dependencies: - "@jest/types" "30.4.0" + "@jest/types" "30.4.1" "@types/node" "*" chalk "^4.1.2" - jest-message-util "30.4.0" - jest-util "30.4.0" + jest-message-util "30.4.1" + jest-util "30.4.1" slash "^3.0.0" -"@jest/core@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-30.4.0.tgz#f0a720ca54a4caddf21fd01bb49036ef399ecbbd" - integrity sha512-447tRaMsRo65u4ByBxHk4XnuNYX7M0vfazqMdPgJTUTttmC4/7A8yzBE6mSKkj2Md+dR3DWF9mVNfF/Bo+cJJg== +"@jest/core@30.4.2": + version "30.4.2" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-30.4.2.tgz#3d4081f894b7e2ff57d04a31842416bd07b76c32" + integrity sha512-TZJA6cPJUFxoWhxaLo8t0VX/MZX2wPWr0uIDvLSHIvN4gu9h02vSzqI2kBADG1ExqQlC+cY09xKMSreivvrChQ== dependencies: - "@jest/console" "30.4.0" + "@jest/console" "30.4.1" "@jest/pattern" "30.4.0" - "@jest/reporters" "30.4.0" - "@jest/test-result" "30.4.0" - "@jest/transform" "30.4.0" - "@jest/types" "30.4.0" + "@jest/reporters" "30.4.1" + "@jest/test-result" "30.4.1" + "@jest/transform" "30.4.1" + "@jest/types" "30.4.1" "@types/node" "*" ansi-escapes "^4.3.2" chalk "^4.1.2" ci-info "^4.2.0" exit-x "^0.2.2" + fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.11" - jest-changed-files "30.4.0" - jest-config "30.4.0" - jest-haste-map "30.4.0" - jest-message-util "30.4.0" + jest-changed-files "30.4.1" + jest-config "30.4.2" + jest-haste-map "30.4.1" + jest-message-util "30.4.1" jest-regex-util "30.4.0" - jest-resolve "30.4.0" - jest-resolve-dependencies "30.4.0" - jest-runner "30.4.0" - jest-runtime "30.4.0" - jest-snapshot "30.4.0" - jest-util "30.4.0" - jest-validate "30.4.0" - jest-watcher "30.4.0" - pretty-format "30.4.0" + jest-resolve "30.4.1" + jest-resolve-dependencies "30.4.2" + jest-runner "30.4.2" + jest-runtime "30.4.2" + jest-snapshot "30.4.1" + jest-util "30.4.1" + jest-validate "30.4.1" + jest-watcher "30.4.1" + pretty-format "30.4.1" slash "^3.0.0" -"@jest/create-cache-key-function@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" - integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== - dependencies: - "@jest/types" "^29.6.3" - -"@jest/diff-sequences@30.3.0": - version "30.3.0" - resolved "https://registry.yarnpkg.com/@jest/diff-sequences/-/diff-sequences-30.3.0.tgz#25b0818d3d83f00b9c7b04e069b8810f9014b143" - integrity sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA== - "@jest/diff-sequences@30.4.0": version "30.4.0" resolved "https://registry.yarnpkg.com/@jest/diff-sequences/-/diff-sequences-30.4.0.tgz#8be2d260e6241d6cddddd102c304fe13b4fc8e3e" integrity sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g== -"@jest/environment-jsdom-abstract@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.4.0.tgz#7fc0d4bc69de496a1653a57f3f7e2bf66a7b997e" - integrity sha512-CyUCfsKE2fZpM56MdyhT9pg94qDBFuAdndKeiHzUHcmhHRJh/9gre/+Ov4b4yvM8BbDE06ZR1ovwlbWew+ovgw== +"@jest/environment-jsdom-abstract@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.4.1.tgz#03cf1400aea958733f3a5d20cdc983ffcedfe2b1" + integrity sha512-dSlKrqug3siYNHVnjwIldShY12wAH3spwRltO/+8VOjg0X+xEq7vOs3DbBs4LRKsu7OH+NUb9kuZUNBF9Ho3TA== dependencies: - "@jest/environment" "30.4.0" - "@jest/fake-timers" "30.4.0" - "@jest/types" "30.4.0" + "@jest/environment" "30.4.1" + "@jest/fake-timers" "30.4.1" + "@jest/types" "30.4.1" "@types/jsdom" "^21.1.7" "@types/node" "*" - jest-mock "30.4.0" - jest-util "30.4.0" - -"@jest/environment@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-30.4.0.tgz#cca97f7a7265813410b7b77f7fcc60ced9aa16a8" - integrity sha512-X9ba/XraafanjsAXRnbRLydhgH10o0RaQIW1evmT0JJ0ShP2DI0khkt0HVNuPnadxUnl1Y6ihCksuA0btmeh6A== - dependencies: - "@jest/fake-timers" "30.4.0" - "@jest/types" "30.4.0" - "@types/node" "*" - jest-mock "30.4.0" + jest-mock "30.4.1" + jest-util "30.4.1" -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== +"@jest/environment@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-30.4.1.tgz#1ab5b736e3ce6336d59e00765fa24019649f1a30" + integrity sha512-AK9yNRqgKxiabqMoe4oW+3/TSSeV8vkdC7BGaxZdU0AFXfOpofTLqdru2GXKZghP3sdgwE9XXpnVwfZ8JnFV4w== dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" + "@jest/fake-timers" "30.4.1" + "@jest/types" "30.4.1" "@types/node" "*" - jest-mock "^29.7.0" + jest-mock "30.4.1" -"@jest/expect-utils@30.3.0": - version "30.3.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-30.3.0.tgz#c45b2da9802ffed33bf43b3e019ddb95e5ad95e8" - integrity sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA== +"@jest/expect-utils@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-30.4.1.tgz#e0c7436d52b08610de9027841912dc3734ae80b2" + integrity sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ== dependencies: "@jest/get-type" "30.1.0" -"@jest/expect-utils@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-30.4.0.tgz#87a1d59661bb438cbf1c6b4bf4d0fc89263566d9" - integrity sha512-+7IjdIwKEvViPvFizspuFeFAJhQGYkbOWBBWq+XVLsSl4t3H6lOk9QlxYC3et6GRgJ+jJvnVOAv2CpN4kJowzQ== +"@jest/expect@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-30.4.1.tgz#7fefc67f86c2cb2af3c86d9d41fe4a1d74862b8c" + integrity sha512-ginrj6TMgh2GshLUGCjO94Ptx9HhdZA/I6A9iUfyeLKFtdAjnKzHDgzgP9HYQgbxM1lbXScQ2eUBz2lGeVDPWA== dependencies: - "@jest/get-type" "30.1.0" + expect "30.4.1" + jest-snapshot "30.4.1" -"@jest/expect@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-30.4.0.tgz#fd40ab1ade95c0e4f6efa5f9659a5cf24a5420dd" - integrity sha512-eJeAOjHMAD1R/vwGQ8DJkD7z7QBj4Fb8T3/tId1srXAx9UJ9zxWVd875WP1dfGmiznMDoalJGZutzi6UR3R6dA== - dependencies: - expect "30.4.0" - jest-snapshot "30.4.0" - -"@jest/fake-timers@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-30.4.0.tgz#12ba89b34ac3b619f16ab399ab717aa3f66a53e7" - integrity sha512-J+uX5pz4SYiiMP2gR6wqjygxCBhwYXhdPn07XPmZUFTMvm9TQpIGEt4TLbKCMQszslSe3ElEV6GvX3K1CPtzrQ== +"@jest/fake-timers@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-30.4.1.tgz#ad2d3412d5d005a3e45740bd4c8ee1ccae2f89e1" + integrity sha512-iW5umdmfPeWzehrVhugFQZqCchSCud5S1l2YT0O9ZhjRR0ExclANDZkiSBwzqtnlOn0J1JXvO+HZ6rkuyOVOgQ== dependencies: - "@jest/types" "30.4.0" + "@jest/types" "30.4.1" "@sinonjs/fake-timers" "^15.4.0" "@types/node" "*" - jest-message-util "30.4.0" - jest-mock "30.4.0" - jest-util "30.4.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" + jest-message-util "30.4.1" + jest-mock "30.4.1" + jest-util "30.4.1" "@jest/get-type@30.1.0": version "30.1.0" resolved "https://registry.yarnpkg.com/@jest/get-type/-/get-type-30.1.0.tgz#4fcb4dc2ebcf0811be1c04fd1cb79c2dba431cbc" integrity sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA== -"@jest/globals@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-30.4.0.tgz#8b1a7b4d28b4a79b465e4b02e38772ec32049e11" - integrity sha512-xf3neOb0PXqNgT7bLpNAcQmrDOQ1rv6zsfSYSQsEXnpFIqkJvJ2Qyp+4P8Bl5XXnL3pMmrjtNHRgl34Ou7TGKA== - dependencies: - "@jest/environment" "30.4.0" - "@jest/expect" "30.4.0" - "@jest/types" "30.4.0" - jest-mock "30.4.0" - -"@jest/pattern@30.0.1": - version "30.0.1" - resolved "https://registry.yarnpkg.com/@jest/pattern/-/pattern-30.0.1.tgz#d5304147f49a052900b4b853dedb111d080e199f" - integrity sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA== +"@jest/globals@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-30.4.1.tgz#6376975e137ef87926349b5e75ccf230f491e843" + integrity sha512-ZbuY4cmXC8DkxYjfvT2DbcHWL2T6vmsMhXCDcmTB2T0y0gaezBI77ufq5ZAIdcRkYZ7NEQEDg1xFeKbxUJ5v5Q== dependencies: - "@types/node" "*" - jest-regex-util "30.0.1" + "@jest/environment" "30.4.1" + "@jest/expect" "30.4.1" + "@jest/types" "30.4.1" + jest-mock "30.4.1" "@jest/pattern@30.4.0": version "30.4.0" @@ -1969,16 +2020,16 @@ "@types/node" "*" jest-regex-util "30.4.0" -"@jest/reporters@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-30.4.0.tgz#813abdc5bc7e188db19003ff2f61d49c004abb6f" - integrity sha512-GMpW1XRCVWKfaGOthupxLTM0Dk/lvDDu6Bb5CgoSkFhbQ+4OT5BcurzInZ99OLeEM7X71i0zv7JmNYHKkcQhFQ== +"@jest/reporters@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-30.4.1.tgz#41d42533f199e737ae352a0a0b32ff300826efe2" + integrity sha512-/SnkPCzEQpUaBH81kjdEdDdo2WZl5hxw+BmLDGWjRkm8o7XlhjwsU36cqwe5PGBE5WYpBvDzRSdXx9rbGuJtNA== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "30.4.0" - "@jest/test-result" "30.4.0" - "@jest/transform" "30.4.0" - "@jest/types" "30.4.0" + "@jest/console" "30.4.1" + "@jest/test-result" "30.4.1" + "@jest/transform" "30.4.1" + "@jest/types" "30.4.1" "@jridgewell/trace-mapping" "^0.3.25" "@types/node" "*" chalk "^4.1.2" @@ -1991,24 +2042,17 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^5.0.0" istanbul-reports "^3.1.3" - jest-message-util "30.4.0" - jest-util "30.4.0" - jest-worker "30.4.0" + jest-message-util "30.4.1" + jest-util "30.4.1" + jest-worker "30.4.1" slash "^3.0.0" string-length "^4.0.2" v8-to-istanbul "^9.0.1" -"@jest/schemas@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-30.0.5.tgz#7bdf69fc5a368a5abdb49fd91036c55225846473" - integrity sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA== - dependencies: - "@sinclair/typebox" "^0.34.0" - -"@jest/schemas@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-30.4.0.tgz#be70b83a4466f054e8002f7561c9c4d0f8a06c8d" - integrity sha512-tJLUhzktAsL7VKYJzdkNKxYTKGnkQvd6bMZQtxWnaE4V1VJyzzwt5WrCG5hwC+mB55uZbNSsxQUXLKjla08XPg== +"@jest/schemas@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-30.4.1.tgz#c3703fdd71357e2c83aa59bd38469e60a11529c6" + integrity sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q== dependencies: "@sinclair/typebox" "^0.34.0" @@ -2019,12 +2063,12 @@ dependencies: "@sinclair/typebox" "^0.27.8" -"@jest/snapshot-utils@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/snapshot-utils/-/snapshot-utils-30.4.0.tgz#fa9d905fd06499d184241ab4b2cfd182e04f0716" - integrity sha512-oPrzffukMros86mvKXzDMiAV5qId0U3dTGV/nLnhsKsUKjma7pwmoOvNA5mprG7hVUJ6raRBqkVZVk+kyyjbpw== +"@jest/snapshot-utils@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/snapshot-utils/-/snapshot-utils-30.4.1.tgz#0f829488b9d46b118854a16a56d509a3c6d9e064" + integrity sha512-ObY4ljvQ95mt6iwKtVLetR/4yXiAgl3H4nJxhztr0MTjrN97TwDYrnCp/kF60Ec9HdhkWTHSu+Hg05aXfngpOA== dependencies: - "@jest/types" "30.4.0" + "@jest/types" "30.4.1" chalk "^4.1.2" graceful-fs "^4.2.11" natural-compare "^1.4.0" @@ -2038,87 +2082,53 @@ callsites "^3.1.0" graceful-fs "^4.2.11" -"@jest/test-result@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-30.4.0.tgz#0fe6131e9710f89baf2db3fdeb2c1ca38a79e69b" - integrity sha512-brA2woQJEP0TyaZ7UEe/8aNvXTYYJ3iuCD3Rm78zNKF2CLqY7ShM+mdJ0f3dvy7ruWE5gKsFvd2bODmeTC8z2Q== +"@jest/test-result@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-30.4.1.tgz#e21146ebbb3e1f7f76c3c49805d9f39ae45f8de1" + integrity sha512-/ZG7pgEiOmmWkN9TplKbOu4id2N5lh7FHwRwlkgBVAzGdRH+OkkQ8wX/kIxg4zmd3ZQvAL1RwL2yWsvNYYECTw== dependencies: - "@jest/console" "30.4.0" - "@jest/types" "30.4.0" + "@jest/console" "30.4.1" + "@jest/types" "30.4.1" "@types/istanbul-lib-coverage" "^2.0.6" collect-v8-coverage "^1.0.2" -"@jest/test-sequencer@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-30.4.0.tgz#e2e9cf808c13e14b464bd005d0994a09b530c82c" - integrity sha512-6xWCB+Ix4dMqoc987QxF4piGeC1Mzv71NeWlHo8Wa3z3z8Yookz68gYwFJAKQO+SPhduIs2csX71syItuvrg/Q== +"@jest/test-sequencer@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-30.4.1.tgz#caf9a5e0924ed3b04957441edf9e8cef6a804391" + integrity sha512-PeYE+4td5rKjoRPxztObrXU+H8hsjZfxKMXOcmrr34JerSyB/ROOxbbicz8B7A5j9R9VayDnVPvBmedqCsFCdw== dependencies: - "@jest/test-result" "30.4.0" + "@jest/test-result" "30.4.1" graceful-fs "^4.2.11" - jest-haste-map "30.4.0" + jest-haste-map "30.4.1" slash "^3.0.0" -"@jest/transform@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-30.4.0.tgz#238bb1cea484d62e85b5f0bc41732a9818caeaa6" - integrity sha512-2X7FL+yezRtfthTZdUgtWnbixqkmGnDfkXE1vimu2Y1Wi7g0WxY2AAPctVrU7J9xmw5dWOBprBjx1hJIamJPbg== +"@jest/transform@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-30.4.1.tgz#1646cddb800d38d9c4e30fecfd4a6eba0fa8acfa" + integrity sha512-Wz0LyktlTvRefoymh+n64hQ84KNXsRGcwdoZ8CSa0Ea+fgYcHZlnk+hDP7v2MS7il2bQ5uTEIxf4/NNfhMN4KQ== dependencies: "@babel/core" "^7.27.4" - "@jest/types" "30.4.0" + "@jest/types" "30.4.1" "@jridgewell/trace-mapping" "^0.3.25" babel-plugin-istanbul "^7.0.1" chalk "^4.1.2" convert-source-map "^2.0.0" fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.11" - jest-haste-map "30.4.0" + jest-haste-map "30.4.1" jest-regex-util "30.4.0" - jest-util "30.4.0" + jest-util "30.4.1" pirates "^4.0.7" slash "^3.0.0" write-file-atomic "^5.0.1" -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@30.3.0": - version "30.3.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-30.3.0.tgz#cada800d323cb74945c24ac74615fdb312a6c85f" - integrity sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw== - dependencies: - "@jest/pattern" "30.0.1" - "@jest/schemas" "30.0.5" - "@types/istanbul-lib-coverage" "^2.0.6" - "@types/istanbul-reports" "^3.0.4" - "@types/node" "*" - "@types/yargs" "^17.0.33" - chalk "^4.1.2" - -"@jest/types@30.4.0": - version "30.4.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-30.4.0.tgz#db7fe3a9da4ac1f96b9262958b0765e1a219aacc" - integrity sha512-C951KSoEicxFUsUIO4T8lqWEemuMgMb3vlI8FO4OP369GSf6SOJd681nOcv7XR0TV5vCO4Jypvq3rBGEqfy9KQ== +"@jest/types@30.4.1": + version "30.4.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-30.4.1.tgz#f79b647a85cb2ff4a90cc55984b31dae820db1f7" + integrity sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ== dependencies: "@jest/pattern" "30.4.0" - "@jest/schemas" "30.4.0" + "@jest/schemas" "30.4.1" "@types/istanbul-lib-coverage" "^2.0.6" "@types/istanbul-reports" "^3.0.4" "@types/node" "*" @@ -2137,7 +2147,7 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": +"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.13", "@jridgewell/gen-mapping@^0.3.5": version "0.3.13" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== @@ -2166,12 +2176,12 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5": version "1.5.5" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": version "0.3.31" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== @@ -2209,74 +2219,74 @@ resolved "https://registry.yarnpkg.com/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz#5c23f796c47675f166d23b948cdb889184b93207" integrity sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g== -"@jsonjoy.com/fs-core@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-core/-/fs-core-4.56.10.tgz#320728b4b7bef63abb60e7630351623899237411" - integrity sha512-PyAEA/3cnHhsGcdY+AmIU+ZPqTuZkDhCXQ2wkXypdLitSpd6d5Ivxhnq4wa2ETRWFVJGabYynBWxIijOswSmOw== +"@jsonjoy.com/fs-core@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-core/-/fs-core-4.57.2.tgz#e28f357ba9983ce53577ba34fc72d344f19ec459" + integrity sha512-SVjwklkpIV5wrynpYtuYnfYH1QF4/nDuLBX7VXdb+3miglcAgBVZb/5y0cOsehRV/9Vb+3UqhkMq3/NR3ztdkQ== dependencies: - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" thingies "^2.5.0" -"@jsonjoy.com/fs-fsa@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-fsa/-/fs-fsa-4.56.10.tgz#02bac88c4968ddf2effbd7452861aaed60ba3557" - integrity sha512-/FVK63ysNzTPOnCCcPoPHt77TOmachdMS422txM4KhxddLdbW1fIbFMYH0AM0ow/YchCyS5gqEjKLNyv71j/5Q== +"@jsonjoy.com/fs-fsa@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.2.tgz#ec6dd492ff8c104a0c1eae74959a013960fe8969" + integrity sha512-fhO8+iR2I+OCw668ISDJdn1aArc9zx033sWejIyzQ8RBeXa9bDSaUeA3ix0poYOfrj1KdOzytmYNv2/uLDfV6g== dependencies: - "@jsonjoy.com/fs-core" "4.56.10" - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" + "@jsonjoy.com/fs-core" "4.57.2" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" thingies "^2.5.0" -"@jsonjoy.com/fs-node-builtins@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.56.10.tgz#a32a5bcb093f8b34a99aa8957e993a52ec316662" - integrity sha512-uUnKz8R0YJyKq5jXpZtkGV9U0pJDt8hmYcLRrPjROheIfjMXsz82kXMgAA/qNg0wrZ1Kv+hrg7azqEZx6XZCVw== - -"@jsonjoy.com/fs-node-to-fsa@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.56.10.tgz#33fc503e50d283ac5fc510e3accced7fccecf2f4" - integrity sha512-oH+O6Y4lhn9NyG6aEoFwIBNKZeYy66toP5LJcDOMBgL99BKQMUf/zWJspdRhMdn/3hbzQsZ8EHHsuekbFLGUWw== - dependencies: - "@jsonjoy.com/fs-fsa" "4.56.10" - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" - -"@jsonjoy.com/fs-node-utils@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.56.10.tgz#788e95052aa99744f6e8e55b5098afc203df2b9e" - integrity sha512-8EuPBgVI2aDPwFdaNQeNpHsyqPi3rr+85tMNG/lHvQLiVjzoZsvxA//Xd8aB567LUhy4QS03ptT+unkD/DIsNg== - dependencies: - "@jsonjoy.com/fs-node-builtins" "4.56.10" - -"@jsonjoy.com/fs-node@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node/-/fs-node-4.56.10.tgz#70b18bfaf14544a9820d2016e913dde12c6de991" - integrity sha512-7R4Gv3tkUdW3dXfXiOkqxkElxKNVdd8BDOWC0/dbERd0pXpPY+s2s1Mino+aTvkGrFPiY+mmVxA7zhskm4Ue4Q== - dependencies: - "@jsonjoy.com/fs-core" "4.56.10" - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" - "@jsonjoy.com/fs-print" "4.56.10" - "@jsonjoy.com/fs-snapshot" "4.56.10" +"@jsonjoy.com/fs-node-builtins@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.2.tgz#9174b87e70213b38caf1ac8669b130c4dfd6a909" + integrity sha512-xhiegylRmhw43Ki2HO1ZBL7DQ5ja/qpRsL29VtQ2xuUHiuDGbgf2uD4p9Qd8hJI5P6RCtGYD50IXHXVq/Ocjcg== + +"@jsonjoy.com/fs-node-to-fsa@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.2.tgz#8542449b72dfc48f3bfe311a7b0af5323f9bc926" + integrity sha512-18LmWTSONhoAPW+IWRuf8w/+zRolPFGPeGwMxlAhhfY11EKzX+5XHDBPAw67dBF5dxDErHJbl40U+3IXSDRXSQ== + dependencies: + "@jsonjoy.com/fs-fsa" "4.57.2" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" + +"@jsonjoy.com/fs-node-utils@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.2.tgz#c3234c03b1e59d609a0915572dd6f450be0463b1" + integrity sha512-rsPSJgekz43IlNbLyAM/Ab+ouYLWGp5DDBfYBNNEqDaSpsbXfthBn29Q4muFA9L0F+Z3mKo+CWlgSCXrf+mOyQ== + dependencies: + "@jsonjoy.com/fs-node-builtins" "4.57.2" + +"@jsonjoy.com/fs-node@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node/-/fs-node-4.57.2.tgz#8db2875df19683683e5852053e0099e233dc45d2" + integrity sha512-nX2AdL6cOFwLdju9G4/nbRnYevmCJbh7N7hvR3gGm97Cs60uEjyd0rpR+YBS7cTg175zzl22pGKXR5USaQMvKg== + dependencies: + "@jsonjoy.com/fs-core" "4.57.2" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" + "@jsonjoy.com/fs-print" "4.57.2" + "@jsonjoy.com/fs-snapshot" "4.57.2" glob-to-regex.js "^1.0.0" thingies "^2.5.0" -"@jsonjoy.com/fs-print@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-print/-/fs-print-4.56.10.tgz#7c181b9aefcc1b268be0e6233bff26310c355335" - integrity sha512-JW4fp5mAYepzFsSGrQ48ep8FXxpg4niFWHdF78wDrFGof7F3tKDJln72QFDEn/27M1yHd4v7sKHHVPh78aWcEw== +"@jsonjoy.com/fs-print@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-print/-/fs-print-4.57.2.tgz#286c4ceda19225a5c54aaad657ad9f466d5bd0c1" + integrity sha512-wK9NSow48i4DbDl9F1CQE5TqnyZOJ04elU3WFG5aJ76p+YxO/ulyBBQvKsessPxdo381Bc2pcEoyPujMOhcRqQ== dependencies: - "@jsonjoy.com/fs-node-utils" "4.56.10" + "@jsonjoy.com/fs-node-utils" "4.57.2" tree-dump "^1.1.0" -"@jsonjoy.com/fs-snapshot@4.56.10": - version "4.56.10" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.56.10.tgz#05aadd2c0eaa855b13d6cb17d29b7c8cee239c8c" - integrity sha512-DkR6l5fj7+qj0+fVKm/OOXMGfDFCGXLfyHkORH3DF8hxkpDgIHbhf/DwncBMs2igu/ST7OEkexn1gIqoU6Y+9g== +"@jsonjoy.com/fs-snapshot@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.2.tgz#800424a076638a605dad5ef1540915bc0167d7f8" + integrity sha512-GdduDZuoP5V/QCgJkx9+BZ6SC0EZ/smXAdTS7PfMqgMTGXLlt/bH/FqMYaqB9JmLf05sJPtO0XRbAwwkEEPbVw== dependencies: "@jsonjoy.com/buffers" "^17.65.0" - "@jsonjoy.com/fs-node-utils" "4.56.10" + "@jsonjoy.com/fs-node-utils" "4.57.2" "@jsonjoy.com/json-pack" "^17.65.0" "@jsonjoy.com/util" "^17.65.0" @@ -2351,10 +2361,10 @@ dependencies: "@khanacademy/perseus-utils" "2.1.5" -"@legendapp/list@3.0.0-beta.53": - version "3.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@legendapp/list/-/list-3.0.0-beta.53.tgz#505ad1bfb80acbcc07ada9fd06628214461a923a" - integrity sha512-Oqf5ZGM0zGi7ltDoqjO7BSoH1nFcevBheLy8Mvqu/0KAT0iJv8S2wWSA4Tv4ei6a1cW5ihFl4IOzJKc1N96cAA== +"@legendapp/list@3.0.0-beta.56": + version "3.0.0-beta.56" + resolved "https://registry.yarnpkg.com/@legendapp/list/-/list-3.0.0-beta.56.tgz#c593fa4dde6fdf924b37d5efcd1ac0459487fd7d" + integrity sha512-FcaZLq5n818/2D0VkZCmc4Y/V18/EKLLiYLRZxHgYrgaP+NtHvJ7fp+ZXpo6ae/bWLom0kCK2cM7FiIaWQLEcQ== dependencies: use-sync-external-store "^1.5.0" @@ -2396,6 +2406,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== +"@nodable/entities@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@nodable/entities/-/entities-2.1.0.tgz#f543e5c6446720d4cf9e498a83019dd159973bc2" + integrity sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -2417,110 +2432,117 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@peculiar/asn1-cms@^2.6.0", "@peculiar/asn1-cms@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz#cb5445c1bad9197d176073bf142a5c035b460640" - integrity sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw== +"@peculiar/asn1-cms@^2.6.0", "@peculiar/asn1-cms@^2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-cms/-/asn1-cms-2.7.0.tgz#8e0eb656f4fc85f7c621dd442fa2d298faa84984" + integrity sha512-hew63shtzzvBcSHbhm+cyAmKe6AIfinT9hzEqSPjDC6opTTMKmTkQ0gHuN2KsWlvqiKw1S/fS94fhag/FJkioQ== dependencies: - "@peculiar/asn1-schema" "^2.6.0" - "@peculiar/asn1-x509" "^2.6.1" - "@peculiar/asn1-x509-attr" "^2.6.1" + "@peculiar/asn1-schema" "^2.7.0" + "@peculiar/asn1-x509" "^2.7.0" + "@peculiar/asn1-x509-attr" "^2.7.0" asn1js "^3.0.6" tslib "^2.8.1" "@peculiar/asn1-csr@^2.6.0": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-csr/-/asn1-csr-2.6.1.tgz#9629d403bc5a61254f28ed0b90e99cee61c0e8be" - integrity sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w== + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-csr/-/asn1-csr-2.7.0.tgz#1a03ac03f7571ea981f5d8377c6f4510c5d43411" + integrity sha512-VVsAyGqErT9D1SY4aEqozThXMVI+ssVRiv2DDeYuvpBKLIgZ3hYs3Ay3u/VSoKq6ESFi9cf6rf3IOOzfwh7oMA== dependencies: - "@peculiar/asn1-schema" "^2.6.0" - "@peculiar/asn1-x509" "^2.6.1" + "@peculiar/asn1-schema" "^2.7.0" + "@peculiar/asn1-x509" "^2.7.0" asn1js "^3.0.6" tslib "^2.8.1" "@peculiar/asn1-ecc@^2.6.0": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-ecc/-/asn1-ecc-2.6.1.tgz#d29c4af671508a9934edc78e7c9419fbf7bc9870" - integrity sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g== + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-ecc/-/asn1-ecc-2.7.0.tgz#c35b57859812ecd0c2ae7b2144855e8208c2cfee" + integrity sha512-n7KEs/Q/wrB415cxy4fHOBhegp4NdJ15fkJPwcB/3/8iNBQC2L/N7SChJPKDJPZGYH0jD4Tg4/0vnHmwghnbKw== dependencies: - "@peculiar/asn1-schema" "^2.6.0" - "@peculiar/asn1-x509" "^2.6.1" + "@peculiar/asn1-schema" "^2.7.0" + "@peculiar/asn1-x509" "^2.7.0" asn1js "^3.0.6" tslib "^2.8.1" -"@peculiar/asn1-pfx@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-pfx/-/asn1-pfx-2.6.1.tgz#75cddd14d43ef875109e91ea150377d679c8fbc1" - integrity sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw== +"@peculiar/asn1-pfx@^2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-pfx/-/asn1-pfx-2.7.0.tgz#d00766b13ff49785684a604248e6aadd184b291f" + integrity sha512-V/nrlQVmhg7lYAsM7E13UDL5erAwFv6kCIVFqNaMIHSVi7dngcT839JkRTkQBqznMG98l2XjxYk74ZztAohZzA== dependencies: - "@peculiar/asn1-cms" "^2.6.1" - "@peculiar/asn1-pkcs8" "^2.6.1" - "@peculiar/asn1-rsa" "^2.6.1" - "@peculiar/asn1-schema" "^2.6.0" + "@peculiar/asn1-cms" "^2.7.0" + "@peculiar/asn1-pkcs8" "^2.7.0" + "@peculiar/asn1-rsa" "^2.7.0" + "@peculiar/asn1-schema" "^2.7.0" asn1js "^3.0.6" tslib "^2.8.1" -"@peculiar/asn1-pkcs8@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.1.tgz#bd56b4bb9e8a3702369049713a89134c87c6931a" - integrity sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw== +"@peculiar/asn1-pkcs8@^2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.7.0.tgz#5ee602d8a9a3e0a3f09f7b008ff644a657378692" + integrity sha512-9GTl1nE8Mx1kTZ+7QyYatDyKsm34QcWRBFkY1iPvWC3X4Dona5s/tlLiQsx5WzVdZqiMBZNYT0buyw4/vbhnjw== dependencies: - "@peculiar/asn1-schema" "^2.6.0" - "@peculiar/asn1-x509" "^2.6.1" + "@peculiar/asn1-schema" "^2.7.0" + "@peculiar/asn1-x509" "^2.7.0" asn1js "^3.0.6" tslib "^2.8.1" "@peculiar/asn1-pkcs9@^2.6.0": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.1.tgz#ddc5222952f25b59a0562a6f8cabdb72f586a496" - integrity sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw== - dependencies: - "@peculiar/asn1-cms" "^2.6.1" - "@peculiar/asn1-pfx" "^2.6.1" - "@peculiar/asn1-pkcs8" "^2.6.1" - "@peculiar/asn1-schema" "^2.6.0" - "@peculiar/asn1-x509" "^2.6.1" - "@peculiar/asn1-x509-attr" "^2.6.1" + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.7.0.tgz#23b4eae41c2feb8df258aa69c502a70092026b0a" + integrity sha512-Bh7m+OuIaSEllPQcSd9OSp93F4ROWH7sbITWV8MI+8dwsjE5111/87VxiWVvYFKyww3vp39geLv9ENqhwWHcew== + dependencies: + "@peculiar/asn1-cms" "^2.7.0" + "@peculiar/asn1-pfx" "^2.7.0" + "@peculiar/asn1-pkcs8" "^2.7.0" + "@peculiar/asn1-schema" "^2.7.0" + "@peculiar/asn1-x509" "^2.7.0" + "@peculiar/asn1-x509-attr" "^2.7.0" asn1js "^3.0.6" tslib "^2.8.1" -"@peculiar/asn1-rsa@^2.6.0", "@peculiar/asn1-rsa@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-rsa/-/asn1-rsa-2.6.1.tgz#2cdf9f9ea6d6fdbaae214b9fed6de0534b654437" - integrity sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA== +"@peculiar/asn1-rsa@^2.6.0", "@peculiar/asn1-rsa@^2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-rsa/-/asn1-rsa-2.7.0.tgz#6dc5c78c643264dd5a251a66f1dd9a38fcbba385" + integrity sha512-/qvENQrXyTZURjMqSeofHul0JJt2sNSzSwk36pl2olkHbaioMQgrASDZAlHXl0xUlnVbHj0uGgOrBMTb5x2aJQ== dependencies: - "@peculiar/asn1-schema" "^2.6.0" - "@peculiar/asn1-x509" "^2.6.1" + "@peculiar/asn1-schema" "^2.7.0" + "@peculiar/asn1-x509" "^2.7.0" asn1js "^3.0.6" tslib "^2.8.1" -"@peculiar/asn1-schema@^2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz#0dca1601d5b0fed2a72fed7a5f1d0d7dbe3a6f82" - integrity sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg== +"@peculiar/asn1-schema@^2.6.0", "@peculiar/asn1-schema@^2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.7.0.tgz#f2dcb25995ce7cac8687ba1039f043e5eff43820" + integrity sha512-W8ZfWzLmQnrcky+eh3tni4IozMdqBDiHWU0N+vve/UGjMaUs8c0L7A2oEdkBXS8rTpWDpK/aoI3DG/L/hxmxPg== dependencies: + "@peculiar/utils" "^2.0.2" asn1js "^3.0.6" - pvtsutils "^1.3.6" tslib "^2.8.1" -"@peculiar/asn1-x509-attr@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.1.tgz#6425008b8099476010aace5b8ae9f9cbc41db0ab" - integrity sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ== +"@peculiar/asn1-x509-attr@^2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.7.0.tgz#5ef2a10d3a78d4763b848a2cb56db4bb6b1e082a" + integrity sha512-NS8e7SOgXipkzUPLF/sce7ukpMpWjhxYsH0n6Y+bHYo4TTxOb95Zv7hqwSuL212mj5YxovjdOKQOgH1As3E94w== dependencies: - "@peculiar/asn1-schema" "^2.6.0" - "@peculiar/asn1-x509" "^2.6.1" + "@peculiar/asn1-schema" "^2.7.0" + "@peculiar/asn1-x509" "^2.7.0" asn1js "^3.0.6" tslib "^2.8.1" -"@peculiar/asn1-x509@^2.6.0", "@peculiar/asn1-x509@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-x509/-/asn1-x509-2.6.1.tgz#4e8995659e16178e0e90fe90519aa269045af262" - integrity sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA== +"@peculiar/asn1-x509@^2.6.0", "@peculiar/asn1-x509@^2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-x509/-/asn1-x509-2.7.0.tgz#84793efb7819dbc9526fd6b0a4ccd86f90464b96" + integrity sha512-mUn9RRrkGDnG4ALfunDmzyRW5dg+sWCj/pfnCCqEHYbkGxEpvUt6iVJv8Yw1cyp6SWZ26ZE5oSmI5SqEaen15g== dependencies: - "@peculiar/asn1-schema" "^2.6.0" + "@peculiar/asn1-schema" "^2.7.0" + "@peculiar/utils" "^2.0.2" asn1js "^3.0.6" - pvtsutils "^1.3.6" + tslib "^2.8.1" + +"@peculiar/utils@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@peculiar/utils/-/utils-2.0.3.tgz#a27ca4c4b73652e110f19a7d16d664f458a5528e" + integrity sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ== + dependencies: tslib "^2.8.1" "@peculiar/x509@^1.14.2": @@ -2563,9 +2585,9 @@ source-map "^0.7.3" "@preact/signals-core@^1.7.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@preact/signals-core/-/signals-core-1.13.0.tgz#ed770df2855701e7b42828fae5a348edeee9a3df" - integrity sha512-slT6XeTCAbdql61GVLlGU4x7XHI7kCZV5Um5uhE4zLX4ApgiiXc0UYFvVOKq06xcovzp7p+61l68oPi563ARKg== + version "1.14.2" + resolved "https://registry.yarnpkg.com/@preact/signals-core/-/signals-core-1.14.2.tgz#6ccbc1342a52f1175b9e1d9aef67e2cf0ab6d4f0" + integrity sha512-RZHdBj9ZF4n40Rp4jS052EHHjBWf96P9oNdXPfhQTovCuWY9iQn3Gq+gOTJSgBO9A/JBuPfMOWsSX/lIU9Pc/A== "@preact/signals@^1.3.1": version "1.3.4" @@ -2574,20 +2596,6 @@ dependencies: "@preact/signals-core" "^1.7.0" -"@react-grab/cli@0.1.32": - version "0.1.32" - resolved "https://registry.yarnpkg.com/@react-grab/cli/-/cli-0.1.32.tgz#3beb754f5050c965134a29725a6b86f1dc89667c" - integrity sha512-TI4SHATLH2yM1DMRXgH3dt/8b3Rj51BplDOqOQiHQKAMOuKVAR9WE2WGWJRT3LwFpl8BXR9ytAM9vrGDrB7QGw== - dependencies: - "@antfu/ni" "^0.23.0" - commander "^14.0.0" - ignore "^7.0.5" - jsonc-parser "^3.3.1" - ora "^8.2.0" - picocolors "^1.1.1" - prompts "^2.4.2" - smol-toml "^1.6.0" - "@react-native-community/cli-clean@20.1.3": version "20.1.3" resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-20.1.3.tgz#c38feda678e352135a46dae214432d94febae241" @@ -2756,82 +2764,23 @@ resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.11.4.tgz#7fb09506ee00a82989125cc03e8495204c8afc01" integrity sha512-Kf8h1AMnBo54b1fdiVylP2P/iFcZqzpMYcglC28EEFB1DEnOjsNr6Ucqc+3R9e91vHxEDnhZFbYDmAe79P2gjA== -"@react-native/assets-registry@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.83.4.tgz#48408565f1a6a40cc91e4bbff38e07665d31fbd6" - integrity sha512-aqKtpbJDSQeSX/Dwv0yMe1/Rd2QfXi12lnyZDXNn/OEKz59u6+LuPBVgO/9CRyclHmdlvwg8c7PJ9eX2ZMnjWg== +"@react-native/assets-registry@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.85.3.tgz#e28da0d296120b9677c3cb9f4ebc92b636ac987e" + integrity sha512-u9ZiYP23vA2IFtdFQFmetzSmk6SM0xgKIoiOsr1hXNHjHaLhOm+/Ph1ud57wX6+Dbwdzx8coJgnzSKL3W21PCg== -"@react-native/babel-plugin-codegen@0.83.2": - version "0.83.2" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.83.2.tgz#511b9427cfaae8b110a5f50ac2c88bfc752f7c0b" - integrity sha512-XbcN/BEa64pVlb0Hb/E/Ph2SepjVN/FcNKrJcQvtaKZA6mBSO8pW8Eircdlr61/KBH94LihHbQoQDzkQFpeaTg== +"@react-native/babel-plugin-codegen@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.85.3.tgz#85584812e08e04b0b8f443ee732f787017eaf254" + integrity sha512-Wc94zGfeFG8Njf9SHMPfYZP04kjigkOps6F1TYTvd7ZVXuGxqseCDgxc50LWcOhOCLypI9n3oVVqz81C3p44ZA== dependencies: - "@babel/traverse" "^7.25.3" - "@react-native/codegen" "0.83.2" - -"@react-native/babel-plugin-codegen@0.83.6": - version "0.83.6" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.83.6.tgz#4b28b951d35ecd36550c4aade1e8c1df215dd8b9" - integrity sha512-qfRXsHGeucT5c6mK+8Q7v4Ly3zmygfVmFlEtkiq7q07W1OTreld6nib4rJ/DBEeNiKBoBTuHjWliYGNuDjLFQA== - dependencies: - "@babel/traverse" "^7.25.3" - "@react-native/codegen" "0.83.6" - -"@react-native/babel-preset@0.83.2": - version "0.83.2" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.83.2.tgz#e449d4dedafed3c3000f6fa34c30d167653a9e27" - integrity sha512-X/RAXDfe6W+om/Fw1i6htTxQXFhBJ2jgNOWx3WpI3KbjeIWbq7ib6vrpTeIAW2NUMg+K3mML1NzgD4dpZeqdjA== - 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.83.2" - babel-plugin-syntax-hermes-parser "0.32.0" - babel-plugin-transform-flow-enums "^0.0.2" - react-refresh "^0.14.0" + "@babel/traverse" "^7.29.0" + "@react-native/codegen" "0.85.3" -"@react-native/babel-preset@0.83.6": - version "0.83.6" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.83.6.tgz#e3f5ab1182768343b2b21e2f27d07773acd0bf8b" - integrity sha512-4/fXFDUvGOObETZq4+SUFkafld6OGgQWut5cQiqVghlhCB5z/p2lVhPgEUr/aTxTzeS3AmN+ztC+GpYPQ7tsTw== +"@react-native/babel-preset@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.85.3.tgz#b4e226c9b996e38cee51bdc1055d4a2ba24a733b" + integrity sha512-fD7fxEhkJB/aF57tWoXjaAWpklfrExYZS3k6aXPP3BQ77DZY7gvf/b7dbirwjID6NVnP1JDRJyTuPBGr0K/vlw== dependencies: "@babel/core" "^7.25.2" "@babel/plugin-proposal-export-default-from" "^7.24.7" @@ -2839,27 +2788,19 @@ "@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" @@ -2868,123 +2809,63 @@ "@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.83.6" - babel-plugin-syntax-hermes-parser "0.32.0" + "@react-native/babel-plugin-codegen" "0.85.3" + babel-plugin-syntax-hermes-parser "0.33.3" babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" -"@react-native/codegen@0.83.2": - version "0.83.2" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.83.2.tgz#ec80c189480e800af04c078fce7531caef7cc62e" - integrity sha512-9uK6X1miCXqtL4c759l74N/XbQeneWeQVjoV7SD2CGJuW7ZefxaoYenwGPs7rMoCdtS6wuIyR3hXQ+uWEBGYXA== - dependencies: - "@babel/core" "^7.25.2" - "@babel/parser" "^7.25.3" - glob "^7.1.1" - hermes-parser "0.32.0" - invariant "^2.2.4" - nullthrows "^1.1.1" - yargs "^17.6.2" - -"@react-native/codegen@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.83.4.tgz#79cb20c904f885d44100549816364cceb72c263c" - integrity sha512-CJ7XutzIqJPz3Lp/5TOiRWlU/JAjTboMT1BHNLSXjYHXwTmgHM3iGEbpCOtBMjWvsojRTJyRO/G3ghInIIXEYg== - dependencies: - "@babel/core" "^7.25.2" - "@babel/parser" "^7.25.3" - glob "^7.1.1" - hermes-parser "0.32.0" - invariant "^2.2.4" - nullthrows "^1.1.1" - yargs "^17.6.2" - -"@react-native/codegen@0.83.6": - version "0.83.6" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.83.6.tgz#7bf0fa1a3964181c6feddb6eceab080e06168adc" - integrity sha512-doB/Pq6Cf6IjF3wlQXTIiZOnsX9X8mEEk+CdGfyuCwZjWrf7IB8KaZEXXckJmfUcIwvJ9u/a72ZoTTCIoxAc9A== +"@react-native/codegen@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.85.3.tgz#3168a42d240b66d1597f8e292ce71171fabb3b1c" + integrity sha512-/JkS1lGLyzBWP1FbgDwaqEf7qShIC6pUC1M0a/YMAd/v4iqR24MRkQWe7jkYvcBQ2LpEhs5NGE9InhxSv21zCA== dependencies: "@babel/core" "^7.25.2" - "@babel/parser" "^7.25.3" - glob "^7.1.1" - hermes-parser "0.32.0" + "@babel/parser" "^7.29.0" + hermes-parser "0.33.3" invariant "^2.2.4" nullthrows "^1.1.1" + tinyglobby "^0.2.15" yargs "^17.6.2" -"@react-native/community-cli-plugin@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.83.4.tgz#133a202d3087c3ef433e54192480dc799635f843" - integrity sha512-8os0weQEnjUhWy7Db881+JKRwNHVGM40VtTRvltAyA/YYkrGg4kPCqiTybMxQDEcF3rnviuxHyI+ITiglfmgmQ== +"@react-native/community-cli-plugin@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.85.3.tgz#bc9008fe823bca059ab330861253e9be57f8cc46" + integrity sha512-fs85dmbIqNmtzEixDb0g+q6R3Vt4H9eAt8/inIZdDKfjN76+sUJA2r1nxODQ76bU23MrIbz8sI7KFBPaWk/zQw== dependencies: - "@react-native/dev-middleware" "0.83.4" + "@react-native/dev-middleware" "0.85.3" debug "^4.4.0" invariant "^2.2.4" - metro "^0.83.3" - metro-config "^0.83.3" - metro-core "^0.83.3" + metro "^0.84.3" + metro-config "^0.84.3" + metro-core "^0.84.3" semver "^7.1.3" -"@react-native/debugger-frontend@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.83.4.tgz#78f531b9f591e1e034f6a0eb0c745a4fc992af6c" - integrity sha512-mCE2s/S7SEjax3gZb6LFAraAI3x13gRVWJWqT0HIm71e4ITObENNTDuMw4mvZ/wr4Gz2wv4FcBH5/Nla9LXOcg== - -"@react-native/debugger-frontend@0.83.6": - version "0.83.6" - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.83.6.tgz#0cd046f9b1eeabb9ebeaddce70e61cea70ad825d" - integrity sha512-TyWXEpAjVundrc87fPWg91piOUg75+X9iutcfDe7cO3NrAEYCsl7Z09rKHuiAGkxfG9/rFD13dPsYIixUFkSFA== - -"@react-native/debugger-shell@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/debugger-shell/-/debugger-shell-0.83.4.tgz#376239508acb46062196740747a0bdec73273202" - integrity sha512-FtAnrvXqy1xeZ+onwilvxEeeBsvBlhtfrHVIC2R/BOJAK9TbKEtFfjio0wsn3DQIm+UZq48DSa+p9jJZ2aJUww== - dependencies: - cross-spawn "^7.0.6" - fb-dotslash "0.5.8" +"@react-native/debugger-frontend@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.85.3.tgz#c8c66a5bb766b22466ffb0adaf0f0074bd38b482" + integrity sha512-uAu7rM5o/Np1zgp6fi5zM1sP1aB8DcS7DdOLcj/TkSutOAjkMqqd2lWt1/+3S7qXexRHVK5XcP+o3VXo4L/V0A== -"@react-native/debugger-shell@0.83.6": - version "0.83.6" - resolved "https://registry.yarnpkg.com/@react-native/debugger-shell/-/debugger-shell-0.83.6.tgz#9770f25fff8b570cd67927ab3a83776eef26df85" - integrity sha512-684TJMBCU0l0ZjJWzrnK0HH+ERaM9KLyxyArE1k7BrP+gVl4X9GO0Pi94RoInOxvW/nyV65sOU6Ip1F3ygS0cg== +"@react-native/debugger-shell@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/debugger-shell/-/debugger-shell-0.85.3.tgz#ad755fc280942c240cd833916ddcf89a86a34b1f" + integrity sha512-/jRAaT9boiCttIcEwS02WPwYkUihqsjSaK/TMtHz05vT6uMgac9PaQt5kzBQLIABv5aEIa5gtrMmKVz49MjkjQ== dependencies: cross-spawn "^7.0.6" - fb-dotslash "0.5.8" - -"@react-native/dev-middleware@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.83.4.tgz#59f9488c19769f6a7da966fc55739832c6d2ef97" - integrity sha512-3s9nXZc/kj986nI2RPqxiIJeTS3o7pvZDxbHu7GE9WVIGX9YucA1l/tEiXd7BAm3TBFOfefDOT08xD46wH+R3Q== - dependencies: - "@isaacs/ttlcache" "^1.4.1" - "@react-native/debugger-frontend" "0.83.4" - "@react-native/debugger-shell" "0.83.4" - chrome-launcher "^0.15.2" - chromium-edge-launcher "^0.2.0" - connect "^3.6.5" debug "^4.4.0" - invariant "^2.2.4" - nullthrows "^1.1.1" - open "^7.0.3" - serve-static "^1.16.2" - ws "^7.5.10" + fb-dotslash "0.5.8" -"@react-native/dev-middleware@0.83.6": - version "0.83.6" - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.83.6.tgz#71c6d00fcf115783c4537a6e4976d79710184d21" - integrity sha512-22xoddLTelpcVnF385SNH2hdP7X2av5pu7yRl/WnM5jBznbcl0+M9Ce94cj+WVeomsoUF/vlfuB0Ooy+RMlRiA== +"@react-native/dev-middleware@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.85.3.tgz#a5818ea674b0bbead230555697748b215ef3fc3a" + integrity sha512-JYzBiT4A8w+KQt+dOD5v+ti+tDrGoPnsSTuApq3Ls4RB5sfWbDlYMyz3dbc8qBIHz9tv0sQ5+eOu6Xwqzr5AQA== dependencies: "@isaacs/ttlcache" "^1.4.1" - "@react-native/debugger-frontend" "0.83.6" - "@react-native/debugger-shell" "0.83.6" + "@react-native/debugger-frontend" "0.85.3" + "@react-native/debugger-shell" "0.85.3" chrome-launcher "^0.15.2" - chromium-edge-launcher "^0.2.0" + chromium-edge-launcher "^0.3.0" connect "^3.6.5" debug "^4.4.0" invariant "^2.2.4" @@ -2993,146 +2874,133 @@ serve-static "^1.16.2" ws "^7.5.10" -"@react-native/eslint-config@0.83.2": - version "0.83.2" - resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.83.2.tgz#3970966a449cdd60f53280a46be05a114c5f3585" - integrity sha512-TfeuzxtgbMC3BdSHRLCfMeDxqmSIQTB7O9UKXaT+Jp0O2ZdLxoGBOqMHlYra9MWxbkM/ssH0TnENaRUz79OHIw== +"@react-native/eslint-config@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.85.3.tgz#15b832a7bfd00ff7a9267860167ae678fe46cd2b" + integrity sha512-CvE+1H4be7eZXpadoBDnz7B3ooK2Tl/tvbW2+odrsR22Afs2Q4m9fJtKD8lD8/LCufttsT5pnGIhP/ugO6x/mw== dependencies: "@babel/core" "^7.25.2" "@babel/eslint-parser" "^7.25.1" - "@react-native/eslint-plugin" "0.83.2" + "@react-native/eslint-plugin" "0.85.3" "@typescript-eslint/eslint-plugin" "^8.36.0" "@typescript-eslint/parser" "^8.36.0" eslint-config-prettier "^8.5.0" eslint-plugin-eslint-comments "^3.2.0" eslint-plugin-ft-flow "^2.0.1" eslint-plugin-jest "^29.0.1" - eslint-plugin-react "^7.30.1" + eslint-plugin-react "^7.37.5" eslint-plugin-react-hooks "^7.0.1" - eslint-plugin-react-native "^4.0.0" - -"@react-native/eslint-plugin@0.83.2": - version "0.83.2" - resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.83.2.tgz#8f5357ab3a483028193f35a3e7d2648c7ce3cc49" - integrity sha512-mgqFrE66LQHsJq4eVCOwqi5dfJS7+2AmDk3UT+XnlntGz9pJBg/+gbZGp4aVfySrrPiYfYKVV7Vo9aw33SW6/g== + eslint-plugin-react-native "^5.0.0" -"@react-native/gradle-plugin@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.83.4.tgz#13fe82da3a43c1ad0205e38236d351ec61ec7175" - integrity sha512-AhaSWw2k3eMKqZ21IUdM7rpyTYOpAfsBbIIiom1QQii3QccX0uW2AWTcRhfuWRxqr2faGFaOBYedWl2fzp5hgw== +"@react-native/eslint-plugin@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.85.3.tgz#4b63f8c84173c0c7651f89832e947b0077e7b403" + integrity sha512-xUt6BZkIEPxNpsHsZc/FsjsyslrCW5NrGZDFIayyxQxg0zwwd0nXWFZ0qDfCeA75qYYTnboOwIuDIqykzJp61Q== -"@react-native/js-polyfills@0.83.2": - version "0.83.2" - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.83.2.tgz#139809ded867cf3f90c22ca5fce0f5b19d2f7469" - integrity sha512-dk6fIY2OrKW/2Nk2HydfYNrQau8g6LOtd7NVBrgaqa+lvuRyIML5iimShP5qPqQnx2ofHuzjFw+Ya0b5Q7nDbA== +"@react-native/gradle-plugin@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.85.3.tgz#79f94aa38bc68be9b331cfd197de5bb53109465a" + integrity sha512-39dY2j50Q1pntejzwt3XL7vwXtrj8jcIfHq6E+gyu3jzYxZJVvMkMutQ39vSg6zinIQOX36oQDhidXUbCXzgoA== -"@react-native/js-polyfills@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.83.4.tgz#63244c915773d39bfc56527c1a062054db0c01dd" - integrity sha512-wYUdv0rt4MjhKhQloO1AnGDXhZQOFZHDxm86dEtEA0WcsCdVrFdRULFM+rKUC/QQtJW2rS6WBqtBusgtrsDADg== +"@react-native/js-polyfills@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.85.3.tgz#f3eef60ee619f51f78f8db7489abc192e685508f" + integrity sha512-U2+aMshIXf1uFn77tpBb/xhHWB9vkVrMpt7kkucAugF8hJKYTDGB587X7WwelHduK2KBfhl4giSv0rzZGoef9A== -"@react-native/metro-babel-transformer@0.83.2": - version "0.83.2" - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.83.2.tgz#7f85859d36a444a4ce0c8833654a96aa4f8af0b3" - integrity sha512-7uRGB0yEBogz+Bu0+dVFWU4HOrmQGjmPNl3rhI8xuF/C0iNQ5roJ7uKgQiKxroAwz/ukrHc1n7akR1BokYE5hQ== +"@react-native/metro-babel-transformer@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.85.3.tgz#c97cde6699b52e099c35c9ace00d25a6b790a0ca" + integrity sha512-omuKq+r7jM4XvCMIlNMPP7Up3SyB8o5EAdZtF7YXniKyq7UOMBqhYHFqgsdOXr0lT+3ADf7VCJG3sb82jlBrrQ== dependencies: "@babel/core" "^7.25.2" - "@react-native/babel-preset" "0.83.2" - hermes-parser "0.32.0" + "@react-native/babel-preset" "0.85.3" + hermes-parser "0.33.3" nullthrows "^1.1.1" -"@react-native/metro-config@0.83.2": - version "0.83.2" - resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.83.2.tgz#3e42b778248a459e37dc4b34ea8abbdc4a1c2830" - integrity sha512-jFBnPQ5edS1xDd1YHgKuPdAtVvGiRLU56c9bcu++NMrMs/Jh2hmfCtR0Sa9202aFK/4Aqqnzxl93X90P3Xzygg== +"@react-native/metro-config@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.85.3.tgz#0c1fe49b4a579366501d5b776f94a4d371cbbb0d" + integrity sha512-sVo6HepUmCcpdfozEf91lA0FjpLNNZYu/Zi9FiYiAQTK8pzATXDVTqhvdxpFrQn435p5eUTSbllvbH/KN+bnyA== dependencies: - "@react-native/js-polyfills" "0.83.2" - "@react-native/metro-babel-transformer" "0.83.2" - metro-config "^0.83.3" - metro-runtime "^0.83.3" - -"@react-native/normalize-colors@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.83.4.tgz#211fd38a7f067ede9eeace504f0e45c090a383d4" - integrity sha512-9ezxaHjxqTkTOLg62SGg7YhFaE+fxa/jlrWP0nwf7eGFHlGOiTAaRR2KUfiN3K05e+EMbEhgcH/c7bgaXeGyJw== + "@react-native/js-polyfills" "0.85.3" + "@react-native/metro-babel-transformer" "0.85.3" + metro-config "^0.84.3" + metro-runtime "^0.84.3" -"@react-native/normalize-colors@0.83.6": - version "0.83.6" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.83.6.tgz#9fef0e98733d58267aecafede08ebcc830a29c82" - integrity sha512-bTM24b5v4qN3h52oflnv+OujFORn/kVi06WaWhnQQw14/ycilPqIsqsa+DpIBqdBrXxvLa9fXtCRrQtGATZCEw== +"@react-native/normalize-colors@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.85.3.tgz#681f4be6c0a57b5bcf16b993b3bc96e5a45bf3a2" + integrity sha512-hj0PScZEhIbcOvQV5yMKX3ha4XEIOy/SVE1Rrpp0beW0dpNLOgSC7KDxGewmDnIHK9YdQUXGY9eMEfShUMIaZw== "@react-native/normalize-colors@^0.74.1": version "0.74.89" resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.89.tgz#b8ac17d1bbccd3ef9a1f921665d04d42cff85976" integrity sha512-qoMMXddVKVhZ8PA1AbUCk83trpd6N+1nF2A6k1i6LsQObyS92fELuk8kU/lQs6M7BsMHwqyLCpQJ1uFgNvIQXg== -"@react-native/virtualized-lists@0.83.4": - version "0.83.4" - resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.83.4.tgz#11353cf121007782d05be9fd726aaf182fe2b495" - integrity sha512-vNF/8kokMW8JEjG4n+j7veLTjHRRABlt4CaTS6+wtqzvWxCJHNIC8fhCqrDPn9fIn8sNePd8DyiFVX5L9TBBRA== +"@react-native/virtualized-lists@0.85.3": + version "0.85.3" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.85.3.tgz#0fe478a10505d7fd3cfd39de26b6673a1fd0e091" + integrity sha512-dsCjI//OIPEUJMyNHp4l7zNLVjCx7bcaRUceOCkU+IB17hkbtbGWvi7HjGFSzy7FJGmS/MOlcfpb72xXiy1Oig== dependencies: invariant "^2.2.4" nullthrows "^1.1.1" -"@react-navigation/bottom-tabs@7.15.12": - version "7.15.12" - resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-7.15.12.tgz#2ff60a29ea54969fa90693cd31563a5726e3f013" - integrity sha512-Kp7oUEWgUB3NLBbgPkE8DGPtHU6jfhqPQGhFlUYYJ+PeoFcRX++Y1GMn90yYanCKpob8I7l6/YbzhN39owO06Q== +"@react-navigation/bottom-tabs@8.0.0-alpha.29": + version "8.0.0-alpha.29" + resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-8.0.0-alpha.29.tgz#3bfd9e44490ebaef69d65e216932eefede327fae" + integrity sha512-aRPU1qhQpTMCbdo+39dAr6OsE/3+dP+pgQVF2ko9+5+KZFbnjZF06wf3f+xxpuDp2kcOL+MFGofA5/BGgqKoeQ== dependencies: - "@react-navigation/elements" "^2.9.16" - color "^4.2.3" - sf-symbols-typescript "^2.1.0" + "@react-navigation/elements" "^3.0.0-alpha.27" -"@react-navigation/core@7.17.3", "@react-navigation/core@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-7.17.3.tgz#59dd91fc6700f280d846ad08d1011fd198ccfa65" - integrity sha512-cFOzT4d6oOjdAWwk69onVQXhEN1CHmGau5zCP5DO9mLeO/N1Db0a/ZXP57fn0t/6lf7OPX8vl6tPcv3lBR4F/Q== +"@react-navigation/core@8.0.0-alpha.15", "@react-navigation/core@^8.0.0-alpha.15": + version "8.0.0-alpha.15" + resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-8.0.0-alpha.15.tgz#651c402c109325e8b62cf3474126fd60c5badb56" + integrity sha512-qfjzkC/+HPSq7Jc42F6yzcRYHbut0IFnVpNHYvuCGcc2kvML6rQfhqWJtkhG6+XcJwhPXHgFBh6NxfeKn/NF2Q== dependencies: - "@react-navigation/routers" "^7.5.4" - escape-string-regexp "^4.0.0" + "@react-navigation/routers" "^8.0.0-alpha.9" + escape-string-regexp "^5.0.0" fast-deep-equal "^3.1.3" - nanoid "^3.3.11" - query-string "^7.1.3" + nanoid "^5.1.7" + query-string "^9.3.1" react-is "^19.1.0" - use-latest-callback "^0.2.4" - use-sync-external-store "^1.5.0" + use-latest-callback "^0.3.3" + use-sync-external-store "^1.6.0" -"@react-navigation/elements@^2.9.16": - version "2.9.16" - resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-2.9.16.tgz#a18df588794290b1fb40d6722084e128aff82fd7" - integrity sha512-uScoLXOvQwdj7w9hn69kyubNYm7EZMAX9fAqbrTIA8mYUAv+9qfhJxOcO8VXcoT0Vm8EKNDXqg5n5WNxcdN0Ww== +"@react-navigation/elements@^3.0.0-alpha.27": + version "3.0.0-alpha.27" + resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-3.0.0-alpha.27.tgz#37718761ef3ce28b62c19dcaa5c4b283c22dd231" + integrity sha512-E361umTmIjhlel6ZDtmInluuZ2gvbsdk1+bNeCmZBdp4rlJ6ltTF7CjYsvUKMKHdRD3vMFEu688rKGwFX2UbNA== dependencies: - color "^4.2.3" - use-latest-callback "^0.2.4" - use-sync-external-store "^1.5.0" + sf-symbols-typescript "^2.2.0" + use-latest-callback "^0.3.3" + use-sync-external-store "^1.6.0" -"@react-navigation/native-stack@7.14.13": - version "7.14.13" - resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-7.14.13.tgz#3f1921210784ad52ecb2ba0a9d9fd54bd2e0670b" - integrity sha512-o6hNgvwUiKZFIFQI+27YndmtSRxgJXFAJDwkBhmNeD8EEdJUxom2NDKzqFPjwsDYQIRYXJmIHR3Qz2cRsGwSYg== +"@react-navigation/native-stack@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-8.0.0-alpha.30.tgz#372290acf5f34a260ecb4718af20753e1bdc3693" + integrity sha512-E+sUcgqWlbRuuMmN0WTfp8kmU1Y9UnXPY04GR7qe4wan2y1hjproc3VT7o0DOYPiCdv4468yv6q+cXuQ8p3SGw== dependencies: - "@react-navigation/elements" "^2.9.16" - color "^4.2.3" - sf-symbols-typescript "^2.1.0" + "@react-navigation/elements" "^3.0.0-alpha.27" warn-once "^0.1.1" -"@react-navigation/native@7.2.3": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-7.2.3.tgz#2e99ce62f3163c4c3adc7941ef844ba587191d51" - integrity sha512-Q6vENZJnrRUmNzPa8m/SINzV0IQ2ndEQvVHQaJ0M1TvtyB8OWO/3hCl3ukWvnRUakroFNgwYokBXUaRhVvqU6g== +"@react-navigation/native@8.0.0-alpha.24": + version "8.0.0-alpha.24" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-8.0.0-alpha.24.tgz#ecc6d0329e509fc5f23f5c436310dae93747e853" + integrity sha512-ZltFQF/gL2ywLhoPnmWllLy8T7dJatSQvg/h3/nj4lr7GqT8Vo+JlRuhyCsdDHBZb5hWO+tG3OEhaGaWKP9o3Q== dependencies: - "@react-navigation/core" "^7.17.3" - escape-string-regexp "^4.0.0" + "@react-navigation/core" "^8.0.0-alpha.15" + escape-string-regexp "^5.0.0" fast-deep-equal "^3.1.3" - nanoid "^3.3.11" - use-latest-callback "^0.2.4" + nanoid "^5.1.7" + sf-symbols-typescript "^2.2.0" + use-latest-callback "^0.3.3" -"@react-navigation/routers@^7.5.4": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-7.5.4.tgz#8428ee79ebf67c12b2a5391cab2214c94490b197" - integrity sha512-5ONLNA3hKwAo3n95ENaZvWHkLeC8+7dgy8U/D+mO0Tvrih21nfxGNRqizI+qN2gxryWvYRk/pq5NsnTw6TtZbg== +"@react-navigation/routers@^8.0.0-alpha.9": + version "8.0.0-alpha.9" + resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-8.0.0-alpha.9.tgz#4906692dd588ed6211ff93c5490e4fb67bd63490" + integrity sha512-H6ea61+pF6cST3bixV+rXCa3GiTlcMSa0oyYiFzbti5If/F1nDuucLem085RH4rKkZ4eg5ggEO/cvH75ogyCSQ== dependencies: - nanoid "^3.3.11" + nanoid "^5.1.7" "@rollup/pluginutils@^5.1.3": version "5.3.0" @@ -3166,24 +3034,17 @@ integrity sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA== "@sinclair/typebox@^0.34.0": - version "0.34.48" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.34.48.tgz#75b0ead87e59e1adbd6dccdc42bad4fddee73b59" - integrity sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA== + version "0.34.49" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.34.49.tgz#4f1369234f2ecf693866476c3b2e1b54d2a9d68e" + integrity sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A== -"@sinonjs/commons@^3.0.0", "@sinonjs/commons@^3.0.1": +"@sinonjs/commons@^3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - "@sinonjs/fake-timers@^15.4.0": version "15.4.0" resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-15.4.0.tgz#5d40c151a9e66075fe4520bec40bccfe54931962" @@ -3213,9 +3074,9 @@ "@babel/runtime" "^7.12.5" "@tybys/wasm-util@^0.10.0": - version "0.10.1" - resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414" - integrity sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg== + version "0.10.2" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.2.tgz#12b3a1b33db1f9cad4ddff1f604ab7dd00bf464e" + integrity sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg== dependencies: tslib "^2.4.0" @@ -3224,7 +3085,7 @@ resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== -"@types/babel__core@^7.1.14", "@types/babel__core@^7.20.5": +"@types/babel__core@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== @@ -3250,7 +3111,7 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": +"@types/babel__traverse@*": version "7.28.0" resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== @@ -3314,9 +3175,9 @@ integrity sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw== "@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.6", "@types/estree@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== + version "1.0.9" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.9.tgz#cf3f0e876d7bee15a93ab925b82bf570a3904a24" + integrity sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": version "5.1.1" @@ -3362,12 +3223,10 @@ resolved "https://registry.yarnpkg.com/@types/google-libphonenumber/-/google-libphonenumber-7.4.30.tgz#a47ed8f1f237bd43edbd1c8aff24400b0fd9b2fe" integrity sha512-Td1X1ayRxePEm6/jPHUBs2tT6TzW1lrVB6ZX7ViPGellyzO/0xMNi+wx5nH6jEitjznq276VGIqjK5qAju0XVw== -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" +"@types/hammerjs@^2.0.36": + version "2.0.46" + resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.46.tgz#381daaca1360ff8a7c8dff63f32e69745b9fb1e1" + integrity sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw== "@types/html-minifier-terser@^6.0.0": version "6.1.0" @@ -3445,23 +3304,30 @@ integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== "@types/node@*": - version "25.3.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.3.2.tgz#cbc4b963e1b3503eb2bcf7c55bf48c95204918d1" - integrity sha512-RpV6r/ij22zRRdyBPcxDeKAzH43phWVKEjL2iksqo1Vz3CuBUrgmPpPhALKiRfU7OMCmeeO9vECBMsV0hMTG8Q== + version "25.7.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.7.0.tgz#7498f82e90dbdce7c34b75aaaa256c498a0ebe6c" + integrity sha512-z+pdZyxE+RTQE9AcboAZCb4otwcrvgHD+GlBpPgn0emDVt0ohrTMhAwlr2Wd9nZ+nihhYFxO2pThz3C5qSu2Eg== + dependencies: + undici-types "~7.21.0" + +"@types/node@^20.17.9": + version "20.19.41" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.41.tgz#bb266a1e0aaa2f4537d14ae8ebf238dd9ca73ce6" + integrity sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ== dependencies: - undici-types "~7.18.0" + undici-types "~6.21.0" "@types/node@^24.9.0": - version "24.10.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.15.tgz#83e016a4c3dbf4e672dc257cf4c941527f1a3aa3" - integrity sha512-BgjLoRuSr0MTI5wA6gMw9Xy0sFudAaUuvrnjgGx9wZ522fYYLA5SYJ+1Y30vTcJEG+DRCyDHx/gzQVfofYzSdg== + version "24.12.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.12.4.tgz#2709745569811dcbdc57c097fafdd387c6330382" + integrity sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA== dependencies: undici-types "~7.16.0" "@types/qs@*": - version "6.14.0" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5" - integrity sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ== + version "6.15.1" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.15.1.tgz#8606884272c63f0db96986bd3548650d8a9388bf" + integrity sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw== "@types/range-parser@*": version "1.2.7" @@ -3480,6 +3346,11 @@ dependencies: "@types/react" "*" +"@types/react-reconciler@^0.28.9": + version "0.28.9" + resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.28.9.tgz#d24b4864c384e770c83275b3fe73fba00269c83b" + integrity sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg== + "@types/react-test-renderer@^19.1.0": version "19.1.0" resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-19.1.0.tgz#1d0af8f2e1b5931e245b8b5b234d1502b854dc10" @@ -3545,7 +3416,7 @@ dependencies: "@types/node" "*" -"@types/stack-utils@^2.0.0", "@types/stack-utils@^2.0.3": +"@types/stack-utils@^2.0.3": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== @@ -3582,76 +3453,42 @@ "@types/yauzl@^2.9.1": version "2.10.3" resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== - dependencies: - "@types/node" "*" - -"@typescript-eslint/eslint-plugin@8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.2.tgz#f37b2c189a0177141fe3de3b08f2a83991bfdbfa" - integrity sha512-j/bwmkBvHUtPNxzuWe5z6BEk3q54YRyGlBXkSsmfoih7zNrBvl5A9A98anlp/7JbyZcWIJ8KXo/3Tq/DjFLtuQ== - dependencies: - "@eslint-community/regexpp" "^4.12.2" - "@typescript-eslint/scope-manager" "8.59.2" - "@typescript-eslint/type-utils" "8.59.2" - "@typescript-eslint/utils" "8.59.2" - "@typescript-eslint/visitor-keys" "8.59.2" - ignore "^7.0.5" - natural-compare "^1.4.0" - ts-api-utils "^2.5.0" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" -"@typescript-eslint/eslint-plugin@^8.36.0": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz#b1ce606d87221daec571e293009675992f0aae76" - integrity sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A== +"@typescript-eslint/eslint-plugin@8.59.3", "@typescript-eslint/eslint-plugin@^8.36.0": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.3.tgz#5d6da7e7b236b46452fa00d3904bb6f59615bfde" + integrity sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw== dependencies: "@eslint-community/regexpp" "^4.12.2" - "@typescript-eslint/scope-manager" "8.56.1" - "@typescript-eslint/type-utils" "8.56.1" - "@typescript-eslint/utils" "8.56.1" - "@typescript-eslint/visitor-keys" "8.56.1" + "@typescript-eslint/scope-manager" "8.59.3" + "@typescript-eslint/type-utils" "8.59.3" + "@typescript-eslint/utils" "8.59.3" + "@typescript-eslint/visitor-keys" "8.59.3" ignore "^7.0.5" natural-compare "^1.4.0" - ts-api-utils "^2.4.0" - -"@typescript-eslint/parser@8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.59.2.tgz#e2fd0084baa5dd0c24cd789af1c72cbc3a7a1c62" - integrity sha512-plR3pp6D+SSUn1HM7xvSkx12/DhoHInI2YF35KAcVFNZvlC0gtrWqx7Qq1oH2Ssgi0vlFRCTbP+DZc7B9+TtsQ== - dependencies: - "@typescript-eslint/scope-manager" "8.59.2" - "@typescript-eslint/types" "8.59.2" - "@typescript-eslint/typescript-estree" "8.59.2" - "@typescript-eslint/visitor-keys" "8.59.2" - debug "^4.4.3" - -"@typescript-eslint/parser@^8.36.0": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.56.1.tgz#21d13b3d456ffb08614c1d68bb9a4f8d9237cdc7" - integrity sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg== - dependencies: - "@typescript-eslint/scope-manager" "8.56.1" - "@typescript-eslint/types" "8.56.1" - "@typescript-eslint/typescript-estree" "8.56.1" - "@typescript-eslint/visitor-keys" "8.56.1" - debug "^4.4.3" + ts-api-utils "^2.5.0" -"@typescript-eslint/project-service@8.56.1": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.56.1.tgz#65c8d645f028b927bfc4928593b54e2ecd809244" - integrity sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ== +"@typescript-eslint/parser@8.59.3", "@typescript-eslint/parser@^8.36.0": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.59.3.tgz#f46cbc70ae0a25119ef94eac9ecd46714788e1a1" + integrity sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg== dependencies: - "@typescript-eslint/tsconfig-utils" "^8.56.1" - "@typescript-eslint/types" "^8.56.1" + "@typescript-eslint/scope-manager" "8.59.3" + "@typescript-eslint/types" "8.59.3" + "@typescript-eslint/typescript-estree" "8.59.3" + "@typescript-eslint/visitor-keys" "8.59.3" debug "^4.4.3" -"@typescript-eslint/project-service@8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.59.2.tgz#f8b8cbf8692e3a51c2c394acf8cf6900f7e755af" - integrity sha512-+2hqvEkeyf/0FBor67duF0Ll7Ot8jyKzDQOSrxazF/danillRq2DwR9dLptsXpoZQqxE1UisSmoZewrlPas9Vw== +"@typescript-eslint/project-service@8.59.3": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.59.3.tgz#1be5ae152aad987a156c9a1a9b4256e75cfbbe0c" + integrity sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng== dependencies: - "@typescript-eslint/tsconfig-utils" "^8.59.2" - "@typescript-eslint/types" "^8.59.2" + "@typescript-eslint/tsconfig-utils" "^8.59.3" + "@typescript-eslint/types" "^8.59.3" debug "^4.4.3" "@typescript-eslint/scope-manager@7.18.0": @@ -3662,51 +3499,27 @@ "@typescript-eslint/types" "7.18.0" "@typescript-eslint/visitor-keys" "7.18.0" -"@typescript-eslint/scope-manager@8.56.1": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz#254df93b5789a871351335dd23e20bc164060f24" - integrity sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w== - dependencies: - "@typescript-eslint/types" "8.56.1" - "@typescript-eslint/visitor-keys" "8.56.1" - -"@typescript-eslint/scope-manager@8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.59.2.tgz#63cbd0af2e3180949d6be81122cc555bc71e736d" - integrity sha512-JzfyEpEtOU89CcFSwyNS3mu4MLvLSXqnmX05+aKBDM+TdR5jzcGOEBwxwGNxrEQ7p/z6kK2WyioCGBf2zZBnvg== +"@typescript-eslint/scope-manager@8.59.3": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.59.3.tgz#91a60f66803fe9dae0696fbab2451f5723f119d2" + integrity sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA== dependencies: - "@typescript-eslint/types" "8.59.2" - "@typescript-eslint/visitor-keys" "8.59.2" + "@typescript-eslint/types" "8.59.3" + "@typescript-eslint/visitor-keys" "8.59.3" -"@typescript-eslint/tsconfig-utils@8.56.1", "@typescript-eslint/tsconfig-utils@^8.56.1": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz#1afa830b0fada5865ddcabdc993b790114a879b7" - integrity sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ== - -"@typescript-eslint/tsconfig-utils@8.59.2", "@typescript-eslint/tsconfig-utils@^8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.2.tgz#6e92bc412083753185a79c9f1431e78169d9232f" - integrity sha512-BKK4alN7oi4C/zv4VqHQ+uRU+lTa6JGIZ7s1juw7b3RHo9OfKB+bKX3u0iVZetdsUCBBkSbdWbarJbmN0fTeSw== - -"@typescript-eslint/type-utils@8.56.1": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz#7a6c4fabf225d674644931e004302cbbdd2f2e24" - integrity sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg== - dependencies: - "@typescript-eslint/types" "8.56.1" - "@typescript-eslint/typescript-estree" "8.56.1" - "@typescript-eslint/utils" "8.56.1" - debug "^4.4.3" - ts-api-utils "^2.4.0" +"@typescript-eslint/tsconfig-utils@8.59.3", "@typescript-eslint/tsconfig-utils@^8.59.3": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.3.tgz#88ca9036b42ccdd1e630cfdafd2e042c2ca6a835" + integrity sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw== -"@typescript-eslint/type-utils@8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.59.2.tgz#a60a1192a804fa472a92c41656853ac6a9ba7176" - integrity sha512-nhqaj1nmTdVVl/BP5omXNRGO38jn5iosis2vbdmupF2txCf8ylWT8lx+JlvMYYVqzGVKtjojUFoQ3JRWK+mfzQ== +"@typescript-eslint/type-utils@8.59.3": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.59.3.tgz#421fb2448bdfeb301d134a01cd02503f67fd8192" + integrity sha512-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ== dependencies: - "@typescript-eslint/types" "8.59.2" - "@typescript-eslint/typescript-estree" "8.59.2" - "@typescript-eslint/utils" "8.59.2" + "@typescript-eslint/types" "8.59.3" + "@typescript-eslint/typescript-estree" "8.59.3" + "@typescript-eslint/utils" "8.59.3" debug "^4.4.3" ts-api-utils "^2.5.0" @@ -3715,15 +3528,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== -"@typescript-eslint/types@8.56.1", "@typescript-eslint/types@^8.56.1": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.56.1.tgz#975e5942bf54895291337c91b9191f6eb0632ab9" - integrity sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw== - -"@typescript-eslint/types@8.59.2", "@typescript-eslint/types@^8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.59.2.tgz#01caabcd7e4715c33ad5e11cab260829714d6b9c" - integrity sha512-e82GVOE8Ps3E++Egvb6Y3Dw0S10u8NkQ9KXmtRhCWJJ8kDhOJTvtMAWnFL16kB1583goCWXsr0NieKCZMs2/0Q== +"@typescript-eslint/types@8.59.3", "@typescript-eslint/types@^8.59.3": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.59.3.tgz#b7ca539c5e302fdde9a7cadb73caed107ef8f2cd" + integrity sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg== "@typescript-eslint/typescript-estree@7.18.0": version "7.18.0" @@ -3739,55 +3547,30 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/typescript-estree@8.56.1": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz#3b9e57d8129a860c50864c42188f761bdef3eab0" - integrity sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg== - dependencies: - "@typescript-eslint/project-service" "8.56.1" - "@typescript-eslint/tsconfig-utils" "8.56.1" - "@typescript-eslint/types" "8.56.1" - "@typescript-eslint/visitor-keys" "8.56.1" - debug "^4.4.3" - minimatch "^10.2.2" - semver "^7.7.3" - tinyglobby "^0.2.15" - ts-api-utils "^2.4.0" - -"@typescript-eslint/typescript-estree@8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.2.tgz#6a217ef65b18dbd12c718fc86a675d1d7a1414cc" - integrity sha512-o0XPGNwcWw+FIwStOWn+BwBuEmL6QXP0rsvAFg7ET1dey1Nr6Wb1ac8p5HEsK0ygO/6mUxlk+YWQD9xcb/nnXg== +"@typescript-eslint/typescript-estree@8.59.3": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.3.tgz#e6bb1408e00b47e431427a40268db4e86cb121ab" + integrity sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg== dependencies: - "@typescript-eslint/project-service" "8.59.2" - "@typescript-eslint/tsconfig-utils" "8.59.2" - "@typescript-eslint/types" "8.59.2" - "@typescript-eslint/visitor-keys" "8.59.2" + "@typescript-eslint/project-service" "8.59.3" + "@typescript-eslint/tsconfig-utils" "8.59.3" + "@typescript-eslint/types" "8.59.3" + "@typescript-eslint/visitor-keys" "8.59.3" debug "^4.4.3" minimatch "^10.2.2" semver "^7.7.3" tinyglobby "^0.2.15" ts-api-utils "^2.5.0" -"@typescript-eslint/utils@8.56.1", "@typescript-eslint/utils@^8.0.0": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.56.1.tgz#5a86acaf9f1b4c4a85a42effb217f73059f6deb7" - integrity sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA== - dependencies: - "@eslint-community/eslint-utils" "^4.9.1" - "@typescript-eslint/scope-manager" "8.56.1" - "@typescript-eslint/types" "8.56.1" - "@typescript-eslint/typescript-estree" "8.56.1" - -"@typescript-eslint/utils@8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.59.2.tgz#ff619a6a3075f4017fa91b8610b752a8ca3366aa" - integrity sha512-Juw3EinkXqjaffxz6roowvV7GZT/kET5vSKKZT6upl5TXdWkLkYmNPXwDDL2Vkt2DPn0nODIS4egC/0AGxKo/Q== +"@typescript-eslint/utils@8.59.3", "@typescript-eslint/utils@^8.0.0": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.59.3.tgz#f693f979deb4dc3994de03ff8b23976d625c36c5" + integrity sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg== dependencies: "@eslint-community/eslint-utils" "^4.9.1" - "@typescript-eslint/scope-manager" "8.59.2" - "@typescript-eslint/types" "8.59.2" - "@typescript-eslint/typescript-estree" "8.59.2" + "@typescript-eslint/scope-manager" "8.59.3" + "@typescript-eslint/types" "8.59.3" + "@typescript-eslint/typescript-estree" "8.59.3" "@typescript-eslint/utils@^7.0.0": version "7.18.0" @@ -3807,74 +3590,66 @@ "@typescript-eslint/types" "7.18.0" eslint-visitor-keys "^3.4.3" -"@typescript-eslint/visitor-keys@8.56.1": - version "8.56.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz#50e03475c33a42d123dc99e63acf1841c0231f87" - integrity sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw== - dependencies: - "@typescript-eslint/types" "8.56.1" - eslint-visitor-keys "^5.0.0" - -"@typescript-eslint/visitor-keys@8.59.2": - version "8.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.2.tgz#5ccc486913cd347883d69158836b1189a660bfe6" - integrity sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA== +"@typescript-eslint/visitor-keys@8.59.3": + version "8.59.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.3.tgz#820843b1b5ca4290009cf189382abcf6fe00dfa6" + integrity sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg== dependencies: - "@typescript-eslint/types" "8.59.2" + "@typescript-eslint/types" "8.59.3" eslint-visitor-keys "^5.0.0" -"@typescript/native-preview-darwin-arm64@7.0.0-dev.20260507.1": - version "7.0.0-dev.20260507.1" - resolved "https://registry.yarnpkg.com/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260507.1.tgz#7cb3ea173af0b53a9fb9be0abfa463f583160746" - integrity sha512-2iWAWthp9tWDkgIOITi6GGQkEDQ8Mf+L28B83FR+MvvbLEtHJ5BIZoBOSBgKP5KW+eHlAv1LFUC9dggq1+NO0Q== - -"@typescript/native-preview-darwin-x64@7.0.0-dev.20260507.1": - version "7.0.0-dev.20260507.1" - resolved "https://registry.yarnpkg.com/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260507.1.tgz#b9888e50f94e8c0b381e391d0338bb69bb3ba331" - integrity sha512-pXBJx0gF4D9aNZsFavprlbPzL5clAvHsueaVpb3c7M8wv/3FFCdjK7NJUESxpK3+M1RW5MvNaKR6QTzkdunfvQ== - -"@typescript/native-preview-linux-arm64@7.0.0-dev.20260507.1": - version "7.0.0-dev.20260507.1" - resolved "https://registry.yarnpkg.com/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260507.1.tgz#c571db7eebb48a88128706772fdef48134aae3d6" - integrity sha512-0F2o8sbpSOHR04ghnhWPFsyuH9uew78v3fc2+tplxAnwZ5Wt72hk6Ka0yG07m8D6Ca0SK/GtTVIq7BfjmNCP8w== - -"@typescript/native-preview-linux-arm@7.0.0-dev.20260507.1": - version "7.0.0-dev.20260507.1" - resolved "https://registry.yarnpkg.com/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260507.1.tgz#266d293e1e161837cdbfc32916161c5a23d80f31" - integrity sha512-i2K4RRVjk9wSMpGcR5G2hKyUowSZMrnSKh5NYx1nVy6srBD7DVrTSBDH+KCVdAVAuZtsl0tOdVJixkRRjOsbpw== - -"@typescript/native-preview-linux-x64@7.0.0-dev.20260507.1": - version "7.0.0-dev.20260507.1" - resolved "https://registry.yarnpkg.com/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260507.1.tgz#fc2fc33252fc17e7ff552d8f284e379c91517175" - integrity sha512-dST5xeuhREr73obBJj4j5Dtf0dEQr6WuUyHIoLaVQCX9PZhWk0Iu2/9jJ0+Gtx7fh3jWGcidNPP1SgmSrXP6Sw== - -"@typescript/native-preview-win32-arm64@7.0.0-dev.20260507.1": - version "7.0.0-dev.20260507.1" - resolved "https://registry.yarnpkg.com/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260507.1.tgz#be92d0568c8df8fc637a47be6838a04d9ee842ed" - integrity sha512-21rGqCoY2FgnbY2YQFGoAnaHFs5kagwdCmGdn7GmsdNF7P3zvS1ag56BFRYITZ2xw02xYa0fvbXcIIycysBS1A== - -"@typescript/native-preview-win32-x64@7.0.0-dev.20260507.1": - version "7.0.0-dev.20260507.1" - resolved "https://registry.yarnpkg.com/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260507.1.tgz#8361c5a3c5154bec2ac3f6e0b505786bff179018" - integrity sha512-PORjTM6k/7ySuN7qbKKLKPJ5AlSQuZbaDkLsdQglapQySeHcrdjOhFl172U+V954sR+KhrE3ckhuinEH+Vjkug== - -"@typescript/native-preview@7.0.0-dev.20260507.1": - version "7.0.0-dev.20260507.1" - resolved "https://registry.yarnpkg.com/@typescript/native-preview/-/native-preview-7.0.0-dev.20260507.1.tgz#ed2707cc00ca85189c8b05205c313280c1817d96" - integrity sha512-1NCr79LEzPErrYtminofTji5EvFDYwJ2JDQfDhcQyP8XVJF93LZ5jiDXcYE2MgqDvwPUpaHMY8seC28jHrc/ew== +"@typescript/native-preview-darwin-arm64@7.0.0-dev.20260514.1": + version "7.0.0-dev.20260514.1" + resolved "https://registry.yarnpkg.com/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260514.1.tgz#bd26e70c052d7c87fd944d44549d598d1d876836" + integrity sha512-mA/BLJumVJ8JrJaUgl1wTzMbelXl/vuXc2AglltWSxQEL7+NtU3uG1gO+lT6igsFks7378zjEukSMmxv8FEPNw== + +"@typescript/native-preview-darwin-x64@7.0.0-dev.20260514.1": + version "7.0.0-dev.20260514.1" + resolved "https://registry.yarnpkg.com/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260514.1.tgz#9b168781ee740da2a751b4bb3e7fae8f1dda560a" + integrity sha512-ol5OctuUZDLzQrqDUfR758p3p4x7FDzbIzu6H0XffWi7FXj0eEyDthDfULyTQmTlE8dizxCmbzC7Uv0COeedrQ== + +"@typescript/native-preview-linux-arm64@7.0.0-dev.20260514.1": + version "7.0.0-dev.20260514.1" + resolved "https://registry.yarnpkg.com/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260514.1.tgz#02e26f42eb69acbed8c9a2d63205e556fd4360b1" + integrity sha512-7bz4QVWdlYm2BsDhqzpmUFSAA/l0W8+1hFto3Ssl/FADEWGIqwLk8/nEzZRMYtnCYjQx5KnRwmrcxnnZtD25jA== + +"@typescript/native-preview-linux-arm@7.0.0-dev.20260514.1": + version "7.0.0-dev.20260514.1" + resolved "https://registry.yarnpkg.com/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260514.1.tgz#65a1a4729000568519cf48d719a186d033281bc3" + integrity sha512-65TQUASi7+t81P94kyQopWchsVovWSfeXh5cPK2D5Oziga5of1Zzi6FQR1XUe48DYw5IBYN6DPXabcYG5Bd09A== + +"@typescript/native-preview-linux-x64@7.0.0-dev.20260514.1": + version "7.0.0-dev.20260514.1" + resolved "https://registry.yarnpkg.com/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260514.1.tgz#bf7d2e133776edd1b211a4e5f30e143be353e020" + integrity sha512-tdnkRgD+AUw+aJ2Uz1B/sAGcqCt7FgrQMyIdEmjJUiSneIb3PeS4oxsQKp7wnPsiqOcfUlpOp7/ZEJc1oJ5ySA== + +"@typescript/native-preview-win32-arm64@7.0.0-dev.20260514.1": + version "7.0.0-dev.20260514.1" + resolved "https://registry.yarnpkg.com/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260514.1.tgz#faa75bfe45fffb1073691512026df5291068b75b" + integrity sha512-9nERcpvv1Ok+IlBdCa9XNvcmNaV9HO3lSTPL1heyrgKFkOyNMxycej/FYRodXFcqZE/FMJCZ5U4lpI5MvivQXQ== + +"@typescript/native-preview-win32-x64@7.0.0-dev.20260514.1": + version "7.0.0-dev.20260514.1" + resolved "https://registry.yarnpkg.com/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260514.1.tgz#1234506cce255fd9885f298f0b709123521eb2a3" + integrity sha512-BFZ7ddWmFwpO+/zFEIsS2nZTD5jqixchvqeQGrPZMzd8y49RUfL5ztJm6h/jSUS8W3s/UGhQ2ibGfN0+rvfO+w== + +"@typescript/native-preview@7.0.0-dev.20260514.1": + version "7.0.0-dev.20260514.1" + resolved "https://registry.yarnpkg.com/@typescript/native-preview/-/native-preview-7.0.0-dev.20260514.1.tgz#e5d84dc5933f8afbc389793a75f1a9b6485f707e" + integrity sha512-gHvZOIbpls1d7Ly0wbVQxMX0EzJU+RBjsCX+AdbyMg3dfk+ET00HksIxn8E0W9+TH6z3ipW7Iitja3VgrgZaSA== optionalDependencies: - "@typescript/native-preview-darwin-arm64" "7.0.0-dev.20260507.1" - "@typescript/native-preview-darwin-x64" "7.0.0-dev.20260507.1" - "@typescript/native-preview-linux-arm" "7.0.0-dev.20260507.1" - "@typescript/native-preview-linux-arm64" "7.0.0-dev.20260507.1" - "@typescript/native-preview-linux-x64" "7.0.0-dev.20260507.1" - "@typescript/native-preview-win32-arm64" "7.0.0-dev.20260507.1" - "@typescript/native-preview-win32-x64" "7.0.0-dev.20260507.1" + "@typescript/native-preview-darwin-arm64" "7.0.0-dev.20260514.1" + "@typescript/native-preview-darwin-x64" "7.0.0-dev.20260514.1" + "@typescript/native-preview-linux-arm" "7.0.0-dev.20260514.1" + "@typescript/native-preview-linux-arm64" "7.0.0-dev.20260514.1" + "@typescript/native-preview-linux-x64" "7.0.0-dev.20260514.1" + "@typescript/native-preview-win32-arm64" "7.0.0-dev.20260514.1" + "@typescript/native-preview-win32-x64" "7.0.0-dev.20260514.1" "@ungap/structured-clone@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" - integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== + version "1.3.1" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.1.tgz#0e8f34854df7966b09304a18e808b23997bb9fc1" + integrity sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ== "@unrs/resolver-binding-android-arm-eabi@1.11.1": version "1.11.1" @@ -4107,9 +3882,14 @@ lodash "^4" "@xmldom/xmldom@^0.8.8": - version "0.8.11" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.11.tgz#b79de2d67389734c57c52595f7a7305e30c2d608" - integrity sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw== + version "0.8.13" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.13.tgz#00d1dd940b218dff2e49309d410d8bb212159225" + integrity sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw== + +"@xmldom/xmldom@^0.9.10": + version "0.9.10" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.9.10.tgz#a0ad5a26fe8aa996310870726e1704977f769dee" + integrity sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -4189,9 +3969,9 @@ ajv-keywords@^5.1.0: fast-deep-equal "^3.1.3" ajv@^6.12.5, ajv@^6.14.0: - version "6.14.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a" - integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw== + version "6.15.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.15.0.tgz#07e982c74626167aa7a2495c53817892d7139492" + integrity sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -4199,9 +3979,9 @@ ajv@^6.12.5, ajv@^6.14.0: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.9.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.18.0.tgz#8864186b6738d003eb3a933172bb3833e10cefbc" - integrity sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A== + version "8.20.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.20.0.tgz#304b3636add88ba7d936760dd50ece006dea95f9" + integrity sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA== dependencies: fast-deep-equal "^3.1.3" fast-uri "^3.0.1" @@ -4278,7 +4058,7 @@ ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== -anymatch@^3.0.3, anymatch@^3.1.3, anymatch@~3.1.2: +anymatch@^3.1.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -4409,12 +4189,12 @@ asap@~2.0.3, asap@~2.0.6: integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== asn1js@^3.0.6: - version "3.0.7" - resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.7.tgz#15f1f2f59e60f80d5b43ef14047a294a969f824f" - integrity sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ== + version "3.0.10" + resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.10.tgz#df26c874c8a8b41ca605efea47b2ad07551013dd" + integrity sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg== dependencies: pvtsutils "^1.3.6" - pvutils "^1.1.3" + pvutils "^1.1.5" tslib "^2.8.1" astral-regex@^1.0.0: @@ -4444,12 +4224,12 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -babel-jest@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-30.4.0.tgz#2fd1056412acce1108a1b96f7fadd08cb27c1d9d" - integrity sha512-GQ4CKCr1XQ1dettGyiDCPg2u4kP/nav2z9PugOM3Da5l3zpNzY9PRuxmN1dV714Ghm2fdkQLhNxlUopDcoKc6A== +babel-jest@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-30.4.1.tgz#63cba904438bbe64c4cf0acdea87b0a45cb809fc" + integrity sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw== dependencies: - "@jest/transform" "30.4.0" + "@jest/transform" "30.4.1" "@types/babel__core" "^7.20.5" babel-plugin-istanbul "^7.0.1" babel-preset-jest "30.4.0" @@ -4457,19 +4237,6 @@ babel-jest@30.4.0: graceful-fs "^4.2.11" slash "^3.0.0" -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - babel-loader@10.1.1: version "10.1.1" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-10.1.1.tgz#ce9748e85b7071eb88006e3cfa9e6cf14eeb97c5" @@ -4477,17 +4244,6 @@ babel-loader@10.1.1: dependencies: find-up "^5.0.0" -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - babel-plugin-istanbul@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz#d8b518c8ea199364cf84ccc82de89740236daf92" @@ -4506,16 +4262,6 @@ babel-plugin-jest-hoist@30.4.0: dependencies: "@types/babel__core" "^7.20.5" -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - babel-plugin-module-resolver@5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-5.0.3.tgz#13f03cf29048ad7e0239e6a1c4dcc669d199f394" @@ -4528,12 +4274,12 @@ babel-plugin-module-resolver@5.0.3: resolve "^1.22.8" babel-plugin-polyfill-corejs2@^0.4.14, babel-plugin-polyfill-corejs2@^0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz#808fa349686eea4741807cfaaa2aa3aa57ce120a" - integrity sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw== + version "0.4.17" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz#198f970f1c99a856b466d1187e88ce30bd199d91" + integrity sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w== dependencies: "@babel/compat-data" "^7.28.6" - "@babel/helper-define-polyfill-provider" "^0.6.6" + "@babel/helper-define-polyfill-provider" "^0.6.8" semver "^6.3.1" babel-plugin-polyfill-corejs3@^0.13.0: @@ -4545,19 +4291,19 @@ babel-plugin-polyfill-corejs3@^0.13.0: core-js-compat "^3.43.0" babel-plugin-polyfill-corejs3@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz#65b06cda48d6e447e1e926681f5a247c6ae2b9cf" - integrity sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ== + version "0.14.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz#6ac08d2f312affb70c4c69c0fbba4cb417ee5587" + integrity sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.6" + "@babel/helper-define-polyfill-provider" "^0.6.8" core-js-compat "^3.48.0" babel-plugin-polyfill-regenerator@^0.6.5, babel-plugin-polyfill-regenerator@^0.6.6: - version "0.6.6" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz#69f5dd263cab933c42fe5ea05e83443b374bd4bf" - integrity sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A== + version "0.6.8" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz#8a6bfd5dd54239362b3d06ce47ac52b2d95d7721" + integrity sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.6" + "@babel/helper-define-polyfill-provider" "^0.6.8" babel-plugin-react-compiler@1.0.0, babel-plugin-react-compiler@^1.0.0: version "1.0.0" @@ -4571,19 +4317,12 @@ babel-plugin-react-native-web@0.21.2, babel-plugin-react-native-web@~0.21.0: resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.21.2.tgz#d2f7fd673278da82577aa583457edb55d9cccbe0" integrity sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA== -babel-plugin-syntax-hermes-parser@0.32.0: - version "0.32.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.32.0.tgz#06f7452bf91adf6cafd7c98e7467404d4eb65cec" - integrity sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg== - dependencies: - hermes-parser "0.32.0" - -babel-plugin-syntax-hermes-parser@^0.32.0: - version "0.32.1" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.32.1.tgz#ececc38408d408744bff3091bb1c1379a96c3f02" - integrity sha512-HgErPZTghW76Rkq9uqn5ESeiD97FbqpZ1V170T1RG2RDp+7pJVQV2pQJs7y5YzN0/gcT6GM5ci9apRnIwuyPdQ== +babel-plugin-syntax-hermes-parser@0.33.3, babel-plugin-syntax-hermes-parser@^0.33.3: + version "0.33.3" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.33.3.tgz#07602f8163cc7e63c4ec17d47467f2a3c5db70e9" + integrity sha512-/Z9xYdaJ1lC0pT9do6TqCqhOSLfZ5Ot8D5za1p+feEfWYupCOfGbhhEXN9r2ZgJtDNUNRw/Z+T2CvAGKBqtqWA== dependencies: - hermes-parser "0.32.1" + hermes-parser "0.33.3" babel-plugin-transform-flow-enums@^0.0.2: version "0.0.2" @@ -4592,7 +4331,7 @@ babel-plugin-transform-flow-enums@^0.0.2: dependencies: "@babel/plugin-syntax-flow" "^7.12.1" -babel-preset-current-node-syntax@^1.0.0, babel-preset-current-node-syntax@^1.2.0: +babel-preset-current-node-syntax@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz#20730d6cdc7dda5d89401cab10ac6a32067acde6" integrity sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg== @@ -4613,34 +4352,53 @@ babel-preset-current-node-syntax@^1.0.0, babel-preset-current-node-syntax@^1.2.0 "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" -babel-preset-expo@55.0.21, babel-preset-expo@~55.0.21: - version "55.0.21" - resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-55.0.21.tgz#718b72d035a3e2f30d55c1d372c415f0083ee1d1" - integrity sha512-anXoUZBcxydLdVs2L+r3bWKGUvZv2FtgOl8xRJ12i/YfKICBpwTGZWSTiEYTqBByZ6GkA3mE9+3TW97X2ocFTQ== +babel-preset-expo@56.0.8, babel-preset-expo@~56.0.8: + version "56.0.8" + resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-56.0.8.tgz#a91cca8fb356ef587a5d484f91b59451ab604bf9" + integrity sha512-3aBfSlzxiwxDluv8yJ5+dWc1FAMe6wYNIFrdEHudfJShgiaAfcUQHisSo7yakpbuhhJMo+0zirgVTEKTwdwQdw== dependencies: "@babel/generator" "^7.20.5" "@babel/helper-module-imports" "^7.25.9" "@babel/plugin-proposal-decorators" "^7.12.9" "@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-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-class-static-block" "^7.27.1" + "@babel/plugin-transform-classes" "^7.25.4" + "@babel/plugin-transform-destructuring" "^7.24.8" "@babel/plugin-transform-export-namespace-from" "^7.25.9" "@babel/plugin-transform-flow-strip-types" "^7.25.2" + "@babel/plugin-transform-for-of" "^7.24.7" + "@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-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.28.6" + "@babel/plugin-transform-react-jsx-development" "^7.27.1" + "@babel/plugin-transform-react-pure-annotations" "^7.27.1" "@babel/plugin-transform-runtime" "^7.24.7" - "@babel/preset-react" "^7.22.15" + "@babel/plugin-transform-typescript" "^7.25.2" + "@babel/plugin-transform-unicode-regex" "^7.24.7" "@babel/preset-typescript" "^7.23.0" - "@react-native/babel-preset" "0.83.6" + "@react-native/babel-plugin-codegen" "0.85.3" babel-plugin-react-compiler "^1.0.0" babel-plugin-react-native-web "~0.21.0" - babel-plugin-syntax-hermes-parser "^0.32.0" + babel-plugin-syntax-hermes-parser "^0.33.3" babel-plugin-transform-flow-enums "^0.0.2" debug "^4.3.4" - resolve-from "^5.0.0" babel-preset-jest@30.4.0: version "30.4.0" @@ -4650,14 +4408,6 @@ babel-preset-jest@30.4.0: babel-plugin-jest-hoist "30.4.0" babel-preset-current-node-syntax "^1.2.0" -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -4669,21 +4419,21 @@ balanced-match@^4.0.2: integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== barcode-detector@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/barcode-detector/-/barcode-detector-3.1.0.tgz#ce340cead9f267951f4c53887ac24b64c21a79c4" - integrity sha512-aQjGxrgsb/WTlw6pHZwFRO6NhFMhwHGEkd0pzV25fBn8dnRA1PA1G7bLeAzvSea646S/96nW5W3jD8wezQZ1vQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/barcode-detector/-/barcode-detector-3.1.3.tgz#ea3224c8cf106b91e4f05a25ff0d798cb2b380a9" + integrity sha512-omL3/x26oU9jlR0gUQcGdXIjQtMlrUGKF7xRFO1RwrQkRkRU7WLz0mgQEsdUtYBm2uX3JH+HQLrKlyTS/BxZRw== dependencies: - zxing-wasm "3.0.0" + zxing-wasm "3.0.3" base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -baseline-browser-mapping@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz#5b09935025bf8a80e29130251e337c6a7fc8cbb9" - integrity sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA== +baseline-browser-mapping@^2.10.12: + version "2.10.29" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.29.tgz#47bdc13027af28d341f367a4f35a07ce872e27b4" + integrity sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ== batch@0.6.1: version "0.6.1" @@ -4712,10 +4462,12 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bippy@^0.5.39: - version "0.5.39" - resolved "https://registry.yarnpkg.com/bippy/-/bippy-0.5.39.tgz#495e8f360b89fa8ec63be345905cc765c8c79993" - integrity sha512-8hE8rKSl8JWyeaY+JjpnmceWAZPpLEyzOZQpWXM5Rc7861c5WotMJHy2aRZKZrGA8nMpvLNF01t4yQQ+HcZG3w== +bippy@^0.3.33: + version "0.3.34" + resolved "https://registry.yarnpkg.com/bippy/-/bippy-0.3.34.tgz#09e55333b37e34dd98cb0941e2970deecbfd50d5" + integrity sha512-vmptmU/20UdIWHHhq7qCSHhHzK7Ro3YJ1utU0fBG7ujUc58LEfTtilKxcF0IOgSjT5XLcm7CBzDjbv4lcKApGQ== + dependencies: + "@types/react-reconciler" "^0.28.9" bl@^4.1.0: version "4.1.0" @@ -4741,10 +4493,10 @@ body-parser@^2.2.2: raw-body "^3.0.1" type-is "^2.0.1" -body-parser@~1.20.3: - version "1.20.4" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.4.tgz#f8e20f4d06ca8a50a71ed329c15dccad1cdc547f" - integrity sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA== +body-parser@~1.20.5: + version "1.20.5" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.5.tgz#303c8c34423d1d6fa799bc764e93c1e4dc6ebf64" + integrity sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA== dependencies: bytes "~3.1.2" content-type "~1.0.5" @@ -4754,7 +4506,7 @@ body-parser@~1.20.3: http-errors "~2.0.1" iconv-lite "~0.4.24" on-finished "~2.4.1" - qs "~6.14.0" + qs "~6.15.1" raw-body "~2.5.3" type-is "~1.6.18" unpipe "~1.0.0" @@ -4794,24 +4546,24 @@ bplist-parser@^0.3.1: big-integer "1.6.x" brace-expansion@^1.1.7: - version "1.1.13" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.13.tgz#d37875c01dc9eff988dd49d112a57cb67b54efe6" - integrity sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w== + version "1.1.14" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.14.tgz#d9de602370d91347cd9ddad1224d4fd701eb348b" + integrity sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" brace-expansion@^2.0.1, brace-expansion@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.3.tgz#0493338bdd58e319b1039c67cf7ee439892c01d9" - integrity sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA== + version "2.1.0" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.1.0.tgz#4f41a41190216ee36067ec381526fe9539c4f0ae" + integrity sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w== dependencies: balanced-match "^1.0.0" -brace-expansion@^5.0.2, brace-expansion@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.5.tgz#dcc3a37116b79f3e1b46db994ced5d570e930fdb" - integrity sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ== +brace-expansion@^5.0.5: + version "5.0.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.6.tgz#ec68fe0a641a29d8711579caf641d05bae1f2285" + integrity sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g== dependencies: balanced-match "^4.0.2" @@ -4823,15 +4575,15 @@ braces@^3.0.3, braces@~3.0.2: fill-range "^7.1.1" browserslist@^4.24.0, browserslist@^4.25.0, browserslist@^4.28.1: - version "4.28.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95" - integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== + version "4.28.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.2.tgz#f50b65362ef48974ca9f50b3680566d786b811d2" + integrity sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg== dependencies: - baseline-browser-mapping "^2.9.0" - caniuse-lite "^1.0.30001759" - electron-to-chromium "^1.5.263" - node-releases "^2.0.27" - update-browserslist-db "^1.2.0" + baseline-browser-mapping "^2.10.12" + caniuse-lite "^1.0.30001782" + electron-to-chromium "^1.5.328" + node-releases "^2.0.36" + update-browserslist-db "^1.2.3" bser@2.1.1: version "2.1.1" @@ -4875,7 +4627,7 @@ bytestreamjs@^2.0.1: resolved "https://registry.yarnpkg.com/bytestreamjs/-/bytestreamjs-2.0.1.tgz#a32947c7ce389a6fa11a09a9a563d0a45889535e" integrity sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ== -call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== @@ -4883,14 +4635,14 @@ call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply- es-errors "^1.3.0" function-bind "^1.1.2" -call-bind@^1.0.7, call-bind@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" - integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== +call-bind@^1.0.7, call-bind@^1.0.8, call-bind@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.9.tgz#39a644700c80bc7d0ca9102fc6d1d43b2fd7eee7" + integrity sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ== dependencies: - call-bind-apply-helpers "^1.0.0" - es-define-property "^1.0.0" - get-intrinsic "^1.2.4" + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + get-intrinsic "^1.3.0" set-function-length "^1.2.2" call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: @@ -4924,10 +4676,10 @@ camelcase@^6.2.0, camelcase@^6.3.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001759: - version "1.0.30001774" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz#0e576b6f374063abcd499d202b9ba1301be29b70" - integrity sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA== +caniuse-lite@^1.0.30001782: + version "1.0.30001792" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001792.tgz#ca8bb9be244835a335e2018272ce7223691873c5" + integrity sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw== chalk@^2.0.1, chalk@^2.4.2: version "2.4.2" @@ -4946,11 +4698,6 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.3.0: - version "5.6.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea" - integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA== - char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -4986,17 +4733,16 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== -chromium-edge-launcher@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz#0c378f28c99aefc360705fa155de0113997f62fc" - integrity sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg== +chromium-edge-launcher@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/chromium-edge-launcher/-/chromium-edge-launcher-0.3.0.tgz#34d5ca8142fc059ea2b4482bdcb184393a399ffe" + integrity sha512-p03azHlGjtyRvFEee3cyvtsRYdniSkwjkzmM/KmVnqT5d7QkkwpJBhis/zCLMYdQMVJ5tt140TBNqqrZPaWeFA== dependencies: "@types/node" "*" escape-string-regexp "^4.0.0" is-wsl "^2.2.0" lighthouse-logger "^1.0.0" mkdirp "^1.0.4" - rimraf "^3.0.2" ci-info@^2.0.0: version "2.0.0" @@ -5039,14 +4785,7 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-cursor@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" - integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== - dependencies: - restore-cursor "^5.0.0" - -cli-spinners@^2.0.0, cli-spinners@^2.5.0, cli-spinners@^2.9.2: +cli-spinners@^2.0.0, cli-spinners@^2.5.0: version "2.9.2" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== @@ -5112,27 +4851,11 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@^1.0.0, color-name@~1.1.4: +color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" - integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== - dependencies: - color-convert "^2.0.1" - color-string "^1.9.0" - colorette@^1.0.7: version "1.4.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" @@ -5251,16 +4974,16 @@ cookie@~0.7.1: integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== core-js-compat@^3.43.0, core-js-compat@^3.48.0: - version "3.48.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.48.0.tgz#7efbe1fc1cbad44008190462217cc5558adaeaa6" - integrity sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q== + version "3.49.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.49.0.tgz#06145447d92f4aaf258a0c44f24b47afaeaffef6" + integrity sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA== dependencies: browserslist "^4.28.1" core-js-pure@^3.23.3: - version "3.48.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.48.0.tgz#7d5a3fe1ec3631b9aa76a81c843ac2ce918e5023" - integrity sha512-1slJgk89tWC51HQ1AEqG+s2VuwpTRr8ocu4n20QUcH1v9lAN0RXen0Q0AABa/DK1I7RrNWLucplOHMx8hfTGTw== + version "3.49.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.49.0.tgz#ff8436b7251a3832f5fdbbe3e10f7f2e58e51fb1" + integrity sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw== core-util-is@~1.0.0: version "1.0.3" @@ -5268,9 +4991,9 @@ core-util-is@~1.0.0: integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" - integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== + version "9.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.1.tgz#df110631a8547b5d1a98915271986f06e3011379" + integrity sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ== dependencies: env-paths "^2.2.1" import-fresh "^3.3.0" @@ -5397,9 +5120,9 @@ date-fns@4.1.0: integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg== dayjs@^1.8.15: - version "1.11.19" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.19.tgz#15dc98e854bb43917f12021806af897c58ae2938" - integrity sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw== + version "1.11.20" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.20.tgz#88d919fd639dc991415da5f4cb6f1b6650811938" + integrity sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ== debug@2.6.9, debug@^2.6.9: version "2.6.9" @@ -5432,10 +5155,10 @@ decimal.js@^10.5.0: resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a" integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== -decode-uri-component@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== +decode-uri-component@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.4.1.tgz#2ac4859663c704be22bf7db760a1494a49ab2cc5" + integrity sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ== dedent@^1.6.0: version "1.7.2" @@ -5535,14 +5258,6 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== -dir-compare@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-4.2.0.tgz#d1d4999c14fbf55281071fdae4293b3b9ce86f19" - integrity sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ== - dependencies: - minimatch "^3.0.5" - p-limit "^3.1.0 " - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -5643,15 +5358,15 @@ electron-positioner@^4.1.0: resolved "https://registry.yarnpkg.com/electron-positioner/-/electron-positioner-4.1.0.tgz#e158f8f6aabd6725a8a9b4f2279b9504bcbea1b0" integrity sha512-726DfbI9ZNoCg+Fcu6XLuTKTnzf+6nFqv7h+K/V6Ug7IbaPMI7s9S8URnGtWFCy5N5PL4HSzRFF2mXuinftDdg== -electron-to-chromium@^1.5.263: - version "1.5.302" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz#032a5802b31f7119269959c69fe2015d8dad5edb" - integrity sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg== +electron-to-chromium@^1.5.328: + version "1.5.353" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.353.tgz#01e8a8e25a0bf13e631106045f177d0568ca91c2" + integrity sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w== -electron@42.0.0: - version "42.0.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-42.0.0.tgz#bef7804497798418dec22285e9157e5d2d0b34e2" - integrity sha512-in5jnW/Ywy3Rh3FPr4MR80exPEkywKYAmDJRZ/gIKlr8VXEi3zXgiAZbf0Si7KRccHTF2y8euVMRz7M6HqTjMA== +electron@42.0.1: + version "42.0.1" + resolved "https://registry.yarnpkg.com/electron/-/electron-42.0.1.tgz#0f5d7a76d7dbc97db90f9847d9c6c3fa3ea34c99" + integrity sha512-d8HnycE970DGESe91Nj30eonFBUcAI9EZ1TwUGJVzSAnJZdh0BkFEinAXjdklvDYst+bVDc8HsksCuqVLrnqdg== dependencies: "@electron/get" "^5.0.0" "@types/node" "^24.9.0" @@ -5667,7 +5382,7 @@ emoji-datasource-apple@16.0.0: resolved "https://registry.yarnpkg.com/emoji-datasource-apple/-/emoji-datasource-apple-16.0.0.tgz#c6e0794c1fd1b88765b880b2137e11d8efa94020" integrity sha512-dVYjsK0FnCry9F+PBtnivhG2K0xdwlmqYaSgiUtztUdAGPYiHYhZcVKvNBqC791g2qyEcFNTBO6utg4eQ3uLTw== -emoji-regex@10.6.0, emoji-regex@^10.3.0: +emoji-regex@10.6.0: version "10.6.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.6.0.tgz#bf3d6e8f7f8fd22a65d9703475bc0147357a6b0d" integrity sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A== @@ -5705,12 +5420,12 @@ end-of-stream@^1.1.0: once "^1.4.0" enhanced-resolve@^5.20.0: - version "5.20.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz#323c2a70d2aa7fb4bdfd6d3c24dfc705c581295d" - integrity sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ== + version "5.21.3" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.21.3.tgz#fa7fed23679e9169dfb705b8e201924421c4414a" + integrity sha512-QyL119InA+XXEkNLNTPCXPugSvOfhwv0JOlGNzvxs0hZaiHLNvXSpudUWsOlsXGWJh8G6ckCScEkVHfX3kw/2Q== dependencies: graceful-fs "^4.2.4" - tapable "^2.3.0" + tapable "^2.3.3" entities@^2.0.0: version "2.2.0" @@ -5764,10 +5479,10 @@ errorhandler@^1.5.1: accepts "~1.3.8" escape-html "~1.0.3" -es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0, es-abstract@^1.24.1: - version "1.24.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.1.tgz#f0c131ed5ea1bb2411134a8dd94def09c46c7899" - integrity sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw== +es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0, es-abstract@^1.24.2: + version "1.24.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.2.tgz#2dbd38c180735ee983f77585140a2706a963ed9a" + integrity sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg== dependencies: array-buffer-byte-length "^1.0.2" arraybuffer.prototype.slice "^1.0.4" @@ -5835,14 +5550,14 @@ es-errors@^1.3.0: integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-iterator-helpers@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz#d979a9f686e2b0b72f88dbead7229924544720bc" - integrity sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w== + version "1.3.2" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz#8f4ff1f3603cbd09fbdb72c747a679779a65cc7f" + integrity sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw== dependencies: - call-bind "^1.0.8" + call-bind "^1.0.9" call-bound "^1.0.4" define-properties "^1.2.1" - es-abstract "^1.24.1" + es-abstract "^1.24.2" es-errors "^1.3.0" es-set-tostringtag "^2.1.0" function-bind "^1.1.2" @@ -5854,12 +5569,12 @@ es-iterator-helpers@^1.2.1: has-symbols "^1.1.0" internal-slot "^1.1.0" iterator.prototype "^1.1.5" - safe-array-concat "^1.1.3" + math-intrinsics "^1.1.0" es-module-lexer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.0.0.tgz#f657cd7a9448dcdda9c070a3cb75e5dc1e85f5b1" - integrity sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.1.0.tgz#1dfcbb5ea3bbfb63f28e1fc3676c3676d1c9624c" + integrity sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ== es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" @@ -5894,6 +5609,38 @@ es-to-primitive@^1.3.0: is-date-object "^1.0.5" is-symbol "^1.0.4" +esbuild@^0.25.0: + version "0.25.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.12.tgz#97a1d041f4ab00c2fce2f838d2b9969a2d2a97a5" + integrity sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg== + optionalDependencies: + "@esbuild/aix-ppc64" "0.25.12" + "@esbuild/android-arm" "0.25.12" + "@esbuild/android-arm64" "0.25.12" + "@esbuild/android-x64" "0.25.12" + "@esbuild/darwin-arm64" "0.25.12" + "@esbuild/darwin-x64" "0.25.12" + "@esbuild/freebsd-arm64" "0.25.12" + "@esbuild/freebsd-x64" "0.25.12" + "@esbuild/linux-arm" "0.25.12" + "@esbuild/linux-arm64" "0.25.12" + "@esbuild/linux-ia32" "0.25.12" + "@esbuild/linux-loong64" "0.25.12" + "@esbuild/linux-mips64el" "0.25.12" + "@esbuild/linux-ppc64" "0.25.12" + "@esbuild/linux-riscv64" "0.25.12" + "@esbuild/linux-s390x" "0.25.12" + "@esbuild/linux-x64" "0.25.12" + "@esbuild/netbsd-arm64" "0.25.12" + "@esbuild/netbsd-x64" "0.25.12" + "@esbuild/openbsd-arm64" "0.25.12" + "@esbuild/openbsd-x64" "0.25.12" + "@esbuild/openharmony-arm64" "0.25.12" + "@esbuild/sunos-x64" "0.25.12" + "@esbuild/win32-arm64" "0.25.12" + "@esbuild/win32-ia32" "0.25.12" + "@esbuild/win32-x64" "0.25.12" + escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" @@ -5919,6 +5666,11 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + eslint-config-prettier@^8.5.0: version "8.10.2" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.2.tgz#0642e53625ebc62c31c24726b0f050df6bd97a2e" @@ -5950,9 +5702,9 @@ eslint-plugin-ft-flow@^2.0.1: string-natural-compare "^3.0.1" eslint-plugin-jest@^29.0.1: - version "29.15.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-29.15.0.tgz#58a5917a88244f7536ae10c68b5bd58d407896f0" - integrity sha512-ZCGr7vTH2WSo2hrK5oM2RULFmMruQ7W3cX7YfwoTiPfzTGTFBMmrVIz45jZHd++cGKj/kWf02li/RhTGcANJSA== + version "29.15.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-29.15.2.tgz#e4ecd1c88dfb8a62b4a0857724792c2aab7e9b6d" + integrity sha512-kEN4r9RZl1xcsb4arGq89LrcVdOUFII/JSCwtTPJyv16mDwmPrcuEQwpxqZHeINvcsd7oK5O/rhdGlxFRaZwvQ== dependencies: "@typescript-eslint/utils" "^8.0.0" @@ -5975,7 +5727,7 @@ eslint-plugin-react-compiler@19.1.0-rc.2: zod "^3.22.4" zod-validation-error "^3.0.3" -eslint-plugin-react-hooks@7.1.1: +eslint-plugin-react-hooks@7.1.1, eslint-plugin-react-hooks@^7.0.1: version "7.1.1" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz#e6742cad75d970c0a3f30d7d3fa80a4784f55927" integrity sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g== @@ -5986,30 +5738,19 @@ eslint-plugin-react-hooks@7.1.1: zod "^3.25.0 || ^4.0.0" zod-validation-error "^3.5.0 || ^4.0.0" -eslint-plugin-react-hooks@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz#66e258db58ece50723ef20cc159f8aa908219169" - integrity sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA== - dependencies: - "@babel/core" "^7.24.4" - "@babel/parser" "^7.24.4" - hermes-parser "^0.25.1" - zod "^3.25.0 || ^4.0.0" - zod-validation-error "^3.5.0 || ^4.0.0" - eslint-plugin-react-native-globals@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz#ee1348bc2ceb912303ce6bdbd22e2f045ea86ea2" integrity sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g== -eslint-plugin-react-native@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz#5343acd3b2246bc1b857ac38be708f070d18809f" - integrity sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q== +eslint-plugin-react-native@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-5.0.0.tgz#2ee990ba4967c557183b31121578547fb5c02d5d" + integrity sha512-VyWlyCC/7FC/aONibOwLkzmyKg4j9oI8fzrk9WYNs4I8/m436JuOTAFwLvEn1CVvc7La4cPfbCyspP4OYpP52Q== dependencies: eslint-plugin-react-native-globals "^0.1.1" -eslint-plugin-react@7.37.5, eslint-plugin-react@^7.30.1: +eslint-plugin-react@7.37.5, eslint-plugin-react@^7.37.5: version "7.37.5" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz#2975511472bdda1b272b34d779335c9b0e877065" integrity sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA== @@ -6145,6 +5886,13 @@ estree-walker@^2.0.2: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== +estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -6190,209 +5938,204 @@ exit-x@^0.2.2: resolved "https://registry.yarnpkg.com/exit-x/-/exit-x-0.2.2.tgz#1f9052de3b8d99a696b10dad5bced9bdd5c3aa64" integrity sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ== -expect@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-30.4.0.tgz#d150fa232627891b0a987ecc30dfd642e16379fb" - integrity sha512-wwj3yHn8F2Uj4fyL+2n1M1cjfYFGtYq7cF00OjMHBxX5eTeX/EcVdHHIMkhxO6nFfopwHtaQEasP1WfxzQaZPg== - dependencies: - "@jest/expect-utils" "30.4.0" - "@jest/get-type" "30.1.0" - jest-matcher-utils "30.4.0" - jest-message-util "30.4.0" - jest-mock "30.4.0" - jest-util "30.4.0" - -expect@^30.0.0: - version "30.3.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-30.3.0.tgz#1b82111517d1ab030f3db0cf1b4061c8aa644f61" - integrity sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q== +expect@30.4.1, expect@^30.0.0: + version "30.4.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-30.4.1.tgz#897e0390a0b6c333dbcf3a24dee3ad49553577e0" + integrity sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA== dependencies: - "@jest/expect-utils" "30.3.0" + "@jest/expect-utils" "30.4.1" "@jest/get-type" "30.1.0" - jest-matcher-utils "30.3.0" - jest-message-util "30.3.0" - jest-mock "30.3.0" - jest-util "30.3.0" + jest-matcher-utils "30.4.1" + jest-message-util "30.4.1" + jest-mock "30.4.1" + jest-util "30.4.1" -expo-asset@55.0.17, expo-asset@~55.0.17: - version "55.0.17" - resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-55.0.17.tgz#750a27685ea118417473f4f293c5a35116b572d4" - integrity sha512-pK9HHJuFqjE8kDUcbMFsZj3Cz8WdXpvZHZmYl7ouFQp59P83BvHln6VnqPDGlO+/4929G0Lm8ZUzbONuNRhi9w== +expo-asset@56.0.9, expo-asset@~56.0.9: + version "56.0.9" + resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-56.0.9.tgz#aa2b744b558584f86ecd75d4d49e53467a063846" + integrity sha512-S+l5iR62DdAtM62FTkN6haSFe+Zy2ezf8nNCuCDwv8ZNH/Nat7ekcpMJKBs0Bq6zLFJkby9Cc9RXciDId8KlOg== dependencies: - "@expo/image-utils" "^0.8.14" - expo-constants "~55.0.16" + "@expo/image-utils" "^0.9.2" + expo-constants "~56.0.10" -expo-audio@55.0.14: - version "55.0.14" - resolved "https://registry.yarnpkg.com/expo-audio/-/expo-audio-55.0.14.tgz#2a2b8f420eb860f15f2de9ffaedf21156139a889" - integrity sha512-Biy6ffKXrnKHgcWSVWLKVdWLNhV/pj1JWJeotY6nDR6fVe8mjXQDCvi6EbaSFPdffVHym6UB2siKzWUNSnG+kQ== +expo-audio@56.0.6: + version "56.0.6" + resolved "https://registry.yarnpkg.com/expo-audio/-/expo-audio-56.0.6.tgz#a3744afd8f7bcd6245a9e8b3d74bdeeb379ba5d1" + integrity sha512-vuTyAnY33uiORHHGpXAmmk5gem89Bp/e2S7LkSfcHnrzOQ3Klo7Aw3XYOpYdK2HGECp1XfSq2AoVzbMyVLuutA== -expo-camera@55.0.18: - version "55.0.18" - resolved "https://registry.yarnpkg.com/expo-camera/-/expo-camera-55.0.18.tgz#c7d6e67ae5d8b3434d1c8b6d8c4b9f3cc6e772a3" - integrity sha512-Us/7JV6O1lHpLBGKJnK2s8gzmPcmMVJSV5586DBeO7x7AXzmvvVGtH+0nJRVIBE3MNzGzGWyfgievjr8QlE7dA== +expo-camera@56.0.5: + version "56.0.5" + resolved "https://registry.yarnpkg.com/expo-camera/-/expo-camera-56.0.5.tgz#b230b288bcca48c2d7b2f4538c4c2301d301138f" + integrity sha512-mJXk4a/f07XT7TXQZ49KI4gk5+kARzJDAghVkZ3q+Fjyb/mEJ4fsYWz3yVfx3sb1pAaoq0AX5821yd8x2vo+cA== dependencies: barcode-detector "^3.0.0" -expo-clipboard@55.0.13: - version "55.0.13" - resolved "https://registry.yarnpkg.com/expo-clipboard/-/expo-clipboard-55.0.13.tgz#29e9920bf3b22fe80378f438aa9929e7cbcd289c" - integrity sha512-PrOmmuVsGW4bAkNQmGKtxMXj3invsfN+jfIKmQxHwE/dn7ODqwFWviUTa+PMUjP3XZmYCDLyu/i0GLeu7HF9Ew== +expo-clipboard@56.0.3: + version "56.0.3" + resolved "https://registry.yarnpkg.com/expo-clipboard/-/expo-clipboard-56.0.3.tgz#8adb541e17b8a2ed4edbe611cf165492c395c883" + integrity sha512-8mCdhmAomm0yBIonJFjAhKUXvSkc2avdNh4+rBwoe7DSWF2AC4w3uy+pa419rvVFbTyVxOBmh83UHAbUwD6qAg== -expo-constants@~55.0.16: - version "55.0.16" - resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-55.0.16.tgz#b2ffdc354716488aa38684c8cbf097150089b9b7" - integrity sha512-Z15/No94UHoogD+pulxjudGAeOHTEIWZgb/vnX48Wx5D+apWTeCbnKxQZZtGQlosvduYL5kaic2/W8U+NHfBQQ== +expo-constants@~56.0.10: + version "56.0.10" + resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-56.0.10.tgz#c88cb81a0ba7bf29c2d2649afb67cd05eb1aa008" + integrity sha512-hsL+4aJZ87qWXEeSAZKSFBNGSC7DoRj6lDXGKSiN/2FFYqN4VFDPCVg9WoECCoh1/+iOMql0LsmBrNO7IofdqQ== dependencies: - "@expo/env" "~2.1.2" + "@expo/env" "~2.2.0" -expo-contacts@55.0.14: - version "55.0.14" - resolved "https://registry.yarnpkg.com/expo-contacts/-/expo-contacts-55.0.14.tgz#311a17feeb57e1ea5a59683df3d4fe95407b9c4a" - integrity sha512-JuZCg0H8aVdk6mPzK3rJmHA3CPQh5R6S77RC3w7kVd2bKTJzRq/VfhYHi1lNo5d5tDABM+sWBz1kOYCzHysLyA== +expo-contacts@56.0.4: + version "56.0.4" + resolved "https://registry.yarnpkg.com/expo-contacts/-/expo-contacts-56.0.4.tgz#aee34c825d296bb0ffc0623f7d557fd04c842ce0" + integrity sha512-IqzzOicAcgxhuOp0vl+3GYNRWyECJmY+dbOLiQalwnE++Xge3hNNNbmmYSuG1PCxfC0topXZg/igussbbIZ4Pw== -expo-document-picker@55.0.13: - version "55.0.13" - resolved "https://registry.yarnpkg.com/expo-document-picker/-/expo-document-picker-55.0.13.tgz#f580ea88252c3608d23be1cd3fb0c5a08c0898e2" - integrity sha512-IhswJElhdzs3fKDEKW8KXYRoFkWGEsXRMYAZT46Yo56zqqy8yQXrczo33RSwD2hFzNQBdLT97SJL9N311UyS3g== +expo-document-picker@56.0.3: + version "56.0.3" + resolved "https://registry.yarnpkg.com/expo-document-picker/-/expo-document-picker-56.0.3.tgz#0a217a74f26f9d7291f55cf46a8c878f120e28bc" + integrity sha512-6ibeQkWfLl3xM9sNUaYthdqkz4d5UMIutDZhwgPDAZQZVxOFqE++u1zT1NO4JdmuUuOiOgsbZ5oYVQ1YBiKBtQ== -expo-file-system@55.0.19, expo-file-system@~55.0.19: - version "55.0.19" - resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-55.0.19.tgz#7a714ad1b3bbcc41bdc0c0942dbd131f15a6c472" - integrity sha512-c4smCbMqELLI3YQrGpw21MwZIREXM2e53vQD/+KWQcae1q+hgw8J2TroEqcQ/jVOtFpZYVvyVfgu4HDKNEKmNw== +expo-file-system@56.0.4, expo-file-system@~56.0.4: + version "56.0.4" + resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-56.0.4.tgz#c87019faa2a52f21e435b1c927cfec8ede058ee5" + integrity sha512-tv+iwxY6mi85+rnOo5HXsVdNim8SuYAk1fpXUXoGzHgr8GTPCnAxjbVb1W1A93Pl0a5Q2qY4tp4eHLmH+TJBVQ== -expo-font@~55.0.7: - version "55.0.7" - resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-55.0.7.tgz#f89a5d9a71618d88abd4aa0d76f74070f803ff79" - integrity sha512-oH39Xb+3i6Y69b7YRP+P+5WLx7621t+ep/RAgLwJJYpTjs7CnSohUG+873rEtqsTAuQGi63ms7x9ZeHj1E9LYw== +expo-font@~56.0.3: + version "56.0.3" + resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-56.0.3.tgz#38b1a8c79873450d46ca8f04d8086c4774c79bc9" + integrity sha512-23Yyu2qMztdIPGQKK5VPGS0GR3CrMHGWebl4/YnSvZZoM3TCGF2ydmB/RjMgijIj4hlpgi21JstIM6fe95Xl3g== dependencies: fontfaceobserver "^2.1.0" -expo-haptics@55.0.14: - version "55.0.14" - resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-55.0.14.tgz#9532ba088ee7eae561ad0ef5552c78f33161998a" - integrity sha512-KjDItBsA9mi1f5nRwf8g1wOdfEcLHwvEdt5Jl1sMCDETR/homcGOl+F3QIiPOl/PRlbGVieQsjTtF4DGtHOj6g== +expo-haptics@56.0.3: + version "56.0.3" + resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-56.0.3.tgz#55112832e0834ca8f505ee099f70092cfacdd945" + integrity sha512-ycoahZJnR9tWAVh/0mJYxbETtHRYaWjiWS8cHlP6aDGU6Q6Y8rZ5NKsuBwWw6HR2Pe30mfVFgbF2HrBR6gtYmw== -expo-image-loader@~55.0.0: - version "55.0.0" - resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-55.0.0.tgz#56ae6631a0f43191432296a1f7f1e9737e653cfe" - integrity sha512-NOjp56wDrfuA5aiNAybBIjqIn1IxKeGJ8CECWZncQ/GzjZfyTYAHTCyeApYkdKkMBLHINzI4BbTGSlbCa0fXXQ== +expo-image-loader@~56.0.3: + version "56.0.3" + resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-56.0.3.tgz#665112665e78d0fd9629f6160e2ca419d7f0c5c6" + integrity sha512-JgUo4fUeU1ZC+z8iBFj8v7yoGQnZrLbOVPyNE+DWVrld55F2F6R1ck+rmdm/8TNWLz1LhNQfD7c3XYP1ZikxXA== -expo-image-picker@55.0.20: - version "55.0.20" - resolved "https://registry.yarnpkg.com/expo-image-picker/-/expo-image-picker-55.0.20.tgz#42660178a00371df03f5633856dbaad36fec96ee" - integrity sha512-lfWt/0rPWdKz8AdDEGmGHZIJSNlVc720Dlx5bfou10FU16ZV5wAbTU63nm2jkXd8hbXke4a/2Ha1dzxCVA+LQQ== +expo-image-picker@56.0.8: + version "56.0.8" + resolved "https://registry.yarnpkg.com/expo-image-picker/-/expo-image-picker-56.0.8.tgz#0aee491d01beb8b7fbf735e75ee0b7609b56fa1c" + integrity sha512-1wLccYZc9B4HNe/Y5DSInNOl/gDXJYyssFe3bFmhXmKsM8Oiyo5uRjsU9oosJZhP7ExUo0/7zjoM1BmhDgvtDg== dependencies: - expo-image-loader "~55.0.0" + expo-image-loader "~56.0.3" -expo-image@55.0.10: - version "55.0.10" - resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-55.0.10.tgz#88f0c584c53e9f43ae40359937f4ce091f32c66a" - integrity sha512-We+vq/Z8jy8zmGxcOP8vrhiWkkwyXFdSks8cSlPi0bpu6D0Ei6l9Nj2xHWCD+yoENh92aCEe1+QRujAwXbogGA== +expo-image@56.0.4: + version "56.0.4" + resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-56.0.4.tgz#d69142def1db8b09da8e11131b28bab39487bd9a" + integrity sha512-SMl8ShjHM23Ex1s6QRDIvB/B4tkOaCYY1hhVV8i0tCvUE582oeJtxcxQ4R2TcWsTXyGNot+64yKHkr5kUTuiTQ== dependencies: sf-symbols-typescript "^2.2.0" -expo-keep-awake@~55.0.8: - version "55.0.8" - resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-55.0.8.tgz#007e9ab9508c6e9dc606be6ceb7bbd2036c7ac58" - integrity sha512-PfIpMfM+STOBwkR5XOE+yVtER86c44MD+W8QD8JxuO0sT9pF7Y1SJYakWlpvX8xsGA+bjKLxftm9403s9kQhKA== +expo-keep-awake@~56.0.3: + version "56.0.3" + resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-56.0.3.tgz#88991b4859c77af73cf68c500839a18fe5d8febe" + integrity sha512-CLMJXtEiMKknD3Rpm8CRwE6ZJUzu2yCEmRk1sgfHAJ1zIbuEWY3dpPDubtsnuzWm+2k6Sru+yaFbYsvPWmTiBA== -expo-localization@55.0.13: - version "55.0.13" - resolved "https://registry.yarnpkg.com/expo-localization/-/expo-localization-55.0.13.tgz#fd999125aaebaae19545f536c8f246dcffdff9b7" - integrity sha512-fXiEUUihIrXmAEzoneaTOFcQ7TKmr25RR/ymrB/MvYTVnmevFA1zY2KI0VSiXY+NKKjZ8mG65YSn1wh4gEYKxA== +expo-localization@56.0.4: + version "56.0.4" + resolved "https://registry.yarnpkg.com/expo-localization/-/expo-localization-56.0.4.tgz#342fde17fa6f9d6dc281fddcaef919e6c8b8cfaa" + integrity sha512-hBK2uj7mhMGtPlWPCt19+OPi+tzyweofcUWkrBypcosHGhPT+nbFdfPMdluWMpHx8ERWDOCh3zrx+yTXZ8eHBQ== dependencies: rtl-detect "^1.0.2" -expo-location@55.1.9: - version "55.1.9" - resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-55.1.9.tgz#fa7d8179f7b46e7ed7a079384383e51ec9ab5f3a" - integrity sha512-PIH9/qeyhtGh190FyIJNZYHXZOoi42SbVHY9IoTMBmqWLHf1BJyGhPpFlaLBSCjxObqfVZmrWsN5dtjueSwYQA== +expo-location@56.0.8: + version "56.0.8" + resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-56.0.8.tgz#713c554fb9f971728c8c24e71980abe5ad8ab1fa" + integrity sha512-DecK9oGF4q5tptsU6i6W0ZwW5pjIv8j7YrXM7xxifgC0qE6yk9BXva8Q3PSML+2ZRWGS1qyi7WFX/+g7Mj4OIw== dependencies: - "@expo/image-utils" "^0.8.13" + "@expo/image-utils" "^0.9.2" -expo-mail-composer@55.0.13: - version "55.0.13" - resolved "https://registry.yarnpkg.com/expo-mail-composer/-/expo-mail-composer-55.0.13.tgz#2b5561e9ec34f68c41c155b7f3c10471b972098c" - integrity sha512-XMcP5uosKy1vW63c+8/Gb6FA5VU3W6UQpZGkDNRZQtFj8+F4GGneZVh07wQlFXW1FYvRR+yGfQgzDDLgRdTm8w== +expo-mail-composer@56.0.3: + version "56.0.3" + resolved "https://registry.yarnpkg.com/expo-mail-composer/-/expo-mail-composer-56.0.3.tgz#a603d99e96a11ccb2df332e241befddf2541e143" + integrity sha512-y7GRlH1+501K3tzqVne5+nuD8LIqoEy+0tnZqb4rS6eCG7bl9RTR1fAE9OsL+72dA3v0uZN7ueQCj7nSERWhMQ== -expo-media-library@55.0.16: - version "55.0.16" - resolved "https://registry.yarnpkg.com/expo-media-library/-/expo-media-library-55.0.16.tgz#1cbccc1dd84636cc159859d259c7b7f55f688ff4" - integrity sha512-ZSo5hkLiPXZUQ7TdJfG3N5xh9HVwTwGoLMom2lxHUJs4+4nHMO0D/A1n2aH6+ZGAqqvpL0GcNHLB0xWk0VdO5A== +expo-media-library@56.0.4: + version "56.0.4" + resolved "https://registry.yarnpkg.com/expo-media-library/-/expo-media-library-56.0.4.tgz#513360bfc40dba4aeb932a59e309d291145eb0d8" + integrity sha512-ySRhsYUjQUEKEfFm9euN2H0KvTfgd+tXoDxWBL9jNdAkEYrFFF+CBZ4MeSNLO/k82ZjBrN1+DCmGn9GP7kkjmA== -expo-modules-autolinking@55.0.21: - version "55.0.21" - resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-55.0.21.tgz#e33faea944c68f7e4dedebef5531c754bdd888fa" - integrity sha512-P9KsJgOwI7JVwxmGfRvcXkXO4LNRvHRdWmb4ukLmX15G/vZ7b6SM17yiYkPceWq1F5KeeZ11KFjEcl0y17xy7w== +expo-modules-autolinking@~56.0.6: + version "56.0.6" + resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-56.0.6.tgz#309a420447da66386b6b9faaf9317d47e3ee35a1" + integrity sha512-4AiOnBiITzW8bP90SyoWfAq47DwcDKITbtDTNlXvHfdxkO1p2W6oedHFaG18/ZHGgdWDdsQ6BFOe6ujeUgg10Q== dependencies: - "@expo/require-utils" "^55.0.5" + "@expo/require-utils" "^56.1.0" "@expo/spawn-async" "^1.7.2" chalk "^4.1.0" commander "^7.2.0" -expo-modules-core@55.0.25: - version "55.0.25" - resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-55.0.25.tgz#56a8e5456fbf3b900fe92e1aa269a9f42cf4d6c0" - integrity sha512-yXpfg7aHLbuqoXocK34Vua6Aey5SCyqLygAsXAMbul9P8vfBjLpaOPiTJ5cLVF7Drfq8ownqVJO6qpGEtZ6GOw== +expo-modules-core@~56.0.8: + version "56.0.8" + resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-56.0.8.tgz#fd7282ae52edadcae073398fa64f87bd690a72f7" + integrity sha512-WabotpvWTp2U8ffwHZ/sSC2pG6IlQzjNaHzA8QGAnXlxaGodOp1oeT1wR9ueEj1Py3lhgyCUZ7xh8llOYOuaYA== dependencies: + "@expo/expo-modules-macros-plugin" "~0.0.8" + expo-modules-jsi "~56.0.4" invariant "^2.2.4" -expo-screen-capture@55.0.13: - version "55.0.13" - resolved "https://registry.yarnpkg.com/expo-screen-capture/-/expo-screen-capture-55.0.13.tgz#4339d883fbe225c62083d28114b105316def1d90" - integrity sha512-wdSktx6hHJz8wiP1c96gNRc5TOVfBA6wd7GJJlADvLVL4OVKqfiUQ122Z6L6gBtELoXW23XOS/CB5rvRM8xjVA== +expo-modules-jsi@~56.0.4: + version "56.0.4" + resolved "https://registry.yarnpkg.com/expo-modules-jsi/-/expo-modules-jsi-56.0.4.tgz#cdbb4ef1d384ff03297d9687343f827f46f9274d" + integrity sha512-2DKdpVBpnvJFrRjj1nbpeYPrk0LquP9hnVt0oIACRwgNxmwRK3Q93+SZuJRtDYspCQ3Q/GErnRfHMiUDv7xLqA== + +expo-screen-capture@56.0.4: + version "56.0.4" + resolved "https://registry.yarnpkg.com/expo-screen-capture/-/expo-screen-capture-56.0.4.tgz#a5ecb9b1c229b7e2c6a105415c18ff48cc471ee6" + integrity sha512-upalV0rA1jsx1/PyVlzxTCKnv6yGgHdxSOr9ZYSmeQYDv4WL4qeGFx+EL1xSt7pJe1WlW0f9y0B7E/tHiEhq/A== -expo-server@^55.0.9: - version "55.0.9" - resolved "https://registry.yarnpkg.com/expo-server/-/expo-server-55.0.9.tgz#ae2b6d8b1f242d4f842d7bc304234a941578f97d" - integrity sha512-N5Ipn1NwqaJzEm+G97o0Jbe4g/th3R/16N1DabnYryXKCiZwDkK13/w3VfGkQN9LOOaBP+JIRxGf4M8lQKPzyA== +expo-server@^56.0.2: + version "56.0.2" + resolved "https://registry.yarnpkg.com/expo-server/-/expo-server-56.0.2.tgz#21cff5b517fdecb73f5e2ead9e1192f58d88fb8f" + integrity sha512-y0sLz05Yrrgwf7Idn8y67UOxEl51XkxnFbL8i0gZQH4COmK4IUW032Yzm8y+ksVJa/8UWN6nxOmXWLbX25OzjA== -expo-sms@55.0.13: - version "55.0.13" - resolved "https://registry.yarnpkg.com/expo-sms/-/expo-sms-55.0.13.tgz#01d6408e473b6a018346cefd566a7845210a342a" - integrity sha512-GJrVxt+Rwc9pbzZoPWSKhFEfKbDF4GbVdClpRj4e9KroGEzeIuJYk/h9cL16oBLHVUKbQe7k2Dc0lohI22eKOQ== +expo-sms@56.0.3: + version "56.0.3" + resolved "https://registry.yarnpkg.com/expo-sms/-/expo-sms-56.0.3.tgz#909e6896124f0ae725f818fbbfcb9d2129cb6f50" + integrity sha512-jfKMFtIDfOQ7d4z9Bjgn8N6zX3hTSYYga9DNLo1I2gR5aUwPxq8SguuPzLckVmPsPRl2v5BmIBOBIeY3mBxlZg== -expo-task-manager@55.0.15: - version "55.0.15" - resolved "https://registry.yarnpkg.com/expo-task-manager/-/expo-task-manager-55.0.15.tgz#b1cbb617fb1bfc6c602ef3f8a627c7ddc1d505ac" - integrity sha512-wLqYkKBp9cxIonEIp3LYy9iFjlOxxw4ca8nZLdSriKVxzPvdUwX6cZ4g55Fi+uSi4oPVFo9JYFKVUEofc+do+A== +expo-task-manager@56.0.8: + version "56.0.8" + resolved "https://registry.yarnpkg.com/expo-task-manager/-/expo-task-manager-56.0.8.tgz#c24dc48378dc9555af62113fe697b16c24f0f10d" + integrity sha512-zXwG3cEGquwfzmkWCsyO2rFmfK17e8TkmOA1mkJbaz8mvsDy6doKPVuEMpERlO0e1sjW08pBP1vmSxjtU1iLAQ== dependencies: - unimodules-app-loader "~55.0.5" + unimodules-app-loader "~56.0.0" -expo-video@55.0.16: - version "55.0.16" - resolved "https://registry.yarnpkg.com/expo-video/-/expo-video-55.0.16.tgz#6daf2eead893f919e53ebd266571bd43f24183c9" - integrity sha512-sarOgIIe+3QwDrQkLyE6KghLLJTijuBuRvBhP2RdQex3ntFHqz/ie2Gv149PHewdPdDM4I5Lycnes9Ky3SW8qg== +expo-video@56.1.0: + version "56.1.0" + resolved "https://registry.yarnpkg.com/expo-video/-/expo-video-56.1.0.tgz#efc7d23a0c02acb6a28431e3b021a430ffd19730" + integrity sha512-T+giv6gSUAzTTNsrWByuYIa2qg/c+XutsVecbZ4i5ZxRUC48v658qHeV6mzootPovqnzqfMu5pJJycTLxqmPXg== -expo@55.0.23: - version "55.0.23" - resolved "https://registry.yarnpkg.com/expo/-/expo-55.0.23.tgz#8b4b1fb1ca89d691081622aa4fb4c0c638aa3a4b" - integrity sha512-b+lKwfzJzFiSm9G0wVGWw3c2YoZyubbl9gHOF1ZFuK8FqtxSge8pDDJMuEFmTi14dbKwh/tirB7MiORq54r7CQ== +expo@56.0.0-preview.11: + version "56.0.0-preview.11" + resolved "https://registry.yarnpkg.com/expo/-/expo-56.0.0-preview.11.tgz#53b54a52ab5ed4e7e99a7aa52d4c1c97d1e6de15" + integrity sha512-gJpiu03Oh2h5uD+c0PHxghcZuVsKMVhRTfm9v6v4cwUoThFuEBCBGy8WeEzt2Ls/2NObZHsBOydP7I4dl4CrqA== dependencies: "@babel/runtime" "^7.20.0" - "@expo/cli" "55.0.29" - "@expo/config" "~55.0.16" - "@expo/config-plugins" "~55.0.8" - "@expo/devtools" "55.0.3" - "@expo/fingerprint" "0.16.7" - "@expo/local-build-cache-provider" "55.0.12" - "@expo/log-box" "55.0.12" - "@expo/metro" "~55.1.1" - "@expo/metro-config" "55.0.20" - "@expo/vector-icons" "^15.0.2" + "@expo/cli" "^56.1.4" + "@expo/config" "~56.0.5" + "@expo/config-plugins" "~56.0.5" + "@expo/devtools" "~56.0.2" + "@expo/dom-webview" "~56.0.5" + "@expo/fingerprint" "^0.18.1" + "@expo/local-build-cache-provider" "^56.0.5" + "@expo/log-box" "^56.0.9" + "@expo/metro" "~56.0.0" + "@expo/metro-config" "~56.0.8" "@ungap/structured-clone" "^1.3.0" - babel-preset-expo "~55.0.21" - expo-asset "~55.0.17" - expo-constants "~55.0.16" - expo-file-system "~55.0.19" - expo-font "~55.0.7" - expo-keep-awake "~55.0.8" - expo-modules-autolinking "55.0.21" - expo-modules-core "55.0.25" + babel-preset-expo "~56.0.8" + expo-asset "~56.0.9" + expo-constants "~56.0.10" + expo-file-system "~56.0.4" + expo-font "~56.0.3" + expo-keep-awake "~56.0.3" + expo-modules-autolinking "~56.0.6" + expo-modules-core "~56.0.8" pretty-format "^29.7.0" react-refresh "^0.14.2" - whatwg-url-minimum "^0.1.1" + whatwg-url-minimum "^0.1.2" exponential-backoff@^3.1.1: version "3.1.3" @@ -6400,13 +6143,13 @@ exponential-backoff@^3.1.1: integrity sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA== express@^4.22.1: - version "4.22.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.22.1.tgz#1de23a09745a4fffdb39247b344bb5eaff382069" - integrity sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g== + version "4.22.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.22.2.tgz#c17ae0981e5efc24b22272f0e041c4662503b700" + integrity sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "~1.20.3" + body-parser "~1.20.5" content-disposition "~0.5.4" content-type "~1.0.4" cookie "~0.7.1" @@ -6425,7 +6168,7 @@ express@^4.22.1: parseurl "~1.3.3" path-to-regexp "~0.1.12" proxy-addr "~2.0.7" - qs "~6.14.0" + qs "~6.15.1" range-parser "~1.2.1" safe-buffer "5.2.1" send "~0.19.0" @@ -6474,25 +6217,28 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-uri@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa" - integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.2.tgz#8af3d4fc9d3e71b11572cc2673b514a7d1a8c8ec" + integrity sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ== -fast-xml-builder@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.1.4.tgz#0c407a1d9d5996336c0cd76f7ff785cac6413017" - integrity sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg== +fast-xml-builder@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz#abd2363145a7625d9789ad96da375fabe3cff28c" + integrity sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q== dependencies: - path-expression-matcher "^1.1.3" + path-expression-matcher "^1.5.0" + xml-naming "^0.1.0" fast-xml-parser@^5.3.6: - version "5.5.9" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.5.9.tgz#e59637abebec3dbfbb4053b532d787af6ea11527" - integrity sha512-jldvxr1MC6rtiZKgrFnDSvT8xuH+eJqxqOBThUVjYrxssYTo1avZLGql5l0a0BAERR01CadYzZ83kVEkbyDg+g== + version "5.8.0" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.8.0.tgz#64d71f0f8d4bf23621dffd762aef7e98c1884fc1" + integrity sha512-6bIM7fsJxeo3uXv7OncQYsBAMPJ7V16Slahl/6M98C/i2q+vB1+4a0MtrvYwDFEUrwDSbAmeLDRXsOBwrL7yAg== dependencies: - fast-xml-builder "^1.1.4" - path-expression-matcher "^1.2.0" - strnum "^2.2.2" + "@nodable/entities" "^2.1.0" + fast-xml-builder "^1.2.0" + path-expression-matcher "^1.5.0" + strnum "^2.3.0" + xml-naming "^0.1.0" fastest-levenshtein@^1.0.12: version "1.0.16" @@ -6586,10 +6332,10 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== +filter-obj@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-5.1.0.tgz#5bd89676000a713d7db2e197f660274428e524ed" + integrity sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== finalhandler@1.1.2: version "1.1.2" @@ -6685,9 +6431,9 @@ flow-enums-runtime@^0.0.6: integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== follow-redirects@^1.0.0: - version "1.15.11" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" - integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== + version "1.16.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" + integrity sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== fontfaceobserver@^2.1.0: version "2.3.0" @@ -6701,7 +6447,7 @@ for-each@^0.3.3, for-each@^0.3.5: dependencies: is-callable "^1.2.7" -foreground-child@^3.1.0, foreground-child@^3.3.1: +foreground-child@^3.1.0: version "3.3.1" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== @@ -6751,7 +6497,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2, fsevents@^2.3.3, fsevents@~2.3.2: +fsevents@^2.3.3, fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -6801,11 +6547,6 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-east-asian-width@^1.0.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz#ce7008fe345edcf5497a6f557cfa54bc318a9ce7" - integrity sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA== - get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" @@ -6897,19 +6638,7 @@ glob@^10.5.0: package-json-from-dist "^1.0.0" path-scurry "^1.11.1" -glob@^11.0.1: - version "11.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-11.1.0.tgz#4f826576e4eb99c7dad383793d2f9f08f67e50a6" - integrity sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw== - dependencies: - foreground-child "^3.3.1" - jackspeak "^4.1.1" - minimatch "^10.1.1" - minipass "^7.1.2" - package-json-from-dist "^1.0.0" - path-scurry "^2.0.0" - -glob@^13.0.0, glob@^13.0.3: +glob@^13.0.0, glob@^13.0.2, glob@^13.0.3: version "13.0.6" resolved "https://registry.yarnpkg.com/glob/-/glob-13.0.6.tgz#078666566a425147ccacfbd2e332deb66a2be71d" integrity sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw== @@ -6918,7 +6647,7 @@ glob@^13.0.0, glob@^13.0.3: minipass "^7.1.3" path-scurry "^2.0.2" -glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: +glob@^7.1.4: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -7021,10 +6750,10 @@ has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== +hasown@^2.0.2, hasown@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.3.tgz#5e5c2b15b60370a4c7930c383dfb76bf17bc403c" + integrity sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg== dependencies: function-bind "^1.1.2" @@ -7033,26 +6762,16 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hermes-compiler@0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/hermes-compiler/-/hermes-compiler-0.14.1.tgz#5381d2bb88454027d16736b8cb7fddaaf1556538" - integrity sha512-+RPPQlayoZ9n6/KXKt5SFILWXCGJ/LV5d24L5smXrvTDrPS4L6dSctPczXauuvzFP3QEJbD1YO7Z3Ra4a+4IhA== +hermes-compiler@250829098.0.10: + version "250829098.0.10" + resolved "https://registry.yarnpkg.com/hermes-compiler/-/hermes-compiler-250829098.0.10.tgz#b31cae9a2517ee361c73966f76a556a1029af52b" + integrity sha512-TcRlZ0/TlyfJqquRFAWoyElVNnkdYRi/sEp4/Qy8/GYxjg8j2cS9D4MjuaQ+qimkmLN7AmO+44IznRf06mAr0w== hermes-estree@0.25.1: version "0.25.1" resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480" integrity sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw== -hermes-estree@0.32.0: - version "0.32.0" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.32.0.tgz#bb7da6613ab8e67e334a1854ea1e209f487d307b" - integrity sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ== - -hermes-estree@0.32.1: - version "0.32.1" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.32.1.tgz#04075556a559da284d8a3eba01c07595d5e05ce3" - integrity sha512-ne5hkuDxheNBAikDjqvCZCwihnz0vVu9YsBzAEO1puiyFR4F1+PAz/SiPHSsNTuOveCYGRMX8Xbx4LOubeC0Qg== - hermes-estree@0.33.3: version "0.33.3" resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.33.3.tgz#6d6b593d4b471119772c82bdb0212dfadabb6f17" @@ -7063,21 +6782,7 @@ hermes-estree@0.35.0: resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.35.0.tgz#767cce0b14a68b4bc06cd5db7efe889f6188c565" integrity sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg== -hermes-parser@0.32.0: - version "0.32.0" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.32.0.tgz#7916984ef6fdce62e7415d354cf35392061cd303" - integrity sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw== - dependencies: - hermes-estree "0.32.0" - -hermes-parser@0.32.1, hermes-parser@^0.32.0: - version "0.32.1" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.32.1.tgz#c1bce9405055609233710ad26de6955396a706ba" - integrity sha512-175dz634X/W5AiwrpLdoMl/MOb17poLHyIqgyExlE8D9zQ1OPnoORnGMB5ltRKnpvQzBjMYvT2rN/sHeIfZW5Q== - dependencies: - hermes-estree "0.32.1" - -hermes-parser@0.33.3: +hermes-parser@0.33.3, hermes-parser@^0.33.3: version "0.33.3" resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.33.3.tgz#da50ababb7a5ab636d339e7b2f6e3848e217e09d" integrity sha512-Yg3HgaG4CqgyowtYjX/FsnPAuZdHOqSMtnbpylbptsQ9nwwSKsy6uRWcGO5RK0EqiX12q8HvDWKgeAVajRO5DA== @@ -7098,6 +6803,13 @@ hermes-parser@^0.25.1: dependencies: hermes-estree "0.25.1" +hoist-non-react-statics@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + hosted-git-info@^7.0.0: version "7.0.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.2.tgz#9b751acac097757667f30114607ef7b661ff4f17" @@ -7297,10 +7009,10 @@ image-size@^1.0.2: dependencies: queue "6.0.2" -immer@11.1.7: - version "11.1.7" - resolved "https://registry.yarnpkg.com/immer/-/immer-11.1.7.tgz#31fe3ec0a808fcbe900a7a428083a9a98252a000" - integrity sha512-LFVFtAROHcDy1er5UI6nodRFnZ2SgdCXhfNSI+DpObO8N7Pur/muBGsjzH5wpnFHCYhYVQxZskCkV4koQ//3/Q== +immer@11.1.8: + version "11.1.8" + resolved "https://registry.yarnpkg.com/immer/-/immer-11.1.8.tgz#08a6426f7019dbce8d6dff8c4a43bb25c550a575" + integrity sha512-/tbkHMW7y10Lx6i1crLjD4/OhNkRG+Fo7byZHtah0547nIeXYcpIXaUh0IAQY6gO5459qpGGYapcEOHtFXkIuA== import-fresh@^3.3.0: version "3.3.1" @@ -7370,9 +7082,9 @@ ipaddr.js@1.9.1: integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== ipaddr.js@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.3.0.tgz#71dce70e1398122208996d1c22f2ba46a24b1abc" - integrity sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg== + version "2.4.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.4.0.tgz#038e9ceaf8219efc5bb76347b7eb787875d5095b" + integrity sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ== is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: version "3.0.5" @@ -7388,11 +7100,6 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-arrayish@^0.3.1: - version "0.3.4" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.4.tgz#1ee5553818511915685d33bb13d31bf854e5059d" - integrity sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA== - is-async-function@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" @@ -7432,11 +7139,11 @@ is-callable@^1.2.7: integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.16.1: - version "2.16.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" - integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + version "2.16.2" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.2.tgz#3e07450a8080ebce3fbf0cac494f4d2ab324e082" + integrity sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA== dependencies: - hasown "^2.0.2" + hasown "^2.0.3" is-data-view@^1.0.1, is-data-view@^1.0.2: version "1.0.2" @@ -7522,11 +7229,6 @@ is-interactive@^1.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== -is-interactive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" - integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== - is-map@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" @@ -7538,9 +7240,9 @@ is-negative-zero@^2.0.3: integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== is-network-error@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/is-network-error/-/is-network-error-1.3.1.tgz#a2a86b80ffd6b05b774755c73c8aaab16597e58d" - integrity sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw== + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-network-error/-/is-network-error-1.3.2.tgz#9460bc30f8419a4bca77114f4de88a3ee5e0c519" + integrity sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA== is-number-object@^1.1.1: version "1.1.1" @@ -7628,16 +7330,6 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-unicode-supported@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" - integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== - -is-unicode-supported@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz#09f0ab0de6d3744d48d265ebb98f65d11f2a9b3a" - integrity sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ== - is-weakmap@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" @@ -7707,17 +7399,6 @@ istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - istanbul-lib-instrument@^6.0.0, istanbul-lib-instrument@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" @@ -7776,112 +7457,95 @@ jackspeak@^3.1.2: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -jackspeak@^4.1.1: - version "4.2.3" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.2.3.tgz#27ef80f33b93412037c3bea4f8eddf80e1931483" - integrity sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg== - dependencies: - "@isaacs/cliui" "^9.0.0" - -jest-changed-files@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-30.4.0.tgz#d5752a9c4ae4afd23ac5cc519f3586415fbf98da" - integrity sha512-L6TnosD7ftCv+r6ENOSoqeKdPA+IG4L+3ayXmmmlzPyEK4aU34KTUJC+Y/ep755LyQfV6DOdhnxXVRTrGJNX5w== +jest-changed-files@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-30.4.1.tgz#396fcf914165287f05960372a5d091f6f2275ec5" + integrity sha512-IuctmYrxi21iOSOaIXpJWalHyPAsVv0GeBHKDn8C1CA4W5htHn7INL+wdnL4Bo0+olEndvAFkmb++tIQJG+vvg== dependencies: execa "^5.1.1" - jest-util "30.4.0" + jest-util "30.4.1" p-limit "^3.1.0" -jest-circus@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-30.4.0.tgz#5d977c5437e8a044417d85258bc4ecbe753252a2" - integrity sha512-RtgndWX8qprDn2wvx6hGJhYiokwSJc6vEwEzqUXERMB/MqQb7b8V/yIwe9IUZo91JOb61uA526LWQaFUjgbaJw== +jest-circus@30.4.2: + version "30.4.2" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-30.4.2.tgz#9a5b9b9c57bf51871f112ccf7a673d486c28f8e7" + integrity sha512-rvHH7VlY6LgbJXJTQ87GW62g1FntOtbhh0zT+v04kC+pgL6aBKyYINXxWukCpj3dcIBMw5/XUbtDS9dU9JTXeQ== dependencies: - "@jest/environment" "30.4.0" - "@jest/expect" "30.4.0" - "@jest/test-result" "30.4.0" - "@jest/types" "30.4.0" + "@jest/environment" "30.4.1" + "@jest/expect" "30.4.1" + "@jest/test-result" "30.4.1" + "@jest/types" "30.4.1" "@types/node" "*" chalk "^4.1.2" co "^4.6.0" dedent "^1.6.0" is-generator-fn "^2.1.0" - jest-each "30.4.0" - jest-matcher-utils "30.4.0" - jest-message-util "30.4.0" - jest-runtime "30.4.0" - jest-snapshot "30.4.0" - jest-util "30.4.0" + jest-each "30.4.1" + jest-matcher-utils "30.4.1" + jest-message-util "30.4.1" + jest-runtime "30.4.2" + jest-snapshot "30.4.1" + jest-util "30.4.1" p-limit "^3.1.0" - pretty-format "30.4.0" + pretty-format "30.4.1" pure-rand "^7.0.0" slash "^3.0.0" stack-utils "^2.0.6" -jest-cli@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-30.4.0.tgz#e2a61bcae754d5177b882a89bd730a1e94660c64" - integrity sha512-N/Hd8MPTzh8EivGpgMqEzd1pTS1P9tnVKiSgztXrnGkxUr+wqpD3u+huqvxMB4KXtHuBfpVSnNJrU3y9mbOOww== +jest-cli@30.4.2: + version "30.4.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-30.4.2.tgz#e353ef54035c5ac97f200807c97b3d857f52bddc" + integrity sha512-jfA2ocvVHMXS2QijrJ0d31ektP+d/W0T5RpcTX2Pq+3sVqHlsXVCM2+FmwpL+bdY8OfHpIg9xMxLF17Zg0U49Q== dependencies: - "@jest/core" "30.4.0" - "@jest/test-result" "30.4.0" - "@jest/types" "30.4.0" + "@jest/core" "30.4.2" + "@jest/test-result" "30.4.1" + "@jest/types" "30.4.1" chalk "^4.1.2" exit-x "^0.2.2" import-local "^3.2.0" - jest-config "30.4.0" - jest-util "30.4.0" - jest-validate "30.4.0" + jest-config "30.4.2" + jest-util "30.4.1" + jest-validate "30.4.1" yargs "^17.7.2" -jest-config@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-30.4.0.tgz#876b0cf4197fa39130af38daaad5bb0a64c80f23" - integrity sha512-7JoLxH5DNk5lSpCw+AH1wTqui9crCPVezHUoro5y9Ay9Snw///woP+J2UFR5mpNFuavlOyd8endtCIHlPHSdUw== +jest-config@30.4.2: + version "30.4.2" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-30.4.2.tgz#78f589b5410d2805518b8bdce517217fb96b5e61" + integrity sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg== dependencies: "@babel/core" "^7.27.4" "@jest/get-type" "30.1.0" "@jest/pattern" "30.4.0" - "@jest/test-sequencer" "30.4.0" - "@jest/types" "30.4.0" - babel-jest "30.4.0" + "@jest/test-sequencer" "30.4.1" + "@jest/types" "30.4.1" + babel-jest "30.4.1" chalk "^4.1.2" ci-info "^4.2.0" deepmerge "^4.3.1" glob "^10.5.0" graceful-fs "^4.2.11" - jest-circus "30.4.0" + jest-circus "30.4.2" jest-docblock "30.4.0" - jest-environment-node "30.4.0" + jest-environment-node "30.4.1" jest-regex-util "30.4.0" - jest-resolve "30.4.0" - jest-runner "30.4.0" - jest-util "30.4.0" - jest-validate "30.4.0" + jest-resolve "30.4.1" + jest-runner "30.4.2" + jest-util "30.4.1" + jest-validate "30.4.1" parse-json "^5.2.0" - pretty-format "30.4.0" + pretty-format "30.4.1" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@30.3.0: - version "30.3.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-30.3.0.tgz#e0a4c84ef350ffd790ffd5b0016acabeecf5f759" - integrity sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ== - dependencies: - "@jest/diff-sequences" "30.3.0" - "@jest/get-type" "30.1.0" - chalk "^4.1.2" - pretty-format "30.3.0" - -jest-diff@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-30.4.0.tgz#609f9daa1f7a973eb033d3902c65f44367424597" - integrity sha512-8SHpYWUtt2LyH5tw5Oa+larOuy5WHDH7vklFxbxf4LJfYkepoA2eu/loHmvYDlrHrdB3JZ89197oG2A1V982yg== +jest-diff@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-30.4.1.tgz#26691c73975768409af4a66b2754cea3182aa2dc" + integrity sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA== dependencies: "@jest/diff-sequences" "30.4.0" "@jest/get-type" "30.1.0" chalk "^4.1.2" - pretty-format "30.4.0" + pretty-format "30.4.1" jest-docblock@30.4.0: version "30.4.0" @@ -7890,337 +7554,226 @@ jest-docblock@30.4.0: dependencies: detect-newline "^3.1.0" -jest-each@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-30.4.0.tgz#a0c8839f78ae7f0664491c361c2121d3ced29796" - integrity sha512-AusMWaBQags04/SptcZu/Ex1juOebeSozkC9Pjx+teA2zoNd0drNsZe6PseKrHWsgimatgicXJNXHr9yCvnXaw== +jest-each@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-30.4.1.tgz#b69e66da8e2b578c6140d357f6574044c2a40537" + integrity sha512-/8MJbH6fuj48TstjrMf+u/pd06Qezz5xOXvZA6442heNOWr8bdeoGZX2d9fCn028CoMgYmroH9//zky5GfyYmA== dependencies: "@jest/get-type" "30.1.0" - "@jest/types" "30.4.0" + "@jest/types" "30.4.1" chalk "^4.1.2" - jest-util "30.4.0" - pretty-format "30.4.0" + jest-util "30.4.1" + pretty-format "30.4.1" -jest-environment-jsdom@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-30.4.0.tgz#08a60167b330c1244657dc3574e8ce22c8b72218" - integrity sha512-0I1P00XPzyKefc1r3RMESfUUYyT9f23Kytk8mbDLDDl2eq3FJtMQVNcWKtoUhw7Zp6pFcOhi3i5xZF2wLyA6dw== +jest-environment-jsdom@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-30.4.1.tgz#928c81b3ea630b409fc6483cd16553b90b220bfc" + integrity sha512-o3nfaN4zej7qgk2X0j8Jhq/S9nAVKs2xK3QeQxeHVvpkEPxaA1yxDGydR+iVI7zPy7Cp62Aq2h3Ja46QvfWHGA== dependencies: - "@jest/environment" "30.4.0" - "@jest/environment-jsdom-abstract" "30.4.0" + "@jest/environment" "30.4.1" + "@jest/environment-jsdom-abstract" "30.4.1" jsdom "^26.1.0" -jest-environment-node@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-30.4.0.tgz#60ce90135de3407d298e7528842dedaf4a82ec14" - integrity sha512-pmMYkiufguU6bqe+XP3DM24e7sCG7aYjPnCJdKiXjRh1H2SCBJgY1KC1JlIxqQjNr9dWLNpw5TLuHbXbq0CDqw== - dependencies: - "@jest/environment" "30.4.0" - "@jest/fake-timers" "30.4.0" - "@jest/types" "30.4.0" - "@types/node" "*" - jest-mock "30.4.0" - jest-util "30.4.0" - jest-validate "30.4.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== +jest-environment-node@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-30.4.1.tgz#43bbbee903e17d874eb1817195c50ff8b90e2fe0" + integrity sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw== dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" + "@jest/environment" "30.4.1" + "@jest/fake-timers" "30.4.1" + "@jest/types" "30.4.1" "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" + jest-mock "30.4.1" + jest-util "30.4.1" + jest-validate "30.4.1" jest-get-type@^29.6.3: version "29.6.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -jest-haste-map@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-30.4.0.tgz#4e9099da6aef890b7530f47f1cf5b23e3d09ef9c" - integrity sha512-01+o3CS8t35Va0Ed6w/HyeK9VaejRlBnZ1hGoOlTYlruFzycn3RfIdG1Szu1DVoACTs07ALirRjECq1FqNuAFg== +jest-haste-map@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-30.4.1.tgz#6d80d09d668c20bf3944977e50acac94fcd672fe" + integrity sha512-rFrcONd8jeFsyw+Z9CrScJgglRf2+NFmNam8dKu7n+SoHqNYT47mn0DdEcVUZJpvh7Iz6/si7f7yUH7GJHVgnw== dependencies: - "@jest/types" "30.4.0" + "@jest/types" "30.4.1" "@types/node" "*" anymatch "^3.1.3" fb-watchman "^2.0.2" graceful-fs "^4.2.11" jest-regex-util "30.4.0" - jest-util "30.4.0" - jest-worker "30.4.0" + jest-util "30.4.1" + jest-worker "30.4.1" picomatch "^4.0.3" walker "^1.0.8" optionalDependencies: fsevents "^2.3.3" -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-30.4.0.tgz#df017dc00287da544a3ba5ecb415ece461b6d9c6" - integrity sha512-n9beq0bFyt2m17RSjo6n8RsZiE1w+sOfr+p1J0aYTBXoxd/4hZeK2M7GQENKtslIsGVu2xOrNEe10CTmQfO8Mw== - dependencies: - "@jest/get-type" "30.1.0" - pretty-format "30.4.0" - -jest-matcher-utils@30.3.0: - version "30.3.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-30.3.0.tgz#d6c739fec1ecd33809f2d2b1348f6ab01d2f2493" - integrity sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA== +jest-leak-detector@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-30.4.1.tgz#96077059a68e5871fc8f53aa90647a6a33f916cd" + integrity sha512-IpmyiioeHxiWDhesHnUFmOxcTzwCwKpgACgWajtAP+nYQXiY7DakTxB6Bx9JFiRMljr0AX1PvnQdaU1KFoz6NQ== dependencies: "@jest/get-type" "30.1.0" - chalk "^4.1.2" - jest-diff "30.3.0" - pretty-format "30.3.0" + pretty-format "30.4.1" -jest-matcher-utils@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-30.4.0.tgz#dc111e3568bf28891687bbe84a3095b1da7633f3" - integrity sha512-m28k6fJ1hsHxYRBMbQvIfHz8FQA1e8U/I3o/Z+id0etJJL7Af6mJqMKvH11lTFX6rRKANi/8iVwdche9E+wz8w== +jest-matcher-utils@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-30.4.1.tgz#3fee8c89dbd8fc6e60eb590def9897e18f110ec4" + integrity sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A== dependencies: "@jest/get-type" "30.1.0" chalk "^4.1.2" - jest-diff "30.4.0" - pretty-format "30.4.0" - -jest-message-util@30.3.0: - version "30.3.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-30.3.0.tgz#4d723544d36890ba862ac3961db52db5b0d1ba39" - integrity sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@jest/types" "30.3.0" - "@types/stack-utils" "^2.0.3" - chalk "^4.1.2" - graceful-fs "^4.2.11" - picomatch "^4.0.3" - pretty-format "30.3.0" - slash "^3.0.0" - stack-utils "^2.0.6" + jest-diff "30.4.1" + pretty-format "30.4.1" -jest-message-util@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-30.4.0.tgz#eb3f3562ef3d3974a1f0702db503609ecd5548db" - integrity sha512-XjJEhPYwvJezXMYuPKX52xIE7CPNNVocuUzEJcMts82HhmXii7zC3KZVjlFDXdp8khX4lwWj9Rva9bs+8oucLw== +jest-message-util@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-30.4.1.tgz#40f6bfa5f564363edcba7ce0ca64277fd2ad6af7" + integrity sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ== dependencies: "@babel/code-frame" "^7.27.1" - "@jest/types" "30.4.0" + "@jest/types" "30.4.1" "@types/stack-utils" "^2.0.3" - chalk "^4.1.2" - graceful-fs "^4.2.11" - jest-util "30.4.0" - picomatch "^4.0.3" - pretty-format "30.4.0" - slash "^3.0.0" - stack-utils "^2.0.6" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@30.3.0: - version "30.3.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-30.3.0.tgz#e0fa4184a596a6c4fdec53d4f412158418923747" - integrity sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog== - dependencies: - "@jest/types" "30.3.0" - "@types/node" "*" - jest-util "30.3.0" - -jest-mock@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-30.4.0.tgz#b2eaaa8bce9da2a7ef6869f324ac9499ccac0e9e" - integrity sha512-Xy8aJikWCFMLFdAvmBTWgFzik3+qnYVEqDz1n/NQQqJX14e48J31XGx+km/0INV7YPzfl6SXmjsaVidUs3zQ5Q== - dependencies: - "@jest/types" "30.4.0" - "@types/node" "*" - jest-util "30.4.0" + chalk "^4.1.2" + graceful-fs "^4.2.11" + jest-util "30.4.1" + picomatch "^4.0.3" + pretty-format "30.4.1" + slash "^3.0.0" + stack-utils "^2.0.6" -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== +jest-mock@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-30.4.1.tgz#5e11a05d7719a1e3c7bba6348b70ff4e1bc5ea68" + integrity sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw== dependencies: - "@jest/types" "^29.6.3" + "@jest/types" "30.4.1" "@types/node" "*" - jest-util "^29.7.0" + jest-util "30.4.1" jest-pnp-resolver@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== -jest-regex-util@30.0.1: - version "30.0.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-30.0.1.tgz#f17c1de3958b67dfe485354f5a10093298f2a49b" - integrity sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA== - jest-regex-util@30.4.0: version "30.4.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-30.4.0.tgz#f75ccc43857633df2563a03588b5cb45c7c2941b" integrity sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg== -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-30.4.0.tgz#23e4df14e6accaeda49b3e121a2770da068cae54" - integrity sha512-2iooc09EwOjWpyIe03NQ4V7kgKZgs6TtO3vSydMUjTXjQhmj/0wWX/n4qbWw/K3LEMUkBhEuk3QHVWEC7k79nw== +jest-resolve-dependencies@30.4.2: + version "30.4.2" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-30.4.2.tgz#152f8a4cb2dd351cedeb5ada53c89f9683a3ad92" + integrity sha512-gDiVh1I+GxYzz9oXlyw+1wv6VOYX1WYxMOfjsA3iGKePV2oxmbHhwxfkALxNxYy1ciw6APWwkW2zZONwP97aEQ== dependencies: jest-regex-util "30.4.0" - jest-snapshot "30.4.0" + jest-snapshot "30.4.1" -jest-resolve@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-30.4.0.tgz#e86cb60ffd21a36df6b04797bf7d01f37ecd09d1" - integrity sha512-N8Nmytv/LMGsIQXZ2kWHXC3UhzTFC696cTx3ER0jtdrIBmmNjYK6RSJPllGf6iCdj3qimKizc+nczj3kdflDOw== +jest-resolve@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-30.4.1.tgz#b9e432892dc0e2a470eb4826ef5f120a50b3205e" + integrity sha512-Zry8Yq/yJcNAZ7dJ5F2heic8AheXvbFZ7XI5V+h28nrYZ7Qoyy4dItq8OodjnYD270mvX+ZudmrNV9cysqhW5Q== dependencies: chalk "^4.1.2" graceful-fs "^4.2.11" - jest-haste-map "30.4.0" + jest-haste-map "30.4.1" jest-pnp-resolver "^1.2.3" - jest-util "30.4.0" - jest-validate "30.4.0" + jest-util "30.4.1" + jest-validate "30.4.1" slash "^3.0.0" unrs-resolver "^1.7.11" -jest-runner@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-30.4.0.tgz#a2ffb2d08d0be138ada2f59e5e1ef32dd0762ce1" - integrity sha512-9LKu3gQKGvOIbzVh/xkoEYW2+/xDRjZ5/TU2Kqb1aC9TNYd3egENB0+0MXoTfaLNH1TlrIISTl6lABNHOuo3Iw== - dependencies: - "@jest/console" "30.4.0" - "@jest/environment" "30.4.0" - "@jest/test-result" "30.4.0" - "@jest/transform" "30.4.0" - "@jest/types" "30.4.0" +jest-runner@30.4.2: + version "30.4.2" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-30.4.2.tgz#15debf3cb6d817538aa97427d5a79277cdff65fe" + integrity sha512-2dw0PslVYXxffXGpLo+Ejad+KcI1Qkjn7f4X4619gf21oCUmL+SPfjqIa/losUem3yEOvfNZe/F1HWUcNpODcg== + dependencies: + "@jest/console" "30.4.1" + "@jest/environment" "30.4.1" + "@jest/test-result" "30.4.1" + "@jest/transform" "30.4.1" + "@jest/types" "30.4.1" "@types/node" "*" chalk "^4.1.2" emittery "^0.13.1" exit-x "^0.2.2" graceful-fs "^4.2.11" jest-docblock "30.4.0" - jest-environment-node "30.4.0" - jest-haste-map "30.4.0" - jest-leak-detector "30.4.0" - jest-message-util "30.4.0" - jest-resolve "30.4.0" - jest-runtime "30.4.0" - jest-util "30.4.0" - jest-watcher "30.4.0" - jest-worker "30.4.0" + jest-environment-node "30.4.1" + jest-haste-map "30.4.1" + jest-leak-detector "30.4.1" + jest-message-util "30.4.1" + jest-resolve "30.4.1" + jest-runtime "30.4.2" + jest-util "30.4.1" + jest-watcher "30.4.1" + jest-worker "30.4.1" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-30.4.0.tgz#2fe2e3571e4fd91d644f41d16bbd46b8efc5752f" - integrity sha512-xPjd7AStvPrnP/lZr+Urp7GPS9MFQDrWBtjXZYMuYZnQeFvkw5xM0jpjpGUxhsYYf4q3JY80SPlld7U2Sy9hyA== +jest-runtime@30.4.2: + version "30.4.2" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-30.4.2.tgz#03b5955003440975b12e76518ec85d091c25b84a" + integrity sha512-3/5e8iPz2k/VLqlr8DgTftYyLUv8Su3FkCAO2/Od81UsUTpSxOrS6O5x5KkoQwyUjmpYyDJKeyAvg2T2nvpNkQ== dependencies: - "@jest/environment" "30.4.0" - "@jest/fake-timers" "30.4.0" - "@jest/globals" "30.4.0" + "@jest/environment" "30.4.1" + "@jest/fake-timers" "30.4.1" + "@jest/globals" "30.4.1" "@jest/source-map" "30.0.1" - "@jest/test-result" "30.4.0" - "@jest/transform" "30.4.0" - "@jest/types" "30.4.0" + "@jest/test-result" "30.4.1" + "@jest/transform" "30.4.1" + "@jest/types" "30.4.1" "@types/node" "*" chalk "^4.1.2" cjs-module-lexer "^2.1.0" collect-v8-coverage "^1.0.2" glob "^10.5.0" graceful-fs "^4.2.11" - jest-haste-map "30.4.0" - jest-message-util "30.4.0" - jest-mock "30.4.0" + jest-haste-map "30.4.1" + jest-message-util "30.4.1" + jest-mock "30.4.1" jest-regex-util "30.4.0" - jest-resolve "30.4.0" - jest-snapshot "30.4.0" - jest-util "30.4.0" + jest-resolve "30.4.1" + jest-snapshot "30.4.1" + jest-util "30.4.1" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-30.4.0.tgz#c1bd83e7b815f407644eab91d126f1e1eda34a4d" - integrity sha512-2OdJoU/ogYJOAnbTG6FCelziKiyDZA1FocmO1xnKLfOb4J2gpHXsJC5nAP7wfG/VgwJxtM06ZUYz7rJmAhOsLw== +jest-snapshot@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-30.4.1.tgz#0380cbbaa9d53d32cf7e61af98459ac10a339842" + integrity sha512-tEOkkfOMppUyeiHwjZswOQ3lcnoTnws/q5FnGIaeIh/jmoU0ZlgMYRR8sTlTj+nNGCoJ0RDq6SfxGxCsyMTPmw== dependencies: "@babel/core" "^7.27.4" "@babel/generator" "^7.27.5" "@babel/plugin-syntax-jsx" "^7.27.1" "@babel/plugin-syntax-typescript" "^7.27.1" "@babel/types" "^7.27.3" - "@jest/expect-utils" "30.4.0" + "@jest/expect-utils" "30.4.1" "@jest/get-type" "30.1.0" - "@jest/snapshot-utils" "30.4.0" - "@jest/transform" "30.4.0" - "@jest/types" "30.4.0" + "@jest/snapshot-utils" "30.4.1" + "@jest/transform" "30.4.1" + "@jest/types" "30.4.1" babel-preset-current-node-syntax "^1.2.0" chalk "^4.1.2" - expect "30.4.0" + expect "30.4.1" graceful-fs "^4.2.11" - jest-diff "30.4.0" - jest-matcher-utils "30.4.0" - jest-message-util "30.4.0" - jest-util "30.4.0" - pretty-format "30.4.0" + jest-diff "30.4.1" + jest-matcher-utils "30.4.1" + jest-message-util "30.4.1" + jest-util "30.4.1" + pretty-format "30.4.1" semver "^7.7.2" synckit "^0.11.8" -jest-util@30.3.0: - version "30.3.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-30.3.0.tgz#95a4fbacf2dac20e768e2f1744b70519f2ba7980" - integrity sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg== - dependencies: - "@jest/types" "30.3.0" - "@types/node" "*" - chalk "^4.1.2" - ci-info "^4.2.0" - graceful-fs "^4.2.11" - picomatch "^4.0.3" - -jest-util@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-30.4.0.tgz#4ea28e6479f4e4956c93088b965d1ecbb96ed417" - integrity sha512-nae+Oh7CEdSTC5+uL4HCVDCLusj5IcypnVXWBSRjCUDkh7dX/FwreTsgvLROwHnEWW5dcdvLkW9RvmmMzKw+aw== +jest-util@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-30.4.1.tgz#979c9d014fdd12bb95d3dcde0192e1a9e0bc93d6" + integrity sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw== dependencies: - "@jest/types" "30.4.0" + "@jest/types" "30.4.1" "@types/node" "*" chalk "^4.1.2" ci-info "^4.2.0" @@ -8239,17 +7792,17 @@ jest-util@^29.7.0: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-30.4.0.tgz#ef182f2554cfa0d16780ebe21892bd0420bb9c0a" - integrity sha512-tIzxS3lajj3BAELRD1bde4GdsZFU9gwUYlyGoKq23XNR7oaeYQRt7KKA38VxGNoLJpkJ5jQBs9Q0fhefXnol0g== +jest-validate@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-30.4.1.tgz#dcc4784547bf644dca0226d3266fb1bde392c5a4" + integrity sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw== dependencies: "@jest/get-type" "30.1.0" - "@jest/types" "30.4.0" + "@jest/types" "30.4.1" camelcase "^6.3.0" chalk "^4.1.2" leven "^3.1.0" - pretty-format "30.4.0" + pretty-format "30.4.1" jest-validate@^29.7.0: version "29.7.0" @@ -8263,28 +7816,28 @@ jest-validate@^29.7.0: leven "^3.1.0" pretty-format "^29.7.0" -jest-watcher@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-30.4.0.tgz#c4f9cd2bb8b46cbfc1f47b6229a88fefbe310d4b" - integrity sha512-VPLgD4ZydEWWY8B/edBUwLsTANwaLM8R1NA1M0szFKkgjWmP6F6w7T+c6rtUYuE5r/5SsFLGwGkvmrlS4JHiwQ== +jest-watcher@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-30.4.1.tgz#d2a78fd27553db9206947eeda6068d76bacfd276" + integrity sha512-/l9UonmvCwjHH7d2h3iAwIloLc1H0S8mJZ/LNK3i86hqwPAz8otUJjP9MfYtz9Tt77Su5FD2xGjZn8d31IZHlw== dependencies: - "@jest/test-result" "30.4.0" - "@jest/types" "30.4.0" + "@jest/test-result" "30.4.1" + "@jest/types" "30.4.1" "@types/node" "*" ansi-escapes "^4.3.2" chalk "^4.1.2" emittery "^0.13.1" - jest-util "30.4.0" + jest-util "30.4.1" string-length "^4.0.2" -jest-worker@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-30.4.0.tgz#0aed617e6d0f12da8e8a9490d0915d46c67d25f1" - integrity sha512-0ZghqNv1P/M0nBysxrkGpLnorjM1ulhZ76QijLcwyBm+kIj/DPKyHcpHDVh0LD05JDZzVxi8z9RStF22B4gikQ== +jest-worker@30.4.1: + version "30.4.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-30.4.1.tgz#ac010eb6c512425748a39e2d6bf05b2c4866ca4f" + integrity sha512-SHynN/q/QD++iNyvMdy+WMmbCGk8jIsNcRxycXbWubSOhvo6T+j2afcfUSl+3hYsiBebOTo0cT7c2H7CXugu1g== dependencies: "@types/node" "*" "@ungap/structured-clone" "^1.3.0" - jest-util "30.4.0" + jest-util "30.4.1" merge-stream "^2.0.0" supports-color "^8.1.1" @@ -8307,15 +7860,15 @@ jest-worker@^29.7.0: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-30.4.0.tgz#e94a7aa9268d085fc8b5ba1ca34d23105a386ea4" - integrity sha512-4+7GP22nzoACtoFiKP9rptEF49oQJs0C/hCk7oW8oEIeSH9j43EiQmJCCPVGWQ1noI98CgKl2TeLwaIJzO2Bvg== +jest@30.4.2: + version "30.4.2" + resolved "https://registry.yarnpkg.com/jest/-/jest-30.4.2.tgz#e9bdb00f4bf1126d781b0d98e23130db096bbd9a" + integrity sha512-Yi1jqNC/Oq0N4hBgNH/YvBpP1P57QqundgytzYqy3yqAa7NZPNjSoi4SGbRAXDMdBzNE6xBCi5U7RgfrvMEUVQ== dependencies: - "@jest/core" "30.4.0" - "@jest/types" "30.4.0" + "@jest/core" "30.4.2" + "@jest/types" "30.4.1" import-local "^3.2.0" - jest-cli "30.4.0" + jest-cli "30.4.2" jimp-compact@0.16.1: version "0.16.1" @@ -8430,11 +7983,6 @@ json5@2.2.3, json5@^2.1.2, json5@^2.2.3: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonc-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz#f2a524b4f7fd11e3d791e559977ad60b98b798b4" - integrity sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== - jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -8443,9 +7991,9 @@ jsonfile@^4.0.0: graceful-fs "^4.1.6" jsonfile@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.2.0.tgz#7c265bd1b65de6977478300087c99f1c84383f62" - integrity sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg== + version "6.2.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.2.1.tgz#b6e31717f22cc37330b081ce0051ed5de53af2f6" + integrity sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q== dependencies: universalify "^2.0.0" optionalDependencies: @@ -8501,9 +8049,9 @@ lan-network@^0.2.1: integrity sha512-ONPnazC96VKDntab9j9JKwIWhZ4ZUceB4A9Epu4Ssg0hYFmtHZSeQ+n15nIwTFmcBUKtExOer8WTJ4GF9MO64A== launch-editor@^2.6.1, launch-editor@^2.9.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.13.1.tgz#d96ae376a282011661a112479a4bc2b8c1d914be" - integrity sha512-lPSddlAAluRKJ7/cjRFoXUFzaX7q/YKI7yPHuEvSJVqoXvFnJov1/Ud87Aa4zULIbA9Nja4mSPK8l0z/7eV2wA== + version "2.13.2" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.13.2.tgz#41d51baaf8afb393224b89bd2bcb4e02f2306405" + integrity sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg== dependencies: picocolors "^1.1.1" shell-quote "^1.8.3" @@ -8529,79 +8077,79 @@ lighthouse-logger@^1.0.0: debug "^2.6.9" marky "^1.2.2" -lightningcss-android-arm64@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz#609ff48332adff452a8157a7c2842fd692a8eac4" - integrity sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg== - -lightningcss-darwin-arm64@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz#a13da040a7929582bab3ace9a67bdc146e99fc2d" - integrity sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg== - -lightningcss-darwin-x64@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz#f7482c311273571ec0c2bd8277c1f5f6e90e03a4" - integrity sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA== - -lightningcss-freebsd-x64@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz#91df1bb290f1cb7bb2af832d7d0d8809225e0124" - integrity sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A== - -lightningcss-linux-arm-gnueabihf@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz#c3cad5ae8b70045f21600dc95295ab6166acf57e" - integrity sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g== - -lightningcss-linux-arm64-gnu@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz#a5c4f6a5ac77447093f61b209c0bd7fef1f0a3e3" - integrity sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg== - -lightningcss-linux-arm64-musl@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz#af26ab8f829b727ada0a200938a6c8796ff36900" - integrity sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg== - -lightningcss-linux-x64-gnu@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz#a891d44e84b71c0d88959feb9a7522bbf61450ee" - integrity sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA== - -lightningcss-linux-x64-musl@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz#8c8b21def851f4d477fa897b80cb3db2b650bc6e" - integrity sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA== - -lightningcss-win32-arm64-msvc@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz#79000fb8c57e94a91b8fc643e74d5a54407d7080" - integrity sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w== - -lightningcss-win32-x64-msvc@1.31.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz#7f025274c81c7d659829731e09c8b6f442209837" - integrity sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw== +lightningcss-android-arm64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968" + integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== + +lightningcss-darwin-arm64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz#50b71871b01c8199584b649e292547faea7af9b5" + integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== + +lightningcss-darwin-x64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e" + integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== + +lightningcss-freebsd-x64@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575" + integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== + +lightningcss-linux-arm-gnueabihf@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d" + integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== + +lightningcss-linux-arm64-gnu@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz#417858795a94592f680123a1b1f9da8a0e1ef335" + integrity sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ== + +lightningcss-linux-arm64-musl@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz#6be36692e810b718040802fd809623cffe732133" + integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== + +lightningcss-linux-x64-gnu@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6" + integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== + +lightningcss-linux-x64-musl@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b" + integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== + +lightningcss-win32-arm64-msvc@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38" + integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== + +lightningcss-win32-x64-msvc@1.32.0: + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz#141aa5605645064928902bb4af045fa7d9f4220a" + integrity sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== lightningcss@^1.30.1: - version "1.31.1" - resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.31.1.tgz#1a19dd327b547a7eda1d5c296ebe1e72df5a184b" - integrity sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ== + version "1.32.0" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.32.0.tgz#b85aae96486dcb1bf49a7c8571221273f4f1e4a9" + integrity sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== dependencies: detect-libc "^2.0.3" optionalDependencies: - lightningcss-android-arm64 "1.31.1" - lightningcss-darwin-arm64 "1.31.1" - lightningcss-darwin-x64 "1.31.1" - lightningcss-freebsd-x64 "1.31.1" - lightningcss-linux-arm-gnueabihf "1.31.1" - lightningcss-linux-arm64-gnu "1.31.1" - lightningcss-linux-arm64-musl "1.31.1" - lightningcss-linux-x64-gnu "1.31.1" - lightningcss-linux-x64-musl "1.31.1" - lightningcss-win32-arm64-msvc "1.31.1" - lightningcss-win32-x64-msvc "1.31.1" + lightningcss-android-arm64 "1.32.0" + lightningcss-darwin-arm64 "1.32.0" + lightningcss-darwin-x64 "1.32.0" + lightningcss-freebsd-x64 "1.32.0" + lightningcss-linux-arm-gnueabihf "1.32.0" + lightningcss-linux-arm64-gnu "1.32.0" + lightningcss-linux-arm64-musl "1.32.0" + lightningcss-linux-x64-gnu "1.32.0" + lightningcss-linux-x64-musl "1.32.0" + lightningcss-win32-arm64-msvc "1.32.0" + lightningcss-win32-x64-msvc "1.32.0" lines-and-columns@^1.1.6: version "1.2.4" @@ -8609,9 +8157,9 @@ lines-and-columns@^1.1.6: integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== loader-runner@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.1.tgz#6c76ed29b0ccce9af379208299f07f876de737e3" - integrity sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q== + version "4.3.2" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.2.tgz#9913d3a15971f8f635915e601fb5c9d495d918e9" + integrity sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w== loader-utils@^2.0.0: version "2.0.4" @@ -8654,16 +8202,11 @@ lodash.throttle@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== -lodash@4.18.1: +lodash@4.18.1, lodash@^4, lodash@^4.17.20, lodash@^4.17.21: version "4.18.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== -lodash@^4, lodash@^4.17.20, lodash@^4.17.21: - version "4.17.23" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a" - integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w== - log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" @@ -8679,14 +8222,6 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log-symbols@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-6.0.0.tgz#bb95e5f05322651cac30c0feb6404f9f2a8a9439" - integrity sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw== - dependencies: - chalk "^5.3.0" - is-unicode-supported "^1.3.0" - logkitty@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7" @@ -8726,9 +8261,9 @@ lru-cache@^10.0.1, lru-cache@^10.2.0, lru-cache@^10.4.3: integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^11.0.0: - version "11.2.6" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.2.6.tgz#356bf8a29e88a7a2945507b31f6429a65a192c58" - integrity sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ== + version "11.3.6" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.3.6.tgz#f0306ad6e9f0a5dc25b16aeba4e8f57b7ec2df55" + integrity sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A== lru-cache@^5.1.1: version "5.1.1" @@ -8777,18 +8312,18 @@ media-typer@^1.1.0: integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== memfs@^4.43.1: - version "4.56.10" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.56.10.tgz#eaf2f6556db10f91f1e9ad9f1274fd988c646202" - integrity sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w== - dependencies: - "@jsonjoy.com/fs-core" "4.56.10" - "@jsonjoy.com/fs-fsa" "4.56.10" - "@jsonjoy.com/fs-node" "4.56.10" - "@jsonjoy.com/fs-node-builtins" "4.56.10" - "@jsonjoy.com/fs-node-to-fsa" "4.56.10" - "@jsonjoy.com/fs-node-utils" "4.56.10" - "@jsonjoy.com/fs-print" "4.56.10" - "@jsonjoy.com/fs-snapshot" "4.56.10" + version "4.57.2" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.57.2.tgz#5f74e977c9a14681ea10d427b3ce5d7db5f817e7" + integrity sha512-2nWzSsJzrukurSDna4Z0WywuScK4Id3tSKejgu74u8KCdW4uNrseKRSIDg75C6Yw5ZRqBe0F0EtMNlTbUq8bAQ== + dependencies: + "@jsonjoy.com/fs-core" "4.57.2" + "@jsonjoy.com/fs-fsa" "4.57.2" + "@jsonjoy.com/fs-node" "4.57.2" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-to-fsa" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" + "@jsonjoy.com/fs-print" "4.57.2" + "@jsonjoy.com/fs-snapshot" "4.57.2" "@jsonjoy.com/json-pack" "^1.11.0" "@jsonjoy.com/util" "^1.9.0" glob-to-regex.js "^1.0.1" @@ -8833,111 +8368,61 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -metro-babel-transformer@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.83.4.tgz#9a4068c1a4ba40c073ee7830b19ed87d3ed1557e" - integrity sha512-xfNtsYIigybqm9xVL3ygTYYNFyYTMf2lGg/Wt+znVGtwcjXoRPG80WlL5SS09ZjYVei3MoE920i7MNr7ukSULA== - dependencies: - "@babel/core" "^7.25.2" - flow-enums-runtime "^0.0.6" - hermes-parser "0.33.3" - nullthrows "^1.1.1" - -metro-babel-transformer@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.83.7.tgz#8448c7a550571de87d00e97c1a7139c6b6900e4a" - integrity sha512-sBqBkt6kNut/88bv+Ucvm4yqdPetbvAEsHzi3MAgJEifOSYYzX5Z5Kgw3TFOrwf/mHJTOBG2ONlaMHoyfP15TA== +metro-babel-transformer@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.84.4.tgz#2d7de9bd4e5998c8c0530fe05eef714d7c10f9cf" + integrity sha512-rvCfz8snl9h20VcvpOHxZuHP1SlAkv4HXbzw7nyyVwu6Eqo5PRerbakQ9XmUCOsRy70spJ37O+G1TK8oMzo48g== dependencies: "@babel/core" "^7.25.2" flow-enums-runtime "^0.0.6" hermes-parser "0.35.0" - metro-cache-key "0.83.7" + metro-cache-key "0.84.4" nullthrows "^1.1.1" -metro-cache-key@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.83.4.tgz#eb70beab737782bf36eb145a30c2e97e20de52e8" - integrity sha512-Y8E6mm1alkYIRzmfkOdrwXMzJ4HKANYiZE7J2d3iYTwmnLIQG+aoIpvla+bo6LRxH1Gm3qjEiOl+LbxvPCzIug== - dependencies: - flow-enums-runtime "^0.0.6" - -metro-cache-key@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.83.7.tgz#59e647cf6dd6297e43d0bd7ab927db48c6ba80b5" - integrity sha512-W1c2Nmx8MiJTJt+eWhMO08z9VKi3kZOaz99IYGdqeqDgY9j+yZjXl62rUav4Di0heZfh4/n2s722PqRL1OODeg== - dependencies: - flow-enums-runtime "^0.0.6" - -metro-cache@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.83.4.tgz#d9ff274c053e1ffcbf42b49882af9473ac5f35fb" - integrity sha512-Pm6CiksVms0cZNDDe/nFzYr1xpXzJLOSwvOjl4b3cYtXxEFllEjD6EeBgoQK5C8yk7U54PcuRaUAFSvJ+eCKbg== +metro-cache-key@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.84.4.tgz#52059d32da68ef2e06d5a3d4770defdc6d8bad77" + integrity sha512-wVO79aGrkYImpnaVS4+d5RrRBRPX31QtvKB3wKGBuiNSznduZTQHzsrJZRroFJSwnygrzdsGUtDQPuqqFjFdvw== dependencies: - exponential-backoff "^3.1.1" flow-enums-runtime "^0.0.6" - https-proxy-agent "^7.0.5" - metro-core "0.83.4" -metro-cache@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.83.7.tgz#73ab7857ba6267b78f6374396829d660a67deccf" - integrity sha512-E9SRePXQ1Zvlj79VcOk57q7VC7rMHMFQ+jhmPHBiq+dJ0bJB5BL87lWZF6oh5X76Cci5tpDuQNaDwwuSCToEeg== +metro-cache@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.84.4.tgz#026476edb629a84650efd7b4245bbc600b3b0eb7" + integrity sha512-gpcFQdSLUwUCk71saKoE64jLFbx2nwTfVCcPSULMNT8QYq0p1eZZE29Jvd0HtT/UlhC3ZOutLxJME5xqD2JUZg== dependencies: exponential-backoff "^3.1.1" flow-enums-runtime "^0.0.6" https-proxy-agent "^7.0.5" - metro-core "0.83.7" - -metro-config@0.83.4, metro-config@^0.83.3: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.83.4.tgz#10c99df962cf3a1ab6ad86bcc697dfcac0a316af" - integrity sha512-ydOgMNI9aT8l2LOTOugt1FvC7getPKG9uJo9Vclg9/RWJxbwkBF/FMBm6w5gH8NwJokSmQrbNkojXPn7nm0kGw== - dependencies: - connect "^3.6.5" - flow-enums-runtime "^0.0.6" - jest-validate "^29.7.0" - metro "0.83.4" - metro-cache "0.83.4" - metro-core "0.83.4" - metro-runtime "0.83.4" - yaml "^2.6.1" + metro-core "0.84.4" -metro-config@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.83.7.tgz#fc88f4f75992744d6d64bf27c6a2f11b10e9fcfb" - integrity sha512-83mjWFbFOt2GeJ6pFIum5mSnc1uTsZJAtD8o4ej0s4NVsYsA7fB+pHvTfHhFrpeMONaobu2riKavkPei05Er/Q== +metro-config@0.84.4, metro-config@^0.84.3: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.84.4.tgz#456190b984a4ce16eb10448a3c726880cec895e9" + integrity sha512-PMotGDjXcXLWo2TMRH+VR99phFNgYTwqh4OoieIKK3yTJa1Jmkl+fZJxDO0jfBvNF+WESHciHvpNuBtXaF3B0Q== dependencies: connect "^3.6.5" flow-enums-runtime "^0.0.6" jest-validate "^29.7.0" - metro "0.83.7" - metro-cache "0.83.7" - metro-core "0.83.7" - metro-runtime "0.83.7" + metro "0.84.4" + metro-cache "0.84.4" + metro-core "0.84.4" + metro-runtime "0.84.4" yaml "^2.6.1" -metro-core@0.83.4, metro-core@^0.83.3: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.83.4.tgz#06fd79d73935748317076aab24be0bb4cbaab801" - integrity sha512-EE+j/imryd3og/6Ly9usku9vcTLQr2o4IDax/izsr6b0HRqZK9k6f5SZkGkOPqnsACLq6csPCx+2JsgF9DkVbw== - dependencies: - flow-enums-runtime "^0.0.6" - lodash.throttle "^4.1.1" - metro-resolver "0.83.4" - -metro-core@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.83.7.tgz#45cc9eebd979c75021015f190dbd023e833bdd16" - integrity sha512-6yn3w1wnltT6RQl7p7YES2l95ArC+mWrOssEiH8p5/DDrJS65/szf9LsC9JrBv8c5DdvSY3V3f0GRYg0Ox7hCg== +metro-core@0.84.4, metro-core@^0.84.3: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.84.4.tgz#e4afffab9bd2e9b304c89c59322344d59911c31b" + integrity sha512-HONpWC5LGXZn3ffkd4Hu6AIrfE7j4Z0g0wMo/goV24WOB3lhuFZ40KgvaDiSw8iyQHloMYay5N/wPX+z8oN/PQ== dependencies: flow-enums-runtime "^0.0.6" lodash.throttle "^4.1.1" - metro-resolver "0.83.7" + metro-resolver "0.84.4" -metro-file-map@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.83.4.tgz#f694f2e4950e64daff922b80d87e98731daa756b" - integrity sha512-RSZLpGQhW9topefjJ9dp77Ff7BP88b17sb/YjxLHC1/H0lJVYYC9Cgqua21Vxe4RUJK2z64hw72g+ySLGTCawA== +metro-file-map@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.84.4.tgz#00df08834ee4d34a8c15e33419fdff5a76a34870" + integrity sha512-KSVDi/u60hKPx++NLu3MTIvyjzNoJnFAF8PQFxaj1jiSka/wjw+Ua6sNuJ0TDHQv+7AAoFQxeMgaRAe8Yic5wQ== dependencies: debug "^4.4.0" fb-watchman "^2.0.0" @@ -8949,137 +8434,60 @@ metro-file-map@0.83.4: nullthrows "^1.1.1" walker "^1.0.7" -metro-file-map@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.83.7.tgz#1d0d47db8a76631f0fed2112edad5fec462aec50" - integrity sha512-+j0F1m+FQYVAQ6syf+mwhIPV5GoFQrkInX8bppuc50IzNsZbMrp8R5H/Sx/K2daQ3YEa9F/XwkeZT8gzJfgeCw== - dependencies: - debug "^4.4.0" - fb-watchman "^2.0.0" - flow-enums-runtime "^0.0.6" - graceful-fs "^4.2.4" - invariant "^2.2.4" - jest-worker "^29.7.0" - micromatch "^4.0.4" - nullthrows "^1.1.1" - walker "^1.0.7" - -metro-minify-terser@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.83.4.tgz#43dea24b72369e01a1831483e7b1bd49581a4cb9" - integrity sha512-KmZnpxfj0nPIRkbBNTc6xul5f5GPvWL5kQ1UkisB7qFkgh6+UiJG+L4ukJ2sK7St6+8Za/Cb68MUEYkUouIYcQ== - dependencies: - flow-enums-runtime "^0.0.6" - terser "^5.15.0" - -metro-minify-terser@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.83.7.tgz#2de0b70f8cd58e9383b014313a1d9e7babe8d878" - integrity sha512-MfJar2IS4tBRuLb9svwb0Gu5l9BsH+pcRm8eGcEi/wy8MzZinfinh5dFLt2nWkocnulIgtGB5NkFDdbXqMXKhQ== +metro-minify-terser@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.84.4.tgz#e904d63f085d1af33587ff6daf5010243d19eec9" + integrity sha512-5qpbaVOMC7CPitIpuewzVeGw7E+C3ykbv2mqTjQLl85Z3annSVGlSCTcsZjqXZzjupfK4Ztj3dDc4kc44NZwtQ== dependencies: flow-enums-runtime "^0.0.6" terser "^5.15.0" -metro-resolver@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.83.4.tgz#20e9ebc45beeacc7fff657e3ad0404ad9bdffe55" - integrity sha512-drWdylyNqgdaJufz0GjU/ielv2hjcc6piegjjJwKn8l7A/72aLQpUpOHtP+GMR+kOqhSsD4MchhJ6PSANvlSEw== - dependencies: - flow-enums-runtime "^0.0.6" - -metro-resolver@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.83.7.tgz#84b2e2749f0dba0e1c204764d01c21892157cf1c" - integrity sha512-WSJIENlMcoSsuz66IfBHOkgfp3KJt2UW2TnEHPf1b8pIG2eEXNOVmo2+03A0H17WY2XGXWgxL0CG7FAopqgB1A== - dependencies: - flow-enums-runtime "^0.0.6" - -metro-runtime@0.83.4, metro-runtime@^0.83.3: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.83.4.tgz#44296e7ddee052cf1966f484f60fc6290a1cf5df" - integrity sha512-sWj9KN311yG22Zv0kVbAp9dorB9HtTThvQKsAn6PLxrVrz+1UBsLrQSxjE/s4PtzDi1HABC648jo4K9Euz/5jw== +metro-resolver@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.84.4.tgz#88181301abb9b476072e8263f7b3b918d493931a" + integrity sha512-1qLgbxQ5ZGhhutuPot1Yp348ofDsATL2WkrHF65TobqTT9K3P9qJXw38bomk7ncp5B7OYMfWwtyBZo1lCV792A== dependencies: - "@babel/runtime" "^7.25.0" flow-enums-runtime "^0.0.6" -metro-runtime@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.83.7.tgz#3606a71c94a4ef862b7a0e43156b35f7a4e4cf17" - integrity sha512-9GKkJURaB2iyYoEExKnedzAHzxmKtSi+k0tsZUvMoU27tBZJElchYt7JH/Ai/XzYAI9lCAaV7u5HZSI8J5Z+wQ== +metro-runtime@0.84.4, metro-runtime@^0.84.3: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.84.4.tgz#8c10a488d19a49d64bcc775039032b61cceb26a6" + integrity sha512-Jibypds4g7AhzdRKY+kDoj51s5EXMwgyp5ddtlreDAsWefMdOx+agWqgm0H2XSZ/ueanHHVM89fnf5OJnlxa8Q== dependencies: "@babel/runtime" "^7.25.0" flow-enums-runtime "^0.0.6" -metro-source-map@0.83.4, metro-source-map@^0.83.3: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.4.tgz#c39442f308708055df08545398f5d8d18b9bac7a" - integrity sha512-pPbmQwS0zgU+/0u5KPkuvlsQP0V+WYQ9qNshqupIL720QRH0vS3QR25IVVtbunofEDJchI11Q4QtIbmUyhpOBw== - dependencies: - "@babel/traverse" "^7.29.0" - "@babel/types" "^7.29.0" - flow-enums-runtime "^0.0.6" - invariant "^2.2.4" - metro-symbolicate "0.83.4" - nullthrows "^1.1.1" - ob1 "0.83.4" - source-map "^0.5.6" - vlq "^1.0.0" - -metro-source-map@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.7.tgz#6208e72427c987e66a9ec23ebaee0b3cc76dd16c" - integrity sha512-JgA1h7oc1a1jydBe1GhVFsUoMYo3wLPk7oRA32rjlDsq+sP2JLt9x2p2lWbNSxTm/u8NV4VRid3hvEJgcX8tKw== +metro-source-map@0.84.4, metro-source-map@^0.84.3: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.84.4.tgz#e16e7c2dce22d8aea527f459ba88f5a2827ba32a" + integrity sha512-jbWkPxIesVuo1IWkvezmMJld6iu8nD62GsrZiV6jP37AOdbo4OBq1FJ+qkOg8sV05wAHB//jAbziuW0SlJfW4g== dependencies: "@babel/traverse" "^7.29.0" "@babel/types" "^7.29.0" flow-enums-runtime "^0.0.6" invariant "^2.2.4" - metro-symbolicate "0.83.7" - nullthrows "^1.1.1" - ob1 "0.83.7" - source-map "^0.5.6" - vlq "^1.0.0" - -metro-symbolicate@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.4.tgz#147dd0109c156351fa67a686377856075ed07b5a" - integrity sha512-clyWAXDgkDHPwvldl95pcLTrJIqUj9GbZayL8tfeUs69ilsIUBpVym2lRd/8l3/8PIHCInxL868NvD2Y7OqKXg== - dependencies: - flow-enums-runtime "^0.0.6" - invariant "^2.2.4" - metro-source-map "0.83.4" + metro-symbolicate "0.84.4" nullthrows "^1.1.1" + ob1 "0.84.4" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.7.tgz#ee10cfbafb5ed5ae5f04a565c496fd772afb3f5c" - integrity sha512-g4suyxw20WOHWI680c+Kq4wC/NF+Hx5pRH9afrMp+sMTxqLeKcPR1Xf4wMhsjlbvx7LbIREdke6q928jEjvJWw== +metro-symbolicate@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.84.4.tgz#0d5a9fd2f15b5c079050051d8bd1f88726d6e0d2" + integrity sha512-OnfpacxUqGPZQ27t8qK9mFa7uqHIlVWeqRqkCbvMvreEBiamEeOn8krKtcwgP5M4cYDPwuSmCTopHMVthqG4zA== dependencies: flow-enums-runtime "^0.0.6" invariant "^2.2.4" - metro-source-map "0.83.7" + metro-source-map "0.84.4" nullthrows "^1.1.1" source-map "^0.5.6" vlq "^1.0.0" -metro-transform-plugins@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.83.4.tgz#5a08d28f032c38400304141286616ce6ee5401da" - integrity sha512-c0ROVcyvdaGPUFIg2N5nEQF4xbsqB2p1PPPhVvK1d/Y7ZhBAFiwQ75so0SJok32q+I++lc/hq7IdPCp2frPGQg== - dependencies: - "@babel/core" "^7.25.2" - "@babel/generator" "^7.29.1" - "@babel/template" "^7.28.6" - "@babel/traverse" "^7.29.0" - flow-enums-runtime "^0.0.6" - nullthrows "^1.1.1" - -metro-transform-plugins@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.83.7.tgz#9fc9b4c209ca2fdc1e720a9fefde7c20f32ab5ad" - integrity sha512-Ss0FpBiZDjX2kwhukMDl5sNdYK8T/06IPqxNE4H6PTlRlfs9q11cef13c/xESY/Pm4VCkp1yJUZO3kXzvMxQFA== +metro-transform-plugins@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.84.4.tgz#b5a4e4329b1ee0261fb21f8910df7eefd02e685d" + integrity sha512-kehr6HbAecqD0/a3xLXobELdPaAmRAl8bel0qagPF4vhZtux93nS8S4eq2kgKt6J2GnQpVjSoW1PXdst04mwow== dependencies: "@babel/core" "^7.25.2" "@babel/generator" "^7.29.1" @@ -9088,94 +8496,29 @@ metro-transform-plugins@0.83.7: flow-enums-runtime "^0.0.6" nullthrows "^1.1.1" -metro-transform-worker@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.83.4.tgz#c71c53687dcf274d668aa5c6a9d4d3c00a7f7203" - integrity sha512-6I81IZLeU/0ww7OBgCPALFl0OE0FQwvIuKCtuViSiKufmislF7kVr7IHH9GYtQuZcnualQ82gYeQ11KzZQTouw== - dependencies: - "@babel/core" "^7.25.2" - "@babel/generator" "^7.29.1" - "@babel/parser" "^7.29.0" - "@babel/types" "^7.29.0" - flow-enums-runtime "^0.0.6" - metro "0.83.4" - metro-babel-transformer "0.83.4" - metro-cache "0.83.4" - metro-cache-key "0.83.4" - metro-minify-terser "0.83.4" - metro-source-map "0.83.4" - metro-transform-plugins "0.83.4" - nullthrows "^1.1.1" - -metro-transform-worker@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.83.7.tgz#1ba8980f660630f7dfbf52fcf2b7bd6e4ae4528b" - integrity sha512-UegCo7ygB2fT64mRK2nbAjQVJ1zSwIIHy8d96jJv2nKZFDaViYBiughEdu5HM/Ceq0WN3LZrZk3zhl9aoiLYFw== - dependencies: - "@babel/core" "^7.25.2" - "@babel/generator" "^7.29.1" - "@babel/parser" "^7.29.0" - "@babel/types" "^7.29.0" - flow-enums-runtime "^0.0.6" - metro "0.83.7" - metro-babel-transformer "0.83.7" - metro-cache "0.83.7" - metro-cache-key "0.83.7" - metro-minify-terser "0.83.7" - metro-source-map "0.83.7" - metro-transform-plugins "0.83.7" - nullthrows "^1.1.1" - -metro@0.83.4, metro@^0.83.3: - version "0.83.4" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.83.4.tgz#beddd541e8e6d227a670039548e39cae051069a2" - integrity sha512-eBkAtcob+YmvSLL+/rsFiK8dHNfDbQA2/pi0lnxg3E6LLtUpwDfdGJ9WBWXkj0PVeOhoWQyj9Rt7s/+6k/GXuA== +metro-transform-worker@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.84.4.tgz#2a66d65d147f7aa7d13c8620e65474095f46b441" + integrity sha512-W1IYMvvXTu4MxYr7d9h7CeG2vpIr3bmLLIavkPY4O1ilzDrvS8z/NEe6y+pC44Ff7raMXQgYSfdqDUwN/i39gg== dependencies: - "@babel/code-frame" "^7.29.0" "@babel/core" "^7.25.2" "@babel/generator" "^7.29.1" "@babel/parser" "^7.29.0" - "@babel/template" "^7.28.6" - "@babel/traverse" "^7.29.0" "@babel/types" "^7.29.0" - accepts "^2.0.0" - chalk "^4.0.0" - ci-info "^2.0.0" - connect "^3.6.5" - debug "^4.4.0" - error-stack-parser "^2.0.6" flow-enums-runtime "^0.0.6" - graceful-fs "^4.2.4" - hermes-parser "0.33.3" - image-size "^1.0.2" - invariant "^2.2.4" - jest-worker "^29.7.0" - jsc-safe-url "^0.2.2" - lodash.throttle "^4.1.1" - metro-babel-transformer "0.83.4" - metro-cache "0.83.4" - metro-cache-key "0.83.4" - metro-config "0.83.4" - metro-core "0.83.4" - metro-file-map "0.83.4" - metro-resolver "0.83.4" - metro-runtime "0.83.4" - metro-source-map "0.83.4" - metro-symbolicate "0.83.4" - metro-transform-plugins "0.83.4" - metro-transform-worker "0.83.4" - mime-types "^3.0.1" + metro "0.84.4" + metro-babel-transformer "0.84.4" + metro-cache "0.84.4" + metro-cache-key "0.84.4" + metro-minify-terser "0.84.4" + metro-source-map "0.84.4" + metro-transform-plugins "0.84.4" nullthrows "^1.1.1" - serialize-error "^2.1.0" - source-map "^0.5.6" - throat "^5.0.0" - ws "^7.5.10" - yargs "^17.6.2" -metro@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.83.7.tgz#8357495dfea9e11d34ea15c0a1e2acd508ee5559" - integrity sha512-SPaPEyvTsTmd0LpT7RaZciQyDw2i/JB7+iY9L5VfBo72+psescFxBqpI1TL9dnL+pmnfkU+l/J1mEEGLeF65EQ== +metro@0.84.4, metro@^0.84.3: + version "0.84.4" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.84.4.tgz#dfcf92b3bcadce7cafaf1a1fa231b6490dfae78c" + integrity sha512-8ETTubqfD6ornDy2zYDvRcKnVDOXdFJsjetYDBsY4oAsb6NJkiwFR+FaMESyGppFmQUyBQA4H4sFGxzcQSGtFA== dependencies: "@babel/code-frame" "^7.29.0" "@babel/core" "^7.25.2" @@ -9197,18 +8540,18 @@ metro@0.83.7: jest-worker "^29.7.0" jsc-safe-url "^0.2.2" lodash.throttle "^4.1.1" - metro-babel-transformer "0.83.7" - metro-cache "0.83.7" - metro-cache-key "0.83.7" - metro-config "0.83.7" - metro-core "0.83.7" - metro-file-map "0.83.7" - metro-resolver "0.83.7" - metro-runtime "0.83.7" - metro-source-map "0.83.7" - metro-symbolicate "0.83.7" - metro-transform-plugins "0.83.7" - metro-transform-worker "0.83.7" + metro-babel-transformer "0.84.4" + metro-cache "0.84.4" + metro-cache-key "0.84.4" + metro-config "0.84.4" + metro-core "0.84.4" + metro-file-map "0.84.4" + metro-resolver "0.84.4" + metro-runtime "0.84.4" + metro-source-map "0.84.4" + metro-symbolicate "0.84.4" + metro-transform-plugins "0.84.4" + metro-transform-worker "0.84.4" mime-types "^3.0.1" nullthrows "^1.1.1" serialize-error "^2.1.0" @@ -9269,31 +8612,19 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-function@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" - integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== - minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@^10.0.1, minimatch@^10.1.1, minimatch@^10.2.2: - version "10.2.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.4.tgz#465b3accbd0218b8281f5301e27cedc697f96fde" - integrity sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg== - dependencies: - brace-expansion "^5.0.2" - -minimatch@^10.2.4: +minimatch@^10.0.1, minimatch@^10.2.2, minimatch@^10.2.4: version "10.2.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.5.tgz#bd48687a0be38ed2961399105600f832095861d1" integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== dependencies: brace-expansion "^5.0.5" -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== @@ -9307,7 +8638,7 @@ minimatch@^8.0.2: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.3, minimatch@^9.0.4: +minimatch@^9.0.4: version "9.0.9" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.9.tgz#9b0cb9fcb78087f6fd7eababe2511c4d3d60574e" integrity sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg== @@ -9357,10 +8688,15 @@ multitars@^1.0.0: resolved "https://registry.yarnpkg.com/multitars/-/multitars-1.0.0.tgz#50828be6b04328242e1c0f8439fbca4f6569e761" integrity sha512-H/J4fMLedtudftaYMOg7ajzLYgT3/rwbWVJbqr/iUgB8DQztn38ys5HOqI1CzSxx8QhXXwOOnnBvd4v3jG5+Mg== -nanoid@^3.3.1, nanoid@^3.3.11, nanoid@^3.3.7: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== +nanoid@^3.3.1, nanoid@^3.3.11: + version "3.3.12" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.12.tgz#ab3d912e217a6d0a514f00a72a16543a28982c05" + integrity sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ== + +nanoid@^5.1.7: + version "5.1.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-5.1.11.tgz#559dbdbc41737da341ac938c25514563d2dd94c7" + integrity sha512-v+KEsUv2ps74PaSKv0gHTxTCgMXOIfBEbaqa6w6ISIGC7ZsvHN4N9oJ8d4cmf0n5oTzQz2SLmThbQWhjd/8eKg== napi-postinstall@^0.3.0: version "0.3.4" @@ -9432,10 +8768,10 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.27: - version "2.0.27" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e" - integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== +node-releases@^2.0.36: + version "2.0.44" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.44.tgz#212c9b983f5bb70d311dd68c27d55dd0e65d1ca7" + integrity sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ== node-stream-zip@^1.9.1: version "1.15.0" @@ -9489,17 +8825,10 @@ nwsapi@^2.2.16: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.23.tgz#59712c3a88e6de2bb0b6ccc1070397267019cf6c" integrity sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ== -ob1@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.4.tgz#f034e861376ca4294c5e75623389f07b48028aeb" - integrity sha512-9JiflaRKCkxKzH8uuZlax72cHzZ8iFLsNIORFOAKDgZUOfvfwYWOVS0ezGLzPp/yEhVktD+PTTImC0AAehSOBw== - dependencies: - flow-enums-runtime "^0.0.6" - -ob1@0.83.7: - version "0.83.7" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.7.tgz#0f9a9461ee3c3048eacd40893fee3385d42d8731" - integrity sha512-9M5kpuOLyTPogMtZiQUIxdAZxl7Dxs6tVBbJErSumsqGMuhVSoUbkfeZ3XNPpLpwBBtqY5QDUzGwggLHX3slQg== +ob1@0.84.4: + version "0.84.4" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.84.4.tgz#ec645debf5fbd8511dc1f00bf454e232fba02a9b" + integrity sha512-eJXMpz4aQHXF/YBB9ddqZDIS+ooO91hObo9FoW/xBkr54/zCwYYCDqT/O54vNo8kOkWs5Ou/y28NgdrV0edQNA== dependencies: flow-enums-runtime "^0.0.6" @@ -9605,13 +8934,6 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -onetime@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" - integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== - dependencies: - mimic-function "^5.0.0" - open@^10.0.3: version "10.2.0" resolved "https://registry.yarnpkg.com/open/-/open-10.2.0.tgz#b9d855be007620e80b6fb05fac98141fe62db73c" @@ -9685,21 +9007,6 @@ ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ora@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-8.2.0.tgz#8fbbb7151afe33b540dd153f171ffa8bd38e9861" - integrity sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw== - dependencies: - chalk "^5.3.0" - cli-cursor "^5.0.0" - cli-spinners "^2.9.2" - is-interactive "^2.0.0" - is-unicode-supported "^2.0.0" - log-symbols "^6.0.0" - stdin-discarder "^0.2.2" - string-width "^7.2.0" - strip-ansi "^7.1.0" - own-keys@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" @@ -9716,7 +9023,7 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2, p-limit@^3.1.0, "p-limit@^3.1.0 ": +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -9852,10 +9159,10 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-expression-matcher@^1.1.3, path-expression-matcher@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/path-expression-matcher/-/path-expression-matcher-1.2.0.tgz#9bdae3787f43b0857b0269e9caaa586c12c8abee" - integrity sha512-DwmPWeFn+tq7TiyJ2CxezCAirXjFxvaiD03npak3cRjlP9+OjTmSy1EpIrEbh+l6JgUundniloMLDQ/6VTdhLQ== +path-expression-matcher@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz#3b98545dc88ffebb593e2d8458d0929da9275f4a" + integrity sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ== path-is-absolute@^1.0.0: version "1.0.1" @@ -9880,7 +9187,7 @@ path-scurry@^1.11.1, path-scurry@^1.6.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-scurry@^2.0.0, path-scurry@^2.0.2: +path-scurry@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-2.0.2.tgz#6be0d0ee02a10d9e0de7a98bae65e182c9061f85" integrity sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg== @@ -9918,12 +9225,12 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== -picomatch@^4.0.2, picomatch@^4.0.3: +picomatch@^4.0.2, picomatch@^4.0.3, picomatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589" integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== -pirates@^4.0.4, pirates@^4.0.7: +pirates@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== @@ -9943,9 +9250,9 @@ pkg-up@^3.1.0: find-up "^3.0.0" pkijs@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/pkijs/-/pkijs-3.3.3.tgz#b3f04d7b2eaacb05c81675f882be374e591626ec" - integrity sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw== + version "3.4.0" + resolved "https://registry.yarnpkg.com/pkijs/-/pkijs-3.4.0.tgz#d9164def30ff6d97be2d88966d5e36192499ca9c" + integrity sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw== dependencies: "@noble/hashes" "1.4.0" asn1js "^3.0.6" @@ -9955,11 +9262,11 @@ pkijs@^3.3.3: tslib "^2.8.1" plist@^3.0.5, plist@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9" - integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ== + version "3.1.1" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.1.tgz#fa6099e1e3cf6ea180258ebe6378ea3878c2c841" + integrity sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA== dependencies: - "@xmldom/xmldom" "^0.8.8" + "@xmldom/xmldom" "^0.9.10" base64-js "^1.5.1" xmlbuilder "^15.1.1" @@ -10014,24 +9321,15 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.40: - version "8.5.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" - integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== +postcss@^8.4.40, postcss@^8.5.14: + version "8.5.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.14.tgz#a66c2d7808fadf69ebb5b84a03f8bafd76c4919c" + integrity sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg== dependencies: nanoid "^3.3.11" picocolors "^1.1.1" source-map-js "^1.2.1" -postcss@~8.4.32: - version "8.4.49" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" - integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== - dependencies: - nanoid "^3.3.7" - picocolors "^1.1.1" - source-map-js "^1.2.1" - postject@^1.0.0-alpha.6: version "1.0.0-alpha.6" resolved "https://registry.yarnpkg.com/postject/-/postject-1.0.0-alpha.6.tgz#9d022332272e2cfce8dea4cfce1ee6dd1b2ee135" @@ -10040,9 +9338,9 @@ postject@^1.0.0-alpha.6: commander "^9.4.0" preact@^10.25.1: - version "10.28.4" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.28.4.tgz#8ffab01c5c0590535bdaecdd548801f44c6e483a" - integrity sha512-uKFfOHWuSNpRFVTnljsCluEFq57OKT+0QdOiQo8XWnQ/pSvg7OpX5eNOejELXJMWy+BwM2nobz0FkvzmnpCNsQ== + version "10.29.1" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.29.1.tgz#2a5b936efe91cfe1e773cdb55dceb55d148d1d4b" + integrity sha512-gQCLc/vWroE8lIpleXtdJhTFDogTdZG9AjMUpVkDf2iTCNwYNWA+u16dL41TqUDJO4gm2IgrcMv3uTpjd4Pwmg== prelude-ls@^1.2.1: version "1.2.1" @@ -10062,21 +9360,12 @@ pretty-error@^4.0.0: lodash "^4.17.20" renderkid "^3.0.0" -pretty-format@30.3.0, pretty-format@^30.0.0: - version "30.3.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-30.3.0.tgz#e977eed4bcd1b6195faed418af8eac68b9ea1f29" - integrity sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ== - dependencies: - "@jest/schemas" "30.0.5" - ansi-styles "^5.2.0" - react-is "^18.3.1" - -pretty-format@30.4.0: - version "30.4.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-30.4.0.tgz#1cb5715f22dbcba218b8e1118b26040f8f3358ef" - integrity sha512-PzJLEF72RqCj01UTBWqBi2ar3U2iJ0oG0+HzcdHPW+rzfpzDCuiVeiy6lns8L3Nbpp4Ajw+nBsW2KuKPPyPlCw== +pretty-format@30.4.1, pretty-format@^30.0.0: + version "30.4.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-30.4.1.tgz#0911652e92e1e91f475e3e6a16e628e50649ea69" + integrity sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw== dependencies: - "@jest/schemas" "30.4.0" + "@jest/schemas" "30.4.1" ansi-styles "^5.2.0" react-is-18 "npm:react-is@^18.3.1" react-is-19 "npm:react-is@^19.2.5" @@ -10162,9 +9451,9 @@ proxy-addr@~2.0.7: ipaddr.js "1.9.1" pump@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" - integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.4.tgz#1f313430527fa8b905622ebd22fe1444e757ab3c" + integrity sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -10186,34 +9475,26 @@ pvtsutils@^1.3.6: dependencies: tslib "^2.8.1" -pvutils@^1.1.3: +pvutils@^1.1.3, pvutils@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.5.tgz#84b0dea4a5d670249aa9800511804ee0b7c2809c" integrity sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA== -qs@^6.14.1: - version "6.15.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.0.tgz#db8fd5d1b1d2d6b5b33adaf87429805f1909e7b3" - integrity sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ== - dependencies: - side-channel "^1.1.0" - -qs@~6.14.0: - version "6.14.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.2.tgz#b5634cf9d9ad9898e31fba3504e866e8efb6798c" - integrity sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q== +qs@^6.14.1, qs@~6.15.1: + version "6.15.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.1.tgz#bdb55aed06bfac257a90c44a446a73fba5575c8f" + integrity sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg== dependencies: side-channel "^1.1.0" -query-string@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" - integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== +query-string@^9.3.1: + version "9.3.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-9.3.1.tgz#d0c93e6c7fb7c17bdf04aa09e382114580ede270" + integrity sha512-5fBfMOcDi5SA9qj5jZhWAcTtDfKF5WFdd2uD9nVNlbxVv1baq65aALy6qofpNEGELHvisjjasxQp7BlM9gvMzw== dependencies: - decode-uri-component "^0.2.2" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" + decode-uri-component "^0.4.1" + filter-obj "^5.1.0" + split-on-first "^3.0.0" queue-microtask@^1.2.2: version "1.2.3" @@ -10260,10 +9541,10 @@ react-devtools-core@^6.1.5: shell-quote "^1.6.1" ws "^7" -react-dom@19.2.0: - version "19.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.2.0.tgz#00ed1e959c365e9a9d48f8918377465466ec3af8" - integrity sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ== +react-dom@19.2.3: + version "19.2.3" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.2.3.tgz#f0b61d7e5c4a86773889fcc1853af3ed5f215b17" + integrity sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg== dependencies: scheduler "^0.27.0" @@ -10272,14 +9553,6 @@ react-freeze@^1.0.0: resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.4.tgz#cbbea2762b0368b05cbe407ddc9d518c57c6f3ad" integrity sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA== -react-grab@latest: - version "0.1.32" - resolved "https://registry.yarnpkg.com/react-grab/-/react-grab-0.1.32.tgz#f9efa73b74ac0098e5de2776d6674dee76b4b7c9" - integrity sha512-ODZkzu4zjwX/5a1VxTdIkagPD6uPnp8IkSN2v5FDgFMZkH5r/YEMq43hIsdpHV5/R2ymqS9zLxp4H7SNSRx5ng== - dependencies: - "@react-grab/cli" "0.1.32" - bippy "^0.5.39" - "react-is-18@npm:react-is@^18.3.1": version "18.3.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" @@ -10290,7 +9563,7 @@ react-grab@latest: resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.2.6.tgz#aeee6159b159eb7f520d672cffcc69e7052d288f" integrity sha512-XjBR15BhXuylgWGuslhDKqlSayuqvqBX91BP8pauG8kd1zY8kotkNWbXksTCNRarse4kuGbe2kIY05ARtwNIvw== -react-is@^16.13.1: +react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -10300,30 +9573,27 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0, react-is@^18.3.1: +react-is@^18.0.0: version "18.3.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== react-is@^19.1.0: - version "19.2.4" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.2.4.tgz#a080758243c572ccd4a63386537654298c99d135" - integrity sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA== + version "19.2.6" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.2.6.tgz#aeee6159b159eb7f520d672cffcc69e7052d288f" + integrity sha512-XjBR15BhXuylgWGuslhDKqlSayuqvqBX91BP8pauG8kd1zY8kotkNWbXksTCNRarse4kuGbe2kIY05ARtwNIvw== -react-native-gesture-handler@3.0.0-beta.3: - version "3.0.0-beta.3" - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-3.0.0-beta.3.tgz#3c6a5f32304fef07af0e62d00104fdde58925fa5" - integrity sha512-HasVC2kUggDUsJcVD5SWIngkW/FXfeqL9tVAmXQZ6bgg4yNY6A1hGOO8PxSu99iOEocG0O51xZeKzF06HhMepQ== +react-native-gesture-handler@2.31.2: + version "2.31.2" + resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.31.2.tgz#f1832592619db00d70b036f73cf48f54cb415d71" + integrity sha512-rw5q74i2AfS7YGYdbxQDhOU7xqgY6WRM1132/CCm3erqjblhECZDZFHIm0tteHoC9ih24wogVBVVzcTBQtZ+5A== dependencies: + "@egjs/hammerjs" "^2.0.17" "@types/react-test-renderer" "^19.1.0" + hoist-non-react-statics "^3.3.0" invariant "^2.2.4" -react-native-is-edge-to-edge@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.2.1.tgz#64e10851abd9d176cbf2b40562f751622bde3358" - integrity sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q== - -react-native-is-edge-to-edge@^1.3.1: +react-native-is-edge-to-edge@^1.2.1, react-native-is-edge-to-edge@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.3.1.tgz#feb9a6a8faf0874298947edd556e5af22044e139" integrity sha512-NIXU/iT5+ORyCc7p0z2nnlkouYKX425vuU1OEm6bMMtWWR9yvb+Xg5AZmImTKoF9abxCPqrKC3rOZsKzUYgYZA== @@ -10351,10 +9621,10 @@ react-native-safe-area-context@5.7.0: resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-5.7.0.tgz#035699d5ec17fefb98cc1fa44a9ec852c7d530d0" integrity sha512-/9/MtQz8ODphjsLdZ+GZAIcC/RtoqW9EeShf7Uvnfgm/pzYrJ75y3PV/J1wuAV1T5Dye5ygq4EAW20RoBq0ABQ== -react-native-screens@4.24.0: - version "4.24.0" - resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-4.24.0.tgz#dbe8f610b5d2e31f71425d2ea3caaff1b9a7e2de" - integrity sha512-SyoiGaDofiyGPFrUkn1oGsAzkRuX1JUvTD9YQQK3G1JGQ5VWkvHgYSsc1K9OrLsDQxN7NmV71O0sHCAh8cBetA== +react-native-screens@4.25.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-4.25.0.tgz#8cbd6ba56daabe4cd1cd9ff405184b017836c341" + integrity sha512-CoE6W0perui0W4WK9fZFJfikUql/AYQFSJjnOGoXcPeteFb5Tursfmkot3vPOSu9lKWQMO6tlCIBQTC1CgbVRw== dependencies: react-freeze "^1.0.0" warn-once "^0.1.0" @@ -10403,34 +9673,30 @@ react-native-zoom-toolkit@5.0.1: resolved "https://registry.yarnpkg.com/react-native-zoom-toolkit/-/react-native-zoom-toolkit-5.0.1.tgz#7d01a1c0859fb0a5dd4f3bfd486de84ac83538ea" integrity sha512-itDL8OkyJpoZVXypbSNwULNcjIvoOXEpyf1C0rrzpmYmVkPEqN1OsFhTYWDEZ5hUPnTZ6RwhZtxnjfrn1tBLWA== -react-native@0.83.4: - version "0.83.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.83.4.tgz#5c3103a8523eee46559b6e6228ff9ac9d907ee1f" - integrity sha512-H5Wco3UJyY6zZsjoBayY8RM9uiAEQ3FeG4G2NAt+lr9DO43QeqPlVe9xxxYEukMkEmeIhNjR70F6bhXuWArOMQ== - dependencies: - "@jest/create-cache-key-function" "^29.7.0" - "@react-native/assets-registry" "0.83.4" - "@react-native/codegen" "0.83.4" - "@react-native/community-cli-plugin" "0.83.4" - "@react-native/gradle-plugin" "0.83.4" - "@react-native/js-polyfills" "0.83.4" - "@react-native/normalize-colors" "0.83.4" - "@react-native/virtualized-lists" "0.83.4" +react-native@0.85.3: + version "0.85.3" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.85.3.tgz#4a3d25c63a2fd320ffb093e20269cf47d585d483" + integrity sha512-HN/fGC+3nZVcDNcw7gfbM/DuqZAvI9Mz+/SxuhODaua4JY0BPzhfTzWXRyTR4mRgMHmShTPpH2PYMTxvZrsdZA== + dependencies: + "@react-native/assets-registry" "0.85.3" + "@react-native/codegen" "0.85.3" + "@react-native/community-cli-plugin" "0.85.3" + "@react-native/gradle-plugin" "0.85.3" + "@react-native/js-polyfills" "0.85.3" + "@react-native/normalize-colors" "0.85.3" + "@react-native/virtualized-lists" "0.85.3" 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.32.0" + babel-plugin-syntax-hermes-parser "0.33.3" base64-js "^1.5.1" commander "^12.0.0" flow-enums-runtime "^0.0.6" - glob "^7.1.1" - hermes-compiler "0.14.1" + hermes-compiler "250829098.0.10" invariant "^2.2.4" - jest-environment-node "^29.7.0" memoize-one "^5.0.0" - metro-runtime "^0.83.3" - metro-source-map "^0.83.3" + metro-runtime "^0.84.3" + metro-source-map "^0.84.3" nullthrows "^1.1.1" pretty-format "^29.7.0" promise "^8.3.0" @@ -10440,6 +9706,7 @@ react-native@0.83.4: scheduler "0.27.0" semver "^7.1.3" stacktrace-parser "^0.1.10" + tinyglobby "^0.2.15" whatwg-fetch "^3.0.0" ws "^7.5.10" yargs "^17.6.2" @@ -10454,28 +9721,31 @@ react-refresh@^0.14.0, react-refresh@^0.14.2: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== -react-scan@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/react-scan/-/react-scan-0.5.6.tgz#15df7d71f424c27edd3903de82da735e350efd80" - integrity sha512-FrZ75yWjabNQmBbN9wxP+FgfgcPYoOFFWXYBhi6OnUbF/DyJDwOEfV2RRs9IWVfPVjhsku2CPK3oohYC5GEHpg== +react-scan@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/react-scan/-/react-scan-1.2.0.tgz#b9eb1eac31239e1068096dc81ec854b6d5778ad2" + integrity sha512-b6PLkrWo5QgGIcY9Ic09Pzjy3la9cqIl3ejtHEr1mVNBKWCSbP407Ab5SYT5k8PjI5jbxwMEk7nEyMOj0Bl8+w== dependencies: "@babel/core" "^7.26.0" + "@babel/generator" "^7.26.2" "@babel/types" "^7.26.0" "@preact/signals" "^1.3.1" "@rollup/pluginutils" "^5.1.3" - bippy "^0.5.39" + "@types/node" "^20.17.9" + bippy "^0.3.33" commander "^14.0.0" + esbuild "^0.25.0" + estree-walker "^3.0.3" picocolors "^1.1.1" preact "^10.25.1" prompts "^2.4.2" - react-grab latest optionalDependencies: unplugin "2.1.0" -react@19.2.0: - version "19.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-19.2.0.tgz#d33dd1721698f4376ae57a54098cb47fc75d93a5" - integrity sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ== +react@19.2.3: + version "19.2.3" + resolved "https://registry.yarnpkg.com/react/-/react-19.2.3.tgz#d83e5e8e7a258cf6b4fe28640515f99b87cd19b8" + integrity sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA== readable-stream@^2.0.1: version "2.3.8" @@ -10579,9 +9849,9 @@ regjsgen@^0.8.0: integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== regjsparser@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.13.0.tgz#01f8351335cf7898d43686bc74d2dd71c847ecc0" - integrity sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q== + version "0.13.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.13.1.tgz#0593cbacb27527927692030928ae4d3b878d6f8d" + integrity sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw== dependencies: jsesc "~3.1.0" @@ -10656,10 +9926,11 @@ resolve-workspace-root@^2.0.0: integrity sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w== resolve@^1.20.0, resolve@^1.22.11, resolve@^1.22.8: - version "1.22.11" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" - integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== + version "1.22.12" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.12.tgz#f5b2a680897c69c238a13cd16b15671f8b73549f" + integrity sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA== dependencies: + es-errors "^1.3.0" is-core-module "^2.16.1" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -10692,14 +9963,6 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -restore-cursor@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" - integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== - dependencies: - onetime "^7.0.0" - signal-exit "^4.1.0" - retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" @@ -10723,13 +9986,6 @@ rimraf@6.1.3: glob "^13.0.3" package-json-from-dist "^1.0.1" -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - rrweb-cssom@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz#3021d1b4352fbf3b614aaeed0bc0d5739abe0bc2" @@ -10753,13 +10009,13 @@ run-parallel@^1.1.9: queue-microtask "^1.2.2" safe-array-concat@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" - integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== + version "1.1.4" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.4.tgz#a54cc9b61a57f33b42abad3cbdda3a2b38cc5719" + integrity sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg== dependencies: - call-bind "^1.0.8" - call-bound "^1.0.2" - get-intrinsic "^1.2.6" + call-bind "^1.0.9" + call-bound "^1.0.4" + get-intrinsic "^1.3.0" has-symbols "^1.1.0" isarray "^2.0.5" @@ -10796,9 +10052,9 @@ safe-regex-test@^1.1.0: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sax@>=0.6.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.4.tgz#f29c2bba80ce5b86f4343b4c2be9f2b96627cf8b" - integrity sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw== + version "1.6.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.6.0.tgz#da59637629307b97e7c4cb28e080a7bc38560d5b" + integrity sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA== saxes@^6.0.0: version "6.0.0" @@ -10844,15 +10100,15 @@ selfsigned@^5.5.0: "@peculiar/x509" "^1.14.2" pkijs "^3.3.3" -semver@^6.3.0, semver@^6.3.1: +semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.1.3, semver@^7.3.5, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3, semver@^7.7.1, semver@^7.7.2, semver@^7.7.3: - version "7.7.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" - integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== + version "7.8.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.8.0.tgz#ed0661039fcbcda2ce71f01fa6adbefaa77040df" + integrity sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA== send@^0.19.0, send@~0.19.0, send@~0.19.1: version "0.19.2" @@ -10947,7 +10203,7 @@ setprototypeof@1.2.0, setprototypeof@~1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -sf-symbols-typescript@^2.1.0, sf-symbols-typescript@^2.2.0: +sf-symbols-typescript@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/sf-symbols-typescript/-/sf-symbols-typescript-2.2.0.tgz#926d6e0715e3d8784cadf7658431e36581254208" integrity sha512-TPbeg0b7ylrswdGCji8FRGFAKuqbpQlLbL8SOle3j1iHSs5Ob5mhvMAxWN2UItOjgALAB5Zp3fmMfj8mbWvXKw== @@ -10977,12 +10233,12 @@ shell-quote@^1.6.1, shell-quote@^1.8.3: integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== side-channel-list@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" - integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.1.tgz#c2e0b5a14a540aebee3bbc6c3f8666cc9b509127" + integrity sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w== dependencies: es-errors "^1.3.0" - object-inspect "^1.13.3" + object-inspect "^1.13.4" side-channel-map@^1.0.1: version "1.0.1" @@ -11016,12 +10272,12 @@ side-channel@^1.1.0: side-channel-map "^1.0.1" side-channel-weakmap "^1.0.2" -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -signal-exit@^4.0.1, signal-exit@^4.1.0: +signal-exit@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== @@ -11035,13 +10291,6 @@ simple-plist@^1.1.0: bplist-parser "0.3.1" plist "^3.0.5" -simple-swizzle@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.4.tgz#a8d11a45a11600d6a1ecdff6363329e3648c3667" - integrity sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw== - dependencies: - is-arrayish "^0.3.1" - sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -11067,14 +10316,9 @@ slice-ansi@^2.0.0: is-fullwidth-code-point "^2.0.0" slugify@^1.3.4, slugify@^1.6.6: - version "1.6.6" - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.6.tgz#2d4ac0eacb47add6af9e04d3be79319cbcc7924b" - integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== - -smol-toml@^1.6.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/smol-toml/-/smol-toml-1.6.1.tgz#4fceb5f7c4b86c2544024ef686e12ff0983465be" - integrity sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg== + version "1.6.9" + resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.9.tgz#610957dea21e56b65e3a153215ef7b265715c8e8" + integrity sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg== sockjs@^0.3.24: version "0.3.24" @@ -11098,7 +10342,7 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@~0.5.20, source-map-support@~0.5.21: +source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -11144,17 +10388,17 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== +split-on-first@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-3.0.0.tgz#f04959c9ea8101b9b0bbf35a61b9ebea784a23e7" + integrity sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA== sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -stack-utils@^2.0.3, stack-utils@^2.0.6: +stack-utils@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== @@ -11183,11 +10427,6 @@ statuses@~2.0.1, statuses@~2.0.2: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== -stdin-discarder@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.2.2.tgz#390037f44c4ae1a1ae535c5fe38dc3aba8d997be" - integrity sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ== - stop-iteration-iterator@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" @@ -11201,11 +10440,6 @@ stream-buffers@2.2.x: resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - strict-url-sanitise@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/strict-url-sanitise/-/strict-url-sanitise-0.0.1.tgz#10cfac63c9dfdd856d98ab9f76433dad5ce99e0c" @@ -11251,15 +10485,6 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string-width@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" - integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== - dependencies: - emoji-regex "^10.3.0" - get-east-asian-width "^1.0.0" - strip-ansi "^7.1.0" - string.prototype.matchall@^4.0.12: version "4.0.12" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" @@ -11354,7 +10579,7 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1, strip-ansi@^7.1.0: +strip-ansi@^7.0.1: version "7.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" integrity sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== @@ -11376,10 +10601,10 @@ strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strnum@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.2.2.tgz#f11fd94ab62b536ba2ecc615858f3747c2881b3f" - integrity sha512-DnR90I+jtXNSTXWdwrEy9FakW7UX+qUZg28gj5fk2vxxl7uS/3bpI4fjFYVmdK9etptYBPNkpahuQnEwhwECqA== +strnum@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.3.0.tgz#81bfbfef53db8c3217ea62a98c026886ec4a2761" + integrity sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q== structured-headers@^0.4.1: version "0.4.1" @@ -11454,10 +10679,10 @@ tagged-tag@^1.0.0: resolved "https://registry.yarnpkg.com/tagged-tag/-/tagged-tag-1.0.0.tgz#a0b5917c2864cba54841495abfa3f6b13edcf4d6" integrity sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng== -tapable@^2.0.0, tapable@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.0.tgz#7e3ea6d5ca31ba8e078b560f0d83ce9a14aa8be6" - integrity sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== +tapable@^2.0.0, tapable@^2.3.0, tapable@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.3.tgz#5da7c9992c46038221267985ab28421a8879f160" + integrity sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A== terminal-link@^2.1.1: version "2.1.1" @@ -11467,20 +10692,10 @@ terminal-link@^2.1.1: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.5.0.tgz#d92b8e2c892dd09c683c38120394267e8d8660ef" - integrity sha512-UYhptBwhWvfIjKd/UuFo6D8uq9xpGLDK+z8EDsj/zWhrTaH34cKEbrkMKfV5YWqGBvAYA3tlzZbs2R+qYrbQJA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.25" - jest-worker "^27.4.5" - schema-utils "^4.3.0" - terser "^5.31.1" - -terser-webpack-plugin@^5.3.17: - version "5.3.17" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.17.tgz#75ea98876297fbb190d2fbb395e982582b859a67" - integrity sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw== +terser-webpack-plugin@5.6.0, terser-webpack-plugin@^5.3.17: + version "5.6.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.6.0.tgz#8e7caad248183ab9e91ff08a83b0fc9f0439c3c3" + integrity sha512-Eum+5ajkaOhf5KbM26osvv21kLD7BaGqQ1UA4Ami4arYwylmGUQTgHFpHDdmJod1q4QXa66p0to/FBKID+J1vA== dependencies: "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" @@ -11488,9 +10703,9 @@ terser-webpack-plugin@^5.3.17: terser "^5.31.1" terser@^5.10.0, terser@^5.15.0, terser@^5.31.1: - version "5.46.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.46.0.tgz#1b81e560d584bbdd74a8ede87b4d9477b0ff9695" - integrity sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg== + version "5.47.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.47.1.tgz#99b298e51bc41214304847de1429ec92fd1f7648" + integrity sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.15.0" @@ -11507,9 +10722,9 @@ test-exclude@^6.0.0: minimatch "^3.0.4" thingies@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/thingies/-/thingies-2.5.0.tgz#5f7b882c933b85989f8466b528a6247a6881e04f" - integrity sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw== + version "2.6.0" + resolved "https://registry.yarnpkg.com/thingies/-/thingies-2.6.0.tgz#e09b98b9e6f6caf8a759eca8481fea1de974d2b1" + integrity sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg== throat@^5.0.0: version "5.0.0" @@ -11522,12 +10737,12 @@ thunky@^1.0.2: integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== tinyglobby@^0.2.15: - version "0.2.15" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" - integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== + version "0.2.16" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.16.tgz#1c3b7eb953fce42b226bc5a1ee06428281aff3d6" + integrity sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg== dependencies: fdir "^6.5.0" - picomatch "^4.0.3" + picomatch "^4.0.4" tldts-core@^6.1.86: version "6.1.86" @@ -11597,11 +10812,6 @@ ts-api-utils@^1.3.0: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== -ts-api-utils@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.4.0.tgz#2690579f96d2790253bdcf1ca35d569ad78f9ad8" - integrity sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA== - ts-api-utils@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.5.0.tgz#4acd4a155e22734990a5ed1fe9e97f113bcb37c1" @@ -11646,10 +10856,10 @@ type-fest@^0.7.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== -type-fest@^5.4.4: - version "5.4.4" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.4.4.tgz#577f165b5ecb44cfc686559cc54ca77f62aa374d" - integrity sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw== +type-fest@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-5.6.0.tgz#502f7a003b7309e96a7e17052cc2ab2c7e5c7a31" + integrity sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA== dependencies: tagged-tag "^1.0.0" @@ -11715,15 +10925,15 @@ typed-array-length@^1.0.7: possible-typed-array-names "^1.0.0" reflect.getprototypeof "^1.0.6" -typescript-eslint@8.59.2: - version "8.59.2" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.59.2.tgz#e24b4f7232e20112e40572dba162a829a738ce98" - integrity sha512-pJw051uomb3ZeCzGTpRb8RbEqB5Y4WWet8gl/GcTlU35BSx0PVdZ86/bqkQCyKKuraVQEK7r6kBHQXF+fBhkoQ== +typescript-eslint@8.59.3: + version "8.59.3" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.59.3.tgz#4a41d9007faa539a66292189e2795eeb0b9fca29" + integrity sha512-KgusgyDgG4LI8Ih/sWaCtZ06tckLAS5CvT5A4D1Q7bYVoAAyzwiZvE4BmwDHkhRVkvhRBepKeASoFzQetha7Fg== dependencies: - "@typescript-eslint/eslint-plugin" "8.59.2" - "@typescript-eslint/parser" "8.59.2" - "@typescript-eslint/typescript-estree" "8.59.2" - "@typescript-eslint/utils" "8.59.2" + "@typescript-eslint/eslint-plugin" "8.59.3" + "@typescript-eslint/parser" "8.59.3" + "@typescript-eslint/typescript-estree" "8.59.3" + "@typescript-eslint/utils" "8.59.3" typescript@6.0.3: version "6.0.3" @@ -11745,15 +10955,20 @@ unbox-primitive@^1.1.0: has-symbols "^1.1.0" which-boxed-primitive "^1.1.1" +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + undici-types@~7.16.0: version "7.16.0" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== -undici-types@~7.18.0: - version "7.18.2" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" - integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== +undici-types@~7.21.0: + version "7.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.21.0.tgz#433f7dd1b5daa9ab4dacb721a5e11a8de51eadda" + integrity sha512-w9IMgQrz4O0YN1LtB7K5P63vhlIOvC7opSmouCJ+ZywlPAlO9gIkJ+otk6LvGpAs2wg4econaCz3TvQ9xPoyuQ== undici@^7.24.4: version "7.25.0" @@ -11783,10 +10998,10 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz#301d4f8a43d2b75c97adfad87c9dd5350c9475d1" integrity sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ== -unimodules-app-loader@~55.0.5: - version "55.0.5" - resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-55.0.5.tgz#3542667367932ef1cb3fa6f52c6dd4120dab3ed8" - integrity sha512-2eLjtaAVQTK3EeiUAgRbfEnX78f6cMtw5Js8Ri4OcEdkrozsmvG3Wu8YVfr6kfhea17FHZkKZmO1m4dL/Ky2Bg== +unimodules-app-loader@~56.0.0: + version "56.0.1" + resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-56.0.1.tgz#443b9b17c8ca04733eb1f5572cf0c944024373b5" + integrity sha512-Z801jeBOQMUF/ExklxT1BqhEV/oF2/Bii7PFYAj/8Sauxl7oKvZbf70peRzzAU0mG7UQ3yU/UO/EpD1JyJ2WcA== universalify@^0.1.0: version "0.1.2" @@ -11838,7 +11053,7 @@ unrs-resolver@^1.7.11: "@unrs/resolver-binding-win32-ia32-msvc" "1.11.1" "@unrs/resolver-binding-win32-x64-msvc" "1.11.1" -update-browserslist-db@^1.2.0: +update-browserslist-db@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz#64d76db58713136acbeb4c49114366cc6cc2e80d" integrity sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== @@ -11853,12 +11068,12 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -use-latest-callback@^0.2.4: - version "0.2.6" - resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.2.6.tgz#e5ea752808c86219acc179ace0ae3c1203255e77" - integrity sha512-FvRG9i1HSo0wagmX63Vrm8SnlUU3LMM3WyZkQ76RnslpBrX694AdG4A0zQBx2B3ZifFA0yv/BaEHGBnEax5rZg== +use-latest-callback@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.3.3.tgz#62f3c2a949087605741624850e4be6429e8fe3f1" + integrity sha512-G9A/EL7okx4wzBfATt8bdGg0v1K0Gp0IClTzljffM63gtPisgDKCaLCLUb4g2M4CoXDg5yyHjOU+g3SUPbXwrA== -use-sync-external-store@^1.5.0: +use-sync-external-store@^1.5.0, use-sync-external-store@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz#b174bfa65cb2b526732d9f2ac0a408027876f32d" integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== @@ -11990,10 +11205,10 @@ webpack-dev-middleware@^7.4.2: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz#7f36a78be7ac88833fd87757edee31469a9e47d3" - integrity sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ== +webpack-dev-server@5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-5.2.4.tgz#6e6306ce59848ed322c235e48b326632b1eed6d6" + integrity sha512-GqDPGZN9bRqKBTkp4aWkobDDHMsrXKoGSdOH56smIri8qR0JG8gfL8/v/f/OZR3/OKXjG8uwJbFVhKm/FNU/UA== dependencies: "@types/bonjour" "^3.5.13" "@types/connect-history-api-fallback" "^1.5.4" @@ -12034,9 +11249,9 @@ webpack-merge@6.0.1, webpack-merge@^6.0.1: wildcard "^2.0.1" webpack-sources@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.4.tgz#a338b95eb484ecc75fbb196cbe8a2890618b4891" - integrity sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q== + version "3.4.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.4.1.tgz#009d110999ebd9fb3a6fa8d32eec6f84d940e65d" + integrity sha512-eACpxRN02yaawnt+uUNIF7Qje6A9zArxBbcAJjK1PK3S9Ycg5jIuJ8pW4q8EMnwNZCEGltcjkRx1QzOxOkKD8A== webpack-virtual-modules@^0.6.2: version "0.6.2" @@ -12104,10 +11319,10 @@ whatwg-mimetype@^4.0.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== -whatwg-url-minimum@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/whatwg-url-minimum/-/whatwg-url-minimum-0.1.1.tgz#df90eba931c3624c6a74dd9b7d39634390f2b67f" - integrity sha512-u2FNVjFVFZhdjb502KzXy1gKn1mEisQRJssmSJT8CPhZdZa0AP6VCbWlXERKyGu0l09t0k50FiDiralpGhBxgA== +whatwg-url-minimum@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/whatwg-url-minimum/-/whatwg-url-minimum-0.1.2.tgz#0ed1c6c74f4653288d6204c44eef3ded70977d12" + integrity sha512-XPEm0XFQWNVG292lII1PrRRJl3sItrs7CettZ4ncYxuDVpLyy+NwlGyut2hXI0JswcJUxeCH+CyOJK0ZzAXD6A== whatwg-url@^14.0.0, whatwg-url@^14.1.1: version "14.2.0" @@ -12241,14 +11456,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - write-file-atomic@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" @@ -12270,9 +11477,9 @@ ws@^7, ws@^7.5.10: integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.12.1, ws@^8.18.0: - version "8.19.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.19.0.tgz#ddc2bdfa5b9ad860204f5a72a4863a8895fd8c8b" - integrity sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== + version "8.20.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.20.1.tgz#91a9ae2b312ccf98e0a85ec499b48cef45ab0ddb" + integrity sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w== wsl-utils@^0.1.0: version "0.1.0" @@ -12294,6 +11501,11 @@ xml-name-validator@^5.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673" integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== +xml-naming@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/xml-naming/-/xml-naming-0.1.0.tgz#8ab7106c5b8d23caa2fabac1cadf17136379fbd8" + integrity sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw== + xml2js@0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.6.0.tgz#07afc447a97d2bd6507a1f76eeadddb09f7a8282" @@ -12333,9 +11545,9 @@ yallist@^3.0.2: integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yaml@^2.2.1, yaml@^2.2.2, yaml@^2.6.1: - version "2.8.3" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.3.tgz#a0d6bd2efb3dd03c59370223701834e60409bd7d" - integrity sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg== + version "2.9.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.9.0.tgz#78274afd93598a1dfdd6130df6a566defcbf9aa4" + integrity sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA== yargs-parser@^18.1.2: version "18.1.3" @@ -12414,19 +11626,19 @@ zod@^3.22.4, zod@^3.25.76: integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== "zod@^3.25.0 || ^4.0.0": - version "4.3.6" - resolved "https://registry.yarnpkg.com/zod/-/zod-4.3.6.tgz#89c56e0aa7d2b05107d894412227087885ab112a" - integrity sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg== + version "4.4.3" + resolved "https://registry.yarnpkg.com/zod/-/zod-4.4.3.tgz#b680f172885d18bbebf21a834ea25e55a1bbf356" + integrity sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ== zustand@5.0.13: version "5.0.13" resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.13.tgz#06995c126e8903cd27100af04da91c36ae3051ed" integrity sha512-efI2tVaVQPqtOh114loML/Z80Y4NP3yc+Ff0fYiZJPauNeWZeIp/bRFD7I9bfmCOYBh/PHxlglQ9+wvlwnPikQ== -zxing-wasm@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/zxing-wasm/-/zxing-wasm-3.0.0.tgz#184feade580ef7763cac4f1231eae1aa6fe28a39" - integrity sha512-s7ASCPKX+QnH7Y83f4Byxmq/vDzYW7B9m6jMP5S30JGfN2A6WAUn6P3vcBmNguDhPLE6ny2fjTooQVyKBXI1qA== +zxing-wasm@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/zxing-wasm/-/zxing-wasm-3.0.3.tgz#f87a45f7f90420e0f8c1a587147384d1cfeb4759" + integrity sha512-DdOn/G5F+qvZELWeO5ZFFwcN611TfMybxPV0LUUoutUmiH2t47MZSB7gLV9O9YLhvudBdnzQNAoFOu4Xz8eOrQ== dependencies: "@types/emscripten" "^1.41.5" - type-fest "^5.4.4" + type-fest "^5.6.0" diff --git a/skill/update-dependencies/SKILL.md b/skill/update-dependencies/SKILL.md index 60493bb53153..d88dfd005b97 100644 --- a/skill/update-dependencies/SKILL.md +++ b/skill/update-dependencies/SKILL.md @@ -8,58 +8,35 @@ description: Use when updating npm/yarn dependencies in shared/package.json. Use ## Packages to NEVER update with this skill These are pinned to the Expo SDK version — do not touch: + - `react`, `react-dom`, `react-is`, `react-test-renderer` — must match Expo SDK -- `react-native` — must stay on the minor version Expo SDK expects (e.g., Expo 55 → react-native 0.83.x). Do NOT update across minor versions. -- `@react-native/babel-preset`, `@react-native/eslint-config`, `@react-native/metro-config` — must match the `react-native` version (e.g., react-native 0.83.x → these stay at 0.83.x). Do NOT update across minor versions. +- `react-native` — must stay on the minor version Expo SDK expects (e.g., Expo 56 → react-native 0.85.x). Do NOT update across minor versions. +- `@react-native/babel-preset`, `@react-native/eslint-config`, `@react-native/metro-config` — must match the `react-native` version (e.g., react-native 0.85.x → these stay at 0.85.x). Do NOT update across minor versions. `expo` and `expo-*` packages **can** be updated, but update them all together in one pass since they are versioned in sync. -## Packages held back — always skip and announce - -These are outdated but blocked due to known compatibility issues. Always echo that you are skipping them: - -``` -Skipping react-error-boundary — held back: v6.x not compatible with our bundling setup -``` - -- **`react-error-boundary`** — v6.x not compatible with our bundling setup - -## ESLint 10 notes - -ESLint was upgraded to v10. The following were added to support it: -- `@eslint/js` — previously bundled with ESLint 9, now a separate package -- `@eslint/compat` — used in `eslint.config.mjs` via `fixupConfigRules` to wrap `eslint-plugin-react` (which still uses deprecated `context.getFilename()` API removed in ESLint 10) - -If updating `eslint-plugin-react` to a version that supports ESLint 10 natively, remove the `fixupConfigRules` wrapper in `eslint.config.mjs` and potentially drop `@eslint/compat`. - ## Process ### 1. Check what's outdated -```bash -cd shared && yarn outdated -``` - -This shows current, wanted, and latest versions. - -### 2. Check pre-release packages manually - -`yarn outdated` does **not** show updates for packages currently on a pre-release version (beta, alpha, dev, canary, rc). After running `yarn outdated`, also check these packages manually: +Run the following script from `shared/` — it checks all packages including pre-release ones, and handles cases where the current version is *ahead* of the `latest` dist-tag (e.g., expo 56.x while latest still points to 55.x): ```bash -cd shared && yarn info @legendapp/list versions +cd shared && python3 ../.claude/skills/update-dependencies/check-outdated.py ``` -For each pre-release package in `package.json`, run `yarn info versions` and pick the most recent version in the same pre-release line (e.g., still beta if currently beta). Do not promote to stable unless intentional. +**Important:** The `latest` dist-tag on npm sometimes lags behind the version line the project tracks (e.g., expo 56.x while npm `latest` still points to 55.x). The script handles this by comparing semver and never suggesting a downgrade. Always sanity-check results — if a "latest" version is lower than current, it's a false positive. + +Packages currently on pre-release lines: -Packages currently on pre-release lines that need manual checking: - `@legendapp/list` — beta - `@typescript/native-preview` — dev builds - `react-native-gesture-handler` — beta +- `@react-navigation/*` — alpha +- `expo` — preview +- `eslint-plugin-react-compiler` — rc -If `yarn outdated` shows a pre-release version or you suspect one exists for other packages, check with `yarn info versions`. - -Choose the most recent **stable** version unless the project already tracks a pre-release line. +**Note on `eslint-plugin-react-compiler` rc versions:** npm may have rc.1-hash variants that sort after rc.2 alphabetically but are older. Verify manually if the script suggests downgrading to a hash-tagged rc. ### 3. Edit package.json with exact versions @@ -93,4 +70,4 @@ This regenerates `shared/desktop/electron-sums.mts` with the correct SHA256 chec - `lodash` types (`@types/lodash`, `@types/lodash-es`) can be updated independently of lodash itself. - `@types/react`, `@types/react-dom`, `@types/react-is` should stay in sync with their runtime counterparts — update only if the runtime version changed. -- Packages with versions matching the `expo` SDK pattern (e.g., `55.x.x`) are `expo-*` packages and can be updated together. +- Packages with versions matching the `expo` SDK pattern (e.g., `56.x.x`) are `expo-*` packages and can be updated together. diff --git a/skill/update-dependencies/check-outdated.py b/skill/update-dependencies/check-outdated.py new file mode 100644 index 000000000000..3daf64831a7a --- /dev/null +++ b/skill/update-dependencies/check-outdated.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 +# Run from shared/: python3 ../.claude/skills/update-dependencies/check-outdated.py +import json, subprocess +from concurrent.futures import ThreadPoolExecutor + +with open('package.json') as f: + pkg = json.load(f) + +deps = {} +deps.update(pkg.get('dependencies', {})) +deps.update(pkg.get('devDependencies', {})) + +SKIP = {'react-native-kb'} +PINNED = {'react', 'react-dom', 'react-is', 'react-test-renderer', + 'react-native', '@react-native/babel-preset', '@react-native/eslint-config', '@react-native/metro-config'} +PRE_KEYWORDS = ['beta', 'alpha', 'rc', 'dev', 'canary', 'nightly', 'preview'] + +def semver_key(v): + import re + m = re.match(r'(\d+)\.(\d+)\.(\d+)(?:[.-](.+))?', v) + if not m: + return (0, 0, 0, v) + major, minor, patch, pre = int(m.group(1)), int(m.group(2)), int(m.group(3)), m.group(4) or '' + return (major, minor, patch, pre) + +def get_latest(name, current): + if name in SKIP or current.startswith('file:'): + return name, current, current, 'skip' + is_pre = any(k in current for k in PRE_KEYWORDS) + try: + r = subprocess.run(['yarn', 'info', name, 'versions', '--json'], + capture_output=True, text=True, timeout=15) + all_versions = json.loads(r.stdout).get('data', []) + if is_pre: + cur_pre = next((k for k in PRE_KEYWORDS if k in current), None) + prefix = current.split('-')[0] + matching = [v for v in all_versions if cur_pre in v and v.startswith(prefix)] + latest = max(matching, key=semver_key) if matching else current + if semver_key(latest) < semver_key(current): + latest = current + else: + cur_major_minor = '.'.join(current.split('.')[:2]) + stable = [v for v in all_versions + if not any(k in v for k in PRE_KEYWORDS) + and v.startswith(cur_major_minor + '.')] + all_stable = [v for v in all_versions if not any(k in v for k in PRE_KEYWORDS)] + same_line_latest = stable[-1] if stable else current + overall_latest = all_stable[-1] if all_stable else current + latest = overall_latest if semver_key(overall_latest) > semver_key(current) else same_line_latest + if semver_key(latest) < semver_key(current): + latest = current + return name, current, latest, 'pre' if is_pre else 'stable' + except Exception as e: + return name, current, f'ERROR: {e}', 'error' + +results = [] +with ThreadPoolExecutor(max_workers=20) as ex: + futures = {ex.submit(get_latest, n, v): n for n, v in deps.items()} + for fut in futures: + results.append(fut.result()) +results.sort() + +print('\n=== OUTDATED ===') +for name, cur, lat, kind in results: + if kind not in ('skip', 'error') and name not in PINNED and cur != lat and lat and 'ERROR' not in lat: + print(f' {name}: {cur} -> {lat}' + (' [PRE]' if kind == 'pre' else '')) + +print('\n=== UP TO DATE ===') +for name, cur, lat, kind in results: + if kind not in ('skip', 'error') and name not in PINNED and (cur == lat or not lat): + print(f' {name}: {cur}') + +print('\n=== PINNED (skipped) ===') +for name, cur, lat, kind in results: + if name in PINNED: + print(f' {name}: {cur}')