Bump Astro 5→6, Tina canary→stable, CF adapter 12→13#24
Open
0xharkirat wants to merge 1 commit into
Open
Conversation
Sync the repo with the upstream tina-astro-starter dependency
floor and move off the pinned canary Tina builds onto stable
releases. UI / block-builder / Tailwind changes from upstream
PR #42 are intentionally NOT adopted — SSW Global landing is
custom and would be overwritten.
Dependency bumps:
- astro ^5.16.0 → ^6.3.7
- @astrojs/cloudflare ^12.6.13 → ^13.1.10
- @astrojs/mdx ^4.3.0 → ^5.0.6
- @astrojs/rss ^4.0.15 → ^4.0.18
- @astrojs/sitemap ^3.7.0 → ^3.7.2
- @tinacms/astro 0.0.0-c724883-… (canary) → ^0.4.0 (stable)
- @tinacms/cli 0.0.0-c724883-… (canary) → ^2.4.0 (stable)
- tinacms 0.0.0-c724883-… (canary) → ^3.8.2 (stable)
- wrangler 4.59.2 → ^4.95.0 (satisfies @astrojs/cloudflare
13 + @cloudflare/vite-plugin peer ranges)
- @types/node ^25.1.0 → ^25.9.1
Other package.json changes:
- Add engines.node ">=22.12.0" (matches upstream + .nvmrc)
- Replace the pnpm.overrides react pin with explicit
react/react-dom devDependencies at 18.3.1 (upstream pattern,
PR #45); keeps @tinacms/cli's React 18 admin bundle correct
without overriding the whole tree
Config changes:
- wrangler.toml: point `main` at `@astrojs/cloudflare/entrypoints/
server` (the adapter's unified dev+prod entry). Required by
the new @cloudflare/vite-plugin in @astrojs/cloudflare v13,
which validates the entry path eagerly at config-load time —
the old `./dist/_worker.js/index.js` path doesn't exist until
after a build, so the previous setup failed before Astro even
started.
- astro.config.mjs: drop the rollupOptions.onwarn shim that
silenced UNUSED_EXTERNAL_IMPORT from tinacms/dist/client. With
@tinacms/astro@0.4.0 the warning no longer fires.
- Add src/content.config.ts: declare the `config` collection so
Astro's content layer (mandatory in v6) doesn't try to glob
the JSON-only src/content/config dir as Markdown. blog and
page stay auto-inferred. Mirrors upstream's pattern.
- src/pages/rss.xml.js → rss.xml.ts: switch from
`getCollection('blog')` (Astro content layer, didn't see Tina
posts in v6) to `listBlogs()` from `src/lib/data.ts`, which
is the existing Tina query path used by /blog. RSS now
generates correctly without the "collection blog does not
exist or is empty" warning.
- public/admin/.gitignore: auto-rewritten by the new Tina CLI
(drops the stale bridge.js entry; the new admin bundle
doesn't emit a separate bridge file).
Local verification: `pnpm run build:local` succeeds; only
remaining warning is unenv fs.mkdirSync (cosmetic, from
Cloudflare adapter's build-time cache attempt) and an empty
/home/index.html prerender (cosmetic — the redirect ships
via dist/_redirects, which is what Cloudflare actually uses).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
ssw-website-global | 3226821 | Commit Preview URL Branch Preview URL |
May 29 2026, 12:44 AM |
There was a problem hiding this comment.
Pull request overview
This PR updates the project’s Astro/Tina/Cloudflare toolchain to newer stable versions (Astro 6, Tina stable releases, Cloudflare adapter v13 / Wrangler updates) and applies the related configuration adjustments needed for the upgrade.
Changes:
- Bump core dependencies:
astro5→6,@astrojs/cloudflare12→13, Tina canary→stable,wrangler4.59→4.95, plus related integration updates. - Update Cloudflare Worker entrypoint (
wrangler.toml) and simplify Astro build config (remove Rollup warning shim). - Add Astro content config to avoid JSON-only collection warnings and migrate RSS implementation to use Tina-backed
listBlogs().
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
package.json |
Updates dependency versions, adds Node engine constraint, and pins React via explicit devDeps. |
pnpm-lock.yaml |
Lockfile regeneration reflecting Astro 6 / adapter 13 / Tina stable / Wrangler upgrades. |
wrangler.toml |
Switches Worker main entrypoint to the Cloudflare adapter v13 server entry. |
astro.config.mjs |
Removes the Rollup onwarn shim now that upstream warning is resolved. |
src/content.config.ts |
Introduces collection config to avoid Astro 6 content-layer warnings for JSON-only folders. |
src/pages/rss.xml.ts |
Replaces RSS endpoint implementation to use Tina listBlogs() and TypeScript route. |
src/pages/rss.xml.js |
Removes the prior RSS endpoint that used astro:content collections. |
public/admin/.gitignore |
Updates ignore rules to match Tina CLI output layout. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+8
to
+14
| export async function GET(context: APIContext) { | ||
| const posts = await listBlogs(); | ||
| return rss({ | ||
| title: config.seo.title, | ||
| description: config.seo.description, | ||
| site: context.site ?? '', | ||
| items: posts.map((post) => ({ |
Comment on lines
+12
to
+16
| const config = defineCollection({ | ||
| loader: glob({ pattern: '**/*.json', base: 'src/content/config' }), | ||
| }); | ||
|
|
||
| export const collections = { config }; |
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.
Why
Sync
SSW.Website.Globalwith the floor oftinacms/tina-astro-starter'smain, and move off the date-pinned canary Tina builds onto stable releases.UI / Tailwind / block-builder changes from upstream PR #42 are intentionally NOT adopted — SSW Global landing is custom (Hark + Tiago's design refresh) and would be overwritten. This PR is dependency hygiene only.
Also supersedes the open Dependabot PR #23 (covers everything that PR bumps, plus the two it skipped —
@tinacms/astroand@astrojs/mdx).Dependency bumps
astro^5.16.0^6.3.7@astrojs/cloudflare^12.6.13^13.1.10@astrojs/mdx^4.3.0^5.0.6@astrojs/rss^4.0.15^4.0.18@astrojs/sitemap^3.7.0^3.7.2@tinacms/astro^0.4.0stable@tinacms/cli^2.4.0stabletinacms^3.8.2stablewrangler4.59.2^4.95.0@types/node^25.1.0^25.9.1Other package.json
engines.node: ">=22.12.0"pnpm.overridesreact pin with explicitreact/react-domdevDeps at18.3.1(upstream PR #45 pattern)Config
wrangler.toml—main = "@astrojs/cloudflare/entrypoints/server". Required by the new@cloudflare/vite-pluginin@astrojs/cloudflarev13.astro.config.mjs— drop therollupOptions.onwarnshim;@tinacms/astro@0.4.0no longer triggers the warning.src/content.config.ts(new) — declare theconfigcollection so Astro 6 doesn't glob the JSON-only dir as Markdown. Mirrors upstream.src/pages/rss.xml.js→rss.xml.ts— switch tolistBlogs()(Tina). Fixes "collection blog does not exist or is empty" under Astro 6.public/admin/.gitignore— auto-rewritten by Tina CLI 2.4.Verification
pnpm run build:localsucceeds. Remaining cosmetic warnings:unenv fs.mkdirSyncand/home/index.htmlempty body (redirect ships viadist/_redirects).Test plan
pr-lint-codepasses (once Add CI, repo policies & Cloudflare deploy workflows #18 lands)pr-buildpasses/admin/works,/blog/,/rss.xmlrenderSkipped
Upstream UI overhaul (blocks/ui/space components, ThemeToggle, Tailwind 4), Vercel adapter, Astro Icon, upstream blog seed, block-builder rewrites of home.mdx / page.ts.
🤖 Generated with Claude Code