ci: add lint and typecheck workflow (closes #147)#368
Closed
Aymericr wants to merge 2 commits into
Closed
Conversation
- Remove stale biome-ignore suppressions (rules no longer fire). - Refactor forEach callbacks that returned a value to satisfy useIterableCallbackReturn. - Replace assign-in-expression patterns in ceiling tool with explicit guards (noAssignInExpressions). - Move chimney panel useMemo/useCallback above the early return so hooks always run in the same order (useHookAtTopLevel). - Convert chained && check to optional chaining in dormer panel (useOptionalChain). - Exclude packages/mcp from biome scope; it has its own CI pipeline (mcp-ci.yml). - Add ^build to the turbo check-types task so consumers get the current built declarations of internal packages.
Runs bun run check and bun run check-types on push to main and on pull requests. Concurrency group cancels superseded runs.
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Contributor
Author
|
Closing this — the automated branch went out of scope and deleted some things it shouldn't have (a door-node migration helper in The two genuine wins were (a) the |
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.
Adds a CI workflow that runs
bun run checkandbun run check-typeson every push tomainand on pull requests, gated by a per-ref concurrency group so superseded runs cancel.Closes #147.
The repo wasn't quite ready for green CI when I went to add this —
bun run checkhad 7 lint errors andbun run check-typeshad ~30 type errors — so this PR also fixes those. Most of the diff is unblocking, not feature work.What was fixed
Lint (biome):
// biome-ignore …comments where the underlying rule no longer fires (bootstrap.ts,parametric-node-renderer.tsx,r3f.d.ts, several files underpackages/nodes/src/dormer/).forEachcallbacks that returned a value (useIterableCallbackReturn) innode-actions.tsandbuild-collider-world.ts.x && (x.foo = …)assign-in-expression patterns with explicitif (x)guards inceiling/tool.tsx(noAssignInExpressions).useMemo/useCallbackpair inchimney/panel.tsxabove the earlyreturn nullso hooks always run in the same order (useHookAtTopLevel).!(node && node.x)check to!node?.xindormer/panel.tsx(useOptionalChain).packages/mcpfrom biome's scope — it has its own pipeline (mcp-ci.yml) and was the source of an unrelated formatter diff on a JSON fixture.Types (tsc):
The 30 type errors were all of the form "X is not exported from
@pascal-app/core" or "property Y does not exist on type Z". They reproduce on a fresh checkout but disappear oncepackages/core(and friends) are built, because the package'sexportsfield points atdist/(moduleResolution: bundler). The actual fix is making sure consumers see fresh.d.tsfiles:turbo.json:check-typesnowdependsOn: [\"^build\", \"^check-types\"]so internal package builds run first.No code changes were needed in the consuming files — the symbols (
useAlignmentGuides,AlignmentAnchor,bboxAnchors,resolveAlignment,TranslateHandle,ParamAction,GutterNode, the handle/event property additions, the newPaintableMaterialTargetvariants) all already exist inpackages/core/src/and are re-exported through theservices/registry/schemabarrels; the publisheddist/was just stale.Verification
bun run check→ 0 errors, 0 warnings (101 infos remain, alluseExhaustiveDependenciesnon-blocking).bun run check-types→ 0 errors across all 9 typed projects.Notes
biome.jsonc; the only change there is excludingpackages/mcpfrom the scope.@ts-ignore/as anyworkarounds were added.