Skip to content

Commit a63a932

Browse files
t3dotggclaude
andcommitted
chore(typecheck): call tsc-rs 0.3.0 directly on every platform
tsc-rs 0.3.0 ships Windows and Intel macOS binaries, so the platform launcher is gone. Bump @effect/tsgo to 0.51.1 to match the Effect port in tsc-rs, and turn off the stability rules, which flag our deliberate use of unstable Effect modules and cause false TS2790 errors on delete. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1 parent ef91ba8 commit a63a932

21 files changed

Lines changed: 110 additions & 123 deletions

File tree

‎apps/desktop/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"scripts": {
88
"ensure:electron": "node scripts/ensure-electron-runtime.mjs",
99
"start": "node scripts/start-electron.mjs",
10-
"typecheck": "node ../../scripts/typecheck.ts",
10+
"typecheck": "tsc-rs --noEmit",
1111
"test": "vp test run --passWithNoTests",
1212
"smoke-test": "node scripts/smoke-test.mjs"
1313
},

‎apps/mobile/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"sync:pierre-icons": "node modules/t3-markdown-text/scripts/sync-pierre-file-icons.mjs",
4444
"generate": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON scripts/generate-uniwind-themes.mts",
4545
"test": "vp test run --config ../../vite.config.ts --dir .",
46-
"typecheck": "node ../../scripts/typecheck.ts"
46+
"typecheck": "tsc-rs --noEmit"
4747
},
4848
"dependencies": {
4949
"@clerk/expo": "catalog:",

‎apps/server/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"build:bundle": "vp pack",
2020
"build:exe": "node scripts/cli.ts build-exe",
2121
"start": "node dist/bin.mjs",
22-
"typecheck": "node ../../scripts/typecheck.ts",
22+
"typecheck": "tsc-rs --noEmit",
2323
"test": "vp test run",
2424
"record:codex-replay": "bun scripts/record-codex-app-server-replay-fixture.ts",
2525
"record:claude-replay": "bun scripts/record-claude-agent-sdk-replay-fixture.ts",

‎apps/web/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"dev": "vp dev",
99
"build": "vp build",
1010
"preview": "vp preview",
11-
"typecheck": "node ../../scripts/typecheck.ts",
11+
"typecheck": "tsc-rs --noEmit",
1212
"test": "vp test run --passWithNoTests --project unit"
1313
},
1414
"dependencies": {

‎docs/operations/development.md‎

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,11 @@ vp lint <files>
106106
vp run --filter <package> typecheck
107107
```
108108

109-
TypeScript workspaces use pinned tsc-rs on macOS ARM64, Linux x64, and Linux ARM64, with Effect
110-
diagnostics built in. Other platforms keep Effect-patched TypeScript
111-
until tsc-rs ships their binaries. Custom compiler flags also use that compiler,
112-
including watch mode. Keep `typescript`, `@effect/tsgo`, and the
113-
`effect-tsgo patch` prepare step: they provide the fallback compiler and Effect
114-
editor features that tsc-rs does not yet include.
109+
TypeScript workspaces typecheck with tsc-rs, which has Effect diagnostics built in.
110+
Keep `typescript`, `@effect/tsgo`, and the `effect-tsgo patch` prepare step: editors
111+
still use them for Effect quick fixes and refactors. Keep `@effect/tsgo` on the
112+
effect-tsgo version that tsc-rs ports (see the tsc-rs README), or the two disagree
113+
on rule names.
115114
Marketing keeps `astro check` for Astro files.
116115

117116
Use `vp run lint:mobile` for native mobile changes. CI owns the full suite; see

‎infra/relay/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"tunnels:census": "node scripts/tunnel-census.ts",
1010
"destroy": "alchemy destroy",
1111
"test": "vp test run --config ../../vite.config.ts --dir .",
12-
"typecheck": "node ../../scripts/typecheck.ts"
12+
"typecheck": "tsc-rs --noEmit"
1313
},
1414
"dependencies": {
1515
"@clerk/backend": "catalog:",

‎knip.jsonc‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
},
1919
"scripts": {
2020
// Knip loads its preprocessor through a CLI option; native verification and
21-
// worktree setup (from t3.json), and the shared typecheck launcher run directly.
22-
"entry": ["knip-schemas.ts", "mobile-native-client.ts", "setup-worktree.ts", "typecheck.ts"],
21+
// worktree setup (from t3.json) run directly.
22+
"entry": ["knip-schemas.ts", "mobile-native-client.ts", "setup-worktree.ts"],
2323
},
2424
"apps/server": {
2525
// Vite+ pack entries and the launcher used by installed background services.

‎oxlint-plugin-t3code/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"private": true,
44
"type": "module",
55
"scripts": {
6-
"typecheck": "node ../scripts/typecheck.ts",
6+
"typecheck": "tsc-rs --noEmit",
77
"test": "vp test run --config ../vite.config.ts --dir ."
88
},
99
"dependencies": {

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"@shadcn/lint": "0.1.5",
5757
"@types/node": "catalog:",
5858
"knip": "6.34.0",
59-
"tsc-rs": "0.2.0",
59+
"tsc-rs": "0.3.0",
6060
"typescript": "catalog:",
6161
"vite-plus": "catalog:"
6262
},

‎packages/client-runtime/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@
393393
}
394394
},
395395
"scripts": {
396-
"typecheck": "node ../../scripts/typecheck.ts",
396+
"typecheck": "tsc-rs --noEmit",
397397
"test": "vp test run"
398398
},
399399
"dependencies": {

0 commit comments

Comments
 (0)