From b74fddf062d7a6f3c67bbfb06ca98f0becd9c12f Mon Sep 17 00:00:00 2001 From: oratis Date: Sat, 30 May 2026 01:30:18 +0800 Subject: [PATCH] fix(build): make per-package typecheck resolve workspace deps via tsc -b `pnpm -r typecheck` failed from a clean tree: each package's typecheck script was `tsc -p tsconfig.json --noEmit`, which type-checks a single project without building its referenced composite projects. So any app importing `@deepcode/core` couldn't resolve its declarations and reported `TS2307: Cannot find module '@deepcode/core'` plus a cascade of `TS7006` implicit-any errors on callback params whose types are inferred from core's exports (e.g. apps/cli/src/repl.ts, apps/vscode/src/extension.ts). CI was unaffected because it runs the root `pnpm typecheck` (`tsc -b`), which builds the project-reference graph in dependency order. But the .husky/pre-commit hook and any direct `pnpm -r typecheck` were broken. Switch every package's `typecheck` script to `tsc -b` so the reference graph is built/emitted in order. `pnpm -r typecheck` now passes from a fully clean checkout, matching CI behavior. Co-Authored-By: Claude Opus 4.8 (1M context) --- apps/cli/package.json | 2 +- apps/desktop/package.json | 2 +- apps/lsp/package.json | 2 +- apps/vscode/package.json | 2 +- packages/core/package.json | 2 +- packages/shared-ui/package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index 73252c4..1b65597 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -14,7 +14,7 @@ "main": "./dist/cli.js", "scripts": { "build": "tsc -p tsconfig.json", - "typecheck": "tsc -p tsconfig.json --noEmit", + "typecheck": "tsc -b", "test": "vitest run", "lint": "echo 'lint: configured in M1' && exit 0", "clean": "rm -rf dist *.tsbuildinfo", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 2cc8da3..b26b64f 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -13,7 +13,7 @@ "tauri:dev": "tauri dev", "tauri:build": "tauri build", "tauri:build:universal": "tauri build --target universal-apple-darwin", - "typecheck": "tsc -p tsconfig.json --noEmit", + "typecheck": "tsc -b", "test": "vitest run --passWithNoTests", "lint": "echo 'lint: configured at repo root' && exit 0", "clean": "rm -rf dist src-tauri/target *.tsbuildinfo" diff --git a/apps/lsp/package.json b/apps/lsp/package.json index 1caa113..5674424 100644 --- a/apps/lsp/package.json +++ b/apps/lsp/package.json @@ -10,7 +10,7 @@ }, "scripts": { "build": "tsc -p tsconfig.json", - "typecheck": "tsc -p tsconfig.json --noEmit", + "typecheck": "tsc -b", "test": "vitest run", "clean": "rm -rf dist *.tsbuildinfo" }, diff --git a/apps/vscode/package.json b/apps/vscode/package.json index 788aa90..66a4ec3 100644 --- a/apps/vscode/package.json +++ b/apps/vscode/package.json @@ -97,7 +97,7 @@ }, "scripts": { "build": "tsc -p tsconfig.json", - "typecheck": "tsc -p tsconfig.json --noEmit", + "typecheck": "tsc -b", "test": "vitest run --passWithNoTests", "package": "vsce package", "clean": "rm -rf dist *.vsix *.tsbuildinfo" diff --git a/packages/core/package.json b/packages/core/package.json index 75dd74c..814dd00 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -37,7 +37,7 @@ ], "scripts": { "build": "tsc -p tsconfig.json", - "typecheck": "tsc -p tsconfig.json --noEmit", + "typecheck": "tsc -b", "test": "vitest run", "test:watch": "vitest", "lint": "echo 'lint: configured in M1' && exit 0", diff --git a/packages/shared-ui/package.json b/packages/shared-ui/package.json index bb712a6..9173f21 100644 --- a/packages/shared-ui/package.json +++ b/packages/shared-ui/package.json @@ -15,7 +15,7 @@ }, "scripts": { "build": "tsc -p tsconfig.json", - "typecheck": "tsc -p tsconfig.json --noEmit", + "typecheck": "tsc -b", "test": "echo 'no tests in shared-ui (types only)' && exit 0", "lint": "echo 'lint: configured in M1' && exit 0", "clean": "rm -rf dist *.tsbuildinfo"