Skip to content

Upgrade to Astro 6#1492

Merged
fennifith merged 5 commits intomainfrom
astro-6
Mar 22, 2026
Merged

Upgrade to Astro 6#1492
fennifith merged 5 commits intomainfrom
astro-6

Conversation

@crutchcorn
Copy link
Copy Markdown
Member

@crutchcorn crutchcorn commented Jan 13, 2026

Mostly just to test the new build times and such.

WOW that dev server is fast!!

Summary by CodeRabbit

  • Chores
    • Updated development dependencies (Astro, Preact integrations, Vitest, ESLint plugins, and related tooling) to newer versions.
    • Adjusted project configuration: added a local "src" import alias and removed a SCSS preprocessor API setting to streamline imports and CSS handling.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 9, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0935b3f3-5739-4cbb-82a0-e3b15792ada8

📥 Commits

Reviewing files that changed from the base of the PR and between af6be7e and 02820da.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • package.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • package.json

📝 Walkthrough

Walkthrough

Configuration and tooling updates: added a Vite alias mapping src./src in astro.config.ts, removed the SCSS preprocessor api: "modern" option, and bumped several devDependencies (including Astro → 6.0.2, Preact → 5.0.0, and related tooling).

Changes

Cohort / File(s) Summary
Configuration
astro.config.ts
Added Vite resolve alias src: path.resolve(import.meta.dirname, "./src"); removed vite.css.preprocessorOptions.scss.api ("modern") setting.
Dependencies
package.json
Updated devDependencies: @astrojs/check (^0.9.6→^0.9.7), @astrojs/preact (^4.1.3→^5.0.0), @preact/preset-vite (^2.10.2→^2.10.5), @vitest/browser-playwright (^4.0.16→^4.1.0), astro (^5.16.8→^6.0.2), astro-eslint-parser (^1.2.2→^1.3.0), eslint-plugin-astro (^1.5.0→^1.6.0), vitest (^4.0.16→^4.1.0).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main objective of the pull request—upgrading from Astro 5 to Astro 6, which is evident from the package.json changes showing astro ^5.16.8 → ^6.0.2 and related dependency updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch astro-6

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 9, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch astro-6

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

2 similar comments
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 9, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch astro-6

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 9, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch astro-6

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@crutchcorn crutchcorn marked this pull request as ready for review March 10, 2026 20:33
@crutchcorn crutchcorn changed the title [DO NOT MERGE] Upgrade to Astro 6 beta Upgrade to Astro 6 Mar 10, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
astro.config.ts (1)

46-54: Consider centralizing the shared alias map.

This works, but src is now defined here and in vitest.config.ui.ts, so the two configs can drift independently. I’d consider exporting a shared alias helper/object and reusing it from both places.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@astro.config.ts` around lines 46 - 54, The alias map (resolve.alias) is
duplicated (the "src" alias and the "@react-aria/calendar/dist/utils.mjs" entry)
and should be centralized: extract the alias object into a shared module (e.g.,
export const sharedAliases = { "@react-aria/calendar/dist/utils.mjs":
path.resolve(import.meta.dirname,
"./node_modules/@react-aria/calendar/dist/utils.mjs"), src:
path.resolve(import.meta.dirname, "./src") }), then import and spread that
sharedAliases into the resolve.alias in both astro.config.ts and
vitest.config.ui.ts (e.g., resolve: { alias: { ...sharedAliases } }), ensuring
you preserve the use of path.resolve and import.meta.dirname when constructing
the paths.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@package.json`:
- Line 77: The package currently upgrades "astro": "^6.0.2" but leaves the
engines range too loose; update the package.json engines.node field to require
at least 22.12.0 (e.g. "engines": { "node": ">=22.12.0" } or ">=22.12.0 <24")
and then bump any CI/deploy Node specs to match: update GitHub Actions uses of
actions/setup-node (node-version/node-version matrix), Dockerfile FROM node:
lines, and any Vercel/Netlify/CI environment NODE_VERSION settings to >=22.12.0
so builds use a supported Node for Astro v6.

---

Nitpick comments:
In `@astro.config.ts`:
- Around line 46-54: The alias map (resolve.alias) is duplicated (the "src"
alias and the "@react-aria/calendar/dist/utils.mjs" entry) and should be
centralized: extract the alias object into a shared module (e.g., export const
sharedAliases = { "@react-aria/calendar/dist/utils.mjs":
path.resolve(import.meta.dirname,
"./node_modules/@react-aria/calendar/dist/utils.mjs"), src:
path.resolve(import.meta.dirname, "./src") }), then import and spread that
sharedAliases into the resolve.alias in both astro.config.ts and
vitest.config.ui.ts (e.g., resolve: { alias: { ...sharedAliases } }), ensuring
you preserve the use of path.resolve and import.meta.dirname when constructing
the paths.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9cc84400-61b8-463a-a55f-79a546c3d612

📥 Commits

Reviewing files that changed from the base of the PR and between 414b518 and af6be7e.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • astro.config.ts
  • package.json

Comment thread package.json
"@vitest/browser-playwright": "^4.0.16",
"astro": "^5.16.8",
"astro-eslint-parser": "^1.2.2",
"astro": "^6.0.2",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# Find and read the package.json file
git ls-files "*package.json"

Repository: playfulprogramming/playfulprogramming

Length of output: 50394


🏁 Script executed:

# Check the current state of package.json, focusing on the astro version and engines field
head -100 package.json | tail -50

Repository: playfulprogramming/playfulprogramming

Length of output: 1658


🏁 Script executed:

# Look for the engines field and astro version more specifically
cat -n package.json | grep -E "(engines|astro|node)" | head -20

Repository: playfulprogramming/playfulprogramming

Length of output: 987


🌐 Web query:

Astro v6 upgrade guide Node version requirement

💡 Result:

Astro v6 requires Node.js 22.12.0 or higher (it drops Node 18 and Node 20). Check both your local machine and your deployment runtime are on Node 22.12+. [1]

Sources:
[1] Astro Docs — “Upgrade to Astro v6” (Node 22 section) (docs.astro.build)

Citations:


Tighten the Node engine when upgrading to Astro v6.

Line 77 moves the repo to Astro 6, but the package still allows any 22.x runtime. Astro's v6 upgrade guide requires Node 22.12.0 or higher, so the current engine range still admits unsupported versions like 22.022.11. Please raise the minimum here and in CI/deploy config before merging. (docs.astro.build)

Suggested follow-up
  "engines": {
-   "node": "22.x"
+   "node": ">=22.12.0 <23"
  },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package.json` at line 77, The package currently upgrades "astro": "^6.0.2"
but leaves the engines range too loose; update the package.json engines.node
field to require at least 22.12.0 (e.g. "engines": { "node": ">=22.12.0" } or
">=22.12.0 <24") and then bump any CI/deploy Node specs to match: update GitHub
Actions uses of actions/setup-node (node-version/node-version matrix),
Dockerfile FROM node: lines, and any Vercel/Netlify/CI environment NODE_VERSION
settings to >=22.12.0 so builds use a supported Node for Astro v6.

@20jasper
Copy link
Copy Markdown
Member

This looks goodly beyond the failed typecheck. Most of the deprecated stuffs isn't used

@fennifith fennifith added this pull request to the merge queue Mar 22, 2026
Merged via the queue into main with commit aab5417 Mar 22, 2026
9 checks passed
@fennifith fennifith deleted the astro-6 branch March 22, 2026 15:18
@coderabbitai coderabbitai Bot mentioned this pull request Mar 29, 2026
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.

3 participants