Astro 2.2

Por
Matthew Phillips

¡Astro 2.2 está disponible! Este lanzamiento incluye:

Adicionalmente, Astro 2.2 incluye 8 cambios de patch y fue lanzado junto con 8 integraciones con lanzamientos de patch.

Ejecuta npm i astro@latest para actualizar a la última versión.

Soporte de CDN

En 2.2 ahora puedes configurar Astro para apuntar a un CDN para cargar tus assets. En tu configuración de Astro:

import { defineConfig } from "astro/config"
export default defineConfig({
build: {
assetsPrefix: "https://cdn.example.com",
},
})

Los enlaces para cualquier asset, script y stylesheet después de ejecutar astro build serán prefijados con la URL configurada. Esto aplica tanto en modo SSG como SSR.

<link rel="stylesheet" href="https://cdn.example.com/_astro/global.css" />

Los assets todavía se construyen en tu carpeta dist/, como siempre. Necesitarás configurar tus scripts de despliegue para desplegar dist/_astro/ en tu CDN.

Cambio en la API del schema image()

En 2.2 el helper de schema image() en la API experimental de assets se ha movido a un callback donde se define el schema.

import { defineCollection, z } from "astro:content"
const blog = defineCollection({
schema: ({ image }) =>
z.object({
image: image().refine((img) => img.width >= 200, {
message: "image too small",
}),
}),
})

Anteriormente, image() se importaba directamente desde 'astro:content'. Sin embargo, esto creaba bugs donde Astro no podía resolver correctamente assets de imágenes relativas definidos en el frontmatter. Proporcionar el helper como un callback se alinea con cómo Zod sugiere implementar referencias contextuales.

Esta nueva asignación de schema basada en callback está actualmente solo disponible con assets experimentales habilitados. Si no estás usando el helper image(), puedes continuar asignando los schemas directamente a la propiedad schema en la colección.

Prueba Astro 2.2

Gracias a todos los que contribuyeron a este destacado lanzamiento. Además de estas nuevas características, también hubo varias correcciones de bugs en los paquetes principales e integraciones. Revisa las notas del lanzamiento completas para aprender más.