Update Astro to v7 and bring all dependencies to latest - #27
Draft
dsnsgithub wants to merge 1 commit into
Draft
Conversation
Astro 5.16 -> 7.2, which pulls in the Astro 6 and 7 breaking changes, plus a Tailwind v3 -> v4 migration and React 18 -> 19. Tailwind v4: - @astrojs/tailwind peers cap at astro ^5, so it is replaced by @tailwindcss/vite. tailwind.config.mjs becomes src/styles/global.css, with the viola palette and DM Sans stack in @theme and the typography / scrollbar plugins loaded via @plugin. - Apply the v4 utility renames: shadow-sm -> shadow-xs, shadow -> shadow-sm, rounded -> rounded-sm, outline-none -> outline-hidden, flex-shrink-0 -> shrink-0, flex-grow -> grow. - Pin the two inputs that relied on the old default border color to border-gray-200 (v4 defaults to currentColor), and restore the `cursor: pointer` on buttons that v4 dropped from preflight. - Point prettier-plugin-tailwindcss at the stylesheet, which is how it finds the theme now that there is no JS config. Astro 6: - Content collections move to the Content Layer API: src/content/config.ts -> src/content.config.ts with a glob() loader, post.slug -> post.id, post.render() -> render(post). Blog URLs are unchanged. - <ViewTransitions /> -> <ClientRouter />. - Import z from astro/zod; the astro:content re-export is deprecated. Astro 7: - compressHTML is pinned to true. The new "jsx" default strips whitespace between inline elements, which dropped the space before links in running text (e.g. "drag it into<a>Prism Launcher</a>" on /smp-archive). React 19 and friends: - react/react-dom 19 with matching @types. RecentGames imports JSX from react, since React 19 removed the global JSX namespace. - use-lanyard 2 replaces useLanyardWS with useLanyard. - Add an empty src/icons so astro-icon 1.2 stops warning about the missing directory and keeps generating its type definitions. TypeScript goes to 6.0.3 rather than 7.0.2, because @astrojs/check peers on ^5.0.0 || ^6.0.0. Verified with astro check (0 errors) and a full build. The rendered text of all 11 pages is byte-identical to the pre-upgrade output, and a headless browser pass confirms the React islands still hydrate and no page throws. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HhPy2zjGXtCgFruza2h6jv
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Astro 5.16 -> 7.2, which pulls in the Astro 6 and 7 breaking changes, plus a Tailwind v3 -> v4 migration and React 18 -> 19.
Tailwind v4:
shadow-sm, rounded -> rounded-sm, outline-none -> outline-hidden, flex-shrink-0 -> shrink-0, flex-grow -> grow.
cursor: pointeron buttons that v4 dropped from preflight.Astro 6:
Astro 7:
React 19 and friends:
TypeScript goes to 6.0.3 rather than 7.0.2, because @astrojs/check peers on ^5.0.0 || ^6.0.0.
Verified with astro check (0 errors) and a full build. The rendered text of all 11 pages is byte-identical to the pre-upgrade output, and a headless browser pass confirms the React islands still hydrate and no page throws.
Claude-Session: https://claude.ai/code/session_01HhPy2zjGXtCgFruza2h6jv