packages: - apps/* - infra/* - oxlint-plugin-t3code - packages/* - scripts # Successor to onlyBuiltDependencies/ignoredBuiltDependencies (pnpm 11). # true = allowed to run build scripts; false mirrors the pnpm 10 behavior # where anything outside onlyBuiltDependencies was silently not built. allowBuilds: browser-tabs-lock: false bufferutil: false core-js: false electron: true electron-winstaller: false esbuild: true msgpackr-extract: true msw: false node-pty: true sharp: true utf-8-validate: false workerd: false catalog: "@clerk/backend": 3.18.1 "@clerk/clerk-js": 6.32.1 "@clerk/electron": 0.0.44 "@clerk/electron-passkeys": 0.0.3 "@clerk/expo": 4.6.8 "@clerk/react": 6.16.1 "@clerk/shared": 4.33.0 "@effect/atom-react": 4.0.1 "@effect/openapi-generator": 4.0.1 "@effect/platform-node": 4.0.1 "@effect/platform-node-shared": 4.0.1 "@effect/sql-pg": 4.0.1 "@effect/sql-sqlite-do": 4.0.1 "@effect/tsgo": 0.46.1 "@effect/vitest": 4.0.1 "@legendapp/list": 3.3.5 "@noble/curves": 1.9.1 "@noble/hashes": 1.8.0 "@pierre/diffs": 1.5.2 "@tailwindcss/node": 4.3.3 "@tailwindcss/oxide": 4.3.3 "@tailwindcss/vite": 4.3.3 "@types/node": 24.12.4 effect: 4.0.1 jose: 6.2.2 lightningcss: 1.33.0 tailwindcss: 4.3.3 typescript: 7.0.2 undici: 8.11.2 vite: npm:@voidzero-dev/vite-plus-core@1.0.0 vite-plus: 1.0.0 ws: 8.22.0 yaml: ^2.9.0 minimumReleaseAgeExclude: - expo-glass-effect@58.0.3 - expo-blur@58.0.3 - expo-audio@58.0.4 - "@clerk/backend@3.18.1" - "@clerk/clerk-js@6.32.1" - "@clerk/electron@0.0.44" - "@clerk/expo@4.6.8" - "@clerk/react@6.16.1" - "@clerk/shared@4.33.0" - "@distilled.cloud/aws@1.0.0-rc.13" - "@distilled.cloud/axiom@1.0.0-rc.13" - "@distilled.cloud/cloudflare@1.0.0-rc.13" - "@distilled.cloud/core@1.0.0-rc.13" - "@distilled.cloud/neon@1.0.0-rc.13" - "@distilled.cloud/planetscale@1.0.0-rc.13" - "@effect/atom-react@4.0.1" - "@effect/openapi-generator@4.0.1" - "@effect/platform-node-shared@4.0.1" - "@effect/platform-node@4.0.1" - "@effect/sql-pg@4.0.1" - "@effect/sql-sqlite-do@4.0.1" - "@effect/vitest@4.0.1" - alchemy@2.0.0-beta.80 - effect@4.0.1 - "@legendapp/list@3.3.5" - "@expo/cli@58.1.1" - "@expo/env@2.5.1" - "@expo/fingerprint@0.21.2" - "@expo/metro-config@58.0.6" - expo-constants@58.0.9 - expo-font@58.0.5 - expo-updates@58.0.13 - expo@58.0.2 - expo-widgets@58.0.11 - "@expo/config-plugins@58.0.4" - "@expo/log-box@58.0.8" - "@expo/metro-file-map@58.0.3" - "@expo/metro-runtime@58.0.10" - "@expo/metro@58.0.0-rc.0" - "@expo/prebuild-config@58.0.7" - "@expo/router-server@58.0.6" - "@expo/ui@58.0.11" - babel-preset-expo@58.0.8 - expo-asset@58.0.10 - expo-build-properties@58.0.9 - expo-dev-client@58.0.10 - expo-dev-launcher@58.0.10 - expo-dev-menu@58.0.10 - expo-image-manipulator@58.0.11 - expo-image-picker@58.0.10 - expo-image@58.0.10 - expo-linking@58.0.10 - expo-modules-autolinking@58.0.7 - expo-modules-core@58.0.11 - expo-modules-jsi@58.0.7 - expo-notifications@58.0.11 - expo-sharing@58.0.13 - expo-sqlite@58.0.8 - expo-symbols@58.0.3 - electron@44.4.2 - "@anthropic-ai/claude-agent-sdk@0.3.276" - "@alchemy.run/cloudflare-runtime@2.0.0-beta.80" - "@alchemy.run/floci@2.0.0-beta.80" - "@alchemy.run/node-utils@2.0.0-beta.80" - "@distilled.cloud/fly-io@1.0.0-rc.13" - "@distilled.cloud/hetzner@1.0.0-rc.13" - "@distilled.cloud/prisma@1.0.0-rc.13" - "@distilled.cloud/railway@1.0.0-rc.13" - "@distilled.cloud/stripe@1.0.0-rc.13" - "@shadcn/lint@0.1.5" - cn@0.3.2 - uniwind@1.12.1 - "@expo/dom-webview@58.0.2" - "expo-auth-session@58.0.7" - "expo-camera@58.0.7" - "expo-clipboard@58.0.3" - "expo-crypto@58.0.4" - "expo-device@58.0.5" - "expo-document-picker@58.0.4" - "expo-file-system@58.0.5" - "expo-haptics@58.0.4" - "expo-keep-awake@58.0.3" - "expo-network@58.0.3" - "expo-secure-store@58.0.2" - "expo-splash-screen@58.0.4" - "expo-video@58.0.6" - "expo-web-browser@58.0.4" - "react@19.3.0" - "react-dom@19.3.0" - "react-native@0.88.0-rc.3" - "react-native-keyboard-controller@1.22.6" - "react-native-worklets@0.13.0" - "react-native-reanimated@4.7.0" - "react-native-screens@4.28.0" - "@expo/config-types@58.0.2" - expo-application@58.0.3 - expo-eas-client@58.0.2 - expo-image-loader@58.0.3 - "@distilled.cloud/acme@1.0.0-rc.13" - "@distilled.cloud/doppler@1.0.0-rc.13" - "@distilled.cloud/gcp@1.0.0-rc.13" - "@distilled.cloud/infisical@1.0.0-rc.13" - "@distilled.cloud/zerossl@1.0.0-rc.13" - "@opencode/client@2.0.23" - "@opencode/protocol@2.0.23" - "@opencode/schema@2.0.23" overrides: # Keep jsdom's optional peer consistent so Vite+ has one test-runner instance. "@exodus/bytes>@noble/hashes": "1.8.0" # Earlier React Navigation declarations create a circular type alias in TypeScript 7. "@react-navigation/core": 7.21.13 # The dbus-next patch drops usocket from the package, but pnpm resolves from the # registry manifest, so the edge has to be cut here as well. "dbus-next>usocket": "-" # The SDK always receives the user's Claude executable, so its bundled binaries are unused. "@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-darwin-arm64": "-" "@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-darwin-x64": "-" "@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-linux-arm64": "-" "@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "-" "@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-linux-x64": "-" "@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-linux-x64-musl": "-" "@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-win32-arm64": "-" "@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-win32-x64": "-" # Alchemy's Ink fork declares React as a hard dependency, but the relay only # reaches its terminal-capability helpers; the TUI is never imported, so the # extra React copy is pure install weight. "@alchemy.run/sigil>react": "-" "@alchemy.run/sigil>react-reconciler": "-" "@alchemy.run/sigil>scheduler": "-" # Alchemy only reaches @prisma/dev through a lazy import inside the Prisma # database provider, which the relay never deploys. Its exact hono/valibot # pins are also the bulk of our open dependency advisories. "alchemy>@prisma/dev": "-" "@clerk/backend": "catalog:" "@clerk/clerk-js": "catalog:" "@clerk/clerk-js>@base-org/account": "-" "@clerk/clerk-js>@coinbase/wallet-sdk": "-" "@clerk/clerk-js>@solana/wallet-adapter-base": "-" "@clerk/clerk-js>@solana/wallet-adapter-react": "-" "@clerk/clerk-js>@solana/wallet-standard": "-" "@clerk/clerk-js>@wallet-standard/core": "-" "@clerk/electron": "catalog:" "@clerk/electron-passkeys": "catalog:" "@clerk/expo": "catalog:" "@clerk/react": "catalog:" "@clerk/shared": "catalog:" "@effect/atom-react": "catalog:" "@effect/platform-node": "catalog:" "@effect/platform-node-shared": "catalog:" "@effect/sql-pg": "catalog:" "@effect/vitest": "catalog:" "@effect/vitest>vitest": "-" "@expo/dom-webview": 58.0.2 "@expo/metro-config": 58.0.6 expo-constants: 58.0.9 expo-router: 58.0.10 "expo-sharing>@expo/config-plugins": 58.0.4 "expo-sharing>@expo/config-types": 58.0.2 "@pierre/diffs>@shikijs/transformers": ^4.2.0 # Keep one copy of these native-binary packages. lightningcss ships 11 platform binaries per # version, and the workspaces' tailwindcss ^4 ranges drift into two 4.3.x copies of the family. "@tailwindcss/node": "catalog:" "@tailwindcss/oxide": "catalog:" "@tailwindcss/vite": "catalog:" "@types/node": "catalog:" effect: "catalog:" # OpenCode 2's protocol and schema packages hard-pin an older Effect rc as a # dependency, and their schemas fail to decode under a second Effect copy. # The `effect` override above already collapses them; these name the edge so it # stays pinned on its own. OpenCode2Client.live.test.ts re-proves it on bumps. # All three still target Effect rc.112 APIs (effect/unstable/*, Encoding, # Schema.isStartsWith) that 4.0 removed; their patches port those call sites # until OpenCode moves to stable Effect. "@opencode/protocol>effect": "catalog:" "@opencode/schema>effect": "catalog:" node-abi: 4.33.0 lightningcss: "catalog:" tailwindcss: "catalog:" # Ranges from @effect/platform-node, jsdom, unifont, Expo and libsql otherwise # settle on two patch releases of each major. Older majors stay as they are. "undici@^8": "catalog:" "ws@^8": "catalog:" vite: "catalog:" vite-plus: "catalog:" yaml: "catalog:" packageExtensions: "@clerk/expo@*": dependencies: "@expo/config-plugins": 58.0.4 # Our patch makes @effect/vitest import vite-plus/test. A catalog: spec here # resolves through the vite-plus override above. "@effect/vitest@*": dependencies: vite-plus: "catalog:" patchedDependencies: alchemy@2.0.0-beta.80: patches/alchemy@2.0.0-beta.80.patch expo-glass-effect@58.0.3: patches/expo-glass-effect@58.0.3.patch expo-blur@58.0.3: patches/expo-blur@58.0.3.patch expo-audio@58.0.4: patches/expo-audio@58.0.4.patch "@clerk/expo@4.6.8": patches/@clerk__expo@4.6.8.patch "@effect/vitest@4.0.1": patches/@effect__vitest@4.0.1.patch "@expo/metro-config@58.0.6": patches/@expo__metro-config@58.0.6.patch expo-sharing@58.0.13: patches/expo-sharing@58.0.13.patch expo-widgets@58.0.11: patches/expo-widgets@58.0.11.patch "@ff-labs/fff-node@0.9.4": patches/@ff-labs__fff-node@0.9.4.patch "@legendapp/list@3.3.5": patches/@legendapp__list@3.3.5.patch "@opencode/client@2.0.23": patches/@opencode__client@2.0.23.patch "@opencode/protocol@2.0.23": patches/@opencode__protocol@2.0.23.patch "@opencode/schema@2.0.23": patches/@opencode__schema@2.0.23.patch # Exports the dependency-light subpaths mobile and the web diff parser import, and keeps # measured wrapped-row heights above an edit (fileEditorVirtualization.test.ts). "@pierre/diffs@1.5.2": patches/@pierre%2Fdiffs@1.5.2.patch "@react-native-ai/apple@0.12.0": patches/@react-native-ai__apple@0.12.0.patch "@react-native-menu/menu@2.0.0": patches/@react-native-menu__menu@2.0.0.patch "@react-navigation/native-stack@7.17.6": patches/@react-navigation%2Fnative-stack@7.17.6.patch dbus-next@0.10.2: patches/dbus-next@0.10.2.patch effect@4.0.1: patches/effect@4.0.1.patch node-pty@1.2.0-beta.15: patches/node-pty@1.2.0-beta.15.patch # Link http(s) URLs with a port or a single-label host. md4c otherwise requires a dotted host and stops at ':'. react-native-nitro-markdown@0.5.8: patches/react-native-nitro-markdown@0.5.8.patch react-native-gesture-handler@3.2.1: patches/react-native-gesture-handler@3.2.1.patch react-native-keyboard-controller@1.22.6: patches/react-native-keyboard-controller@1.22.6.patch react-native-nitro-modules@0.35.9: patches/react-native-nitro-modules@0.35.9.patch peerDependencyRules: allowAny: - vite allowedVersions: vite: "*" # @cursor/sdk finds its platform package (sandbox helper, rg, tree-sitter) by # walking up from the entry script for node_modules/@cursor/sdk--. # pnpm keeps optional deps inside the virtual store, so hoist it to the root. publicHoistPattern: - "@cursor/sdk-*" supportedArchitectures: cpu: [current, x64] libc: [current, glibc] os: [current, linux]