Solucionando el error TS2322 en integraciones de Astro#
Hoy aprendí que al configurar integraciones en astro.config.mjs, TypeScript puede quejarse si pasas un array de strings donde espera un string único, especialmente en librerías como astro-robots-txt.
El error típico es:
Type ‘string[]’ is not assignable to type ‘string’.
La Solución#
En lugar de definir el objeto repetidamente, usa .map() para generar la configuración dinámica:
const bots = ["GPTBot", "CCBot", "Bytespider"];
// ❌ Mal: TypeScript infiere tipos incompatibles a veces
// policy: [{ userAgent: bots, disallow: '/' }]
// ✅ Bien: Genera un objeto por cada bot
policy: [
...bots.map(bot => ({
userAgent: bot,
disallow: '/'
}))
]