From 9042a7c5c3f28331204f54c33035e5a2221fae7e Mon Sep 17 00:00:00 2001 From: Miao Yang Date: Sat, 27 Jun 2026 17:35:22 +0800 Subject: [PATCH] fix(ci): build @hyperframes/lint before core in Test and Studio jobs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The lint extraction (#1756) made @hyperframes/lint a runtime dependency of core — core's compiled compiler/staticGuard.js imports it via the package's "node" export condition (./dist/index.js). But the `Test` and `Studio: load smoke` jobs pre-build only @hyperframes/{parsers,studio-server} before packages/core, so loading core's dist at test / dev-server time fails with: ERR_MODULE_NOT_FOUND: Cannot find module .../@hyperframes/lint/dist/index.js imported from .../packages/core/dist/compiler/staticGuard.js main has been red on every PR since #1756 as a result. Build the canonical pre-core dep set @hyperframes/{parsers,lint,studio-server} (the same glob the root `build` script uses) in both jobs so the set can't drift again when another package is extracted. The SDK job is left as-is — it builds parsers+core only and passes (its path never loads staticGuard). Reproduced locally: removing packages/lint/dist reproduces the exact ERR_MODULE_NOT_FOUND; building lint resolves it. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ba539c1d..40a5d74dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -227,8 +227,7 @@ jobs: - uses: ./.github/actions/prepare-ffmpeg-bin - run: bun install --frozen-lockfile - run: bun run test:scripts - - run: bun run --filter '@hyperframes/parsers' build - - run: bun run --filter '@hyperframes/studio-server' build + - run: bun run --filter '@hyperframes/{parsers,lint,studio-server}' build - run: bun run --cwd packages/core build - run: bun run --cwd packages/core build:hyperframes-runtime - run: bun run --filter '!@hyperframes/producer' test @@ -361,8 +360,7 @@ jobs: # Build workspace deps so the studio vite.config.ts (loaded by Node) can # resolve @hyperframes/core and @hyperframes/studio-server via the "node" # export condition (dist). - - run: bun run --filter '@hyperframes/parsers' build - - run: bun run --filter '@hyperframes/studio-server' build + - run: bun run --filter '@hyperframes/{parsers,lint,studio-server}' build - run: bun run --cwd packages/core build - run: bun run --cwd packages/core build:hyperframes-runtime - name: Start studio and check for runtime errors