Skip to content

chore: make lint-and-typecheck green (biome + TS7 typecheck) - #3

Merged
pipozzz merged 2 commits into
mainfrom
chore/biome-format-cleanup
Oct 14, 2026
Merged

pipozzz merged 2 commits into
mainfrom
chore/biome-format-cleanup

Conversation

@pipozzz

@pipozzz pipozzz commented Oct 14, 2026

Copy link
Copy Markdown

The lint-and-typecheck PR gate never actually passed (PR #1 was the repo's first), so both of its steps carried pre-existing debt unrelated to any feature change. This makes the gate green so it starts protecting future PRs.

pnpm biome ci

  • biome format across the repo (formatting + organizeImports) — 45 files.
  • Ignore the generated apps/docs/public/openapi.json (exceeds biome's size rule).
  • Relax style/complexity nits for apps/docs/scripts/** (codegen helpers; delete on the OpenAPI spec is intentional).

pnpm typecheck (repo runs TypeScript 7.0.2 + React 19)

  • Bump framer-motion 11.3.19 → 14.2.0 — its motion types don't resolve under TS7/React 19; the new line does, with the same framer-motion import path and APIs (motion.*, AnimatePresence, useInView, useMotionValue, useSpring). Clears 11 motion … className errors.
  • React 19 ref nits: useRef(undefined) (use-debounce), RefObject<Element> cast (number-ticker).
  • Type getTags / getPostsByTag returns in lib/ghost.ts (blog pages no longer see unknown).
  • Blog code renderer: drop the removed react-markdown inline prop; coerce img src to string.
  • OG route: wrap Buffer in Uint8Array (valid BodyInit).
  • ContactFormModal: map the extra "other" inquiry type to "" for ContactForm.

Both pnpm biome ci and pnpm typecheck pass locally. Most of the diff is formatting; the logic changes are confined to the files listed above plus biome.json / package.json / lockfile.

The PR gate never passed (PR #1 was the repo's first), so both steps had
pre-existing debt unrelated to any feature change.

biome:
- biome format across the repo (formatting + organizeImports), 45 files
- ignore the generated apps/docs/public/openapi.json (exceeds size rule)
- relax style/complexity nits for apps/docs/scripts/** (codegen; delete is intentional)

typecheck (under the repo's TypeScript 7.0.2 native compiler + React 19):
- bump framer-motion 11.3.19 -> 14.2.0 (its motion types resolve under TS7/React 19;
  same import path and APIs) — clears 11 motion className errors
- useRef(undefined) / RefObject<Element> cast for React 19 (use-debounce, number-ticker)
- type getTags/getPostsByTag returns in lib/ghost.ts (no more unknown in blog pages)
- blog code renderer: drop the removed react-markdown inline prop; coerce img src
- OG route: wrap Buffer in Uint8Array (valid BodyInit)
- ContactFormModal: map the extra 'other' inquiry type to '' for ContactForm

Both `pnpm biome ci` and `pnpm typecheck` pass locally.
CI ran Node 18.18.0 while the repo requires node ^24.4.0 (and the Dockerfiles
already build on node:24.4). On Node 18 the typecheck step crashed launching
TypeScript 7.0.2's extensionless bin (ERR_UNKNOWN_FILE_EXTENSION). Point the
workflow at .nvmrc and bump .nvmrc to 24.4.0 so CI matches the actual runtime.
@pipozzz
pipozzz merged commit 3b9027c into main Oct 14, 2026
1 check passed
@pipozzz
pipozzz deleted the chore/biome-format-cleanup branch October 14, 2026 07:31
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