Flags legado
Para ajudar alguns usuários a migrar entre versões Astro, ocasionalmente introduzimos flags legacy.
Essas flags permitem que você inclua alguns comportamentos desatualizados ou obsoletos pelo Astroem sua última versão, para que você possa continuar atualizando e aproveitando os novos lançamentos do Astro até que seja capaz de atualizar completamente o código do seu projeto.
Coleções
Tipo: boolean
Padrão: false
astro@5.0.0
Habilita comportamento legado para coleções de conteúdo (como usado em Astro v2 até v4)
// astro.config.mjs
import { defineConfig } from 'astro/config';
export default defineConfig({
legacy: {
collections: true
}
});Ao habilitar, coleções data e content são manipuladas (apenas) usando a implementação legada de coleções de conteúdo. Coleções com loader cotinuarão (apenas) a usar a API Camada de Conteúdo. Ambos tipos de coleções podem existir no mesmo projeto, cada um usando suas respectivas implementações.
As seguintes limitações continuam a existir:
- Quaisquer coleções legado (
type: 'content'outype: 'data') devem continuar a ser localizadas dentro do diretóriosrc/content/. - Essas coleções legado não serão transformadas para usarem implicitamente o carregador
glob(), em vez disso serão manipuladas com código legado. - Coleções usando a API Camada de Conteúdo (com
loaderdefinido) são proibidas emsrc/content/, mas podem existir em qualquer outro lugar do seu projeto.
Quando você estiver pronto para remover essa flag e migrar suas coleções legado para a nova API Camada de Conteúdo, você deve definir uma coleção para quaisquer diretórios em src/content/ que você quer continuar usando como uma coleção. É suficiente declarar uma coleção vazia, e Astro implicitamente gerará uma definição apropriada para suas coleções legado:
// src/content/config.ts
import { defineCollection } from "astro:content";
import { z } from "astro/zod";
const blog = defineCollection({ })
export const collections = { blog };
Reference