Planning Astro 6.0 #1174
Replies: 34 comments 68 replies
-
|
Beta Was this translation helpful? Give feedback.
-
Since it is a breaking change anyway we could consider exposing the v4 API by taking in Standard Schema. This way people using zod provided by us can continue to do so but we enable people to use any validator they want (as long as it is compatible), which has been asked multiple times. |
Beta Was this translation helpful? Give feedback.
-
Rolldown support would be really nice. It would be nice to finally deprecate implicit head behavior (this is where you can omit the |
Beta Was this translation helpful? Give feedback.
-
Remove node 18 support |
Beta Was this translation helpful? Give feedback.
-
Breaking change: stop exporting our zod dependency to users, and let users use their own version. Having users depending on our version comes with a lot of strings attached. Among them, the difficulty to upgrade zod as we want. |
Beta Was this translation helpful? Give feedback.
-
Breaking change: use Internally, we use |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Unsure if this is planned, but one breaking change would be to make |
Beta Was this translation helpful? Give feedback.
-
Check todos in the codebase to see if some things could be cleaned up |
Beta Was this translation helpful? Give feedback.
-
In case Rolldown support lands in Vite 7, taking another look at CSP in dev mode might be interesting! |
Beta Was this translation helpful? Give feedback.
-
I wonder if we should disallow using
What do you think? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Deprecate config values not provided by |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
-
Enable Rather than a legacy flag for backwards compatibility, users can add a rehype plugin to preserve the old behaviour. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Is |
Beta Was this translation helpful? Give feedback.
-
Hopefully not a breaking change, but it requires some exploration beforehand. Remove the use of Not sure if there's an alternative, but the use of this pattern was chosen because actions were initially created as an integration. |
Beta Was this translation helpful? Give feedback.
-
I am quite excited to be able to use the Vite Environment API in Astro integrations. The execution order of the integration I currently maintain is brittle. I could see this removing a majority of the glue code. This is because different tools and adapters make assumptions of when code will run, where it exists (disk, virtual, etc.), what environment we are in. For example, in Qwik's Astro integration we need two separate processes in order to run the server and vite client build. Astro expects to always run the server build initially
Qwik expects the opposite. The client build is expected to run first, and pass this information over to the server build. It also expects certain code split files in the dist. This has always been difficult to reason about with Astro's adapters, and integration API, and has been a majority of our issues. There are some tricks that I've used to get it to work, such as injecting into the built files, virtual modules, finding some way to collect the information, but it always tends to lead to more issues filed and clever hacks. It seems with the environment api both could be done in the same process, and we could more easily coordinate how the application is built. Making Astro's integration ecosystem more stable. In particular I would like to be able to run Qwik's client build before Astro's server build. |
Beta Was this translation helpful? Give feedback.
-
Add optional path parameters like in SvelteKithttps://svelte.dev/docs/kit/advanced-routing#Optional-parameters Would be extremely useful for e.g. i18n if one would want not to have a prefix for the default locale (assuming that the pages' content is fetched from an API/translation store): Example i18n setup:
---
// src/pages/[[lang]]/some-page.astro
import { getYourTranslations } from "@/some/module"
const lang = Astro.params.lang || "en"; // let's assume that english is the default lang
const translations = getYourTranslations(lang); // for example, fetch your translations like this, could be done either way
---
<p>{translations.someText}</p>
What do you guys think? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Vite Environment API support! This would be really nice for easier Cloudflare workers integration, |
Beta Was this translation helpful? Give feedback.
-
GitHub-style admonitions. Would be great to keep your content portable |
Beta Was this translation helpful? Give feedback.
-
Is there a reason templates have to use Astro templating language? Can we let people write their own template integrations like Vue templates or other formats to plug into Astro? |
Beta Was this translation helpful? Give feedback.
-
One source of confusion that would be nice to improve is For example, One idea was having an option called Previous discussions:
I prefer having |
Beta Was this translation helpful? Give feedback.
-
Another small fix, but possibly breaking change, would be never upscaling images with the image service. The current behavior is unexpected withastro/astro#13186 (comment) and the exception/old behavior doesn’t match the documentation:
Manual filtering of image sizes adds friction and is error prone. I just don’t see a use case for upscaling images. If a user wants to upscale an image, they should use an AI upscaler. If it’s pixel art, they should use css image-rendering. Otherwise, it’s just shipping a lower-quality image while using more bandwidth. |
Beta Was this translation helpful? Give feedback.
-
Respect
Astro uses the function internally https://github.com/withastro/astro/blob/667bd64a28ca26bbbc50d17abf0b137f803e450d/packages/astro/src/core/create-vite.ts#L243 , so I’m unsure why this option can’t be set via the config, vite plugins, or astro plugins. I don’t see any alternatives that offer the same flexibility as It’s a major blocker for me. If I could make only one change, this would be it. I would love to hear of workarounds if there are any. |
Beta Was this translation helpful? Give feedback.
-
Proposal: framework-first islands that “just work” across nested trees. The idea is to:
This directly addresses:
Full Discussion: Framework-first islands (streaming SSR, shared Context & Hydration) (1239) |
Beta Was this translation helpful? Give feedback.
-
React compiler is nice to have. It is live and we can use it under some parameter flag in the react integration. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Important
This is not final. It only helps use knowing what to prioritize/aim for.
Let's start talking about what we want to tackle in Astro v6 (stabilizations, deprecations, removals, breaking changes...)! Here is what I'd like to see tackled:
@astrojs/vite-plugin-fonts
package)>=3.25.0
to support v3 and v4. Will require types constraints updatesPlease share what you'd realistically want!
Beta Was this translation helpful? Give feedback.
All reactions