diff --git a/.changeset/pre.json b/.changeset/pre.json index d0d69690db3a4..50fe0e741be18 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -32,31 +32,50 @@ }, "changesets": [ "afraid-dots-whisper", + "big-elephants-drive", "big-tips-whisper", - "breezy-frogs-learn", + "brown-wolves-tan", "chilled-ducks-grin", + "clever-bats-breathe", "cool-feet-rest", + "cyan-carrots-stare", "dirty-lies-cover", + "eleven-wasps-teach", "fair-emus-divide", + "fair-eyes-promise", "famous-queens-itch", "four-houses-compete", "gentle-deers-yawn", "gentle-meals-crash", "giant-plants-sip", "heavy-walls-arrive", + "itchy-pants-grin", "large-countries-share", "loud-candles-admire", + "many-actors-flash", + "many-pears-explode", "mighty-dancers-lay", + "nasty-garlics-listen", + "neat-mugs-end", + "neat-owls-run", "neat-suns-search", "odd-books-live", + "orange-foxes-care", "perfect-horses-tell", "plenty-keys-add", + "popular-planes-cover", "purple-buses-prove", + "quick-boats-bow", "rude-ears-play", + "silent-baboons-juggle", "six-grapes-look", "slimy-carrots-sell", + "smart-numbers-shout", + "sour-frogs-shout", "spicy-eels-rush", + "strong-papayas-chew", "tame-files-glow", + "tasty-camels-speak", "three-adults-exist", "three-onions-repeat", "tricky-candles-suffer", @@ -66,8 +85,10 @@ "unlucky-ravens-type", "unlucky-sheep-build", "violet-peaches-invent", + "warm-weeks-yell", "wild-bobcats-carry", - "wild-jobs-tan", + "wise-cameras-agree", + "yellow-snakes-jam", "young-roses-teach" ] } diff --git a/examples/basics/package.json b/examples/basics/package.json index dd81a20af5a19..35b95de2be114 100644 --- a/examples/basics/package.json +++ b/examples/basics/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" } } diff --git a/examples/blog/package.json b/examples/blog/package.json index 5e633254c23b9..a77c2b59fe3ee 100644 --- a/examples/blog/package.json +++ b/examples/blog/package.json @@ -11,9 +11,9 @@ "astro": "astro" }, "dependencies": { - "@astrojs/mdx": "^1.0.0-beta.0", + "@astrojs/mdx": "^1.0.0-beta.1", "@astrojs/rss": "^3.0.0-beta.0", "@astrojs/sitemap": "^3.0.0-beta.0", - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" } } diff --git a/examples/component/package.json b/examples/component/package.json index f2b226262b12b..934946d71b8b4 100644 --- a/examples/component/package.json +++ b/examples/component/package.json @@ -15,7 +15,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" }, "peerDependencies": { "astro": "^2.0.0-beta.0" diff --git a/examples/deno/package.json b/examples/deno/package.json index 7fe421d50f218..02cee81254779 100644 --- a/examples/deno/package.json +++ b/examples/deno/package.json @@ -10,7 +10,7 @@ "astro": "astro" }, "dependencies": { - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" }, "devDependencies": { "@astrojs/deno": "^5.0.0-beta.0" diff --git a/examples/framework-alpine/package.json b/examples/framework-alpine/package.json index 2c1bd53f88084..ce7c0bd26bf67 100644 --- a/examples/framework-alpine/package.json +++ b/examples/framework-alpine/package.json @@ -14,6 +14,6 @@ "@astrojs/alpinejs": "^0.3.0-beta.0", "@types/alpinejs": "^3.7.1", "alpinejs": "^3.12.2", - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" } } diff --git a/examples/framework-lit/package.json b/examples/framework-lit/package.json index f8091eb7498ef..ba2db74492dd7 100644 --- a/examples/framework-lit/package.json +++ b/examples/framework-lit/package.json @@ -13,7 +13,7 @@ "dependencies": { "@astrojs/lit": "^3.0.0-beta.0", "@webcomponents/template-shadowroot": "^0.2.1", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "lit": "^2.7.5" } } diff --git a/examples/framework-multiple/package.json b/examples/framework-multiple/package.json index 9af1d6cad7959..d674c331ac782 100644 --- a/examples/framework-multiple/package.json +++ b/examples/framework-multiple/package.json @@ -12,11 +12,11 @@ }, "dependencies": { "@astrojs/preact": "^3.0.0-beta.1", - "@astrojs/react": "^3.0.0-beta.2", - "@astrojs/solid-js": "^3.0.0-beta.1", - "@astrojs/svelte": "^4.0.0-beta.0", + "@astrojs/react": "^3.0.0-beta.3", + "@astrojs/solid-js": "^3.0.0-beta.2", + "@astrojs/svelte": "^4.0.0-beta.1", "@astrojs/vue": "^3.0.0-beta.0", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "preact": "^10.15.1", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/examples/framework-preact/package.json b/examples/framework-preact/package.json index 1c38428c3bf35..09ea435d98ac6 100644 --- a/examples/framework-preact/package.json +++ b/examples/framework-preact/package.json @@ -13,7 +13,7 @@ "dependencies": { "@astrojs/preact": "^3.0.0-beta.1", "@preact/signals": "^1.1.3", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "preact": "^10.15.1" } } diff --git a/examples/framework-react/package.json b/examples/framework-react/package.json index 3b4bd62e0875c..b9aa7513cdc01 100644 --- a/examples/framework-react/package.json +++ b/examples/framework-react/package.json @@ -11,10 +11,10 @@ "astro": "astro" }, "dependencies": { - "@astrojs/react": "^3.0.0-beta.2", + "@astrojs/react": "^3.0.0-beta.3", "@types/react": "^18.2.13", "@types/react-dom": "^18.2.6", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "react": "^18.2.0", "react-dom": "^18.2.0" } diff --git a/examples/framework-solid/package.json b/examples/framework-solid/package.json index ea4973fe6e0d3..29118fb3a5a27 100644 --- a/examples/framework-solid/package.json +++ b/examples/framework-solid/package.json @@ -11,8 +11,8 @@ "astro": "astro" }, "dependencies": { - "@astrojs/solid-js": "^3.0.0-beta.1", - "astro": "^3.0.0-beta.2", + "@astrojs/solid-js": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "solid-js": "^1.7.6" } } diff --git a/examples/framework-svelte/package.json b/examples/framework-svelte/package.json index 4eb4b38e67171..00402f12b3c27 100644 --- a/examples/framework-svelte/package.json +++ b/examples/framework-svelte/package.json @@ -11,8 +11,8 @@ "astro": "astro" }, "dependencies": { - "@astrojs/svelte": "^4.0.0-beta.0", - "astro": "^3.0.0-beta.2", + "@astrojs/svelte": "^4.0.0-beta.1", + "astro": "^3.0.0-beta.3", "svelte": "^3.59.1" } } diff --git a/examples/framework-vue/package.json b/examples/framework-vue/package.json index 2e9d5efcc1412..4aebcd072a7d8 100644 --- a/examples/framework-vue/package.json +++ b/examples/framework-vue/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@astrojs/vue": "^3.0.0-beta.0", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "vue": "^3.3.4" } } diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json index 259aa9a4eb495..2583246239b0b 100644 --- a/examples/hackernews/package.json +++ b/examples/hackernews/package.json @@ -12,6 +12,6 @@ }, "dependencies": { "@astrojs/node": "^6.0.0-beta.0", - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" } } diff --git a/examples/integration/package.json b/examples/integration/package.json index 864349b97359e..4adbfd963a03c 100644 --- a/examples/integration/package.json +++ b/examples/integration/package.json @@ -15,7 +15,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" }, "peerDependencies": { "astro": "^2.0.0-beta.0" diff --git a/examples/middleware/package.json b/examples/middleware/package.json index 296c4d5718d27..b53a8e3896cee 100644 --- a/examples/middleware/package.json +++ b/examples/middleware/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@astrojs/node": "^6.0.0-beta.0", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "html-minifier": "^4.0.0" } } diff --git a/examples/minimal/package.json b/examples/minimal/package.json index 1285772132ca1..863197c5e317a 100644 --- a/examples/minimal/package.json +++ b/examples/minimal/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" } } diff --git a/examples/non-html-pages/package.json b/examples/non-html-pages/package.json index aeb517c4ccc35..bb901a663c5b7 100644 --- a/examples/non-html-pages/package.json +++ b/examples/non-html-pages/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" } } diff --git a/examples/portfolio/package.json b/examples/portfolio/package.json index e6e2407098e3a..fb4cc7ed740c9 100644 --- a/examples/portfolio/package.json +++ b/examples/portfolio/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" } } diff --git a/examples/ssr/package.json b/examples/ssr/package.json index 29122e2bb6870..aee41491fc62e 100644 --- a/examples/ssr/package.json +++ b/examples/ssr/package.json @@ -13,8 +13,8 @@ }, "dependencies": { "@astrojs/node": "^6.0.0-beta.0", - "@astrojs/svelte": "^4.0.0-beta.0", - "astro": "^3.0.0-beta.2", + "@astrojs/svelte": "^4.0.0-beta.1", + "astro": "^3.0.0-beta.3", "svelte": "^3.59.1" } } diff --git a/examples/with-markdoc/package.json b/examples/with-markdoc/package.json index cf7fb6a0c3315..eeec48e8de73f 100644 --- a/examples/with-markdoc/package.json +++ b/examples/with-markdoc/package.json @@ -12,6 +12,6 @@ }, "dependencies": { "@astrojs/markdoc": "^1.0.0-beta.1", - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" } } diff --git a/examples/with-markdown-plugins/package.json b/examples/with-markdown-plugins/package.json index 94d55fbe9855c..870e9e38004df 100644 --- a/examples/with-markdown-plugins/package.json +++ b/examples/with-markdown-plugins/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@astrojs/markdown-remark": "^3.0.0-beta.0", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "hast-util-select": "^5.0.5", "rehype-autolink-headings": "^6.1.1", "rehype-slug": "^5.1.0", diff --git a/examples/with-markdown-shiki/package.json b/examples/with-markdown-shiki/package.json index 4a0ee25705398..b5e9980425513 100644 --- a/examples/with-markdown-shiki/package.json +++ b/examples/with-markdown-shiki/package.json @@ -11,6 +11,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^3.0.0-beta.2" + "astro": "^3.0.0-beta.3" } } diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json index efd525b5aea7b..fc4124b1fd7b3 100644 --- a/examples/with-mdx/package.json +++ b/examples/with-mdx/package.json @@ -11,9 +11,9 @@ "astro": "astro" }, "dependencies": { - "@astrojs/mdx": "^1.0.0-beta.0", + "@astrojs/mdx": "^1.0.0-beta.1", "@astrojs/preact": "^3.0.0-beta.1", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "preact": "^10.15.1" } } diff --git a/examples/with-nanostores/package.json b/examples/with-nanostores/package.json index 61c3e84b86f54..7d288ce7e5931 100644 --- a/examples/with-nanostores/package.json +++ b/examples/with-nanostores/package.json @@ -13,7 +13,7 @@ "dependencies": { "@astrojs/preact": "^3.0.0-beta.1", "@nanostores/preact": "^0.4.1", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "nanostores": "^0.8.1", "preact": "^10.15.1" } diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json index 64a7ce5b79fcb..8adcef5f4ea64 100644 --- a/examples/with-tailwindcss/package.json +++ b/examples/with-tailwindcss/package.json @@ -11,10 +11,10 @@ "astro": "astro" }, "dependencies": { - "@astrojs/mdx": "^1.0.0-beta.0", + "@astrojs/mdx": "^1.0.0-beta.1", "@astrojs/tailwind": "^5.0.0-beta.0", "@types/canvas-confetti": "^1.6.0", - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "autoprefixer": "^10.4.14", "canvas-confetti": "^1.6.0", "postcss": "^8.4.24", diff --git a/examples/with-vite-plugin-pwa/package.json b/examples/with-vite-plugin-pwa/package.json index 4aa11cf87165b..7ca06ccf39eda 100644 --- a/examples/with-vite-plugin-pwa/package.json +++ b/examples/with-vite-plugin-pwa/package.json @@ -11,7 +11,7 @@ "astro": "astro" }, "dependencies": { - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "vite-plugin-pwa": "0.14.7", "workbox-window": "^6.6.0" } diff --git a/examples/with-vitest/package.json b/examples/with-vitest/package.json index f97aaa86c2b1e..4780634811a16 100644 --- a/examples/with-vitest/package.json +++ b/examples/with-vitest/package.json @@ -12,7 +12,7 @@ "test": "vitest" }, "dependencies": { - "astro": "^3.0.0-beta.2", + "astro": "^3.0.0-beta.3", "vitest": "^0.31.4" } } diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md index e026a0eeda164..5894bcb0ad727 100644 --- a/packages/astro/CHANGELOG.md +++ b/packages/astro/CHANGELOG.md @@ -1,5 +1,144 @@ # astro +## 3.0.0-beta.3 + +### Major Changes + +- [#8113](https://github.com/withastro/astro/pull/8113) [`2484dc408`](https://github.com/withastro/astro/commit/2484dc4080e5cd84b9a53648a1de426d7c907be2) Thanks [@Princesseuh](https://github.com/Princesseuh)! - This import alias is no longer included by default with astro:assets. If you were using this alias with experimental assets, you must convert them to relative file paths, or create your own [import aliases](https://docs.astro.build/en/guides/aliases/). + + ```diff + --- + // src/pages/posts/post-1.astro + - import rocket from '~/assets/rocket.png' + + import rocket from '../../assets/rocket.png'; + --- + ``` + +- [#7979](https://github.com/withastro/astro/pull/7979) [`dbc97b121`](https://github.com/withastro/astro/commit/dbc97b121f42583728f1cdfdbf14575fda943f5b) Thanks [@bluwy](https://github.com/bluwy)! - Export experimental `dev`, `build`, `preview`, and `sync` APIs from `astro`. These APIs allow you to run Astro's commands programmatically, and replaces the previous entry point that runs the Astro CLI. + + While these APIs are experimental, the inline config parameter is relatively stable without foreseeable changes. However, the returned results of these APIs are more likely to change in the future. + + ```ts + import { dev, build, preview, sync, type AstroInlineConfig } from 'astro'; + + // Inline Astro config object. + // Provide a path to a configuration file to load or set options directly inline. + const inlineConfig: AstroInlineConfig = { + // Inline-specific options... + configFile: './astro.config.mjs', + logLevel: 'info', + // Standard Astro config options... + site: 'https://example.com', + }; + + // Start the Astro dev server + const devServer = await dev(inlineConfig); + await devServer.stop(); + + // Build your Astro project + await build(inlineConfig); + + // Preview your built project + const previewServer = await preview(inlineConfig); + await previewServer.stop(); + + // Generate types for your Astro project + await sync(inlineConfig); + ``` + +- [#8085](https://github.com/withastro/astro/pull/8085) [`68efd4a8b`](https://github.com/withastro/astro/commit/68efd4a8b29f248397667801465b3152dc98e9a7) Thanks [@bluwy](https://github.com/bluwy)! - Remove exports for `astro/internal/*` and `astro/runtime/server/*` in favour of `astro/runtime/*`. Add new `astro/compiler-runtime` export for compiler-specific runtime code. + + These are exports for Astro's internal API and should not affect your project, but if you do use these entrypoints, you can migrate like below: + + ```diff + - import 'astro/internal/index.js'; + + import 'astro/runtime/server/index.js'; + + - import 'astro/server/index.js'; + + import 'astro/runtime/server/index.js'; + ``` + + ```diff + import { transform } from '@astrojs/compiler'; + + const result = await transform(source, { + - internalURL: 'astro/runtime/server/index.js', + + internalURL: 'astro/compiler-runtime', + // ... + }); + ``` + +- [#8030](https://github.com/withastro/astro/pull/8030) [`5208a3c8f`](https://github.com/withastro/astro/commit/5208a3c8fefcec7694857fb344af351f4631fc34) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Removed duplicate `astro/dist/jsx` export. Please use the `astro/jsx` export instead + +- [#7921](https://github.com/withastro/astro/pull/7921) [`b76c166bd`](https://github.com/withastro/astro/commit/b76c166bdd8e28683f62806aef968d1e0c3b06d9) Thanks [@Princesseuh](https://github.com/Princesseuh)! - `astro:assets` is now enabled by default. If you were previously using the `experimental.assets` flag, please remove it from your config. Also note that the previous `@astrojs/image` integration is incompatible, and must be removed. + + This also brings two important changes to using images in Astro: + + - New ESM shape: importing an image will now return an object with different properties describing the image such as its path, format and dimensions. This is a breaking change and may require you to update your existing images. + - In Markdown, MDX, and Markdoc, the `![]()` syntax will now resolve relative images located anywhere in your project in addition to remote images and images stored in the `public/` folder. This notably unlocks storing images next to your content. + + Please see our existing [Assets page in Docs](https://docs.astro.build/en/guides/assets/) for more information about using `astro:assets`. + +### Minor Changes + +- [#8101](https://github.com/withastro/astro/pull/8101) [`ea7ff5177`](https://github.com/withastro/astro/commit/ea7ff5177dbcd7b2508cb1eef1b22b8ee1f47079) Thanks [@matthewp](https://github.com/matthewp)! - `astro:`namespace aliases for middleware and components + + This adds aliases of `astro:middleware` and `astro:components` for the middleware and components modules. This is to make our documentation consistent between are various modules, where some are virtual modules and others are not. Going forward new built-in modules will use this namespace. + +### Patch Changes + +- [#8128](https://github.com/withastro/astro/pull/8128) [`c2c71d90c`](https://github.com/withastro/astro/commit/c2c71d90c264a2524f99e0373ab59015f23ad4b1) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Update error message when Sharp couldn't be found (tends to happen on pnpm notably) + +- [#8092](https://github.com/withastro/astro/pull/8092) [`7177f7579`](https://github.com/withastro/astro/commit/7177f7579b6e866f0fd895b3fd079d8ba330b1a9) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Ensure dotfiles are cleaned during static builds + +- [#8070](https://github.com/withastro/astro/pull/8070) [`097a8e4e9`](https://github.com/withastro/astro/commit/097a8e4e916c7df18eafdaa6c8d6ce2991c17ab6) Thanks [@lilnasy](https://github.com/lilnasy)! - Fix a handful of edge cases with prerendered 404/500 pages + +- [#8078](https://github.com/withastro/astro/pull/8078) [`2540feedb`](https://github.com/withastro/astro/commit/2540feedb06785d5a20eecc3668849f147d778d4) Thanks [@alexanderniebuhr](https://github.com/alexanderniebuhr)! - Reimplement https://github.com/withastro/astro/pull/7509 to correctly emit pre-rendered pages now that `build.split` is deprecated and this configuration has been moved to `functionPerRoute` inside the adapter. + +- [#8105](https://github.com/withastro/astro/pull/8105) [`0e0fa605d`](https://github.com/withastro/astro/commit/0e0fa605d109cc91e08a1ae1cc560ea240fe631b) Thanks [@martrapp](https://github.com/martrapp)! - ViewTransition: bug fix for lost scroll position in browser history + +- [#8118](https://github.com/withastro/astro/pull/8118) [`8a5b0c1f3`](https://github.com/withastro/astro/commit/8a5b0c1f3a4be6bb62db66ec70144109ff5b4c59) Thanks [@lilnasy](https://github.com/lilnasy)! - Astro is smarter about CSS! Small stylesheets are now inlined by default, and no longer incur the cost of additional requests to your server. Your visitors will have to wait less before they see your pages, especially those in remote locations or in a subway. + + This may not be news to you if you had opted-in via the `build.inlineStylesheets` configuration. Stabilized in Astro 2.6 and set to "auto" by default for Starlight, this configuration allows you to reduce the number of requests for stylesheets by inlining them into