diff --git a/.changeset/eleven-hats-tell.md b/.changeset/eleven-hats-tell.md new file mode 100644 index 0000000000..523c769dbe --- /dev/null +++ b/.changeset/eleven-hats-tell.md @@ -0,0 +1,5 @@ +--- +'@astrojs/markdown-remark': patch +--- + +Handles encoded image paths in internal rehype plugins and return decoded paths from markdown vfile's `data.imagePaths` diff --git a/.changeset/friendly-eagles-arrive.md b/.changeset/friendly-eagles-arrive.md deleted file mode 100644 index 5e08a914a2..0000000000 --- a/.changeset/friendly-eagles-arrive.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@astrojs/partytown": patch ---- - -Prevent Partytown from crashing when View Transitions are enabled - -When View Transitions are turned on, Partytown executes on every transition. -It's not meant to be like that, and therefore it breaks the integration completely. -Starting from now, Partytown will be executed only once. diff --git a/.changeset/funny-cats-sell.md b/.changeset/funny-cats-sell.md new file mode 100644 index 0000000000..f2e6802b18 --- /dev/null +++ b/.changeset/funny-cats-sell.md @@ -0,0 +1,16 @@ +--- +'@astrojs/underscore-redirects': patch +--- + +Adds support for forced redirects + +Redirects can be forced by setting `force` to `true`: + +```ts +redirects.add({ + // ... + force: true +}) +``` + +It will append a `!` after the status. \ No newline at end of file diff --git a/.changeset/heavy-eagles-happen.md b/.changeset/heavy-eagles-happen.md deleted file mode 100644 index e59ea8991f..0000000000 --- a/.changeset/heavy-eagles-happen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'astro': patch ---- - -Improve error message when using `getLocaleByPath` on path that doesn't contain any locales. diff --git a/.changeset/nasty-frogs-camp.md b/.changeset/nasty-frogs-camp.md deleted file mode 100644 index 7f4ad97c13..0000000000 --- a/.changeset/nasty-frogs-camp.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -'astro': patch ---- - -Adds support for enums to `astro:env` - -You can now call `envField.enum`: - -```js -import { defineConfig, envField } from 'astro/config' - -export default defineConfig({ - experimental: { - env: { - schema: { - API_VERSION: envField.enum({ - context: 'server', - access: 'secret', - values: ['v1', 'v2'], - }) - } - } - } -}) -``` diff --git a/.changeset/purple-pianos-greet.md b/.changeset/purple-pianos-greet.md deleted file mode 100644 index 146c129570..0000000000 --- a/.changeset/purple-pianos-greet.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'astro': patch ---- - -Close the iterator only after rendering is complete diff --git a/.changeset/red-rings-tell.md b/.changeset/red-rings-tell.md deleted file mode 100644 index a2bc109175..0000000000 --- a/.changeset/red-rings-tell.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -'astro': patch ---- - -Adds additional validation options to `astro:env` - -`astro:env` schema datatypes `string` and `number` now have new optional validation rules: - -```js -import { defineConfig, envField } from 'astro/config' - -export default defineConfig({ - experimental: { - env: { - schema: { - FOO: envField.string({ - // ... - max: 32, - min: 3, - length: 12, - url: true, - includes: 'foo', - startsWith: 'bar', - endsWith: 'baz' - }), - BAR: envField.number({ - // ... - gt: 2, - min: 3, - lt: 10, - max: 9, - int: true - }) - } - } - } -}) -``` \ No newline at end of file diff --git a/.changeset/six-files-carry.md b/.changeset/six-files-carry.md deleted file mode 100644 index c8d5ebca4b..0000000000 --- a/.changeset/six-files-carry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'astro': patch ---- - -Let middleware handle the original request URL diff --git a/.changeset/small-badgers-juggle.md b/.changeset/small-badgers-juggle.md new file mode 100644 index 0000000000..0f532fdfd1 --- /dev/null +++ b/.changeset/small-badgers-juggle.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Fixes an issue with the view transition router when redirecting to an URL with different origin. diff --git a/.changeset/small-sloths-yawn.md b/.changeset/small-sloths-yawn.md new file mode 100644 index 0000000000..652bce3fd8 --- /dev/null +++ b/.changeset/small-sloths-yawn.md @@ -0,0 +1,6 @@ +--- +'@astrojs/vercel': patch +'@astrojs/node': patch +--- + +Fixes `astro:env` getSecret compatibility diff --git a/.changeset/tender-apples-lie.md b/.changeset/tender-apples-lie.md deleted file mode 100644 index 3528c63863..0000000000 --- a/.changeset/tender-apples-lie.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"astro": patch ---- - -Fixes an issue where a leading slash created incorrect conflict resolution between pages generated from static routes and catch-all dynamic routes diff --git a/.changeset/tricky-mirrors-carry.md b/.changeset/tricky-mirrors-carry.md new file mode 100644 index 0000000000..f137210cbf --- /dev/null +++ b/.changeset/tricky-mirrors-carry.md @@ -0,0 +1,5 @@ +--- +'@astrojs/rss': patch +--- + +Fixes an issue where the `pagesGlobToRssItems` returned an incorrect type for `items` diff --git a/.changeset/warm-pets-tap.md b/.changeset/warm-pets-tap.md deleted file mode 100644 index 7c388259b8..0000000000 --- a/.changeset/warm-pets-tap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@astrojs/db': patch ---- - -Export type `Database` from `@astrojs/db/runtime` diff --git a/.changeset/wet-chefs-develop.md b/.changeset/wet-chefs-develop.md deleted file mode 100644 index e2a29702bc..0000000000 --- a/.changeset/wet-chefs-develop.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@astrojs/vercel': minor -'@astrojs/node': minor ---- - -Adds support for experimental `astro:env` released in Astro 4.10 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c74cd375fb..2f2e637867 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,10 +12,12 @@ We welcome contributions of any size and skill level. As an open source project, ```shell node: "^>=18.17.1" -pnpm: "^8.6.12" +pnpm: "^9.3.0" # otherwise, your build will fail ``` +We recommend using Corepack, [read PNPM docs](https://pnpm.io/installation#using-corepack). + ### Setting up your local repo Astro uses pnpm workspaces, so you should **always run `pnpm install` from the top-level project directory**. Running `pnpm install` in the top-level project root will install dependencies for `astro`, and every package in the repo. @@ -109,6 +111,53 @@ pnpm run test -m "$STRING_MATCH" node --test ./test/foo.test.js ``` +#### Running a single test + +Sometimes you want to run a single test case (`it` or `describe`) or a single test file. You can do so by using Node.js. + +To run a single test file, for example `test/astro-basic.test.js`: + +```shell +node --test test/astro-basic.test.js +``` + +If you wish to run a single test case, you have to postfix `it` and `describe` functions with `.only`: + +```diff +// test/astro-basic.test.js +- describe("description", () => { ++ describe.only("description", () => { +- it("description", () => { ++ it.only("description", () => {}) +}) +``` + +Then, you have to pass the `--test-only` option to the Node.js: + +```shell +node --test --test-only test/astro-basic.test.js +``` + +> [!WARNING] +> +> 1. If you have nested `describe`, all of them must postfix with `.only` +> 2. `--test-only` and `--test` must be placed **before** declaring the path to the file. Failing to do so will test all files + +#### Debugging tests in CI + +There might be occasions where some tests fail in certain CI runs due to some timeout issue. If this happens, it will be very difficult to understand which file cause the timeout. That's caused by come quirks of the Node.js test runner combined with our architecture. + +To understand which file causes the issue, you can modify the `test` script inside the `package.json` by adding the `--parallel` option: + +```diff +{ +- "test": "astro-scripts test \"test/**/*.test.js\"", ++ "test": "astro-scripts test --parallel \"test/**/*.test.js\"", +} +``` + +Save the change and **push it** to your PR. This change will make the test CI slower, but it will allow to see which files causes the timeout. Once you fixed the issue **revert the change and push it**. + #### E2E tests Certain features, like HMR and client hydration, need end-to-end tests to verify functionality in the dev server. [Playwright](https://playwright.dev/) is used to test against the dev server. @@ -127,6 +176,12 @@ Any tests for `astro build` output should use the main `mocha` tests rather than If a test needs to validate what happens on the page after it's loading in the browser, that's a perfect use for E2E dev server tests, i.e. to verify that hot-module reloading works in `astro dev` or that components were client hydrated and are interactive. +#### Creating tests + +When creating new tests, it's best to reference other existing test files and replicate the same setup. Some other tips include: + +- When re-using a fixture multiple times with different configurations, you should also configure unique `outDir`, `build.client`, and `build.server` values so the build output runtime isn't cached and shared by ESM between test runs. + ### Other useful commands ```shell diff --git a/README.md b/README.md index 601f4a7d1d..8f8f76e2da 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@
-![Build Status](https://github.com/withastro/astro/actions/workflows/ci.yml/badge.svg) +[![CI](https://github.com/withastro/astro/actions/workflows/ci.yml/badge.svg)](https://github.com/withastro/astro/actions/workflows/ci.yml) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/withastro/astro/blob/main/LICENSE) [![npm version](https://badge.fury.io/js/astro.svg)](https://badge.fury.io/js/astro) diff --git a/biome.json b/biome.json index df61ec83b2..9da3b4db06 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.7.1/schema.json", + "$schema": "https://biomejs.dev/schemas/1.8.1/schema.json", "files": { "ignore": [ "vendor", @@ -20,7 +20,6 @@ "benchmark/results/", ".changeset", "pnpm-lock.yaml", - "package.json", "*.astro" ] }, @@ -30,7 +29,7 @@ "linter": { "enabled": false }, "javascript": { "formatter": { - "trailingComma": "es5", + "trailingCommas": "es5", "quoteStyle": "single", "semicolons": "always" } @@ -44,5 +43,15 @@ "indentStyle": "space", "trailingCommas": "none" } - } + }, + "overrides": [ + { + "include": ["package.json"], + "json": { + "formatter": { + "lineWidth": 1 + } + } + } + ] } diff --git a/examples/basics/package.json b/examples/basics/package.json index e139ae1142..f8749c7421 100644 --- a/examples/basics/package.json +++ b/examples/basics/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.10.1" + "astro": "^4.11.0" } } diff --git a/examples/blog/package.json b/examples/blog/package.json index 73f7bfbbdc..abf81e7ded 100644 --- a/examples/blog/package.json +++ b/examples/blog/package.json @@ -11,9 +11,9 @@ "astro": "astro" }, "dependencies": { - "@astrojs/mdx": "^3.1.0", + "@astrojs/mdx": "^3.1.1", "@astrojs/rss": "^4.0.6", - "@astrojs/sitemap": "^3.1.5", - "astro": "^4.10.1" + "@astrojs/sitemap": "^3.1.6", + "astro": "^4.11.0" } } diff --git a/examples/component/package.json b/examples/component/package.json index 4d48d8a547..b26658e0cd 100644 --- a/examples/component/package.json +++ b/examples/component/package.json @@ -15,7 +15,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^4.10.1" + "astro": "^4.11.0" }, "peerDependencies": { "astro": "^4.0.0" diff --git a/examples/container-with-vitest/package.json b/examples/container-with-vitest/package.json index a5621d58c2..7b4030a3e5 100644 --- a/examples/container-with-vitest/package.json +++ b/examples/container-with-vitest/package.json @@ -12,8 +12,8 @@ "test": "vitest run" }, "dependencies": { - "astro": "^4.10.1", - "@astrojs/react": "^3.5.0", + "astro": "^4.11.0", + "@astrojs/react": "^3.6.0", "react": "^18.3.1", "react-dom": "^18.3.1", "vitest": "^1.6.0" diff --git a/examples/framework-alpine/package.json b/examples/framework-alpine/package.json index 481ee9646f..f92b1ce066 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.0", - "astro": "^4.10.1" + "astro": "^4.11.0" } } diff --git a/examples/framework-lit/package.json b/examples/framework-lit/package.json index 63c19dd13e..de9e88f6f2 100644 --- a/examples/framework-lit/package.json +++ b/examples/framework-lit/package.json @@ -11,9 +11,9 @@ "astro": "astro" }, "dependencies": { - "@astrojs/lit": "^4.2.0", + "@astrojs/lit": "^4.3.0", "@webcomponents/template-shadowroot": "^0.2.1", - "astro": "^4.10.1", - "lit": "^3.1.3" + "astro": "^4.11.0", + "lit": "^3.1.4" } } diff --git a/examples/framework-multiple/package.json b/examples/framework-multiple/package.json index 01aaf7d064..b3c5510490 100644 --- a/examples/framework-multiple/package.json +++ b/examples/framework-multiple/package.json @@ -11,19 +11,19 @@ "astro": "astro" }, "dependencies": { - "@astrojs/preact": "^3.4.0", - "@astrojs/react": "^3.5.0", - "@astrojs/solid-js": "^4.3.0", - "@astrojs/svelte": "^5.5.0", - "@astrojs/vue": "^4.4.0", + "@astrojs/preact": "^3.5.0", + "@astrojs/react": "^3.6.0", + "@astrojs/solid-js": "^4.4.0", + "@astrojs/svelte": "^5.6.0", + "@astrojs/vue": "^4.5.0", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "astro": "^4.10.1", + "astro": "^4.11.0", "preact": "^10.22.0", "react": "^18.3.1", "react-dom": "^18.3.1", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/examples/framework-preact/package.json b/examples/framework-preact/package.json index 98b83ce862..bd7e3bf9a6 100644 --- a/examples/framework-preact/package.json +++ b/examples/framework-preact/package.json @@ -11,9 +11,9 @@ "astro": "astro" }, "dependencies": { - "@astrojs/preact": "^3.4.0", + "@astrojs/preact": "^3.5.0", "@preact/signals": "^1.2.3", - "astro": "^4.10.1", + "astro": "^4.11.0", "preact": "^10.22.0" } } diff --git a/examples/framework-react/package.json b/examples/framework-react/package.json index 5cc8894597..ef027d7da9 100644 --- a/examples/framework-react/package.json +++ b/examples/framework-react/package.json @@ -11,10 +11,10 @@ "astro": "astro" }, "dependencies": { - "@astrojs/react": "^3.5.0", + "@astrojs/react": "^3.6.0", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "astro": "^4.10.1", + "astro": "^4.11.0", "react": "^18.3.1", "react-dom": "^18.3.1" } diff --git a/examples/framework-solid/package.json b/examples/framework-solid/package.json index 274a72567f..184ce175f4 100644 --- a/examples/framework-solid/package.json +++ b/examples/framework-solid/package.json @@ -11,8 +11,8 @@ "astro": "astro" }, "dependencies": { - "@astrojs/solid-js": "^4.3.0", - "astro": "^4.10.1", + "@astrojs/solid-js": "^4.4.0", + "astro": "^4.11.0", "solid-js": "^1.8.17" } } diff --git a/examples/framework-svelte/package.json b/examples/framework-svelte/package.json index 28137163f9..19400e015e 100644 --- a/examples/framework-svelte/package.json +++ b/examples/framework-svelte/package.json @@ -11,8 +11,8 @@ "astro": "astro" }, "dependencies": { - "@astrojs/svelte": "^5.5.0", - "astro": "^4.10.1", - "svelte": "^4.2.17" + "@astrojs/svelte": "^5.6.0", + "astro": "^4.11.0", + "svelte": "^4.2.18" } } diff --git a/examples/framework-vue/package.json b/examples/framework-vue/package.json index 522249393a..69e9bbbcec 100644 --- a/examples/framework-vue/package.json +++ b/examples/framework-vue/package.json @@ -11,8 +11,8 @@ "astro": "astro" }, "dependencies": { - "@astrojs/vue": "^4.4.0", - "astro": "^4.10.1", - "vue": "^3.4.27" + "@astrojs/vue": "^4.5.0", + "astro": "^4.11.0", + "vue": "^3.4.29" } } diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json index d4e0c951ab..a42622b497 100644 --- a/examples/hackernews/package.json +++ b/examples/hackernews/package.json @@ -11,7 +11,7 @@ "astro": "astro" }, "dependencies": { - "@astrojs/node": "^8.2.6", - "astro": "^4.10.1" + "@astrojs/node": "^8.3.1", + "astro": "^4.11.0" } } diff --git a/examples/integration/package.json b/examples/integration/package.json index 86d8f2fbdb..35b888bfbf 100644 --- a/examples/integration/package.json +++ b/examples/integration/package.json @@ -15,7 +15,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^4.10.1" + "astro": "^4.11.0" }, "peerDependencies": { "astro": "^4.0.0" diff --git a/examples/middleware/package.json b/examples/middleware/package.json index 7f9cf1712e..29887ce788 100644 --- a/examples/middleware/package.json +++ b/examples/middleware/package.json @@ -12,8 +12,8 @@ "server": "node dist/server/entry.mjs" }, "dependencies": { - "@astrojs/node": "^8.2.6", - "astro": "^4.10.1", + "@astrojs/node": "^8.3.1", + "astro": "^4.11.0", "html-minifier": "^4.0.0" }, "devDependencies": { diff --git a/examples/minimal/package.json b/examples/minimal/package.json index 9493ea58cb..589deeb2f4 100644 --- a/examples/minimal/package.json +++ b/examples/minimal/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.10.1" + "astro": "^4.11.0" } } diff --git a/examples/non-html-pages/package.json b/examples/non-html-pages/package.json index 91c624edd6..1b963a4dcc 100644 --- a/examples/non-html-pages/package.json +++ b/examples/non-html-pages/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.10.1" + "astro": "^4.11.0" } } diff --git a/examples/portfolio/package.json b/examples/portfolio/package.json index c1964f4793..5bb098874b 100644 --- a/examples/portfolio/package.json +++ b/examples/portfolio/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.10.1" + "astro": "^4.11.0" } } diff --git a/examples/ssr/package.json b/examples/ssr/package.json index 82eda70e50..4d61c4b0b6 100644 --- a/examples/ssr/package.json +++ b/examples/ssr/package.json @@ -12,9 +12,9 @@ "server": "node dist/server/entry.mjs" }, "dependencies": { - "@astrojs/node": "^8.2.6", - "@astrojs/svelte": "^5.5.0", - "astro": "^4.10.1", - "svelte": "^4.2.17" + "@astrojs/node": "^8.3.1", + "@astrojs/svelte": "^5.6.0", + "astro": "^4.11.0", + "svelte": "^4.2.18" } } diff --git a/examples/starlog/package.json b/examples/starlog/package.json index 3520c88272..b0c3cf066b 100644 --- a/examples/starlog/package.json +++ b/examples/starlog/package.json @@ -10,8 +10,8 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.10.1", - "sass": "^1.77.3", + "astro": "^4.11.0", + "sass": "^1.77.5", "sharp": "^0.33.3" } } diff --git a/examples/toolbar-app/package.json b/examples/toolbar-app/package.json index 67f7279dac..c1b5f52b53 100644 --- a/examples/toolbar-app/package.json +++ b/examples/toolbar-app/package.json @@ -15,6 +15,6 @@ "./app": "./dist/app.js" }, "devDependencies": { - "astro": "^4.10.1" + "astro": "^4.11.0" } } diff --git a/examples/view-transitions/package.json b/examples/view-transitions/package.json index cde23fe75d..7d1735eb3f 100644 --- a/examples/view-transitions/package.json +++ b/examples/view-transitions/package.json @@ -11,7 +11,7 @@ }, "devDependencies": { "@astrojs/tailwind": "^5.1.0", - "@astrojs/node": "^8.2.6", - "astro": "^4.10.1" + "@astrojs/node": "^8.3.1", + "astro": "^4.11.0" } } diff --git a/examples/with-markdoc/package.json b/examples/with-markdoc/package.json index bb1a3c1247..5b55755462 100644 --- a/examples/with-markdoc/package.json +++ b/examples/with-markdoc/package.json @@ -12,6 +12,6 @@ }, "dependencies": { "@astrojs/markdoc": "^0.11.0", - "astro": "^4.10.1" + "astro": "^4.11.0" } } diff --git a/examples/with-markdown-plugins/package.json b/examples/with-markdown-plugins/package.json index a34fc68e09..e4a09be9c8 100644 --- a/examples/with-markdown-plugins/package.json +++ b/examples/with-markdown-plugins/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@astrojs/markdown-remark": "^5.1.0", - "astro": "^4.10.1", + "astro": "^4.11.0", "hast-util-select": "^6.0.2", "rehype-autolink-headings": "^7.1.0", "rehype-slug": "^6.0.0", diff --git a/examples/with-markdown-shiki/package.json b/examples/with-markdown-shiki/package.json index 44ea22b916..57725bf489 100644 --- a/examples/with-markdown-shiki/package.json +++ b/examples/with-markdown-shiki/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^4.10.1" + "astro": "^4.11.0" } } diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json index 82fb9c1765..9008692ab1 100644 --- a/examples/with-mdx/package.json +++ b/examples/with-mdx/package.json @@ -11,9 +11,9 @@ "astro": "astro" }, "dependencies": { - "@astrojs/mdx": "^3.1.0", - "@astrojs/preact": "^3.4.0", - "astro": "^4.10.1", + "@astrojs/mdx": "^3.1.1", + "@astrojs/preact": "^3.5.0", + "astro": "^4.11.0", "preact": "^10.22.0" } } diff --git a/examples/with-nanostores/package.json b/examples/with-nanostores/package.json index 1b0e399ffc..b9c2e4e194 100644 --- a/examples/with-nanostores/package.json +++ b/examples/with-nanostores/package.json @@ -11,9 +11,9 @@ "astro": "astro" }, "dependencies": { - "@astrojs/preact": "^3.4.0", + "@astrojs/preact": "^3.5.0", "@nanostores/preact": "^0.5.1", - "astro": "^4.10.1", + "astro": "^4.11.0", "nanostores": "^0.10.3", "preact": "^10.22.0" } diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json index f788f65771..6b1f771a1d 100644 --- a/examples/with-tailwindcss/package.json +++ b/examples/with-tailwindcss/package.json @@ -11,13 +11,13 @@ "astro": "astro" }, "dependencies": { - "@astrojs/mdx": "^3.1.0", + "@astrojs/mdx": "^3.1.1", "@astrojs/tailwind": "^5.1.0", "@types/canvas-confetti": "^1.6.4", - "astro": "^4.10.1", + "astro": "^4.11.0", "autoprefixer": "^10.4.19", "canvas-confetti": "^1.9.3", "postcss": "^8.4.38", - "tailwindcss": "^3.4.3" + "tailwindcss": "^3.4.4" } } diff --git a/examples/with-vitest/package.json b/examples/with-vitest/package.json index 155182b32b..141ac97cef 100644 --- a/examples/with-vitest/package.json +++ b/examples/with-vitest/package.json @@ -12,7 +12,7 @@ "test": "vitest" }, "dependencies": { - "astro": "^4.10.1", + "astro": "^4.11.0", "vitest": "^1.6.0" } } diff --git a/package.json b/package.json index f22fe168a6..cc68c58443 100644 --- a/package.json +++ b/package.json @@ -16,10 +16,10 @@ "dev": "turbo run dev --concurrency=40 --parallel --filter=astro --filter=create-astro --filter=\"@astrojs/*\" --filter=\"@benchmark/*\"", "format": "pnpm run format:code && pnpm run format:imports", "format:ci": "pnpm run format:code:ci && pnpm run format:imports:ci", - "format:code": "biome format ./ --write && prettier -w \"**/*\" --ignore-unknown --cache", - "format:code:ci": "biome format ./ && prettier -w \"**/*\" --ignore-unknown --cache --check", - "format:imports": "biome check --apply .", - "format:imports:ci": "biome ci .", + "format:code": "biome format --write && prettier -w \"**/*\" --ignore-unknown --cache", + "format:code:ci": "biome format && prettier -w \"**/*\" --ignore-unknown --cache --check", + "format:imports": "biome check --formatter-enabled=false --write", + "format:imports:ci": "biome ci --formatter-enabled=false", "test": "turbo run test --concurrency=1 --filter=astro --filter=create-astro --filter=\"@astrojs/*\"", "test:citgm": "pnpm -r --filter=astro test", "test:match": "cd packages/astro && pnpm run test:match", @@ -44,33 +44,32 @@ "packages/*" ], "engines": { - "node": "^18.17.1 || ^20.3.0 || >=21.0.0", - "pnpm": ">=8.6.12" + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" }, - "packageManager": "pnpm@8.6.12", + "packageManager": "pnpm@9.3.0", "dependencies": { "astro-benchmark": "workspace:*" }, "devDependencies": { "@astrojs/check": "^0.7.0", - "@biomejs/biome": "1.7.1", + "@biomejs/biome": "1.8.1", "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.5", "@eslint/eslintrc": "^3.1.0", "@types/node": "^18.17.8", - "esbuild": "^0.21.4", - "eslint": "^9.3.0", + "esbuild": "^0.21.5", + "eslint": "^9.5.0", "eslint-plugin-no-only-tests": "^3.1.0", "eslint-plugin-regexp": "^2.6.0", "globby": "^14.0.1", "only-allow": "^1.2.1", "organize-imports-cli": "^0.10.0", - "prettier": "^3.2.5", + "prettier": "^3.3.2", "prettier-plugin-astro": "^0.14.0", "tiny-glob": "^0.2.9", - "turbo": "^1.13.3", + "turbo": "^1.13.4", "typescript": "~5.4.5", - "typescript-eslint": "^7.11.0" + "typescript-eslint": "^7.13.0" }, "pnpm": { "packageExtensions": { diff --git a/packages/astro-rss/src/index.ts b/packages/astro-rss/src/index.ts index f2cb37c86b..84cdad0d90 100644 --- a/packages/astro-rss/src/index.ts +++ b/packages/astro-rss/src/index.ts @@ -32,13 +32,13 @@ export type RSSOptions = { export type RSSFeedItem = { /** Link to item */ - link: z.infer['link']; + link?: z.infer['link']; /** Full content of the item. Should be valid HTML */ content?: z.infer['content']; /** Title of item */ - title: z.infer['title']; + title?: z.infer['title']; /** Publication date of item */ - pubDate: z.infer['pubDate']; + pubDate?: z.infer['pubDate']; /** Item description */ description?: z.infer['description']; /** Append some other XML-valid data to this item */ diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md index 084756b146..b3ffa414e9 100644 --- a/packages/astro/CHANGELOG.md +++ b/packages/astro/CHANGELOG.md @@ -1,5 +1,221 @@ # astro +## 4.11.0 + +### Minor Changes + +- [#11197](https://github.com/withastro/astro/pull/11197) [`4b46bd9`](https://github.com/withastro/astro/commit/4b46bd9bdcbb302f294aa27b8aa07099e104fa17) Thanks [@braebo](https://github.com/braebo)! - Adds [`ShikiTransformer`](https://shiki.style/packages/transformers#shikijs-transformers) support to the [``](https://docs.astro.build/en/reference/api-reference/#code-) component with a new `transformers` prop. + + Note that `transformers` only applies classes and you must provide your own CSS rules to target the elements of your code block. + + ```astro + --- + import { transformerNotationFocus } from '@shikijs/transformers'; + import { Code } from 'astro:components'; + + const code = `const foo = 'hello' + const bar = ' world' + console.log(foo + bar) // [!code focus] + `; + --- + + + + + ``` + +- [#11134](https://github.com/withastro/astro/pull/11134) [`9042be0`](https://github.com/withastro/astro/commit/9042be049157ce859355f911565bc0c3d68f0aa1) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Improves the developer experience of the `500.astro` file by passing it a new `error` prop. + + When an error is thrown, the special `src/pages/500.astro` page now automatically receives the error as a prop. This allows you to display more specific information about the error on a custom 500 page. + + ```astro + --- + // src/pages/500.astro + interface Props { + error: unknown; + } + + const { error } = Astro.props; + --- + +
{error instanceof Error ? error.message : 'Unknown error'}
+ ``` + + If an error occurs rendering this page, your host's default 500 error page will be shown to your visitor in production, and Astro's default error overlay will be shown in development. + +### Patch Changes + +- [#11280](https://github.com/withastro/astro/pull/11280) [`fd3645f`](https://github.com/withastro/astro/commit/fd3645fe8364ec5e280b6802d1468867890d463c) Thanks [@ascorbic](https://github.com/ascorbic)! - Fixes a bug that prevented cookies from being set when using experimental rewrites + +- [#11275](https://github.com/withastro/astro/pull/11275) [`bab700d`](https://github.com/withastro/astro/commit/bab700d69085b1de8f03fc1b0b31651f709cbfe3) Thanks [@syhily](https://github.com/syhily)! - Drop duplicated brackets in data collections schema generation. + +- [#11272](https://github.com/withastro/astro/pull/11272) [`ea987d7`](https://github.com/withastro/astro/commit/ea987d7da589ead9aa4b550f167f5e2f6c939d2e) Thanks [@ematipico](https://github.com/ematipico)! - Fixes a case where rewriting `/` would cause an issue, when `trailingSlash` was set to `"never"`. + +- [#11272](https://github.com/withastro/astro/pull/11272) [`ea987d7`](https://github.com/withastro/astro/commit/ea987d7da589ead9aa4b550f167f5e2f6c939d2e) Thanks [@ematipico](https://github.com/ematipico)! - Reverts a logic where it wasn't possible to rewrite `/404` in static mode. It's **now possible** again + +- [#11264](https://github.com/withastro/astro/pull/11264) [`5a9c9a6`](https://github.com/withastro/astro/commit/5a9c9a60e7c32aa461b86b5bc667cb955e23d4d9) Thanks [@Fryuni](https://github.com/Fryuni)! - Fixes type generation for empty content collections + +- [#11279](https://github.com/withastro/astro/pull/11279) [`9a08d74`](https://github.com/withastro/astro/commit/9a08d74bc00ae2c3bc254f99580a22ce4df1d002) Thanks [@ascorbic](https://github.com/ascorbic)! - Improves type-checking and error handling to catch case where an image import is passed directly to `getImage()` + +- [#11292](https://github.com/withastro/astro/pull/11292) [`7f8f347`](https://github.com/withastro/astro/commit/7f8f34799528ed0b2011e1ea273bd0636f6e767d) Thanks [@jdtjenkins](https://github.com/jdtjenkins)! - Fixes a case where `defineAction` autocomplete for the `accept` prop would not show `"form"` as a possible value + +- [#11273](https://github.com/withastro/astro/pull/11273) [`cb4d078`](https://github.com/withastro/astro/commit/cb4d07819f0dbdfd94bc4f084edf7720ada01323) Thanks [@ascorbic](https://github.com/ascorbic)! - Corrects an inconsistency in dev where middleware would run for prerendered 404 routes. + Middleware is not run for prerendered 404 routes in production, so this was incorrect. + +- [#11284](https://github.com/withastro/astro/pull/11284) [`f4b029b`](https://github.com/withastro/astro/commit/f4b029b08264268c68fc81ea25b264e81f47e683) Thanks [@ascorbic](https://github.com/ascorbic)! - Fixes an issue that would break `Astro.request.url` and `Astro.request.headers` in `astro dev` if HTTP/2 was enabled. + + HTTP/2 is now enabled by default in `astro dev` if `https` is configured in the Vite config. + +## 4.10.3 + +### Patch Changes + +- [#11213](https://github.com/withastro/astro/pull/11213) [`94ac7ef`](https://github.com/withastro/astro/commit/94ac7efd70fd264b10887805a02d5d1877af8701) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Removes the `PUBLIC_` prefix constraint for `astro:env` public variables + +- [#11213](https://github.com/withastro/astro/pull/11213) [`94ac7ef`](https://github.com/withastro/astro/commit/94ac7efd70fd264b10887805a02d5d1877af8701) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - **BREAKING CHANGE to the experimental `astro:env` feature only** + + Server secrets specified in the schema must now be imported from `astro:env/server`. Using `getSecret()` is no longer required to use these environment variables in your schema: + + ```diff + - import { getSecret } from 'astro:env/server' + - const API_SECRET = getSecret("API_SECRET") + + import { API_SECRET } from 'astro:env/server' + ``` + + Note that using `getSecret()` with these keys is still possible, but no longer involves any special handling and the raw value will be returned, just like retrieving secrets not specified in your schema. + +- [#11234](https://github.com/withastro/astro/pull/11234) [`4385bf7`](https://github.com/withastro/astro/commit/4385bf7a4dc9c65bff53a30c660f7a909fcabfc9) Thanks [@ematipico](https://github.com/ematipico)! - Adds a new function called `addServerRenderer` to the Container API. Use this function to manually store renderers inside the instance of your container. + + This new function should be preferred when using the Container API in environments like on-demand pages: + + ```ts + import type { APIRoute } from 'astro'; + import { experimental_AstroContainer } from 'astro/container'; + import reactRenderer from '@astrojs/react/server.js'; + import vueRenderer from '@astrojs/vue/server.js'; + import ReactComponent from '../components/button.jsx'; + import VueComponent from '../components/button.vue'; + + // MDX runtime is contained inside the Astro core + import mdxRenderer from 'astro/jsx/server.js'; + + // In case you need to import a custom renderer + import customRenderer from '../renderers/customRenderer.js'; + + export const GET: APIRoute = async (ctx) => { + const container = await experimental_AstroContainer.create(); + container.addServerRenderer({ renderer: reactRenderer }); + container.addServerRenderer({ renderer: vueRenderer }); + container.addServerRenderer({ renderer: customRenderer }); + // You can pass a custom name too + container.addServerRenderer({ + name: 'customRenderer', + renderer: customRenderer, + }); + const vueComponent = await container.renderToString(VueComponent); + return await container.renderToResponse(Component); + }; + ``` + +- [#11249](https://github.com/withastro/astro/pull/11249) [`de60c69`](https://github.com/withastro/astro/commit/de60c69aa06c41f76a5510cc1d0bee4c8a5326a5) Thanks [@markgaze](https://github.com/markgaze)! - Fixes a performance issue with JSON schema generation + +- [#11242](https://github.com/withastro/astro/pull/11242) [`e4fc2a0`](https://github.com/withastro/astro/commit/e4fc2a0bafb4723566552d0c5954b25447890f51) Thanks [@ematipico](https://github.com/ematipico)! - Fixes a case where the virtual module `astro:container` wasn't resolved + +- [#11236](https://github.com/withastro/astro/pull/11236) [`39bc3a5`](https://github.com/withastro/astro/commit/39bc3a5e8161232d6fdc6cc52b1f246083966d8e) Thanks [@ascorbic](https://github.com/ascorbic)! - Fixes a case where symlinked content collection directories were not correctly resolved + +- [#11258](https://github.com/withastro/astro/pull/11258) [`d996db6`](https://github.com/withastro/astro/commit/d996db6f0bf361ebd84b23d022db7bb10fb316e6) Thanks [@ascorbic](https://github.com/ascorbic)! - Adds a new error `RewriteWithBodyUsed` that throws when `Astro.rewrite` is used after the request body has already been read. + +- [#11243](https://github.com/withastro/astro/pull/11243) [`ba2b14c`](https://github.com/withastro/astro/commit/ba2b14cc28bd219c241313cdf142b736e7442014) Thanks [@V3RON](https://github.com/V3RON)! - Fixes a prerendering issue for libraries in `node_modules` when a folder with an underscore is in the path. + +- [#11244](https://github.com/withastro/astro/pull/11244) [`d07d2f7`](https://github.com/withastro/astro/commit/d07d2f7ac9d87af907beaca700ba4116dc1d6f37) Thanks [@ematipico](https://github.com/ematipico)! - Improves the developer experience of the custom `500.astro` page in development mode. + + Before, in development, an error thrown during the rendering phase would display the default error overlay, even when users had the `500.astro` page. + + Now, the development server will display the `500.astro` and the original error is logged in the console. + +- [#11240](https://github.com/withastro/astro/pull/11240) [`2851b0a`](https://github.com/withastro/astro/commit/2851b0aa2e2abe80ea603b53c67770e94980a8d3) Thanks [@ascorbic](https://github.com/ascorbic)! - Ignores query strings in module identifiers when matching ".astro" file extensions in Vite plugin + +- [#11245](https://github.com/withastro/astro/pull/11245) [`e22be22`](https://github.com/withastro/astro/commit/e22be22e5729e60220726e92b52d2833c937fd1c) Thanks [@bluwy](https://github.com/bluwy)! - Refactors prerendering chunk handling to correctly remove unused code during the SSR runtime + +## 4.10.2 + +### Patch Changes + +- [#11231](https://github.com/withastro/astro/pull/11231) [`58d7dbb`](https://github.com/withastro/astro/commit/58d7dbb5e0cabea1ac7a35af5b46685fce50d723) Thanks [@ematipico](https://github.com/ematipico)! - Fixes a regression for `getViteConfig`, where the inline config wasn't merged in the final config. + +- [#11228](https://github.com/withastro/astro/pull/11228) [`1e293a1`](https://github.com/withastro/astro/commit/1e293a1b819024f16bfe482f272df0678cdd7874) Thanks [@ascorbic](https://github.com/ascorbic)! - Updates `getCollection()` to always return a cloned array + +- [#11207](https://github.com/withastro/astro/pull/11207) [`7d9aac3`](https://github.com/withastro/astro/commit/7d9aac376c4b8844917901f7f566f7259d7f66c8) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue in the rewriting logic where old data was not purged during the rewrite flow. This caused some false positives when checking the validity of URL path names during the rendering phase. + +- [#11189](https://github.com/withastro/astro/pull/11189) [`75a8fe7`](https://github.com/withastro/astro/commit/75a8fe7e72b95f20c36f034de2b51b6a9550e27e) Thanks [@ematipico](https://github.com/ematipico)! - Improve error message when using `getLocaleByPath` on path that doesn't contain any locales. + +- [#11195](https://github.com/withastro/astro/pull/11195) [`0a6ab6f`](https://github.com/withastro/astro/commit/0a6ab6f562651b558ca90761feed5c07f54f2633) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Adds support for enums to `astro:env` + + You can now call `envField.enum`: + + ```js + import { defineConfig, envField } from 'astro/config'; + + export default defineConfig({ + experimental: { + env: { + schema: { + API_VERSION: envField.enum({ + context: 'server', + access: 'secret', + values: ['v1', 'v2'], + }), + }, + }, + }, + }); + ``` + +- [#11210](https://github.com/withastro/astro/pull/11210) [`66fc028`](https://github.com/withastro/astro/commit/66fc0283d3f1d1a4f17d7db65ca3521a01fb5bec) Thanks [@matthewp](https://github.com/matthewp)! - Close the iterator only after rendering is complete + +- [#11195](https://github.com/withastro/astro/pull/11195) [`0a6ab6f`](https://github.com/withastro/astro/commit/0a6ab6f562651b558ca90761feed5c07f54f2633) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Adds additional validation options to `astro:env` + + `astro:env` schema datatypes `string` and `number` now have new optional validation rules: + + ```js + import { defineConfig, envField } from 'astro/config'; + + export default defineConfig({ + experimental: { + env: { + schema: { + FOO: envField.string({ + // ... + max: 32, + min: 3, + length: 12, + url: true, + includes: 'foo', + startsWith: 'bar', + endsWith: 'baz', + }), + BAR: envField.number({ + // ... + gt: 2, + min: 3, + lt: 10, + max: 9, + int: true, + }), + }, + }, + }, + }); + ``` + +- [#11211](https://github.com/withastro/astro/pull/11211) [`97724da`](https://github.com/withastro/astro/commit/97724da93ed7b1db19632c0cdb4b3aab1ff84812) Thanks [@matthewp](https://github.com/matthewp)! - Let middleware handle the original request URL + +- [#10607](https://github.com/withastro/astro/pull/10607) [`7327c6a`](https://github.com/withastro/astro/commit/7327c6acb197e1f2ea6cf94cfbc5700bc755f982) Thanks [@frankbits](https://github.com/frankbits)! - Fixes an issue where a leading slash created incorrect conflict resolution between pages generated from static routes and catch-all dynamic routes + ## 4.10.1 ### Patch Changes diff --git a/packages/astro/components/Code.astro b/packages/astro/components/Code.astro index f0cb263265..7b8f3ab422 100644 --- a/packages/astro/components/Code.astro +++ b/packages/astro/components/Code.astro @@ -3,6 +3,7 @@ import type { ThemePresets } from '@astrojs/markdown-remark'; import type { BuiltinLanguage, LanguageRegistration, + ShikiTransformer, SpecialLanguage, ThemeRegistration, ThemeRegistrationRaw, @@ -50,6 +51,12 @@ interface Props extends Omit, 'lang'> { * @default false */ inline?: boolean; + /** + * Shiki transformers to customize the generated HTML by manipulating the hast tree. + * Supports all transformers listed here: https://shiki.style/packages/transformers#transformers + * Instructions for custom transformers: https://shiki.style/guide/transformers + */ + transformers?: ShikiTransformer[]; } const { @@ -59,6 +66,7 @@ const { themes = {}, wrap = false, inline = false, + transformers = [], ...rest } = Astro.props; @@ -85,6 +93,7 @@ const highlighter = await getCachedHighlighter({ theme, themes, wrap, + transformers, }); const html = await highlighter.highlight(code, typeof lang === 'string' ? lang : lang.name, { diff --git a/packages/astro/e2e/fixtures/actions-react-19/package.json b/packages/astro/e2e/fixtures/actions-react-19/package.json index 89c15dbb0b..bc2f138c85 100644 --- a/packages/astro/e2e/fixtures/actions-react-19/package.json +++ b/packages/astro/e2e/fixtures/actions-react-19/package.json @@ -17,8 +17,8 @@ "@types/react": "npm:types-react", "@types/react-dom": "npm:types-react-dom", "astro": "workspace:*", - "react": "19.0.0-rc-f994737d14-20240522", - "react-dom": "19.0.0-rc-f994737d14-20240522", + "react": "19.0.0-rc-fb9a90fa48-20240614", + "react-dom": "19.0.0-rc-fb9a90fa48-20240614", "typescript": "^5.4.5" }, "overrides": { diff --git a/packages/astro/e2e/fixtures/astro-envs/package.json b/packages/astro/e2e/fixtures/astro-envs/package.json index 816eb8e2bb..6b5ae1c466 100644 --- a/packages/astro/e2e/fixtures/astro-envs/package.json +++ b/packages/astro/e2e/fixtures/astro-envs/package.json @@ -5,6 +5,6 @@ "dependencies": { "@astrojs/vue": "workspace:*", "astro": "workspace:*", - "vue": "^3.4.27" + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/client-only/package.json b/packages/astro/e2e/fixtures/client-only/package.json index 84e83afb38..dcff68a6c1 100644 --- a/packages/astro/e2e/fixtures/client-only/package.json +++ b/packages/astro/e2e/fixtures/client-only/package.json @@ -15,7 +15,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/error-sass/package.json b/packages/astro/e2e/fixtures/error-sass/package.json index a8810fcda0..37918eb2c1 100644 --- a/packages/astro/e2e/fixtures/error-sass/package.json +++ b/packages/astro/e2e/fixtures/error-sass/package.json @@ -4,6 +4,6 @@ "private": true, "dependencies": { "astro": "workspace:*", - "sass": "^1.77.3" + "sass": "^1.77.5" } } diff --git a/packages/astro/e2e/fixtures/errors/package.json b/packages/astro/e2e/fixtures/errors/package.json index 0aa604539c..d0fa209f99 100644 --- a/packages/astro/e2e/fixtures/errors/package.json +++ b/packages/astro/e2e/fixtures/errors/package.json @@ -12,9 +12,9 @@ "preact": "^10.22.0", "react": "^18.3.1", "react-dom": "^18.3.1", - "sass": "^1.77.3", + "sass": "^1.77.5", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/hmr/package.json b/packages/astro/e2e/fixtures/hmr/package.json index f4667667b1..af6eb2e78a 100644 --- a/packages/astro/e2e/fixtures/hmr/package.json +++ b/packages/astro/e2e/fixtures/hmr/package.json @@ -4,6 +4,6 @@ "private": true, "devDependencies": { "astro": "workspace:*", - "sass": "^1.77.3" + "sass": "^1.77.5" } } diff --git a/packages/astro/e2e/fixtures/lit-component/package.json b/packages/astro/e2e/fixtures/lit-component/package.json index 5734a946f6..d569109375 100644 --- a/packages/astro/e2e/fixtures/lit-component/package.json +++ b/packages/astro/e2e/fixtures/lit-component/package.json @@ -6,6 +6,6 @@ "@astrojs/lit": "workspace:*", "@webcomponents/template-shadowroot": "^0.2.1", "astro": "workspace:*", - "lit": "^3.1.3" + "lit": "^3.1.4" } } diff --git a/packages/astro/e2e/fixtures/multiple-frameworks/package.json b/packages/astro/e2e/fixtures/multiple-frameworks/package.json index b0c9e12752..0a3b38e5ab 100644 --- a/packages/astro/e2e/fixtures/multiple-frameworks/package.json +++ b/packages/astro/e2e/fixtures/multiple-frameworks/package.json @@ -13,12 +13,12 @@ }, "dependencies": { "@webcomponents/template-shadowroot": "^0.2.1", - "lit": "^3.1.3", + "lit": "^3.1.4", "preact": "^10.22.0", "react": "^18.3.1", "react-dom": "^18.3.1", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/nested-in-preact/package.json b/packages/astro/e2e/fixtures/nested-in-preact/package.json index 02f1102495..dd202a5cc9 100644 --- a/packages/astro/e2e/fixtures/nested-in-preact/package.json +++ b/packages/astro/e2e/fixtures/nested-in-preact/package.json @@ -15,7 +15,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/nested-in-react/package.json b/packages/astro/e2e/fixtures/nested-in-react/package.json index 1930dbf7ef..0f18830bf8 100644 --- a/packages/astro/e2e/fixtures/nested-in-react/package.json +++ b/packages/astro/e2e/fixtures/nested-in-react/package.json @@ -15,7 +15,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/nested-in-solid/package.json b/packages/astro/e2e/fixtures/nested-in-solid/package.json index 077cd6f876..d474d1e55f 100644 --- a/packages/astro/e2e/fixtures/nested-in-solid/package.json +++ b/packages/astro/e2e/fixtures/nested-in-solid/package.json @@ -15,7 +15,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/nested-in-svelte/package.json b/packages/astro/e2e/fixtures/nested-in-svelte/package.json index eb90548c81..820284e5ea 100644 --- a/packages/astro/e2e/fixtures/nested-in-svelte/package.json +++ b/packages/astro/e2e/fixtures/nested-in-svelte/package.json @@ -15,7 +15,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/nested-in-vue/package.json b/packages/astro/e2e/fixtures/nested-in-vue/package.json index 323b5d88a5..f898219577 100644 --- a/packages/astro/e2e/fixtures/nested-in-vue/package.json +++ b/packages/astro/e2e/fixtures/nested-in-vue/package.json @@ -15,7 +15,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/nested-recursive/package.json b/packages/astro/e2e/fixtures/nested-recursive/package.json index 63bdda3bfb..36026a23f5 100644 --- a/packages/astro/e2e/fixtures/nested-recursive/package.json +++ b/packages/astro/e2e/fixtures/nested-recursive/package.json @@ -15,8 +15,8 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "solid-js": "^1.8.17", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" }, "scripts": { "dev": "astro dev" diff --git a/packages/astro/e2e/fixtures/svelte-component/package.json b/packages/astro/e2e/fixtures/svelte-component/package.json index 17b66b9cb9..e5d238f74b 100644 --- a/packages/astro/e2e/fixtures/svelte-component/package.json +++ b/packages/astro/e2e/fixtures/svelte-component/package.json @@ -6,6 +6,6 @@ "@astrojs/mdx": "workspace:*", "@astrojs/svelte": "workspace:*", "astro": "workspace:*", - "svelte": "^4.2.17" + "svelte": "^4.2.18" } } diff --git a/packages/astro/e2e/fixtures/tailwindcss/package.json b/packages/astro/e2e/fixtures/tailwindcss/package.json index 66c37e7ff8..1023e60744 100644 --- a/packages/astro/e2e/fixtures/tailwindcss/package.json +++ b/packages/astro/e2e/fixtures/tailwindcss/package.json @@ -7,6 +7,6 @@ "astro": "workspace:*", "autoprefixer": "^10.4.19", "postcss": "^8.4.38", - "tailwindcss": "^3.4.3" + "tailwindcss": "^3.4.4" } } diff --git a/packages/astro/e2e/fixtures/view-transitions/package.json b/packages/astro/e2e/fixtures/view-transitions/package.json index 4bc1dd1c6b..601f9a40d6 100644 --- a/packages/astro/e2e/fixtures/view-transitions/package.json +++ b/packages/astro/e2e/fixtures/view-transitions/package.json @@ -10,7 +10,7 @@ "astro": "workspace:*", "react": "^18.3.1", "react-dom": "^18.3.1", - "svelte": "^4.2.17", - "vue": "^3.4.27" + "svelte": "^4.2.18", + "vue": "^3.4.29" } } diff --git a/packages/astro/e2e/fixtures/view-transitions/src/pages/one.astro b/packages/astro/e2e/fixtures/view-transitions/src/pages/one.astro index 8e34eb5559..4f11cbbc0d 100644 --- a/packages/astro/e2e/fixtures/view-transitions/src/pages/one.astro +++ b/packages/astro/e2e/fixtures/view-transitions/src/pages/one.astro @@ -11,6 +11,7 @@ import Layout from '../components/Layout.astro'; go to top go to redirect 2 go to a redirect external + redirect cross-origin go to undefined page