Skip to content

chore(deps): upgrade dependencies to latest and pnpm to 12.1.0 - #84

Merged
AnnatarHe merged 2 commits into
masterfrom
chore/upgrade-deps-pnpm-12
Aug 31, 2026
Merged

AnnatarHe merged 2 commits into
masterfrom
chore/upgrade-deps-pnpm-12

Conversation

@AnnatarHe

Copy link
Copy Markdown
Member

Upgrades every dependency to its newest usable version, moves the package manager to pnpm 12, and clears out dead config.

Upgrades

Package From To
astro 7.1.4 7.2.9
@astrojs/mdx 7.0.4 7.0.8
@astrojs/react 6.0.1 6.0.4
@astrojs/markdown-satteri 0.3.4 0.3.8
sharp 0.35.3 0.35.4
tsx 4.23.1 4.23.13
@types/node 26.1.1 26.4.0
@types/react / @types/react-dom 19.2.17 / 19.2.3 19.2.18 / 19.2.5
openai 6.49.0 7.8.0
pnpm 11.17.0 12.1.0

@astrojs/check, typescript, and the @types/react* packages moved to devDependencies, where their build/type-time-only role belongs.

Two packages deliberately held back from "latest"

typescript stays at 6.0.3. @astrojs/check@0.9.10 — itself already at latest — declares a peer range of ^5 || ^6, and TS 7 shipped without a stable programmatic API, so Astro/Volar tooling cannot run on it yet. Revisit when @astrojs/check ships a TS 7 peer range.

satori pinned to ^0.32.0. 0.33.0 replaced text shaping with HarfBuzz, which cannot resolve glyphs from the 19MB LXGWWenKai-Regular.ttf CJK font used for the OG image — every glyph renders as tofu and the layout shifts off-canvas:

0.32.0 (kept) 0.33.x (rejected)
Title and logo render correctly All text renders as ☒ boxes, layout shifted left

Bisected to exactly 0.33.0; 0.32.0 renders byte-identical to the previous 0.29.0 output. The caret on a 0.x version keeps resolution below 0.33. Worth flagging: pnpm build stays completely green on the broken version, so this is only catchable by looking at the rendered PNG.

openai 7 is a major but dev-only (scripts/), and none of its breaking changes apply: httpAgent is unused, scripts/face.ts already uses fs.createReadStream over the removed fileFromPath helper, and .del() is never called.

Cleanup

  • Deleted tailwind.config.js — a v3-style config left behind by the v4 migration. Tailwind v4 only loads a JS config when CSS declares @config, and src/global.css has only @import "tailwindcss", so it had no effect. Both of its values survive without it: global.css hand-defines --at-primary-color and the .text-primary/.bg-primary/.border-primary classes, and lg:w-128 in Player.astro resolves through v4's dynamic spacing scale to calc(0.25rem * 128) = 32rem — the same width the old config declared.
  • Trimmed minimumReleaseAgeExclude from pnpm-workspace.yaml. It pinned exact versions (@astrojs/mdx@7.0.4, astro@7.1.4) no longer in the tree, and no minimumReleaseAge is configured anywhere, so the excludes were inert.

No unused packages

All 21 packages trace to a real import, config reference, or npm script. The four invisible to grep are still required: react-dom and @types/react-dom (peers of @astrojs/react, whose SSR renderer imports react-dom/server), typescript (peer of @astrojs/check), and @astrojs/check/tsx (binary-only usage from npm scripts).

Verification

  • pnpm build green — astro check 0 errors, 78 pages built, SEO check passes (78 HTML / 78 sitemap URLs / 76 RSS items)
  • dist/og.png byte-identical to the pre-upgrade build
  • Home page and /posts/ep73/ checked in a browser: no console errors, cover art, player width, transcript section, JSON-LD transcript/image, and RSS <itunes:image> all intact

Not verified: scripts/generate-thumbnail.ts and scripts/face.ts (the openai v7 consumers) need an API key and make paid calls — left for a manual run.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FxJKtsdMtdLsmLxR8XSvSd

AnnatarHe and others added 2 commits August 31, 2026 22:37
Bump astro 7.1.4 -> 7.2.9, @astrojs/mdx 7.0.4 -> 7.0.8, @astrojs/react
6.0.1 -> 6.0.4, @astrojs/markdown-satteri 0.3.4 -> 0.3.8, sharp 0.35.3 ->
0.35.4, tsx 4.23.1 -> 4.23.13, @types/node 26.1.1 -> 26.4.0, openai
6.49.0 -> 7.8.0, and the @types/react* patches. Move @astrojs/check,
typescript and the @types/react* packages to devDependencies, where their
build/type-time-only role belongs.

Two packages deliberately stay behind "latest":

- typescript holds at 6.0.3. @astrojs/check@0.9.10 (already latest)
  declares a peer range of ^5 || ^6, and TS 7 shipped without a stable
  programmatic API, so Astro/Volar tooling cannot run on it yet.
- satori holds at 0.32.0. 0.33.0 replaced text shaping with HarfBuzz,
  which cannot resolve glyphs from the 19MB LXGWWenKai CJK font used for
  the OG image: every glyph renders as tofu and the layout shifts left.
  The build stays green, so this is only caught by looking at the output.
  0.32.0 renders byte-identical to 0.29.0; the caret on a 0.x version
  keeps resolution below 0.33.

openai 7 is a major but dev-only (scripts/), and its breaking changes do
not apply here: httpAgent is unused, scripts/face.ts already uses
fs.createReadStream over the removed fileFromPath helper, and .del() is
never called.

Verified with pnpm build: astro check reports 0 errors, 78 pages build,
SEO check passes, and dist/og.png is byte-identical to the pre-upgrade
build.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FxJKtsdMtdLsmLxR8XSvSd
…e excludes

tailwind.config.js was a v3-style config left behind by the v4 migration.
Tailwind v4 only loads a JS config when CSS declares @config, and
src/global.css has only `@import "tailwindcss"`, so the file had no
effect. Its two values are already covered without it: global.css
hand-defines --at-primary-color plus .text-primary/.bg-primary/
.border-primary, and `lg:w-128` in Player.astro resolves through v4's
dynamic spacing scale to calc(0.25rem * 128) = 32rem, the same width the
old config declared. Verified in the built CSS and in the browser.

minimumReleaseAgeExclude pinned exact versions (@astrojs/mdx@7.0.4,
astro@7.1.4) that no longer exist in the tree. No minimumReleaseAge is
configured in pnpm-workspace.yaml, ~/.npmrc or ~/.config/pnpm/rc, so the
excludes were inert; install resolves every package to its intended
version without them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FxJKtsdMtdLsmLxR8XSvSd
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@AnnatarHe
AnnatarHe temporarily deployed to chore/upgrade-deps-pnpm-12 - asynctalk-website PR #84 August 31, 2026 14:38 — with Render Destroyed
@AnnatarHe
AnnatarHe merged commit 73d74ee into master Aug 31, 2026
1 check passed
@AnnatarHe
AnnatarHe deleted the chore/upgrade-deps-pnpm-12 branch August 31, 2026 14:52

This branch was successfully deployed

No deployments
chore/upgrade-deps-pnpm-12 - asynctalk-website PR #84 33234cdd Deployed Aug 31, 2026 by AnnatarHe
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