diff options
50 files changed, 416 insertions, 241 deletions
diff --git a/.changeset/pre.json b/.changeset/pre.json index a08df62b1..fa0e79b5c 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -34,12 +34,15 @@ "afraid-apricots-buy", "blue-boats-relax", "blue-sloths-stare", + "blue-socks-doubt", "brave-elephants-fly", "breezy-colts-promise", + "brown-bulldogs-share", "chatty-teachers-sit", "chilly-terms-know", "clean-camels-drive", "clean-donuts-walk", + "clean-moles-rest", "cold-bananas-hear", "cool-mangos-shop", "cuddly-shoes-press", @@ -61,6 +64,7 @@ "funny-wolves-dream", "fuzzy-pugs-live", "gentle-scissors-bow", + "giant-ravens-look", "giant-rocks-thank", "gorgeous-foxes-divide", "healthy-ads-scream", @@ -95,6 +99,7 @@ "poor-seals-clap", "pretty-walls-camp", "proud-games-repair", + "proud-terms-swim", "quick-ads-exercise", "quick-onions-leave", "rotten-phones-scream", @@ -110,12 +115,14 @@ "spotty-garlics-cheat", "strange-sheep-film", "strong-months-grab", + "strong-stingrays-provide", "sweet-timers-smash", "tall-waves-impress", "tame-pumpkins-swim", "tame-rats-cross", "ten-students-repair", "ten-walls-tap", + "thirty-clocks-jump", "three-days-cough", "three-olives-reflect", "tough-planets-dress", diff --git a/examples/basics/package.json b/examples/basics/package.json index 7073ff822..dbedbb0e9 100644 --- a/examples/basics/package.json +++ b/examples/basics/package.json @@ -10,6 +10,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" } } diff --git a/examples/blog/package.json b/examples/blog/package.json index 0e13ddef6..0ae87a111 100644 --- a/examples/blog/package.json +++ b/examples/blog/package.json @@ -13,6 +13,6 @@ "@astrojs/mdx": "^4.0.0-beta.3", "@astrojs/rss": "^4.0.9", "@astrojs/sitemap": "^3.2.1", - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" } } diff --git a/examples/component/package.json b/examples/component/package.json index 27c20d059..df329888a 100644 --- a/examples/component/package.json +++ b/examples/component/package.json @@ -15,7 +15,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" }, "peerDependencies": { "astro": "^4.0.0 || ^5.0.0" diff --git a/examples/container-with-vitest/package.json b/examples/container-with-vitest/package.json index 5cb0084ac..40a5ad19e 100644 --- a/examples/container-with-vitest/package.json +++ b/examples/container-with-vitest/package.json @@ -11,8 +11,8 @@ "test": "vitest run" }, "dependencies": { - "astro": "^5.0.0-beta.8", - "@astrojs/react": "^3.6.2", + "astro": "^5.0.0-beta.9", + "@astrojs/react": "^3.6.3-beta.0", "react": "^18.3.1", "react-dom": "^18.3.1", "vitest": "^2.1.4" diff --git a/examples/framework-alpine/package.json b/examples/framework-alpine/package.json index 698088fcf..82296fd49 100644 --- a/examples/framework-alpine/package.json +++ b/examples/framework-alpine/package.json @@ -13,6 +13,6 @@ "@astrojs/alpinejs": "^0.4.0", "@types/alpinejs": "^3.13.10", "alpinejs": "^3.14.3", - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" } } diff --git a/examples/framework-multiple/package.json b/examples/framework-multiple/package.json index bca343000..8756e8786 100644 --- a/examples/framework-multiple/package.json +++ b/examples/framework-multiple/package.json @@ -10,14 +10,14 @@ "astro": "astro" }, "dependencies": { - "@astrojs/preact": "^3.5.3", - "@astrojs/react": "^3.6.2", - "@astrojs/solid-js": "^4.4.3", - "@astrojs/svelte": "^6.0.0-beta.2", - "@astrojs/vue": "^5.0.0-beta.1", + "@astrojs/preact": "^3.5.4-beta.0", + "@astrojs/react": "^3.6.3-beta.0", + "@astrojs/solid-js": "^4.4.4-beta.0", + "@astrojs/svelte": "^6.0.2-beta.0", + "@astrojs/vue": "^5.0.0-beta.2", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", - "astro": "^5.0.0-beta.8", + "astro": "^5.0.0-beta.9", "preact": "^10.24.3", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/examples/framework-preact/package.json b/examples/framework-preact/package.json index 445c836fc..6d0e70104 100644 --- a/examples/framework-preact/package.json +++ b/examples/framework-preact/package.json @@ -10,9 +10,9 @@ "astro": "astro" }, "dependencies": { - "@astrojs/preact": "^3.5.3", + "@astrojs/preact": "^3.5.4-beta.0", "@preact/signals": "^1.3.0", - "astro": "^5.0.0-beta.8", + "astro": "^5.0.0-beta.9", "preact": "^10.24.3" } } diff --git a/examples/framework-react/package.json b/examples/framework-react/package.json index b0541cba7..da22ea880 100644 --- a/examples/framework-react/package.json +++ b/examples/framework-react/package.json @@ -10,10 +10,10 @@ "astro": "astro" }, "dependencies": { - "@astrojs/react": "^3.6.2", + "@astrojs/react": "^3.6.3-beta.0", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", - "astro": "^5.0.0-beta.8", + "astro": "^5.0.0-beta.9", "react": "^18.3.1", "react-dom": "^18.3.1" } diff --git a/examples/framework-solid/package.json b/examples/framework-solid/package.json index da283570d..6eef34161 100644 --- a/examples/framework-solid/package.json +++ b/examples/framework-solid/package.json @@ -10,8 +10,8 @@ "astro": "astro" }, "dependencies": { - "@astrojs/solid-js": "^4.4.3", - "astro": "^5.0.0-beta.8", + "@astrojs/solid-js": "^4.4.4-beta.0", + "astro": "^5.0.0-beta.9", "solid-js": "^1.9.2" } } diff --git a/examples/framework-svelte/package.json b/examples/framework-svelte/package.json index 56e22f6be..22c8b22ba 100644 --- a/examples/framework-svelte/package.json +++ b/examples/framework-svelte/package.json @@ -10,8 +10,8 @@ "astro": "astro" }, "dependencies": { - "@astrojs/svelte": "^6.0.0", - "astro": "^5.0.0-beta.8", + "@astrojs/svelte": "^6.0.2-beta.0", + "astro": "^5.0.0-beta.9", "svelte": "^5.1.16" } } diff --git a/examples/framework-vue/package.json b/examples/framework-vue/package.json index ae8a1403f..d55261189 100644 --- a/examples/framework-vue/package.json +++ b/examples/framework-vue/package.json @@ -10,8 +10,8 @@ "astro": "astro" }, "dependencies": { - "@astrojs/vue": "^5.0.0-beta.1", - "astro": "^5.0.0-beta.8", + "@astrojs/vue": "^5.0.0-beta.2", + "astro": "^5.0.0-beta.9", "vue": "^3.5.12" } } diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json index 71bdd46ea..04330f969 100644 --- a/examples/hackernews/package.json +++ b/examples/hackernews/package.json @@ -11,6 +11,6 @@ }, "dependencies": { "@astrojs/node": "^9.0.0-alpha.1", - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" } } diff --git a/examples/integration/package.json b/examples/integration/package.json index b591fedb5..e2c6d1b82 100644 --- a/examples/integration/package.json +++ b/examples/integration/package.json @@ -15,7 +15,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" }, "peerDependencies": { "astro": "^4.0.0" diff --git a/examples/minimal/package.json b/examples/minimal/package.json index f792c9b96..2fa61a582 100644 --- a/examples/minimal/package.json +++ b/examples/minimal/package.json @@ -10,6 +10,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" } } diff --git a/examples/portfolio/package.json b/examples/portfolio/package.json index fe41095bd..54426be0e 100644 --- a/examples/portfolio/package.json +++ b/examples/portfolio/package.json @@ -10,6 +10,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" } } diff --git a/examples/ssr/package.json b/examples/ssr/package.json index 1a468ec12..8d70ee57c 100644 --- a/examples/ssr/package.json +++ b/examples/ssr/package.json @@ -12,8 +12,8 @@ }, "dependencies": { "@astrojs/node": "^9.0.0-alpha.1", - "@astrojs/svelte": "^6.0.0", - "astro": "^5.0.0-beta.8", + "@astrojs/svelte": "^6.0.2-beta.0", + "astro": "^5.0.0-beta.9", "svelte": "^5.1.16" } } diff --git a/examples/starlog/package.json b/examples/starlog/package.json index ffcae20cc..4c4528784 100644 --- a/examples/starlog/package.json +++ b/examples/starlog/package.json @@ -9,7 +9,7 @@ "astro": "astro" }, "dependencies": { - "astro": "^5.0.0-beta.8", + "astro": "^5.0.0-beta.9", "sass": "^1.80.6", "sharp": "^0.33.3" } diff --git a/examples/toolbar-app/package.json b/examples/toolbar-app/package.json index 5b03d6f85..f2b13f287 100644 --- a/examples/toolbar-app/package.json +++ b/examples/toolbar-app/package.json @@ -15,6 +15,6 @@ "./app": "./dist/app.js" }, "devDependencies": { - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" } } diff --git a/examples/with-markdoc/package.json b/examples/with-markdoc/package.json index 9916a4851..2cc4378a6 100644 --- a/examples/with-markdoc/package.json +++ b/examples/with-markdoc/package.json @@ -11,6 +11,6 @@ }, "dependencies": { "@astrojs/markdoc": "^0.12.0-beta.0", - "astro": "^5.0.0-beta.8" + "astro": "^5.0.0-beta.9" } } diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json index 4642aa9ef..ab172bc1e 100644 --- a/examples/with-mdx/package.json +++ b/examples/with-mdx/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "@astrojs/mdx": "^4.0.0-beta.3", - "@astrojs/preact": "^3.5.3", - "astro": "^5.0.0-beta.8", + "@astrojs/preact": "^3.5.4-beta.0", + "astro": "^5.0.0-beta.9", "preact": "^10.24.3" } } diff --git a/examples/with-nanostores/package.json b/examples/with-nanostores/package.json index 19cd884f9..7ad15fd50 100644 --- a/examples/with-nanostores/package.json +++ b/examples/with-nanostores/package.json @@ -10,9 +10,9 @@ "astro": "astro" }, "dependencies": { - "@astrojs/preact": "^3.5.3", + "@astrojs/preact": "^3.5.4-beta.0", "@nanostores/preact": "^0.5.2", - "astro": "^5.0.0-beta.8", + "astro": "^5.0.0-beta.9", "nanostores": "^0.11.3", "preact": "^10.24.3" } diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json index fcfe676f1..dbc281609 100644 --- a/examples/with-tailwindcss/package.json +++ b/examples/with-tailwindcss/package.json @@ -13,7 +13,7 @@ "@astrojs/mdx": "^4.0.0-beta.3", "@astrojs/tailwind": "^5.1.2", "@types/canvas-confetti": "^1.6.4", - "astro": "^5.0.0-beta.8", + "astro": "^5.0.0-beta.9", "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 24c9cb1b0..c5d1d9529 100644 --- a/examples/with-vitest/package.json +++ b/examples/with-vitest/package.json @@ -11,7 +11,7 @@ "test": "vitest" }, "dependencies": { - "astro": "^5.0.0-beta.8", + "astro": "^5.0.0-beta.9", "vitest": "^2.1.4" } } diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md index 178d2d9c1..c94391811 100644 --- a/packages/astro/CHANGELOG.md +++ b/packages/astro/CHANGELOG.md @@ -1,5 +1,195 @@ # astro +## 5.0.0-beta.9 + +### Minor Changes + +- [#12067](https://github.com/withastro/astro/pull/12067) [`c48916c`](https://github.com/withastro/astro/commit/c48916cc4e6f7c31e3563d04b68a8698d8775b65) Thanks [@stramel](https://github.com/stramel)! - Adds experimental support for built-in SVG components. + + This feature allows you to import SVG files directly into your Astro project as components. By default, Astro will inline the SVG content into your HTML output. + + To enable this feature, set `experimental.svg` to `true` in your Astro config: + + ```js + { + experimental: { + svg: true, + }, + } + ``` + + To use this feature, import an SVG file in your Astro project, passing any common SVG attributes to the imported component. Astro also provides a `size` attribute to set equal `height` and `width` properties: + + ```astro + --- + import Logo from './path/to/svg/file.svg'; + --- + + <Logo size={24} /> + ``` + + For a complete overview, and to give feedback on this experimental API, see the [Feature RFC](https://github.com/withastro/roadmap/pull/1035). + +- [#12329](https://github.com/withastro/astro/pull/12329) [`8309c61`](https://github.com/withastro/astro/commit/8309c61f0dfa5991d3f6c5c5fca4403794d6fda2) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Adds a new `astro:routes:resolved` hook to the Integration API. Also update the `astro:build:done` hook by deprecating `routes` and adding a new `assets` map. + + When building an integration, you can now get access to routes inside the `astro:routes:resolved` hook: + + ```js + const integration = () => { + return { + name: 'my-integration', + hooks: { + 'astro:routes:resolved': ({ routes }) => { + console.log(routes); + }, + }, + }; + }; + ``` + + This hook runs before `astro:config:done`, and whenever a route changes in development. + + The `routes` array from `astro:build:done` is now deprecated, and exposed properties are now available on `astro:routes:resolved`, except for `distURL`. For this, you can use the newly exposed `assets` map: + + ```diff + const integration = () => { + + let routes + return { + name: 'my-integration', + hooks: { + + 'astro:routes:resolved': (params) => { + + routes = params.routes + + }, + 'astro:build:done': ({ + - routes + + assets + }) => { + + for (const route of routes) { + + const distURL = assets.get(route.pattern) + + if (distURL) { + + Object.assign(route, { distURL }) + + } + + } + console.log(routes) + } + } + } + } + ``` + +- [#12377](https://github.com/withastro/astro/pull/12377) [`af867f3`](https://github.com/withastro/astro/commit/af867f3910ecd8fc04a5337f591d84f03192e3fa) Thanks [@ascorbic](https://github.com/ascorbic)! - Adds experimental support for automatic responsive images + + This feature is experimental and may change in future versions. To enable it, set `experimental.responsiveImages` to `true` in your `astro.config.mjs` file. + + ```js title=astro.config.mjs + { + experimental: { + responsiveImages: true, + }, + } + ``` + + When this flag is enabled, you can pass a `layout` prop to any `<Image />` or `<Picture />` component to create a responsive image. When a layout is set, images have automatically generated `srcset` and `sizes` attributes based on the image's dimensions and the layout type. Images with `responsive` and `full-width` layouts will have styles applied to ensure they resize according to their container. + + ```astro + --- + import { Image, Picture } from 'astro:assets'; + import myImage from '../assets/my_image.png'; + --- + + <Image + src={myImage} + alt="A description of my image." + layout="responsive" + width={800} + height={600} + /> + <Picture + src={myImage} + alt="A description of my image." + layout="full-width" + formats={['avif', 'webp', 'jpeg']} + /> + ``` + + This `<Image />` component will generate the following HTML output: + + ```html title=Output + <img + src="/_astro/my_image.hash3.webp" + srcset=" + /_astro/my_image.hash1.webp 640w, + /_astro/my_image.hash2.webp 750w, + /_astro/my_image.hash3.webp 800w, + /_astro/my_image.hash4.webp 828w, + /_astro/my_image.hash5.webp 1080w, + /_astro/my_image.hash6.webp 1280w, + /_astro/my_image.hash7.webp 1600w + " + alt="A description of my image" + sizes="(min-width: 800px) 800px, 100vw" + loading="lazy" + decoding="async" + fetchpriority="auto" + width="800" + height="600" + style="--w: 800; --h: 600; --fit: cover; --pos: center;" + data-astro-image="responsive" + /> + ``` + + #### Responsive image properties + + These are additional properties available to the `<Image />` and `<Picture />` components when responsive images are enabled: + + - `layout`: The layout type for the image. Can be `responsive`, `fixed`, `full-width` or `none`. Defaults to value of `image.experimentalLayout`. + - `fit`: Defines how the image should be cropped if the aspect ratio is changed. Values match those of CSS `object-fit`. Defaults to `cover`, or the value of `image.experimentalObjectFit` if set. + - `position`: Defines the position of the image crop if the aspect ratio is changed. Values match those of CSS `object-position`. Defaults to `center`, or the value of `image.experimentalObjectPosition` if set. + - `priority`: If set, eagerly loads the image. Otherwise images will be lazy-loaded. Use this for your largest above-the-fold image. Defaults to `false`. + + #### Default responsive image settings + + You can enable responsive images for all `<Image />` and `<Picture />` components by setting `image.experimentalLayout` with a default value. This can be overridden by the `layout` prop on each component. + + **Example:** + + ```js title=astro.config.mjs + { + image: { + // Used for all `<Image />` and `<Picture />` components unless overridden + experimentalLayout: 'responsive', + }, + experimental: { + responsiveImages: true, + }, + } + ``` + + ```astro + --- + import { Image } from 'astro:assets'; + import myImage from '../assets/my_image.png'; + --- + + <Image src={myImage} alt="This will use responsive layout" width={800} height={600} /> + + <Image src={myImage} alt="This will use full-width layout" layout="full-width" /> + + <Image src={myImage} alt="This will disable responsive images" layout="none" /> + ``` + + For a complete overview, and to give feedback on this experimental API, see the [Responsive Images RFC](https://github.com/withastro/roadmap/blob/responsive-images/proposals/0053-responsive-images.md). + +- [#12475](https://github.com/withastro/astro/pull/12475) [`3f02d5f`](https://github.com/withastro/astro/commit/3f02d5f12b167514fff6eb9693b4e25c668e7a31) Thanks [@ascorbic](https://github.com/ascorbic)! - Changes the default content config location from `src/content/config.*` to `src/content.config.*`. + + The previous location is still supported, and is required if the `legacy.collections` flag is enabled. + +### Patch Changes + +- [#12424](https://github.com/withastro/astro/pull/12424) [`4364bff`](https://github.com/withastro/astro/commit/4364bff27332e52f92da72392620a36110daee42) Thanks [@ematipico](https://github.com/ematipico)! - Fixes an issue where an incorrect usage of Astro actions was lost when porting the fix from v4 to v5 + +- [#12438](https://github.com/withastro/astro/pull/12438) [`c8f877c`](https://github.com/withastro/astro/commit/c8f877cad2d8f1780f70045413872d5b9d32ebed) Thanks [@ascorbic](https://github.com/ascorbic)! - Fixes a bug where legacy content types were generated for content layer collections if they were in the content directory + ## 5.0.0-beta.8 ### Minor Changes diff --git a/packages/astro/client.d.ts b/packages/astro/client.d.ts index f9badff24..0832344b4 100644 --- a/packages/astro/client.d.ts +++ b/packages/astro/client.d.ts @@ -111,7 +111,7 @@ declare module '*.svg' { type Props = { /** * Accesible, short-text description - * + * * {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title|MDN Reference} */ title?: string; @@ -122,9 +122,9 @@ declare module '*.svg' { /** * Override the default rendering mode for SVGs */ - mode?: import('./dist/assets/utils/svg.js').SvgRenderMode - } & astroHTML.JSX.SVGAttributes - + mode?: import('./dist/assets/utils/svg.js').SvgRenderMode; + } & astroHTML.JSX.SVGAttributes; + const Component: ((_props: Props) => any) & ImageMetadata; export default Component; } diff --git a/packages/astro/package.json b/packages/astro/package.json index 3ca98a18a..67c68dab2 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -1,6 +1,6 @@ { "name": "astro", - "version": "5.0.0-beta.8", + "version": "5.0.0-beta.9", "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/assets/utils/index.ts b/packages/astro/src/assets/utils/index.ts index 98044ac9f..3fae18200 100644 --- a/packages/astro/src/assets/utils/index.ts +++ b/packages/astro/src/assets/utils/index.ts @@ -13,4 +13,4 @@ export { } from './remotePattern.js'; export { hashTransform, propsToFilename } from './transformToPath.js'; export { inferRemoteSize } from './remoteProbe.js'; -export { makeSvgComponent } from './svg.js' +export { makeSvgComponent } from './svg.js'; diff --git a/packages/astro/src/assets/utils/svg.ts b/packages/astro/src/assets/utils/svg.ts index 70088ba64..6f9c54381 100644 --- a/packages/astro/src/assets/utils/svg.ts +++ b/packages/astro/src/assets/utils/svg.ts @@ -1,7 +1,7 @@ import { parse, renderSync } from 'ultrahtml'; -import type { ImageMetadata } from '../types.js'; import type { SvgComponentProps } from '../runtime.js'; import { dropAttributes } from '../runtime.js'; +import type { ImageMetadata } from '../types.js'; function parseSvg(contents: string) { const root = parse(contents); @@ -13,7 +13,11 @@ function parseSvg(contents: string) { export type SvgRenderMode = 'inline' | 'sprite'; -export function makeSvgComponent(meta: ImageMetadata, contents: Buffer | string, options?: { mode?: SvgRenderMode }) { +export function makeSvgComponent( + meta: ImageMetadata, + contents: Buffer | string, + options?: { mode?: SvgRenderMode }, +) { const file = typeof contents === 'string' ? contents : contents.toString('utf-8'); const { attributes, body: children } = parseSvg(file); const props: SvgComponentProps = { diff --git a/packages/astro/src/assets/vite-plugin-assets.ts b/packages/astro/src/assets/vite-plugin-assets.ts index 7cb04c1bd..e09fc1597 100644 --- a/packages/astro/src/assets/vite-plugin-assets.ts +++ b/packages/astro/src/assets/vite-plugin-assets.ts @@ -17,8 +17,8 @@ import { getAssetsPrefix } from './utils/getAssetsPrefix.js'; import { isESMImportedImage } from './utils/imageKind.js'; import { emitESMImage } from './utils/node/emitAsset.js'; import { getProxyCode } from './utils/proxy.js'; -import { hashTransform, propsToFilename } from './utils/transformToPath.js'; import { makeSvgComponent } from './utils/svg.js'; +import { hashTransform, propsToFilename } from './utils/transformToPath.js'; const resolvedVirtualModuleId = '\0' + VIRTUAL_MODULE_ID; @@ -217,7 +217,9 @@ export default function assets({ settings }: { settings: AstroSettings }): vite. if (settings.config.experimental.svg && /\.svg$/.test(id)) { const { contents, ...metadata } = imageMetadata; // We know that the contents are present, as we only emit this property for SVG files - return makeSvgComponent(metadata, contents!, { mode: settings.config.experimental.svg.mode }); + return makeSvgComponent(metadata, contents!, { + mode: settings.config.experimental.svg.mode, + }); } // We can only reliably determine if an image is used on the server, as we need to track its usage throughout the entire build. diff --git a/packages/astro/src/core/config/schema.ts b/packages/astro/src/core/config/schema.ts index af3dd82ea..3ddaf3e0c 100644 --- a/packages/astro/src/core/config/schema.ts +++ b/packages/astro/src/core/config/schema.ts @@ -537,16 +537,16 @@ export const AstroConfigSchema = z.object({ .boolean() .optional() .default(ASTRO_CONFIG_DEFAULTS.experimental.responsiveImages), - svg: z.union([ - z.boolean(), - z - .object({ - mode: z - .union([z.literal('inline'), z.literal('sprite')]) - .optional() - .default(ASTRO_CONFIG_DEFAULTS.experimental.svg.mode), - }) - ]) + svg: z + .union([ + z.boolean(), + z.object({ + mode: z + .union([z.literal('inline'), z.literal('sprite')]) + .optional() + .default(ASTRO_CONFIG_DEFAULTS.experimental.svg.mode), + }), + ]) .optional() .transform((svgConfig) => { // Handle normalization of `experimental.svg` config boolean values diff --git a/packages/astro/src/core/routing/manifest/create.ts b/packages/astro/src/core/routing/manifest/create.ts index 621164084..6dbcf18ae 100644 --- a/packages/astro/src/core/routing/manifest/create.ts +++ b/packages/astro/src/core/routing/manifest/create.ts @@ -8,6 +8,7 @@ import { fileURLToPath } from 'node:url'; import { bold } from 'kleur/colors'; import pLimit from 'p-limit'; import { toRoutingStrategy } from '../../../i18n/utils.js'; +import { runHookRoutesResolved } from '../../../integrations/hooks.js'; import { getPrerenderDefault } from '../../../prerender/utils.js'; import type { AstroConfig } from '../../../types/public/config.js'; import type { RouteData, RoutePart } from '../../../types/public/internal.js'; @@ -20,7 +21,6 @@ import { routeComparator } from '../priority.js'; import { getRouteGenerator } from './generator.js'; import { getPattern } from './pattern.js'; import { getRoutePrerenderOption } from './prerender.js'; -import { runHookRoutesResolved } from '../../../integrations/hooks.js'; const require = createRequire(import.meta.url); interface Item { diff --git a/packages/astro/src/core/sync/index.ts b/packages/astro/src/core/sync/index.ts index 832a55b28..67fdccc54 100644 --- a/packages/astro/src/core/sync/index.ts +++ b/packages/astro/src/core/sync/index.ts @@ -253,20 +253,22 @@ async function syncContentCollections( if (isAstroError(e)) { throw e; } - let configFile + let configFile; try { const contentPaths = getContentPaths(settings.config, fs); - if(contentPaths.config.exists) { + if (contentPaths.config.exists) { const matches = /\/(src\/.+)/.exec(contentPaths.config.url.href); if (matches) { - configFile = matches[1] + configFile = matches[1]; } } } catch { // ignore } - const hint = AstroUserError.is(e) ? e.hint : AstroErrorData.GenerateContentTypesError.hint(configFile); + const hint = AstroUserError.is(e) + ? e.hint + : AstroErrorData.GenerateContentTypesError.hint(configFile); throw new AstroError( { ...AstroErrorData.GenerateContentTypesError, diff --git a/packages/astro/src/types/astro.ts b/packages/astro/src/types/astro.ts index 654652c42..1227ed381 100644 --- a/packages/astro/src/types/astro.ts +++ b/packages/astro/src/types/astro.ts @@ -13,7 +13,7 @@ import type { InjectedScriptStage, InjectedType, } from './public/integrations.js'; -import type { InternalInjectedRoute, RouteData, ResolvedInjectedRoute } from './public/internal.js'; +import type { InternalInjectedRoute, ResolvedInjectedRoute, RouteData } from './public/internal.js'; import type { DevToolbarAppEntry } from './public/toolbar.js'; export type SerializedRouteData = Omit< diff --git a/packages/astro/src/types/public/config.ts b/packages/astro/src/types/public/config.ts index a01dc42cd..16261cd75 100644 --- a/packages/astro/src/types/public/config.ts +++ b/packages/astro/src/types/public/config.ts @@ -1130,11 +1130,11 @@ export interface ViteUserConfig extends OriginalViteUserConfig { * @name markdown.shikiConfig * @typeraw {Partial<ShikiConfig>} * @description - * - * Shiki is our default syntax highlighter. You can configure all options via the `markdown.shikiConfig` object: - * - * ```js title="astro.config.mjs" - * import { defineConfig } from 'astro/config'; + * + * Shiki is our default syntax highlighter. You can configure all options via the `markdown.shikiConfig` object: + * + * ```js title="astro.config.mjs" + * import { defineConfig } from 'astro/config'; * * export default defineConfig({ * markdown: { @@ -1146,7 +1146,7 @@ export interface ViteUserConfig extends OriginalViteUserConfig { * // See note below for using dual light/dark themes * themes: { * light: 'github-light', - * dark: 'github-dark', + * dark: 'github-dark', * }, * // Disable the default colors * // https://shiki.style/guide/dual-themes#without-default-color @@ -1770,7 +1770,7 @@ export interface ViteUserConfig extends OriginalViteUserConfig { * @name experimental.contentIntellisense * @type {boolean} * @default `false` - * @version 5.x + * @version 5.x * @description * * Enables Intellisense features (e.g. code completion, quick hints) for your content collection entries in compatible editors. @@ -1901,7 +1901,7 @@ export interface ViteUserConfig extends OriginalViteUserConfig { * * The `widths` and `sizes` attributes are automatically generated based on the image's dimensions and the layout type, and in most cases should not be set manually. The generated `sizes` attribute for `responsive` and `full-width` images * is based on the assumption that the image is displayed at close to the full width of the screen when the viewport is smaller than the image's width. If it is significantly different (e.g. if it's in a multi-column layout on small screens) you may need to adjust the `sizes` attribute manually for best results. - * + * * The `densities` attribute is not compatible with responsive images and will be ignored if set. */ @@ -1912,13 +1912,13 @@ export interface ViteUserConfig extends OriginalViteUserConfig { * @name experimental.svg * @type {boolean|object} * @default `undefined` - * @version 5.x + * @version 5.x * @description - * + * * This feature allows you to import SVG files directly into your Astro project. By default, Astro will inline the SVG content into your HTML output. - * + * * To enable this feature, set `experimental.svg` to `true` in your Astro config: - * + * * ```js * { * experimental: { @@ -1926,20 +1926,20 @@ export interface ViteUserConfig extends OriginalViteUserConfig { * }, * } * ``` - * + * * To use this feature, import an SVG file in your Astro project, passing any common SVG attributes to the imported component. * Astro also provides a `size` attribute to set equal `height` and `width` properties: - * + * * ```astro * --- * import Logo from './path/to/svg/file.svg'; * --- - * + * * <Logo size={24} /> * ``` - * + * * For a complete overview, and to give feedback on this experimental API, - * see the [Feature RFC](https://github.com/withastro/roadmap/pull/1035). + * see the [Feature RFC](https://github.com/withastro/roadmap/pull/1035). */ svg?: { /** @@ -1947,17 +1947,17 @@ export interface ViteUserConfig extends OriginalViteUserConfig { * @name experimental.svg.mode * @type {string} * @default 'inline' - * + * * The default technique for handling imported SVG files. Astro will inline the SVG content into your HTML output if not specified. - * + * * - `inline`: Astro will inline the SVG content into your HTML output. * - `sprite`: Astro will generate a sprite sheet with all imported SVG files. - * + * * ```astro * --- * import Logo from './path/to/svg/file.svg'; * --- - * + * * <Logo size={24} mode="sprite" /> * ``` */ diff --git a/packages/astro/src/vite-plugin-astro-server/plugin.ts b/packages/astro/src/vite-plugin-astro-server/plugin.ts index 642565161..ab90021b3 100644 --- a/packages/astro/src/vite-plugin-astro-server/plugin.ts +++ b/packages/astro/src/vite-plugin-astro-server/plugin.ts @@ -1,6 +1,7 @@ import { AsyncLocalStorage } from 'node:async_hooks'; import type fs from 'node:fs'; import { IncomingMessage } from 'node:http'; +import { fileURLToPath } from 'node:url'; import type * as vite from 'vite'; import { normalizePath } from 'vite'; import type { SSRManifest, SSRManifestI18n } from '../core/app/types.js'; @@ -14,7 +15,9 @@ import { NOOP_MIDDLEWARE_FN } from '../core/middleware/noop-middleware.js'; import { createViteLoader } from '../core/module-loader/index.js'; import { injectDefaultDevRoutes } from '../core/routing/dev-default.js'; import { createRouteManifest } from '../core/routing/index.js'; +import { getRoutePrerenderOption } from '../core/routing/manifest/prerender.js'; import { toFallbackType, toRoutingStrategy } from '../i18n/utils.js'; +import { runHookRoutesResolved } from '../integrations/hooks.js'; import type { AstroSettings, ManifestData } from '../types/astro.js'; import { baseMiddleware } from './base.js'; import { createController } from './controller.js'; @@ -22,9 +25,6 @@ import { recordServerError } from './error.js'; import { DevPipeline } from './pipeline.js'; import { handleRequest } from './request.js'; import { setRouteError } from './server-state.js'; -import { fileURLToPath } from 'node:url'; -import { getRoutePrerenderOption } from '../core/routing/manifest/prerender.js'; -import { runHookRoutesResolved } from '../integrations/hooks.js'; export interface AstroPluginOptions { settings: AstroSettings; diff --git a/packages/astro/test/core-image-svg.test.js b/packages/astro/test/core-image-svg.test.js index d6134aaf7..e346cb6a7 100644 --- a/packages/astro/test/core-image-svg.test.js +++ b/packages/astro/test/core-image-svg.test.js @@ -53,7 +53,7 @@ describe('astro:assets - SVG Components', () => { assert.equal(!!$(this).attr('mode'), false); const $use = $(this).children('use'); assert.equal($use.length, 0); - }) + }); }); it('Adds the <svg> tag with the definition', () => { @@ -64,7 +64,7 @@ describe('astro:assets - SVG Components', () => { const $symbol = $svg.children('symbol'); assert.equal($symbol.length, 1); assert.equal($symbol.attr('id').startsWith('a:'), true); - + const $use = $svg.children('use'); assert.equal($use.length, 1); assert.equal($use.attr('href').startsWith('#a:'), true); @@ -78,7 +78,7 @@ describe('astro:assets - SVG Components', () => { const $symbol = $svg.children('symbol'); assert.equal($symbol.length, 0); - const definitionId = $('#definition svg symbol').attr('id') + const definitionId = $('#definition svg symbol').attr('id'); const $use = $svg.children('use'); assert.equal($use.length, 1); assert.equal($use.attr('href').startsWith('#a:'), true); @@ -167,13 +167,13 @@ describe('astro:assets - SVG Components', () => { assert.equal($svg.attr('role'), 'img'); assert.equal(!!$svg.attr('mode'), false); - const $symbol = $svg.children('symbol') + const $symbol = $svg.children('symbol'); assert.equal($symbol.length, 0); - const $use = $svg.children('use') + const $use = $svg.children('use'); assert.equal($use.length, 0); const $path = $svg.children('path'); assert.equal($path.length, 1); - }) + }); it('adds the svg into the document directly', () => { let $svg = $('#inline svg'); assert.equal($svg.length, 1); @@ -183,9 +183,9 @@ describe('astro:assets - SVG Components', () => { assert.equal($svg.attr('role'), 'img'); assert.equal(!!$svg.attr('mode'), false); - const $symbol = $svg.children('symbol') + const $symbol = $svg.children('symbol'); assert.equal($symbol.length, 0); - const $use = $svg.children('use') + const $use = $svg.children('use'); assert.equal($use.length, 0); const $path = $svg.children('path'); assert.equal($path.length, 1); @@ -199,13 +199,13 @@ describe('astro:assets - SVG Components', () => { assert.equal($svg.attr('role'), 'img'); assert.equal(!!$svg.attr('mode'), false); - const $symbol = $svg.children('symbol') + const $symbol = $svg.children('symbol'); assert.equal($symbol.length, 0); - const $use = $svg.children('use') + const $use = $svg.children('use'); assert.equal($use.length, 0); const $path = $svg.children('path'); assert.equal($path.length, 1); - }) + }); it('adds the svg into the document as a sprite, overridding the default', () => { let $svg = $('#definition svg'); assert.equal($svg.length, 1); @@ -215,10 +215,10 @@ describe('astro:assets - SVG Components', () => { assert.equal($svg.attr('role'), 'img'); assert.equal(!!$svg.attr('mode'), false); - let $symbol = $svg.children('symbol') + let $symbol = $svg.children('symbol'); assert.equal($symbol.length, 1); assert.equal(!!$symbol.attr('viewBox'), true); - let $use = $svg.children('use') + let $use = $svg.children('use'); assert.equal($use.length, 1); let $path = $svg.children('path'); assert.equal($path.length, 0); @@ -231,14 +231,14 @@ describe('astro:assets - SVG Components', () => { assert.equal($svg.attr('role'), 'img'); assert.equal(!!$svg.attr('mode'), false); - $symbol = $svg.children('symbol') + $symbol = $svg.children('symbol'); assert.equal($symbol.length, 0); assert.equal(!!$symbol.attr('viewBox'), false); - $use = $svg.children('use') + $use = $svg.children('use'); assert.equal($use.length, 1); $path = $svg.children('path'); assert.equal($path.length, 0); - }) + }); }); describe('title', () => { let $; @@ -255,7 +255,7 @@ describe('astro:assets - SVG Components', () => { const $title = $('#base svg > title'); assert.equal($title.length, 1); - assert.equal($title.text(), 'GitHub Logo') + assert.equal($title.text(), 'GitHub Logo'); }); }); describe('strip', () => { @@ -291,11 +291,11 @@ describe('astro:assets - SVG Components', () => { assert.equal($svg.attr('class'), 'foobar'); assert.equal($svg.attr('data-state'), 'open'); - const $symbol = $svg.children('symbol') + const $symbol = $svg.children('symbol'); assert.equal($symbol.length, 0); - const $use = $svg.children('use') + const $use = $svg.children('use'); assert.equal($use.length, 0); - const $path = $svg.children('path') + const $path = $svg.children('path'); assert.equal($path.length, 1); }); it('allows overriding the role attribute', () => { @@ -337,7 +337,6 @@ describe('astro:assets - SVG Components', () => { useId = $('.two.use svg > use').attr('id'); assert.equal(defId, useId); - // Third SVG $svg = $('.three svg'); assert.equal($svg.length, 1); @@ -372,9 +371,11 @@ describe('astro:assets - SVG Components', () => { const $svg = $('svg'); assert.equal($svg.length, 2); - $svg.each(function() { assert.equal($(this).attr('role'), 'img') }); + $svg.each(function () { + assert.equal($(this).attr('role'), 'img'); + }); - const definitionId = $($svg[0]).children('symbol').attr('id') + const definitionId = $($svg[0]).children('symbol').attr('id'); const $reuse = $($svg[1]); const $symbol = $reuse.children('symbol'); diff --git a/packages/astro/test/data-collections-schema.test.js b/packages/astro/test/data-collections-schema.test.js index 119cf8542..ff405dca4 100644 --- a/packages/astro/test/data-collections-schema.test.js +++ b/packages/astro/test/data-collections-schema.test.js @@ -1,8 +1,8 @@ // @ts-check import assert from 'node:assert/strict'; import { before, describe, it } from 'node:test'; -import { loadFixture } from './test-utils.js'; import { removeDir } from '@astrojs/internal-helpers/fs'; +import { loadFixture } from './test-utils.js'; describe('Content Collections - data collections', () => { let fixture; diff --git a/packages/integrations/preact/CHANGELOG.md b/packages/integrations/preact/CHANGELOG.md index b7138a78d..1673a8415 100644 --- a/packages/integrations/preact/CHANGELOG.md +++ b/packages/integrations/preact/CHANGELOG.md @@ -1,5 +1,11 @@ # @astrojs/preact +## 3.5.4-beta.0 + +### Patch Changes + +- [#12481](https://github.com/withastro/astro/pull/12481) [`8a46e80`](https://github.com/withastro/astro/commit/8a46e8074d6afb4a23badbd59ed239d526294e8c) Thanks [@marbrex](https://github.com/marbrex)! - Resolve `vite` peer dependency problem for strict package managers like **Yarn in PnP mode**. + ## 3.5.3 ### Patch Changes diff --git a/packages/integrations/preact/package.json b/packages/integrations/preact/package.json index b441bca21..d039c95ff 100644 --- a/packages/integrations/preact/package.json +++ b/packages/integrations/preact/package.json @@ -1,7 +1,7 @@ { "name": "@astrojs/preact", "description": "Use Preact components within Astro", - "version": "3.5.3", + "version": "3.5.4-beta.0", "type": "module", "types": "./dist/index.d.ts", "author": "withastro", diff --git a/packages/integrations/react/CHANGELOG.md b/packages/integrations/react/CHANGELOG.md index 65eb7056c..777f6b75b 100644 --- a/packages/integrations/react/CHANGELOG.md +++ b/packages/integrations/react/CHANGELOG.md @@ -1,5 +1,11 @@ # @astrojs/react +## 3.6.3-beta.0 + +### Patch Changes + +- [#12481](https://github.com/withastro/astro/pull/12481) [`8a46e80`](https://github.com/withastro/astro/commit/8a46e8074d6afb4a23badbd59ed239d526294e8c) Thanks [@marbrex](https://github.com/marbrex)! - Resolve `vite` peer dependency problem for strict package managers like **Yarn in PnP mode**. + ## 3.6.2 ### Patch Changes diff --git a/packages/integrations/react/package.json b/packages/integrations/react/package.json index 0010b7fdf..1ce3c5032 100644 --- a/packages/integrations/react/package.json +++ b/packages/integrations/react/package.json @@ -1,7 +1,7 @@ { "name": "@astrojs/react", "description": "Use React components within Astro", - "version": "3.6.2", + "version": "3.6.3-beta.0", "type": "module", "types": "./dist/index.d.ts", "author": "withastro", diff --git a/packages/integrations/solid/CHANGELOG.md b/packages/integrations/solid/CHANGELOG.md index 2ded2af1e..845b016f1 100644 --- a/packages/integrations/solid/CHANGELOG.md +++ b/packages/integrations/solid/CHANGELOG.md @@ -1,5 +1,11 @@ # @astrojs/solid-js +## 4.4.4-beta.0 + +### Patch Changes + +- [#12481](https://github.com/withastro/astro/pull/12481) [`8a46e80`](https://github.com/withastro/astro/commit/8a46e8074d6afb4a23badbd59ed239d526294e8c) Thanks [@marbrex](https://github.com/marbrex)! - Resolve `vite` peer dependency problem for strict package managers like **Yarn in PnP mode**. + ## 4.4.3 ### Patch Changes diff --git a/packages/integrations/solid/package.json b/packages/integrations/solid/package.json index b798a69a0..f46629d0f 100644 --- a/packages/integrations/solid/package.json +++ b/packages/integrations/solid/package.json @@ -1,6 +1,6 @@ { "name": "@astrojs/solid-js", - "version": "4.4.3", + "version": "4.4.4-beta.0", "description": "Use Solid components within Astro", "type": "module", "types": "./dist/index.d.ts", diff --git a/packages/integrations/svelte/CHANGELOG.md b/packages/integrations/svelte/CHANGELOG.md index 5a8cf5355..f609cdfe0 100644 --- a/packages/integrations/svelte/CHANGELOG.md +++ b/packages/integrations/svelte/CHANGELOG.md @@ -1,5 +1,14 @@ # @astrojs/svelte +## 6.0.2-beta.0 + +### Patch Changes + +- [#12481](https://github.com/withastro/astro/pull/12481) [`8a46e80`](https://github.com/withastro/astro/commit/8a46e8074d6afb4a23badbd59ed239d526294e8c) Thanks [@marbrex](https://github.com/marbrex)! - Resolve `vite` peer dependency problem for strict package managers like **Yarn in PnP mode**. + +- Updated dependencies [[`c48916c`](https://github.com/withastro/astro/commit/c48916cc4e6f7c31e3563d04b68a8698d8775b65), [`4364bff`](https://github.com/withastro/astro/commit/4364bff27332e52f92da72392620a36110daee42), [`c8f877c`](https://github.com/withastro/astro/commit/c8f877cad2d8f1780f70045413872d5b9d32ebed), [`8309c61`](https://github.com/withastro/astro/commit/8309c61f0dfa5991d3f6c5c5fca4403794d6fda2), [`af867f3`](https://github.com/withastro/astro/commit/af867f3910ecd8fc04a5337f591d84f03192e3fa), [`3f02d5f`](https://github.com/withastro/astro/commit/3f02d5f12b167514fff6eb9693b4e25c668e7a31)]: + - astro@5.0.0-beta.9 + ## 6.0.1 ### Patch Changes diff --git a/packages/integrations/svelte/package.json b/packages/integrations/svelte/package.json index e88e6d5e7..2d6aebe34 100644 --- a/packages/integrations/svelte/package.json +++ b/packages/integrations/svelte/package.json @@ -1,6 +1,6 @@ { "name": "@astrojs/svelte", - "version": "6.0.1", + "version": "6.0.2-beta.0", "description": "Use Svelte components within Astro", "type": "module", "types": "./dist/index.d.ts", @@ -49,7 +49,7 @@ "svelte": "^5.1.16" }, "peerDependencies": { - "astro": "^4.0.0", + "astro": "^5.0.0-beta.9", "svelte": "^5.1.16", "typescript": "^5.3.3" }, diff --git a/packages/integrations/vue/CHANGELOG.md b/packages/integrations/vue/CHANGELOG.md index 764f28483..9763a370e 100644 --- a/packages/integrations/vue/CHANGELOG.md +++ b/packages/integrations/vue/CHANGELOG.md @@ -1,5 +1,11 @@ # @astrojs/vue +## 5.0.0-beta.2 + +### Patch Changes + +- [#12481](https://github.com/withastro/astro/pull/12481) [`8a46e80`](https://github.com/withastro/astro/commit/8a46e8074d6afb4a23badbd59ed239d526294e8c) Thanks [@marbrex](https://github.com/marbrex)! - Resolve `vite` peer dependency problem for strict package managers like **Yarn in PnP mode**. + ## 5.0.0-beta.1 ### Patch Changes diff --git a/packages/integrations/vue/package.json b/packages/integrations/vue/package.json index 5817fab62..9b144f83c 100644 --- a/packages/integrations/vue/package.json +++ b/packages/integrations/vue/package.json @@ -1,6 +1,6 @@ { "name": "@astrojs/vue", - "version": "5.0.0-beta.1", + "version": "5.0.0-beta.2", "description": "Use Vue components within Astro", "type": "module", "types": "./dist/index.d.ts", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fd4f68450..860008b24 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,7 +146,7 @@ importers: examples/basics: dependencies: astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/blog: @@ -161,22 +161,22 @@ importers: specifier: ^3.2.1 version: link:../../packages/integrations/sitemap astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/component: devDependencies: astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/container-with-vitest: dependencies: '@astrojs/react': - specifier: ^3.6.2 + specifier: ^3.6.3-beta.0 version: link:../../packages/integrations/react astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro react: specifier: ^18.3.1 @@ -207,25 +207,25 @@ importers: specifier: ^3.14.3 version: 3.14.3 astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/framework-multiple: dependencies: '@astrojs/preact': - specifier: ^3.5.3 + specifier: ^3.5.4-beta.0 version: link:../../packages/integrations/preact '@astrojs/react': - specifier: ^3.6.2 + specifier: ^3.6.3-beta.0 version: link:../../packages/integrations/react '@astrojs/solid-js': - specifier: ^4.4.3 + specifier: ^4.4.4-beta.0 version: link:../../packages/integrations/solid '@astrojs/svelte': - specifier: ^6.0.0-beta.2 + specifier: ^6.0.2-beta.0 version: link:../../packages/integrations/svelte '@astrojs/vue': - specifier: ^5.0.0-beta.1 + specifier: ^5.0.0-beta.2 version: link:../../packages/integrations/vue '@types/react': specifier: ^18.3.12 @@ -234,7 +234,7 @@ importers: specifier: ^18.3.1 version: 18.3.1 astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro preact: specifier: ^10.24.3 @@ -258,13 +258,13 @@ importers: examples/framework-preact: dependencies: '@astrojs/preact': - specifier: ^3.5.3 + specifier: ^3.5.4-beta.0 version: link:../../packages/integrations/preact '@preact/signals': specifier: ^1.3.0 version: 1.3.0(preact@10.24.3) astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro preact: specifier: ^10.24.3 @@ -273,7 +273,7 @@ importers: examples/framework-react: dependencies: '@astrojs/react': - specifier: ^3.6.2 + specifier: ^3.6.3-beta.0 version: link:../../packages/integrations/react '@types/react': specifier: ^18.3.12 @@ -282,7 +282,7 @@ importers: specifier: ^18.3.1 version: 18.3.1 astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro react: specifier: ^18.3.1 @@ -294,10 +294,10 @@ importers: examples/framework-solid: dependencies: '@astrojs/solid-js': - specifier: ^4.4.3 + specifier: ^4.4.4-beta.0 version: link:../../packages/integrations/solid astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro solid-js: specifier: ^1.9.2 @@ -306,10 +306,10 @@ importers: examples/framework-svelte: dependencies: '@astrojs/svelte': - specifier: ^6.0.0 + specifier: ^6.0.2-beta.0 version: link:../../packages/integrations/svelte astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro svelte: specifier: ^5.1.16 @@ -318,10 +318,10 @@ importers: examples/framework-vue: dependencies: '@astrojs/vue': - specifier: ^5.0.0-beta.1 + specifier: ^5.0.0-beta.2 version: link:../../packages/integrations/vue astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro vue: specifier: ^3.5.12 @@ -333,25 +333,25 @@ importers: specifier: ^9.0.0-alpha.1 version: 9.0.0-alpha.1(astro@packages+astro) astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/integration: devDependencies: astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/minimal: dependencies: astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/portfolio: dependencies: astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/ssr: @@ -360,10 +360,10 @@ importers: specifier: ^9.0.0-alpha.1 version: 9.0.0-alpha.1(astro@packages+astro) '@astrojs/svelte': - specifier: ^6.0.0 + specifier: ^6.0.2-beta.0 version: link:../../packages/integrations/svelte astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro svelte: specifier: ^5.1.16 @@ -372,7 +372,7 @@ importers: examples/starlog: dependencies: astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro sass: specifier: ^1.80.6 @@ -384,7 +384,7 @@ importers: examples/toolbar-app: devDependencies: astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/with-markdoc: @@ -393,7 +393,7 @@ importers: specifier: ^0.12.0-beta.0 version: link:../../packages/integrations/markdoc astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro examples/with-mdx: @@ -402,10 +402,10 @@ importers: specifier: ^4.0.0-beta.3 version: link:../../packages/integrations/mdx '@astrojs/preact': - specifier: ^3.5.3 + specifier: ^3.5.4-beta.0 version: link:../../packages/integrations/preact astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro preact: specifier: ^10.24.3 @@ -414,13 +414,13 @@ importers: examples/with-nanostores: dependencies: '@astrojs/preact': - specifier: ^3.5.3 + specifier: ^3.5.4-beta.0 version: link:../../packages/integrations/preact '@nanostores/preact': specifier: ^0.5.2 version: 0.5.2(nanostores@0.11.3)(preact@10.24.3) astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro nanostores: specifier: ^0.11.3 @@ -441,7 +441,7 @@ importers: specifier: ^1.6.4 version: 1.6.4 astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro autoprefixer: specifier: ^10.4.20 @@ -459,7 +459,7 @@ importers: examples/with-vitest: dependencies: astro: - specifier: ^5.0.0-beta.8 + specifier: ^5.0.0-beta.9 version: link:../../packages/astro vitest: specifier: ^2.1.4 @@ -4399,7 +4399,7 @@ importers: version: 8.3.4(astro@packages+astro) '@astrojs/react': specifier: ^3.6.2 - version: link:../../../../integrations/react + version: 3.6.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@6.0.0-beta.6(@types/node@18.19.50)(jiti@1.21.6)(sass@1.81.0)(yaml@2.5.1)) '@types/react': specifier: ^18.3.12 version: 18.3.12 @@ -4490,37 +4490,6 @@ importers: packages/integrations/cloudflare: {} - packages/integrations/lit: - dependencies: - '@lit-labs/ssr': - specifier: ^3.2.2 - version: 3.2.2 - '@lit-labs/ssr-client': - specifier: ^1.1.7 - version: 1.1.7 - '@lit-labs/ssr-dom-shim': - specifier: ^1.2.1 - version: 1.2.1 - parse5: - specifier: ^7.2.1 - version: 7.2.1 - devDependencies: - astro: - specifier: workspace:* - version: link:../../astro - astro-scripts: - specifier: workspace:* - version: link:../../../scripts - cheerio: - specifier: 1.0.0 - version: 1.0.0 - lit: - specifier: ^3.2.1 - version: 3.2.1 - sass: - specifier: ^1.80.6 - version: 1.81.0 - packages/integrations/markdoc: dependencies: '@astrojs/internal-helpers': @@ -5670,6 +5639,15 @@ packages: peerDependencies: astro: ^5.0.0-alpha.0 + '@astrojs/react@3.6.2': + resolution: {integrity: sha512-fK29lYI7zK/KG4ZBy956x4dmauZcZ18osFkuyGa8r3gmmCQa2NZ9XNu9WaVYEUm0j89f4Gii4tbxLoyM8nk2MA==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + peerDependencies: + '@types/react': ^17.0.50 || ^18.0.21 + '@types/react-dom': ^17.0.17 || ^18.0.6 + react: ^17.0.2 || ^18.0.0 || ^19.0.0-beta + react-dom: ^17.0.2 || ^18.0.0 || ^19.0.0-beta + '@astrojs/yaml2ts@0.2.1': resolution: {integrity: sha512-CBaNwDQJz20E5WxzQh4thLVfhB3JEEGz72wRA+oJp6fQR37QLAqXZJU0mHC+yqMOQ6oj0GfRPJrz6hjf+zm6zA==} @@ -6855,16 +6833,9 @@ packages: cpu: [x64] os: [win32] - '@lit-labs/ssr-client@1.1.7': - resolution: {integrity: sha512-VvqhY/iif3FHrlhkzEPsuX/7h/NqnfxLwVf0p8ghNIlKegRyRqgeaJevZ57s/u/LiFyKgqksRP5n+LmNvpxN+A==} - '@lit-labs/ssr-dom-shim@1.2.1': resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} - '@lit-labs/ssr@3.2.2': - resolution: {integrity: sha512-He5TzeNPM9ECmVpgXRYmVlz0UA5YnzHlT43kyLi2Lu6mUidskqJVonk9W5K699+2DKhoXp8Ra4EJmHR6KrcW1Q==} - engines: {node: '>=13.9.0'} - '@lit/reactive-element@2.0.4': resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} @@ -6990,9 +6961,6 @@ packages: resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} engines: {node: '>= 10.0.0'} - '@parse5/tools@0.3.0': - resolution: {integrity: sha512-zxRyTHkqb7WQMV8kTNBKWb1BeOFUKXBXTBWuxg9H9hfvQB3IwP6Iw2U75Ia5eyRxPNltmY7E8YAlz6zWwUnjKg==} - '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -7290,9 +7258,6 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@16.18.119': - resolution: {integrity: sha512-ia7V9a2FnhUFfetng4/sRPBMTwHZUkPFY736rb1cg9AgG7MZdR97q7/nLR9om+sq5f1la9C857E0l/nrI0RiFQ==} - '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} @@ -8334,10 +8299,6 @@ packages: encoding-sniffer@0.2.0: resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} - enhanced-resolve@5.17.1: - resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} - engines: {node: '>=10.13.0'} - enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -10637,10 +10598,6 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -11567,6 +11524,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@astrojs/react@3.6.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@6.0.0-beta.6(@types/node@18.19.50)(jiti@1.21.6)(sass@1.81.0)(yaml@2.5.1))': + dependencies: + '@types/react': 18.3.12 + '@types/react-dom': 18.3.1 + '@vitejs/plugin-react': 4.3.3(vite@6.0.0-beta.6(@types/node@18.19.50)(jiti@1.21.6)(sass@1.81.0)(yaml@2.5.1)) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + ultrahtml: 1.5.3 + transitivePeerDependencies: + - supports-color + - vite + '@astrojs/yaml2ts@0.2.1': dependencies: yaml: 2.5.1 @@ -12740,28 +12709,8 @@ snapshots: '@libsql/win32-x64-msvc@0.4.5': optional: true - '@lit-labs/ssr-client@1.1.7': - dependencies: - '@lit/reactive-element': 2.0.4 - lit: 3.2.1 - lit-html: 3.2.0 - '@lit-labs/ssr-dom-shim@1.2.1': {} - '@lit-labs/ssr@3.2.2': - dependencies: - '@lit-labs/ssr-client': 1.1.7 - '@lit-labs/ssr-dom-shim': 1.2.1 - '@lit/reactive-element': 2.0.4 - '@parse5/tools': 0.3.0 - '@types/node': 16.18.119 - enhanced-resolve: 5.17.1 - lit: 3.2.1 - lit-element: 4.1.0 - lit-html: 3.2.0 - node-fetch: 3.3.2 - parse5: 7.2.1 - '@lit/reactive-element@2.0.4': dependencies: '@lit-labs/ssr-dom-shim': 1.2.1 @@ -12896,10 +12845,6 @@ snapshots: '@parcel/watcher-win32-x64': 2.4.1 optional: true - '@parse5/tools@0.3.0': - dependencies: - parse5: 7.2.1 - '@pkgjs/parseargs@0.11.0': optional: true @@ -13186,8 +13131,6 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@16.18.119': {} - '@types/node@17.0.45': {} '@types/node@18.19.50': @@ -14257,11 +14200,6 @@ snapshots: iconv-lite: 0.6.3 whatwg-encoding: 3.1.1 - enhanced-resolve@5.17.1: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -17232,8 +17170,6 @@ snapshots: transitivePeerDependencies: - ts-node - tapable@2.2.1: {} - tar@6.2.1: dependencies: chownr: 2.0.0 diff --git a/scripts/cmd/build.js b/scripts/cmd/build.js index ac1a7b6e8..5de957c5a 100644 --- a/scripts/cmd/build.js +++ b/scripts/cmd/build.js @@ -73,7 +73,7 @@ export default async function build(...args) { entryPoints, outdir, outExtension: forceCJS ? { '.js': '.cjs' } : {}, - format + format, }); return; } |