diff --git a/examples/basics/package.json b/examples/basics/package.json index 20ffa0f0b481..45a4d6819f62 100644 --- a/examples/basics/package.json +++ b/examples/basics/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.16.1" + "astro": "^4.16.2" } } diff --git a/examples/blog/package.json b/examples/blog/package.json index b2d704b5e9cf..2e66bd1f86fc 100644 --- a/examples/blog/package.json +++ b/examples/blog/package.json @@ -14,6 +14,6 @@ "@astrojs/mdx": "^3.1.8", "@astrojs/rss": "^4.0.8", "@astrojs/sitemap": "^3.2.0", - "astro": "^4.16.1" + "astro": "^4.16.2" } } diff --git a/examples/component/package.json b/examples/component/package.json index 5c10e5629f40..85bc36ecd673 100644 --- a/examples/component/package.json +++ b/examples/component/package.json @@ -15,7 +15,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^4.16.1" + "astro": "^4.16.2" }, "peerDependencies": { "astro": "^4.0.0" diff --git a/examples/container-with-vitest/package.json b/examples/container-with-vitest/package.json index f6c197b51e5f..d017b4e2d7ad 100644 --- a/examples/container-with-vitest/package.json +++ b/examples/container-with-vitest/package.json @@ -12,7 +12,7 @@ "test": "vitest run" }, "dependencies": { - "astro": "^4.16.1", + "astro": "^4.16.2", "@astrojs/react": "^3.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/examples/framework-alpine/package.json b/examples/framework-alpine/package.json index 5f7dbf028b21..fed6acb1ed77 100644 --- a/examples/framework-alpine/package.json +++ b/examples/framework-alpine/package.json @@ -14,6 +14,6 @@ "@astrojs/alpinejs": "^0.4.0", "@types/alpinejs": "^3.13.10", "alpinejs": "^3.14.1", - "astro": "^4.16.1" + "astro": "^4.16.2" } } diff --git a/examples/framework-lit/package.json b/examples/framework-lit/package.json index 661a3634af2a..adf093eecb3f 100644 --- a/examples/framework-lit/package.json +++ b/examples/framework-lit/package.json @@ -13,7 +13,7 @@ "dependencies": { "@astrojs/lit": "^4.3.0", "@webcomponents/template-shadowroot": "^0.2.1", - "astro": "^4.16.1", + "astro": "^4.16.2", "lit": "^3.2.0" } } diff --git a/examples/framework-multiple/package.json b/examples/framework-multiple/package.json index a2c6c29801e8..b1dbdbdc89e2 100644 --- a/examples/framework-multiple/package.json +++ b/examples/framework-multiple/package.json @@ -18,7 +18,7 @@ "@astrojs/vue": "^4.5.2", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.0", - "astro": "^4.16.1", + "astro": "^4.16.2", "preact": "^10.24.2", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/examples/framework-preact/package.json b/examples/framework-preact/package.json index 1ecc5ea1816a..9a9517e90a89 100644 --- a/examples/framework-preact/package.json +++ b/examples/framework-preact/package.json @@ -13,7 +13,7 @@ "dependencies": { "@astrojs/preact": "^3.5.3", "@preact/signals": "^1.3.0", - "astro": "^4.16.1", + "astro": "^4.16.2", "preact": "^10.24.2" } } diff --git a/examples/framework-react/package.json b/examples/framework-react/package.json index 4677b8845d7b..b3d7916635f8 100644 --- a/examples/framework-react/package.json +++ b/examples/framework-react/package.json @@ -14,7 +14,7 @@ "@astrojs/react": "^3.6.2", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.0", - "astro": "^4.16.1", + "astro": "^4.16.2", "react": "^18.3.1", "react-dom": "^18.3.1" } diff --git a/examples/framework-solid/package.json b/examples/framework-solid/package.json index 2cbd55eb15bf..2b9b24127554 100644 --- a/examples/framework-solid/package.json +++ b/examples/framework-solid/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@astrojs/solid-js": "^4.4.2", - "astro": "^4.16.1", + "astro": "^4.16.2", "solid-js": "^1.9.1" } } diff --git a/examples/framework-svelte/package.json b/examples/framework-svelte/package.json index 8d70dadd8218..fea663dc42aa 100644 --- a/examples/framework-svelte/package.json +++ b/examples/framework-svelte/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@astrojs/svelte": "^5.7.2", - "astro": "^4.16.1", + "astro": "^4.16.2", "svelte": "^4.2.19" } } diff --git a/examples/framework-vue/package.json b/examples/framework-vue/package.json index 9613267e57b8..88b83cc3614e 100644 --- a/examples/framework-vue/package.json +++ b/examples/framework-vue/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@astrojs/vue": "^4.5.2", - "astro": "^4.16.1", + "astro": "^4.16.2", "vue": "^3.5.11" } } diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json index ac525099fe15..6e99ec8a041c 100644 --- a/examples/hackernews/package.json +++ b/examples/hackernews/package.json @@ -12,6 +12,6 @@ }, "dependencies": { "@astrojs/node": "^8.3.4", - "astro": "^4.16.1" + "astro": "^4.16.2" } } diff --git a/examples/integration/package.json b/examples/integration/package.json index ba068c484e72..5ccb188a6f02 100644 --- a/examples/integration/package.json +++ b/examples/integration/package.json @@ -15,7 +15,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^4.16.1" + "astro": "^4.16.2" }, "peerDependencies": { "astro": "^4.0.0" diff --git a/examples/minimal/package.json b/examples/minimal/package.json index 522d6fff1a78..a04469546125 100644 --- a/examples/minimal/package.json +++ b/examples/minimal/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.16.1" + "astro": "^4.16.2" } } diff --git a/examples/portfolio/package.json b/examples/portfolio/package.json index f8a4921b1340..bf2620b50c39 100644 --- a/examples/portfolio/package.json +++ b/examples/portfolio/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.16.1" + "astro": "^4.16.2" } } diff --git a/examples/ssr/package.json b/examples/ssr/package.json index b54afbdc917d..f4e6addb57ba 100644 --- a/examples/ssr/package.json +++ b/examples/ssr/package.json @@ -14,7 +14,7 @@ "dependencies": { "@astrojs/node": "^8.3.4", "@astrojs/svelte": "^5.7.2", - "astro": "^4.16.1", + "astro": "^4.16.2", "svelte": "^4.2.19" } } diff --git a/examples/starlog/package.json b/examples/starlog/package.json index 6430d96b1b05..0df145bca34a 100644 --- a/examples/starlog/package.json +++ b/examples/starlog/package.json @@ -10,7 +10,7 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.16.1", + "astro": "^4.16.2", "sass": "^1.79.4", "sharp": "^0.33.3" } diff --git a/examples/toolbar-app/package.json b/examples/toolbar-app/package.json index 902f35df85e1..1a1bb089fcc7 100644 --- a/examples/toolbar-app/package.json +++ b/examples/toolbar-app/package.json @@ -15,6 +15,6 @@ "./app": "./dist/app.js" }, "devDependencies": { - "astro": "^4.16.1" + "astro": "^4.16.2" } } diff --git a/examples/with-markdoc/package.json b/examples/with-markdoc/package.json index 4e633a9ecc76..74ab8917e869 100644 --- a/examples/with-markdoc/package.json +++ b/examples/with-markdoc/package.json @@ -12,6 +12,6 @@ }, "dependencies": { "@astrojs/markdoc": "^0.11.5", - "astro": "^4.16.1" + "astro": "^4.16.2" } } diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json index 9e2fac6b8fda..79e8addd2f37 100644 --- a/examples/with-mdx/package.json +++ b/examples/with-mdx/package.json @@ -13,7 +13,7 @@ "dependencies": { "@astrojs/mdx": "^3.1.8", "@astrojs/preact": "^3.5.3", - "astro": "^4.16.1", + "astro": "^4.16.2", "preact": "^10.24.2" } } diff --git a/examples/with-nanostores/package.json b/examples/with-nanostores/package.json index 88ce38014e5a..c4509ea6245f 100644 --- a/examples/with-nanostores/package.json +++ b/examples/with-nanostores/package.json @@ -13,7 +13,7 @@ "dependencies": { "@astrojs/preact": "^3.5.3", "@nanostores/preact": "^0.5.2", - "astro": "^4.16.1", + "astro": "^4.16.2", "nanostores": "^0.11.3", "preact": "^10.24.2" } diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json index 82a9dc3a5ea7..69dada7bd62e 100644 --- a/examples/with-tailwindcss/package.json +++ b/examples/with-tailwindcss/package.json @@ -14,7 +14,7 @@ "@astrojs/mdx": "^3.1.8", "@astrojs/tailwind": "^5.1.2", "@types/canvas-confetti": "^1.6.4", - "astro": "^4.16.1", + "astro": "^4.16.2", "autoprefixer": "^10.4.20", "canvas-confetti": "^1.9.3", "postcss": "^8.4.47", diff --git a/examples/with-vitest/package.json b/examples/with-vitest/package.json index 6105f9a98352..defcf4848927 100644 --- a/examples/with-vitest/package.json +++ b/examples/with-vitest/package.json @@ -12,7 +12,7 @@ "test": "vitest" }, "dependencies": { - "astro": "^4.16.1", + "astro": "^4.16.2", "vitest": "^2.1.2" } } diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md index 4915096cf52c..37f6917f7d9f 100644 --- a/packages/astro/CHANGELOG.md +++ b/packages/astro/CHANGELOG.md @@ -1,5 +1,11 @@ # astro +## 4.16.2 + +### Patch Changes + +- [#12206](https://github.com/withastro/astro/pull/12206) [`12b0022`](https://github.com/withastro/astro/commit/12b00225067445629e5ae451d763d03f70065f88) Thanks [@bluwy](https://github.com/bluwy)! - Reverts https://github.com/withastro/astro/pull/12173 which caused `Can't modify immutable headers` warnings and 500 errors on Cloudflare Pages + ## 4.16.1 ### Patch Changes diff --git a/packages/astro/e2e/actions-blog.test.js b/packages/astro/e2e/actions-blog.test.js index 4b76928cfeef..b87384f9d8d2 100644 --- a/packages/astro/e2e/actions-blog.test.js +++ b/packages/astro/e2e/actions-blog.test.js @@ -136,7 +136,8 @@ test.describe('Astro Actions - Blog', () => { await expect(page).toHaveURL(astro.resolveUrl('/blog/')); }); - test('Should redirect to the origin pathname when there is a rewrite', async ({ + // TODO: fix regression #12201 and #12202 + test.skip('Should redirect to the origin pathname when there is a rewrite', async ({ page, astro, }) => { diff --git a/packages/astro/package.json b/packages/astro/package.json index 048125aef993..a5dd2f4a175f 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -1,6 +1,6 @@ { "name": "astro", - "version": "4.16.1", + "version": "4.16.2", "description": "Astro is a modern site builder with web best practices, performance, and DX front-of-mind.", "type": "module", "author": "withastro", diff --git a/packages/astro/src/actions/runtime/middleware.ts b/packages/astro/src/actions/runtime/middleware.ts index e5dd794b938e..bfa7047c87de 100644 --- a/packages/astro/src/actions/runtime/middleware.ts +++ b/packages/astro/src/actions/runtime/middleware.ts @@ -1,8 +1,6 @@ import { yellow } from 'kleur/colors'; import type { APIContext, MiddlewareNext } from '../../@types/astro.js'; -import { ASTRO_ORIGIN_HEADER } from '../../core/constants.js'; import { defineMiddleware } from '../../core/middleware/index.js'; -import { getOriginHeader } from '../../core/routing/rewrite.js'; import { ACTION_QUERY_PARAMS } from '../consts.js'; import { formContentTypes, hasContentType } from './utils.js'; import { getAction } from './virtual/get-action.js'; @@ -137,11 +135,6 @@ async function redirectWithResult({ return context.redirect(referer); } - const referer = getOriginHeader(context.request); - if (referer) { - return context.redirect(referer); - } - return context.redirect(context.url.pathname); } diff --git a/packages/astro/src/core/constants.ts b/packages/astro/src/core/constants.ts index 3fb937ac484c..274f86797077 100644 --- a/packages/astro/src/core/constants.ts +++ b/packages/astro/src/core/constants.ts @@ -28,11 +28,6 @@ export const REROUTE_DIRECTIVE_HEADER = 'X-Astro-Reroute'; * This metadata is used to determine the origin of a Response. If a rewrite has occurred, it should be prioritised over other logic. */ export const REWRITE_DIRECTIVE_HEADER_KEY = 'X-Astro-Rewrite'; - -/** - * Header used to track the original URL requested by the user. This information is useful rewrites are involved. - */ -export const ASTRO_ORIGIN_HEADER = 'X-Astro-Origin'; export const REWRITE_DIRECTIVE_HEADER_VALUE = 'yes'; /** diff --git a/packages/astro/src/core/middleware/sequence.ts b/packages/astro/src/core/middleware/sequence.ts index 1e4c92f123d6..03ae7d3a3503 100644 --- a/packages/astro/src/core/middleware/sequence.ts +++ b/packages/astro/src/core/middleware/sequence.ts @@ -2,7 +2,6 @@ import type { APIContext, MiddlewareHandler, RewritePayload } from '../../@types import { AstroCookies } from '../cookies/cookies.js'; import { apiContextRoutesSymbol } from '../render-context.js'; import { type Pipeline, getParams } from '../render/index.js'; -import { copyRequest } from '../routing/rewrite.js'; import { defineMiddleware } from './index.js'; // From SvelteKit: https://github.com/sveltejs/kit/blob/master/packages/kit/src/exports/hooks/sequence.js @@ -37,9 +36,9 @@ export function sequence(...handlers: MiddlewareHandler[]): MiddlewareHandler { if (payload instanceof Request) { newRequest = payload; } else if (payload instanceof URL) { - newRequest = copyRequest(payload, handleContext.request); + newRequest = new Request(payload, handleContext.request); } else { - newRequest = copyRequest( + newRequest = new Request( new URL(payload, handleContext.url.origin), handleContext.request, ); diff --git a/packages/astro/src/core/render-context.ts b/packages/astro/src/core/render-context.ts index 9f416c7bc251..8850da132e5a 100644 --- a/packages/astro/src/core/render-context.ts +++ b/packages/astro/src/core/render-context.ts @@ -20,7 +20,6 @@ import { import { renderEndpoint } from '../runtime/server/endpoint.js'; import { renderPage } from '../runtime/server/index.js'; import { - ASTRO_ORIGIN_HEADER, ASTRO_VERSION, REROUTE_DIRECTIVE_HEADER, REWRITE_DIRECTIVE_HEADER_KEY, @@ -37,7 +36,6 @@ import { callMiddleware } from './middleware/callMiddleware.js'; import { sequence } from './middleware/index.js'; import { renderRedirect } from './redirects/render.js'; import { type Pipeline, Slots, getParams, getProps } from './render/index.js'; -import { copyRequest, setOriginHeader } from './routing/rewrite.js'; export const apiContextRoutesSymbol = Symbol.for('context.routes'); @@ -83,7 +81,6 @@ export class RenderContext { Pick >): Promise { const pipelineMiddleware = await pipeline.getMiddleware(); - setOriginHeader(request, pathname); return new RenderContext( pipeline, locals, @@ -156,7 +153,7 @@ export class RenderContext { if (payload instanceof Request) { this.request = payload; } else { - this.request = copyRequest(newUrl, this.request); + this.request = this.#copyRequest(newUrl, this.request); } this.isRewriting = true; this.url = new URL(this.request.url); @@ -256,7 +253,7 @@ export class RenderContext { if (reroutePayload instanceof Request) { this.request = reroutePayload; } else { - this.request = copyRequest(newUrl, this.request); + this.request = this.#copyRequest(newUrl, this.request); } this.url = new URL(this.request.url); this.cookies = new AstroCookies(this.request); @@ -564,4 +561,33 @@ export class RenderContext { if (!i18n) return; return (this.#preferredLocaleList ??= computePreferredLocaleList(request, i18n.locales)); } + + /** + * Utility function that creates a new `Request` with a new URL from an old `Request`. + * + * @param newUrl The new `URL` + * @param oldRequest The old `Request` + */ + #copyRequest(newUrl: URL, oldRequest: Request): Request { + if (oldRequest.bodyUsed) { + throw new AstroError(AstroErrorData.RewriteWithBodyUsed); + } + return new Request(newUrl, { + method: oldRequest.method, + headers: oldRequest.headers, + body: oldRequest.body, + referrer: oldRequest.referrer, + referrerPolicy: oldRequest.referrerPolicy, + mode: oldRequest.mode, + credentials: oldRequest.credentials, + cache: oldRequest.cache, + redirect: oldRequest.redirect, + integrity: oldRequest.integrity, + signal: oldRequest.signal, + keepalive: oldRequest.keepalive, + // https://fetch.spec.whatwg.org/#dom-request-duplex + // @ts-expect-error It isn't part of the types, but undici accepts it and it allows to carry over the body to a new request + duplex: 'half', + }); + } } diff --git a/packages/astro/src/core/routing/rewrite.ts b/packages/astro/src/core/routing/rewrite.ts index 493f25043cea..d50434f22096 100644 --- a/packages/astro/src/core/routing/rewrite.ts +++ b/packages/astro/src/core/routing/rewrite.ts @@ -1,7 +1,5 @@ import type { AstroConfig, RewritePayload, RouteData } from '../../@types/astro.js'; import { shouldAppendForwardSlash } from '../build/util.js'; -import { ASTRO_ORIGIN_HEADER } from '../constants.js'; -import { AstroError, AstroErrorData } from '../errors/index.js'; import { appendForwardSlash, removeTrailingForwardSlash } from '../path.js'; import { DEFAULT_404_ROUTE } from './astro-designed-error-pages.js'; @@ -72,44 +70,3 @@ export function findRouteToRewrite({ } } } - -/** - * Utility function that creates a new `Request` with a new URL from an old `Request`. - * - * @param newUrl The new `URL` - * @param oldRequest The old `Request` - */ -export function copyRequest(newUrl: URL, oldRequest: Request): Request { - if (oldRequest.bodyUsed) { - throw new AstroError(AstroErrorData.RewriteWithBodyUsed); - } - return new Request(newUrl, { - method: oldRequest.method, - headers: oldRequest.headers, - body: oldRequest.body, - referrer: oldRequest.referrer, - referrerPolicy: oldRequest.referrerPolicy, - mode: oldRequest.mode, - credentials: oldRequest.credentials, - cache: oldRequest.cache, - redirect: oldRequest.redirect, - integrity: oldRequest.integrity, - signal: oldRequest.signal, - keepalive: oldRequest.keepalive, - // https://fetch.spec.whatwg.org/#dom-request-duplex - // @ts-expect-error It isn't part of the types, but undici accepts it and it allows to carry over the body to a new request - duplex: 'half', - }); -} - -export function setOriginHeader(request: Request, pathname: string): void { - request.headers.set(ASTRO_ORIGIN_HEADER, encodeURIComponent(pathname)); -} - -export function getOriginHeader(request: Request): string | undefined { - const origin = request.headers.get(ASTRO_ORIGIN_HEADER); - if (origin) { - return decodeURIComponent(origin); - } - return undefined; -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a721c2c3267d..c278ff420240 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -113,7 +113,7 @@ importers: examples/basics: dependencies: astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/blog: @@ -128,13 +128,13 @@ importers: specifier: ^3.2.0 version: link:../../packages/integrations/sitemap astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/component: devDependencies: astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/container-with-vitest: @@ -143,7 +143,7 @@ importers: specifier: ^3.6.2 version: link:../../packages/integrations/react astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro react: specifier: ^18.3.1 @@ -174,7 +174,7 @@ importers: specifier: ^3.14.1 version: 3.14.1 astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/framework-lit: @@ -186,7 +186,7 @@ importers: specifier: ^0.2.1 version: 0.2.1 astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro lit: specifier: ^3.2.0 @@ -216,7 +216,7 @@ importers: specifier: ^18.3.0 version: 18.3.0 astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro preact: specifier: ^10.24.2 @@ -246,7 +246,7 @@ importers: specifier: ^1.3.0 version: 1.3.0(preact@10.24.2) astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro preact: specifier: ^10.24.2 @@ -264,7 +264,7 @@ importers: specifier: ^18.3.0 version: 18.3.0 astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro react: specifier: ^18.3.1 @@ -279,7 +279,7 @@ importers: specifier: ^4.4.2 version: link:../../packages/integrations/solid astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro solid-js: specifier: ^1.9.1 @@ -291,7 +291,7 @@ importers: specifier: ^5.7.2 version: link:../../packages/integrations/svelte astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro svelte: specifier: ^4.2.19 @@ -303,7 +303,7 @@ importers: specifier: ^4.5.2 version: link:../../packages/integrations/vue astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro vue: specifier: ^3.5.11 @@ -315,25 +315,25 @@ importers: specifier: ^8.3.4 version: 8.3.4(astro@packages+astro) astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/integration: devDependencies: astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/minimal: dependencies: astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/portfolio: dependencies: astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/ssr: @@ -345,7 +345,7 @@ importers: specifier: ^5.7.2 version: link:../../packages/integrations/svelte astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro svelte: specifier: ^4.2.19 @@ -354,7 +354,7 @@ importers: examples/starlog: dependencies: astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro sass: specifier: ^1.79.4 @@ -366,7 +366,7 @@ importers: examples/toolbar-app: devDependencies: astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/with-markdoc: @@ -375,7 +375,7 @@ importers: specifier: ^0.11.5 version: link:../../packages/integrations/markdoc astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro examples/with-mdx: @@ -387,7 +387,7 @@ importers: specifier: ^3.5.3 version: link:../../packages/integrations/preact astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro preact: specifier: ^10.24.2 @@ -402,7 +402,7 @@ importers: specifier: ^0.5.2 version: 0.5.2(nanostores@0.11.3)(preact@10.24.2) astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro nanostores: specifier: ^0.11.3 @@ -423,7 +423,7 @@ importers: specifier: ^1.6.4 version: 1.6.4 astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro autoprefixer: specifier: ^10.4.20 @@ -441,7 +441,7 @@ importers: examples/with-vitest: dependencies: astro: - specifier: ^4.16.1 + specifier: ^4.16.2 version: link:../../packages/astro vitest: specifier: ^2.1.2