Pular para o conteúdo

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 Astro em 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.

Tipo: boolean
Padrão: false

Adicionado em: 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' ou type: 'data') devem continuar a ser localizadas dentro do diretório src/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 loader definido) são proibidas em src/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, z } from 'astro:content';
const blog = defineCollection({ })
export const collections = { blog };
Contribua Comunidade Sponsor