Repository navigation
chore(deps): roll up 13 Dependabot bumps (Astro 7.3, TypeScript 6, prettier-plugin-astro 1.0) - #78
Merged
Merged
Conversation
Consolidates the Dependabot PRs whose CI was already green into a single lockfile update, so one build gates the lot instead of eleven: zod 4.4.3 -> 4.6.5 (#77) vite 8.2.1 -> 8.3.0 (#73) @iconify-json/logos 1.2.12 -> 1.2.14 (#71) globals 17.11.0 -> 17.12.0 (#69) @typescript-eslint/parser 8.66.0 -> 8.70.0 (#68) @astrojs/sitemap 3.7.3 -> 3.7.4 (#66) sharp 0.35.3 -> 0.35.4 (#63) satori 0.29.0 -> 0.33.4 (#60) typescript 5.9.3 -> 6.0.3 (#57) @eslint/js 9.8.0 -> 9.39.5 (#46) unocss / @unocss/astro / @unocss/reset 66.7.5 -> 66.10.2 (#74) Dependabot raised only @unocss/reset; the three unocss packages share a release train and have to move together, so the other two ride along. Verified with pnpm run lint, format:check, and build — 215 pages, no astro check errors under TypeScript 6. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01G214G6mJBeVBZ3CbukkNRu
Raised on its own (#76) this bump failed `astro check` with 20 errors — every `post.data` access reported as `unknown`. The cause is zod, not Astro: 7.3 infers a collection's `data` type through the schema's `.transform()`, and zod 4.4.3's output types defeat that inference. With the zod 4.6.5 bump from the previous commit in place, `astro check` reports zero errors, which is why this rides along here instead. The range resolves to 7.3.3, the current patch. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01G214G6mJBeVBZ3CbukkNRu
1.0.0 changes how it breaks JSX-ish expressions in .astro files, so the bump alone left 11 files failing `format:check` — that is why #75 is red. This commit carries the reformat with it. Two things worth knowing about the new output: - It is not idempotent on the first pass. One `pnpm run format` turns `{cond && <script ... />}` in BaseHead.astro into a form it then wants to rewrite again as `{cond && (<script ... />)}`, so a single `check:fix` can still leave CI red. Run it twice; the tree here has converged and a third pass is a no-op. - Rendered HTML is unchanged except for one construct: `<Button>← Back to blog</Button>` in BlogContent.astro now breaks across lines, which adds collapsing whitespace either side of the label inside the anchor. Diffed all 215 built pages against a 7.3.3 build of the previous formatting; that anchor is the only difference once the per-build random font-fallback ids and brutal-ui colours are normalised out. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01G214G6mJBeVBZ3CbukkNRu
The plugin's 1.0.x printer is not idempotent for a self-closing
`<script />` inside a `{cond && …}` expression that has to wrap: one
`format` pass emits output that fails `format:check`, and a second pass
converges. Records the shape to avoid and, more usefully, what the
confusing CI failure means when it happens.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01G214G6mJBeVBZ3CbukkNRu
Two corrections to the note added a moment ago. It pinned the behaviour to 1.0.1 when what is actually known is that it is a 1.0.x regression — 0.14.1 was stable — so a future reader should not assume moving off 1.0.1 clears it. It also missed the worse of the two bugs: multi-line CSS comments in a `<style>` block gain two spaces of indentation on every run and never reach a fixed point, so `format:check` cannot pass at all. Verified against upstream issue 487's repro on our install (7 -> 9 -> 11 -> 13 spaces). No `<style>` block here carries a comment today, which is why CI is green; adding one to BlogContent, BaseFooter, or SummaryCard would strand it. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01G214G6mJBeVBZ3CbukkNRu
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Oct 23, 2026
This branch was successfully deployed
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.
📝 What's This PR About?
Type of Change:
📋 Description
Consolidates all 13 open Dependabot PRs into one branch so a single build gates
the lot. Two of them were red on their own; neither failure was real, and both
are explained below.
For Technical Changes:
diagnosing before they could be judged.
package.jsononly, except the third commit, whichreformats 11
.astrofiles.d8945d0— 11 bumps whose CI was already greenDependabot raised only
@unocss/reset; the three unocss packages share arelease train, so the other two move with it.
ea73b6d— astro 7.2.1 → 7.3.2 (was #76)Red on its own with 20
astro checkerrors, everypost.dataaccess reported asunknown. The cause is zod, not Astro: 7.3 infers a collection'sdatatypethrough the schema's
.transform()insrc/content.config.ts, and zod 4.4.3'soutput types defeat that inference. Reproduced on a bare
main, then bumped zodalone on top — zero errors. Which is why it rides along here rather than
standing alone. The range resolves to 7.3.3.
ec72aed— prettier-plugin-astro 0.14.1 → 1.0.0 (was #75)Red on its own because 1.0.x breaks JSX-ish expressions differently, leaving 11
files failing
format:check. This commit carries the reformat. The^1.0.0range resolves to 1.0.1.
Two things found while verifying it, both upstream bugs rather than anything
wrong here:
pnpm run formatemits aBaseHead.astrothatfails
format:check; a second pass converges. Minimal repro is aself-closing
<script />inside a{cond && …}expression long enough towrap — all three conditions required. Writing the explicit
</script>sidesteps it, which is what the tree now does.
which we are not exposed to but easily could be. Multi-line
/* … */comments in a
<style>block gain two spaces of indentation every run andnever converge, so
format:checkcould never pass. Confirmed against ourinstall (7 → 9 → 11 → 13 spaces). None of the three
<style>blocks herecarries a comment today, which is the only reason CI is green.
7206ab8+c1e9129record both in CLAUDE.md, since the symptom —check:fixleaving CI red on a file it just rewrote — reads like a stale cache.🖼️ Visual Changes
One, from the reformat.
<Button>← Back to blog</Button>inBlogContent.astronow breaks across lines, which adds collapsing whitespaceeither side of the label inside the anchor.
Established by diffing all 215 built pages against a 7.3.3 build of the previous
formatting, normalising out the per-build random font-fallback ids and
brutal-ui colours. That anchor is the only difference. Separately confirmed the
Umami
<script>tag emits byte-identically withPUBLIC_UMAMI_WEBSITE_IDset,since that branch is env-gated and absent from the page diff.
If zero output change is preferred,
ec72aedis the only commit that causes anyand reverts cleanly on its own — at the cost of leaving #75 red.
🧪 Testing
pnpm run devpnpm run buildpnpm run lint,pnpm run format:checkandpnpm run buildall clean at eachof the three dependency commits, not just at the tip — 215 pages,
astro checkreporting zero errors under TypeScript 6.
The unchecked boxes are genuinely unverified rather than assumed: the dev server
was not exercised, and the Vercel preview and mobile rendering want eyes on the
one whitespace change above. Nothing here touches layout or components beyond
formatting.
📚 Documentation
CLAUDE.md gains a Working conventions entry on the two prettier-plugin-astro
1.0.x bugs. No README change needed.
🔗 Related
all 13 open Dependabot PRs. Dependabot should close most of them itself once
these versions land in
main.(open) is the
<style>comment bug. The self-closing<script />case isdistinct from both #487 and the already-fixed
#481, and is
not yet filed.
✅ Checklist
Preview deployment left unchecked until Vercel reports on this PR.
🤖 Generated with Claude Code
https://claude.ai/code/session_01G214G6mJBeVBZ3CbukkNRu
Generated by Claude Code