Repository navigation
Expand file tree
/
Copy pathpnpm-workspace.yaml
More file actions
419 lines (410 loc) · 16 KB
/
Copy pathpnpm-workspace.yaml
File metadata and controls
419 lines (410 loc) · 16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
packages:
- apps/*
- evals
- 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
# No install script since Electron 44; ensure:electron runs install.js.
# Keep the key: pnpm fails installs that still record a removed `true`.
electron: false
electron-winstaller: false
esbuild: true
msgpackr-extract: true
msw: false
node-pty: true
# Ships N-API prebuilds; its install script only rebuilds from source.
objc-js: false
"react-native-enriched-markdown@file:apps/mobile/deps/react-native-enriched-markdown-1.2.0-t3.16-29ddd424.tgz": true
sharp: true
"@tsc-rs/typescript": true
utf-8-validate: false
workerd: false
catalog:
"@alchemy.run/axiom": 2.0.0-beta.84
"@alchemy.run/cloudflare": 2.0.0-beta.84
"@alchemy.run/drizzle": 2.0.0-beta.84
"@alchemy.run/planetscale": 2.0.0-beta.84
"@clerk/backend": 3.25.0
"@clerk/clerk-js": 6.40.0
"@clerk/electron": 0.1.3
"@clerk/electron-passkeys": 0.0.3
"@clerk/expo": 4.14.0
"@clerk/react": 6.18.0
"@clerk/shared": 4.41.0
# Must match the version alchemy depends on: the relay overrides its
# Cloudflare retry policy through this package's Retry service.
"@distilled.cloud/cloudflare": 1.0.0-rc.17
"@effect/atom-react": 4.0.5
"@effect/graphql-generator": 4.0.5
"@effect/openapi-generator": 4.0.5
"@effect/platform-node": 4.0.5
"@effect/platform-node-shared": 4.0.5
"@effect/sql-pg": 4.0.5
"@effect/sql-sqlite-do": 4.0.5
"@effect/vitest": 4.0.5
"@electron-webauthn/macos": 1.3.1
"@legendapp/list": 3.3.5
"@noble/curves": 1.9.1
"@noble/hashes": 1.8.0
"@pierre/diffs": 1.6.1
"@pierre/highlights": 0.2.0
"@tailwindcss/node": 4.3.3
"@tailwindcss/oxide": 4.3.3
"@tailwindcss/vite": 4.3.3
"@types/node": 24.12.4
"@types/plist": 3.0.5
"@types/react": ~19.3.0
"@types/react-dom": ~19.3.0
"@types/ws": 8.18.2
alchemy: 2.0.0-beta.84
effect: 4.0.5
electron-webauthn: 1.3.1
jose: 6.2.2
lightningcss: 1.33.0
objc-js: 1.5.0
plist: 3.1.1
react: 19.3.0
react-dom: 19.3.0
tailwindcss: 4.3.3
tldts: 7.4.2
typescript: npm:@tsc-rs/typescript@0.8.0
undici: 8.11.2
vite: npm:@voidzero-dev/vite-plus-core@1.4.0
vite-plus: 1.4.0
ws: 8.22.0
yaml: ^2.9.0
# Markdown pipeline: the server counts find matches with the same parser the
# web renders with, so both must resolve to one version.
mdast-util-directive: 3.1.0
micromark-extension-directive: 4.0.0
micromark-util-character: 2.1.1
micromark-util-types: 2.0.2
rehype-raw: 7.0.0
rehype-sanitize: 6.0.0
remark-breaks: 4.0.0
remark-gfm: 4.0.1
remark-parse: 11.0.0
remark-rehype: 11.1.2
unified: 11.0.5
minimumReleaseAgeExclude:
- alchemy@2.0.0-beta.84
- "@alchemy.run/acme@2.0.0-beta.84"
- "@alchemy.run/axiom@2.0.0-beta.84"
- "@alchemy.run/cloudflare@2.0.0-beta.84"
- "@alchemy.run/cloudflare-runtime@2.0.0-beta.84"
- "@alchemy.run/docker@2.0.0-beta.84"
- "@alchemy.run/drizzle@2.0.0-beta.84"
- "@alchemy.run/node-utils@2.0.0-beta.84"
- "@alchemy.run/planetscale@2.0.0-beta.84"
- "@alchemy.run/sql@2.0.0-beta.84"
- "@distilled.cloud/acme@1.0.0-rc.17"
- "@distilled.cloud/aws4signer@1.0.0-rc.17"
- "@distilled.cloud/axiom@1.0.0-rc.17"
- "@distilled.cloud/cloudflare@1.0.0-rc.17"
- "@distilled.cloud/core@1.0.0-rc.17"
- "@distilled.cloud/iceberg@1.0.0-rc.17"
- "@distilled.cloud/planetscale@1.0.0-rc.17"
- "@tsc-rs/*"
- expo-glass-effect@58.0.4
- expo-blur@58.0.4
- expo-audio@58.0.9
- "@clerk/backend@3.25.0"
- "@clerk/clerk-js@6.40.0"
- "@clerk/electron@0.1.3"
- "@clerk/expo-native-components@0.4.0"
- "@clerk/expo@4.14.0"
- "@clerk/react@6.18.0"
- "@clerk/shared@4.41.0"
- "@effect/atom-react@4.0.5"
- "@effect/graphql-generator@4.0.5"
- "@effect/openapi-generator@4.0.5"
- "@effect/platform-node-shared@4.0.5"
- "@effect/platform-node@4.0.5"
- "@effect/sql-pg@4.0.5"
- "@effect/sql-sqlite-do@4.0.5"
- "@effect/vitest@4.0.5"
- effect@4.0.5
- "@legendapp/list@3.3.5"
- "@expo/cli@58.1.1 || 58.1.9 || 58.1.11"
- "@expo/env@2.5.1"
- "@expo/fingerprint@0.21.2"
- "@expo/metro-config@58.0.14"
- expo-constants@58.0.12
- expo-font@58.0.8
- expo-updates@58.0.17
- expo@58.0.14
- expo-widgets@58.0.20
- "@expo/config-plugins@58.0.9"
- "@expo/log-box@58.0.8"
- "@expo/metro-file-map@58.0.3"
- "@expo/metro-runtime@58.0.14"
- "@expo/metro@58.0.0-rc.0"
- "@expo/prebuild-config@58.0.7 || 58.0.14"
- "@expo/router-server@58.0.6 || 58.0.14"
- "@expo/ui@58.0.20"
- babel-preset-expo@58.0.17
- expo-asset@58.0.16
- expo-build-properties@58.0.11
- expo-dev-client@58.0.14
- expo-dev-launcher@58.0.10 || 58.0.14
- expo-dev-menu@58.0.10
- expo-image-manipulator@58.0.14
- expo-image-picker@58.0.10
- expo-image@58.0.15
- expo-linking@58.0.13
- expo-modules-autolinking@58.0.7
- expo-modules-core@58.0.11 || 58.0.19 || 58.0.22
- expo-modules-jsi@58.0.7 || 58.0.14 || 58.0.15
- expo-notifications@58.1.5
- expo-sharing@58.0.19
- expo-sqlite@58.0.13
- expo-symbols@58.0.4
- electron@44.9.3
- "@anthropic-ai/claude-agent-sdk@0.3.276"
- "@shadcn/lint@0.1.5"
- cn@0.3.2
- uniwind@1.13.0
- "@expo/dom-webview@58.0.2"
- "expo-auth-session@58.0.13"
- "expo-camera@58.0.10"
- "expo-clipboard@58.0.3"
- "expo-crypto@58.0.7"
- "expo-device@58.0.5"
- "expo-document-picker@58.0.4"
- "expo-file-system@58.0.9"
- "expo-haptics@58.0.7"
- "expo-keep-awake@58.0.3"
- "expo-network@58.0.3"
- "expo-secure-store@58.0.2"
- "expo-splash-screen@58.0.10"
- "expo-video@58.0.11"
- "expo-web-browser@58.0.6"
- "react@19.3.0"
- "react-dom@19.3.0"
- "react-native@0.88.0"
- "react-native-keyboard-controller@1.22.8"
- "react-native-worklets@0.13.0"
- "react-native-reanimated@4.7.1"
- "react-native-screens@4.28.0"
- "@expo/config-types@58.0.3"
- expo-application@58.0.3 || 58.1.2
- expo-eas-client@58.0.2
- expo-image-loader@58.0.3
- "@opencode/client@2.0.28"
- "@opencode/protocol@2.0.28"
- "@opencode/schema@2.0.28"
- "@muse-code/sdk@1.4.6"
- "@expo/package-manager@1.14.2"
- "@react-native/asset-utils@0.88.0"
- "@react-native/babel-plugin-codegen@0.88.0"
- "@react-native/babel-preset@0.88.0"
- "@react-native/codegen@0.88.0"
- "@react-native/community-cli-plugin@0.88.0"
- "@react-native/debugger-frontend@0.88.0"
- "@react-native/debugger-shell@0.88.0"
- "@react-native/dev-middleware@0.88.0"
- "@react-native/gradle-plugin@0.88.0"
- "@react-native/js-polyfills@0.88.0"
- "@react-native/metro-babel-transformer@0.88.0"
- "@react-native/metro-config@0.88.0"
- "@react-native/normalize-colors@0.88.0"
- "@react-native/virtualized-lists@0.88.0"
- react-native-svg@15.16.0
- "@expo/schema-utils@58.0.2"
- pele@1.8.0
- "@pierre/diffs@1.6.1"
- "@pierre/highlights@0.2.0"
- "@pierre/theming@1.0.2"
- agent-device@0.21.32
overrides:
# Pin every patched package, including transitive dependencies, so lockfile-free
# release installs cannot drift past the patch. Update these with patchedDependencies.
react-native-image-viewing: 0.2.2
mdast-util-math: 3.0.0
micromark-extension-llm-math: 3.1.0
alchemy: "catalog:"
expo-audio: 58.0.9
expo-network: 58.0.3
"@clerk/expo-native-components": 0.4.0
expo-sharing: 58.0.19
expo-widgets: 58.0.20
"@ff-labs/fff-node": 0.11.0
"@legendapp/list": 3.3.5
"@pierre/diffs": 1.6.1
"@react-native-ai/apple": 0.12.0
"@react-native-menu/menu": 2.0.0
"@react-navigation/native-stack": 7.21.0
dbus-next: 0.10.2
node-pty: 1.2.0-beta.15
react-native-gesture-handler: 3.3.0
react-native-reanimated: 4.7.1
react-native-keyboard-controller: 1.22.8
react-native-pdf-jsi: 5.0.0
react-native-webview: 14.0.1
"@expo/ui": 58.0.20
"@expo/fingerprint": 0.21.5
app-builder-lib: 26.16.1
expo-modules-core: 58.0.22
# 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.
# Move this with @react-navigation/native: an older core than it requires crashes
# every native stack at launch.
"@react-navigation/core": 7.24.0
# 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": "-"
"@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.14
expo-constants: 58.0.12
expo-router: 58.0.20
"expo-sharing>@expo/config-plugins": 58.0.9
"expo-sharing>@expo/config-types": 58.0.3
"@pierre/diffs>@shikijs/transformers": ^4.2.0
# Resolve below remark-math so Vite, Metro and Node use the same tokenizer.
"remark-math>micromark-extension-math": npm:micromark-extension-llm-math@3.1.0
micromark-extension-gfm-table: 2.1.1
# 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 exact Effect version 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.
"@opencode/protocol>effect": "catalog:"
"@opencode/schema>effect": "catalog:"
node-abi: 4.33.0
# The desktop app installs these without a lockfile when it packages them, so
# pin the native passkey code that runs in its main process.
"electron-webauthn>@electron-webauthn/macos": "catalog:"
"@electron-webauthn/macos>objc-js": "catalog:"
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.
"@types/ws@^8": "catalog:"
"undici@^8": "catalog:"
"ws@^8": "catalog:"
vite: "catalog:"
vite-plus: "catalog:"
yaml: "catalog:"
packageExtensions:
"@clerk/expo@*":
dependencies:
"@expo/config-plugins": 58.0.9
"@clerk/expo-native-components@*":
dependencies:
"@expo/config-plugins": 58.0.9
# 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:
react-native-image-viewing@0.2.2: patches/react-native-image-viewing@0.2.2.patch
mdast-util-math@3.0.0: patches/mdast-util-math@3.0.0.patch
micromark-extension-llm-math@3.1.0: patches/micromark-extension-llm-math@3.1.0.patch
micromark-extension-gfm-table@2.1.1: patches/micromark-extension-gfm-table@2.1.1.patch
alchemy@2.0.0-beta.84: patches/alchemy@2.0.0-beta.84.patch
expo-audio@58.0.9: patches/expo-audio@58.0.9.patch
expo-video@58.0.11: patches/expo-video@58.0.11.patch
expo-network@58.0.3: patches/expo-network@58.0.3.patch
"@clerk/expo-native-components@0.4.0": patches/@clerk__expo-native-components@0.4.0.patch
"@effect/vitest@4.0.5": patches/@effect__vitest@4.0.5.patch
"@expo/metro-config@58.0.14": patches/@expo__metro-config@58.0.14.patch
expo-sharing@58.0.19: patches/expo-sharing@58.0.19.patch
expo-widgets@58.0.20: patches/expo-widgets@58.0.20.patch
"@ff-labs/fff-node@0.11.0": patches/@ff-labs__fff-node@0.11.0.patch
"@legendapp/list@3.3.5": patches/@legendapp__list@3.3.5.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.6.1": patches/@pierre%2Fdiffs@1.6.1.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.21.0": patches/@react-navigation%2Fnative-stack@7.21.0.patch
dbus-next@0.10.2: patches/dbus-next@0.10.2.patch
node-pty@1.2.0-beta.15: patches/node-pty@1.2.0-beta.15.patch
react-native-gesture-handler@3.3.0: patches/react-native-gesture-handler@3.3.0.patch
# Screens v5 stack, split and tab screens leave at once, like legacy screens. Exiting animations
# inside one otherwise hold its removal for a later mount, after its stack has moved on.
react-native-reanimated@4.7.1: patches/react-native-reanimated@4.7.1.patch
react-native-keyboard-controller@1.22.8: patches/react-native-keyboard-controller@1.22.8.patch
react-native-pdf-jsi@5.0.0: patches/react-native-pdf-jsi@5.0.0.patch
# Android: a nested WebView hands a vertical drag to its scrolling parent at the page's edge.
react-native-webview@14.0.1: patches/react-native-webview@14.0.1.patch
"@expo/ui@58.0.20": patches/@expo__ui@58.0.20.patch
# Android: a Compose host that requests layout in a mount (a new screen's app bar) is laid out
# before that frame is drawn, instead of a frame later.
expo-modules-core@58.0.22: patches/expo-modules-core@58.0.22.patch
# Android: Maven-resolved gradle plugins (expo-widgets) have no sourceDir; without this
# skip, the fingerprint silently drops every Expo native module and OTAs reach stale binaries.
"@expo/fingerprint@0.21.5": patches/@expo__fingerprint@0.21.5.patch
# Observe the owned host exit independently of descendants retaining its stdio.
"@muse-code/sdk@1.4.6": patches/@muse-code__sdk@1.4.6.patch
app-builder-lib@26.16.1: patches/app-builder-lib@26.16.1.patch
peerDependencyRules:
allowAny:
- typescript
- vite
allowedVersions:
vite: "*"
# pnpm 12 links agent skills that dependencies ship into .claude/skills once
# approved. We curate our own skills, so deny these to keep installs quiet.
permissions:
"@tanstack/router-plugin":
skills: false
drizzle-kit:
skills: false
expo-sqlite:
skills: false
# @cursor/sdk finds its platform package (sandbox helper, rg, tree-sitter) by
# walking up from the entry script for node_modules/@cursor/sdk-<platform>-<arch>.
# pnpm keeps optional deps inside the virtual store, so hoist it to the root.
publicHoistPattern:
- "@cursor/sdk-*"