Skip to content

chore: make main pass biome and typecheck so CI can be required - #206

Merged
Siumauricio merged 2 commits into
mainfrom
chore/enforce-ci-checks
Oct 21, 2026
Merged

Siumauricio merged 2 commits into
mainfrom
chore/enforce-ci-checks

Conversation

@Siumauricio

Copy link
Copy Markdown
Contributor

Why

Vanta flags merged PRs that bypassed automated checks. Today main has no required status checks, so PRs could merge with lint-and-typecheck failing (for example, one PR merged with 81 biome errors) or with no checks at all (fork PRs that never got a workflow run).

Requiring the check on main is the fix, but main currently fails it, so requiring it now would block every PR. This PR makes main green first. The branch protection change follows once this lands.

Changes

  • Biome formatting and lint autofixes across the repo (formatting, import order, useTemplate, useOptionalChain, forEach to for...of, etc.).
  • framer-motion bumped within ^11 to ^11.18.2. The old 11.3.19 has JSX types that break under React 19 and caused about 20 of the type errors.
  • Remaining type fixes:
    • app/api/og/route.ts: wrap Buffer in Uint8Array for Response bodies.
    • lib/ghost.ts: explicit return types on getPostsByTag and getTags.
    • components/ContactForm.tsx: accept "other", which ContactFormModal already passes.
    • components/SecondaryFeatures.tsx: Feature.name is ReactNode, since desktop passes a <Tab>.
    • components/navigation.tsx: export the constant so the file is a module (it collided with the DOM navigation global). Nothing imports it.
    • components/ui/ripple.tsx: type the sponsors array.
    • lib/hooks/use-debounce.ts: React 19 useRef needs an initial value.
  • biome.json: ignore apps/docs/public/openapi.json, which is auto-synced and exceeds Biome's 1 MiB limit.

Verification

  • pnpm biome ci: passes (172 files).
  • pnpm typecheck: passes.
  • Not run: next build and a visual check of the blog and contact modal.

Apply biome formatting and lint autofixes, upgrade framer-motion within
v11 to fix React 19 JSX type errors, and fix the remaining type errors
so the lint-and-typecheck job passes on main. Exclude the auto-synced
openapi.json from biome's size limit.
The lint-and-typecheck job pinned Node 18.18.0, but the project requires
^24.4.0 and TypeScript 7 cannot load on Node 18, so typecheck failed on
every run.
@Siumauricio
Siumauricio merged commit dd406f5 into main Oct 21, 2026
1 check passed
@Siumauricio
Siumauricio deleted the chore/enforce-ci-checks branch October 21, 2026 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant