Patch Changes
-
#11459
bc2e74d
Thanks @mingjunlu! - Fixes false positive audit warnings on elements with the role "tabpanel". -
#11472
cb4e6d0
Thanks @delucis! - Avoids targeting all files in thesrc/
directory for eager optimization by Vite. After this change, only JSX, Vue, Svelte, and Astro components get scanned for early optimization. -
#11387
b498461
Thanks @bluwy! - Fixes prerendering not removing unused dynamic imported chunks -
#11437
6ccb30e
Thanks @NuroDev! - Fixes a case where Astro's configexperimental.env.schema
keys did not allow numbers. Numbers are still not allowed as the first character to be able to generate valid JavaScript identifiers -
#11439
08baf56
Thanks @bholmesdev! - Expands theisInputError()
utility fromastro:actions
to accept errors of any type. This should now allow type narrowing from a try / catch block.// example.ts import { actions, isInputError } from 'astro:actions'; try { await actions.like(new FormData()); } catch (error) { if (isInputError(error)) { console.log(error.fields); } }
-
#11452
0e66849
Thanks @FugiTech! - Fixes an issue where using .nullish() in a formdata Astro action would always parse as a string -
#11438
619f07d
Thanks @bholmesdev! - Exposes utility types fromastro:actions
for thedefineAction
handler (ActionHandler
) and theActionError
code (ActionErrorCode
). -
#11456
17e048d
Thanks @RickyC0626! - Fixesastro dev --open
unexpected behavior that spawns a new tab every time a config file is saved -
#11337
0a4b31f
Thanks @florian-lefebvre! - Adds a new propertyexperimental.env.validateSecrets
to allow validating private variables on the server.By default, this is set to
false
and only public variables are checked on start. If enabled, secrets will also be checked on start (dev/build modes). This is useful for example in some CIs to make sure all your secrets are correctly set before deploying.// astro.config.mjs import { defineConfig, envField } from 'astro/config'; export default defineConfig({ experimental: { env: { schema: { // ... }, validateSecrets: true, }, }, });
-
#11443
ea4bc04
Thanks @bholmesdev! - Expose newActionReturnType
utility fromastro:actions
. This infers the return type of an action by passingtypeof actions.name
as a type argument. This example defines alike
action that returnslikes
as an object:// actions/index.ts import { defineAction } from 'astro:actions'; export const server = { like: defineAction({ handler: () => { /* ... */ return { likes: 42 }; }, }), };
In your client code, you can infer this handler return value with
ActionReturnType
:// client.ts import { actions, ActionReturnType } from 'astro:actions'; type LikesResult = ActionReturnType<typeof actions.like>; // -> { likes: number }
-
#11436
7dca68f
Thanks @bholmesdev! - Fixesastro:actions
autocompletion for thedefineAction
accept
property -
#11455
645e128
Thanks @florian-lefebvre! - Improvesastro:env
invalid variables errors