fix(ci): build @hyperframes/lint before core in Test and Studio jobs#1769
Closed
WaterrrForever wants to merge 1 commit into
Closed
fix(ci): build @hyperframes/lint before core in Test and Studio jobs#1769WaterrrForever wants to merge 1 commit into
WaterrrForever wants to merge 1 commit into
Conversation
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) <noreply@anthropic.com>
Collaborator
Author
|
Folding this CI fix into #1768 instead of a separate PR — closing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mainhas been red on every PR since #1756 (the@hyperframes/lintextraction). TheTestandStudio: load smokeCI jobs pre-build the wrong dependency set beforepackages/core, so loading core's compileddistfails at test / dev-server time.Root cause
#1756made@hyperframes/linta runtime dependency of core:packages/core/src/compiler/staticGuard.tsdoesimport { lintHyperframeHtml } from "@hyperframes/lint". The lint package'sexportsresolve thenodecondition to./dist/index.js(onlybun/importusesrc), so when CI runs Node against core's builtdist,@hyperframes/lint/dist/must exist.But both jobs pre-build only
@hyperframes/{parsers,studio-server}before core —lintis never built — so:bun run --filter '!@hyperframes/producer' test) —@hyperframes/studiotest crashes loading core's dist.vite.config.ts(loaded by Node) imports core → same crash; dev server never starts.The
Buildand Windows jobs were never affected — they run the fullbun run build(which includes lint). TheSDKjob pre-buildsparsers+coreonly and passes (its path never loadsstaticGuard), so it's left untouched.Fix
Build the canonical pre-core dependency set —
@hyperframes/{parsers,lint,studio-server}, the same glob the rootbuildscript uses — in both jobs, so the set can't silently drift again the next time a package is extracted from core.Test plan
rm -rf packages/lint/dist→node -e "import('packages/core/dist/compiler/staticGuard.js')"fails with the exactERR_MODULE_NOT_FOUNDfor@hyperframes/lint/dist/index.js;bun run --filter '@hyperframes/lint' build→ loads cleanly.ci.ymlparses (yaml.safe_load); SDK job intentionally unchanged.🤖 Generated with Claude Code