diff --git a/.changeset/pre.json b/.changeset/pre.json index a08df62b1c29..fa0e79b5c0d7 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 7073ff822afe..dbedbb0e999c 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 0e13ddef6dcb..0ae87a1117fa 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 27c20d0592e8..df329888a170 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 5cb0084ac1c6..40a5ad19e75b 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 698088fcfe5c..82296fd493d7 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 bca3430009bc..8756e8786fda 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 445c836fcfff..6d0e701040a1 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 b0541cba7cd4..da22ea8806e2 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 da283570d951..6eef341613b5 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 56e22f6be56f..22c8b22ba353 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 ae8a1403f34d..d552611897d8 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 71bdd46ea7ff..04330f9699a2 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 b591fedb5812..e2c6d1b82715 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 f792c9b96a9c..2fa61a582eb4 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 fe41095bdd51..54426be0e31e 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 1a468ec1238c..8d70ee57ce78 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 ffcae20cca4c..4c4528784078 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 5b03d6f85e2e..f2b13f2874fc 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 9916a485102d..2cc4378a6511 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 4642aa9ef490..ab172bc1ee92 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 19cd884f955f..7ad15fd50665 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 fcfe676f1784..dbc281609360 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 24c9cb1b02d3..c5d1d9529500 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 178d2d9c1b8e..c9439181153f 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'; + --- + + + ``` + + 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 `` or `` 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'; + --- + + A description of my image. + + ``` + + This `` component will generate the following HTML output: + + ```html title=Output + A description of my image + ``` + + #### Responsive image properties + + These are additional properties available to the `` and `` 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 `` and `` 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 `` and `` components unless overridden + experimentalLayout: 'responsive', + }, + experimental: { + responsiveImages: true, + }, + } + ``` + + ```astro + --- + import { Image } from 'astro:assets'; + import myImage from '../assets/my_image.png'; + --- + + This will use responsive layout + + This will use full-width layout + + This will disable responsive images + ``` + + 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 f9badff24526..0832344b4ffd 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 3ca98a18a518..67c68dab2cfb 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 98044ac9fa1c..3fae182000fa 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 70088ba64a7c..6f9c54381c51 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 7cb04c1bde6a..e09fc1597550 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 af3dd82ea47a..3ddaf3e0c292 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 621164084e9f..6dbcf18aee68 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 832a55b2827f..67fdccc54338 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 654652c422b3..1227ed381aa7 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 a01dc42cd7bb..16261cd759ba 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} * @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'; * --- - * + * * * ``` - * + * * 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'; * --- - * + * * * ``` */ diff --git a/packages/astro/src/vite-plugin-astro-server/plugin.ts b/packages/astro/src/vite-plugin-astro-server/plugin.ts index 642565161b61..ab90021b325d 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 d6134aaf775c..e346cb6a725d 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 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 119cf854272e..ff405dca47c6 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 b7138a78d25d..1673a8415773 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 b441bca21a84..d039c95ff33d 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 65eb7056cbd8..777f6b75ba55 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 0010b7fdf5dd..1ce3c5032e43 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 2ded2af1eeef..845b016f1485 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 b798a69a0cb7..f46629d0ff65 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 5a8cf5355925..f609cdfe0524 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 e88e6d5e71dd..2d6aebe34bf9 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 764f28483d58..9763a370e660 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 5817fab62d17..9b144f83ce96 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 fd4f6845005d..860008b24815 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 ac1a7b6e8521..5de957c5a87c 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; }