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: '/'
}))
]