Suggestions
← TIL Index
#typescript#astro#config

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: '/'
  }))
]
Link copied to clipboard