Skip to content

feat: add Astro 7 support on integration v1 - #293

Merged
ske-ci merged 3 commits into
QwikDev:build/v2from
ixcans:fix/upgrade-astro-7
Aug 23, 2026
Merged

ske-ci merged 3 commits into
QwikDev:build/v2from
ixcans:fix/upgrade-astro-7

Conversation

@ixcans

@ixcans ixcans commented Aug 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Upgrade the integration, demos, fixtures, and generated templates to Astro 7.2.4 and Vite 8-compatible adapter releases.
  • Upgrade Qwik to 2.0.0-beta.40 and make its client manifest available during Astro 7 development and prerendering.
  • Keep the Qwik beta-compatible integration on the v1 release line with a minor v1.1 changeset; integration v2 remains reserved for stable Qwik v2.
  • Keep the standalone Qwik client build authoritative so Astro's client build cannot overwrite a populated q-manifest.json.
  • Align generated projects with integration v1.1, Astro 7's Node requirement, and current Node/Deno adapter entrypoints; remove obsolete nested lockfiles and unnecessary Vite overrides.
  • Add regression coverage for development rendering, populated manifests, runnable Node SSR output, and all generated template variants.
  • Document the Astro 7/Node requirements, v1.1 migration, and future v2 boundary.

Testing

  • pnpm --filter @qwik.dev/create-astro check
  • pnpm exec vitest run libs/qwikdev-astro/tests/unit --reporter=verbose (12 passed)
  • pnpm -C libs/create-qwikdev-astro tsx bin/test.ts --groups 'Astro 7 templates' (10 passed)
  • pnpm exec playwright test --project=dev --project=static --project=node --project=vercel --project=netlify (20 passed)
  • Packed the integration with npm, installed it into a clean Astro 7 template, and built a populated Qwik manifest.
  • Built the demo, Node, Deno, documentation, and create CLI packages.

Fixes #290

@changeset-bot

changeset-bot Bot commented Aug 22, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2e5c899

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
@qwik.dev/astro Minor
@qwik.dev/create-astro Patch
netlify-fixture Patch
node-fixture Patch
vercel-fixture Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Aug 22, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@qwik.dev/create-astro@293
npm i https://pkg.pr.new/@qwik.dev/astro@293

commit: 2e5c899

@ixcans
ixcans marked this pull request as draft August 22, 2026 06:36
@ixcans
ixcans marked this pull request as ready for review August 22, 2026 07:01
@ixcans
ixcans force-pushed the fix/upgrade-astro-7 branch from 440db42 to 840533f Compare August 22, 2026 08:23
@ske-ci

ske-ci commented Aug 23, 2026

Copy link
Copy Markdown
Member

Thanks a lot for the Astro 7 update — I really appreciate the work here. I’ll test the integration thoroughly before integrating it.

One thing I’d like to adjust first: the current v1 already targets Qwik 2.0 beta, while v2 is intended for the stable Qwik release. So this Astro 7 compatibility update should remain on the v1 version line, with the appropriate patch/minor bump rather than moving directly to v2.

I’ll also update Panam to properly handle the cross-runtime script execution used by the CLI, which should address the current CI workflow issues around script execution.

Once these changes are in place, I’ll take care of testing the CLI and integration across the relevant runtimes, templates and adapters before we merge.

Thanks again for the contribution!

@ixcans ixcans changed the title feat!: upgrade Astro to v7 feat: add Astro 7 support on integration v1 Aug 23, 2026
@ixcans

ixcans commented Aug 23, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the clarification. Updated in 2e5c899: the integration changeset is now a v1 minor release, generated Astro 7 templates require @qwik.dev/astro ^1.1.0, and the docs clarify that integration v2 is reserved for stable Qwik v2. I left the Panam cross-runtime work out of this PR as requested.

@ixcans

ixcans commented Aug 23, 2026 •

Copy link
Copy Markdown
Contributor Author

I verified the Vite 8 paths on the current head (2e5c899) against all four apps under apps/.

Environment: Ubuntu 26.04 ARM64, Node 26.7.0, Astro 7.2.4, Vite 8.2.2. I used pnpm 9.15.9 for the CLI suite to match CI.

Tests

  • Unit tests: 12/12 passed
  • CLI tests: 143/143 passed
  • Platform tests (dev, static, Node, Vercel, Netlify): 20/20 passed
  • Production browser preview: 2/2 passed, including SSR container detection and the hydrated counter click

That is the complete 22/22 platform suite on the current head. The normal Playwright installer does not support Ubuntu 26.04 ARM64, so I downloaded Playwright's exact Chromium 145 ARM64 build to a temporary directory for those two tests. The previous approved CI run also passed 143/143 CLI and 22/22 platform tests.

Apps and live smoke tests

  • apps/demo: build passed; / and /about/ returned 200 with Qwik containers
  • apps/node-demo: build passed; the generated Node SSR server returned 200 with Qwik containers at / and /test/
  • apps/deno-demo: astro check reported 0 diagnostics, build passed, and the generated server returned 200 with Qwik containers at / and /test/ under Deno 2.9.5
  • apps/website: build and Pagefind indexing passed; / and /docs/ returned 200 with Qwik containers

All four builds generated populated Qwik manifests (core, qwikLoader, and non-empty mappings/bundles). Mapping counts were 19 for demo, 20 each for Node/Deno, and 517 for the website.

Notes

  • pnpm 11's build-script approval policy blocks dependency installs inside the CLI suite's temporary fixtures; the same suite passes 143/143 with the repository/CI-compatible pnpm 9. This is a test-host policy issue, not a Vite assertion failure.
  • The Deno adapter emits Vite warnings that its optional port, hostname, and start virtual-config exports are undefined. Its defaults were applied and the built server worked correctly under Deno.
  • The builds also retain existing non-fatal deprecation/CSS/asset warnings.

I did not find a Vite 8 compatibility regression or a merge blocker in the integration. Based on these tests, I don't think further changes are needed for this PR; the warnings above can be handled independently if desired.

@ske-ci

ske-ci commented Aug 23, 2026 •

Copy link
Copy Markdown
Member

Thanks again for the update. Everything looks good now, and I’m going to merge this PR.

The pnpm build-script restriction you mentioned is exactly the issue I’m going to address separately in Panam. Recent package-manager security changes, driven by the latest security incidents and vulnerabilities in the npm ecosystem, now require explicit handling/approval of dependency scripts. This isn’t an integration or PR issue; Panam needs to account for these newer package-manager execution policies across Node.js, Deno and Bun.

I’ll handle that separately after merging.

Thanks for the work — merging now.

@ske-ci ske-ci closed this Aug 23, 2026
@ske-ci ske-ci reopened this Aug 23, 2026
@ske-ci
ske-ci merged commit 2b76216 into QwikDev:build/v2 Aug 23, 2026
5 of 59 checks passed
@ixcans

ixcans commented Aug 23, 2026

Copy link
Copy Markdown
Contributor Author

Thanks @siguici for the review!

I wonder if you could help cut a release for @qwik.dev/astro, this will unblock our work. The latest version is still 1.0.2 on npm: https://www.npmjs.com/package/@qwik.dev/astro?activeTab=versions

Thanks in advance!

@ske-ci

ske-ci commented Aug 25, 2026

Copy link
Copy Markdown
Member

I wonder if you could help cut a release for @qwik.dev/astro, this will unblock our work. The latest version is still 1.0.2 on npm: https://www.npmjs.com/package/@qwik.dev/astro?activeTab=versions

It was fixed by @thejackshelton ✅

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.

Upgrade Astro

2 participants