Compilador
El plugin de SWC de gt-next basado en Rust.
Compilador
gt-next incluye un complemento de SWC basado en Rust que realiza análisis en tiempo de compilación para detectar errores de traducción comunes y optimizar el rendimiento.
Funcionalidades
Detección de contenido dinámico
Detecta contenido dinámico no envuelto en componentes de traducción:
// ❌ Inválido - contenido dinámico no envuelto
<T>Hello {userName}</T>
// ✅ Válido - contenido dinámico envuelto en componente variable  
<T>Hello <Var>{userName}</Var></T>Validación de llamadas a funciones
Detecta argumentos no literales pasados a funciones de traducción:
const t = useGT();
// ❌ Inválido - literales de plantilla y concatenación
t(`Hello ${name}`)
t("Hello " + name)
// ✅ Válido - literales de cadena con sustitución de variables
t("¡Hola, {name}!", { name })Generación de hash en tiempo de compilación
Precalcula los hashes de traducción para mejorar el rendimiento en tiempo de ejecución:
// Entrada
<T>Hola mundo</T>
// Salida (cuando está habilitado)
<T _hash="a1b2c3d4">Hola mundo</T>Configuración
Configura el complemento de SWC en tu next.config.js:
import { withGTConfig } from 'gt-next/config';
export default withGTConfig(nextConfig, {
  locales: ['en', 'es'],
  swcPluginOptions: {
    logLevel: 'silent',     // Controla la salida de advertencias
    compileTimeHash: false, // Habilita la generación de hash
  },
});Opciones
- 
logLevel: Controla el nivel de salida de advertencias- 'silent'- Sin advertencias (valor predeterminado para producción)
- 'error'- Mostrar como errores de compilación
- 'warn'- Mostrar como advertencias (valor predeterminado para desarrollo)
- 'info'- Mostrar mensajes informativos
- 'debug'- Mostrar toda la información de depuración
 
- 
compileTimeHash: Habilita la generación de hashes en tiempo de compilación- false- Desactivado (valor predeterminado)
- true- Generar hashes en tiempo de compilación para un mejor rendimiento
 
Limitaciones
El complemento de SWC procesa los archivos de forma individual y no puede detectar incumplimientos en componentes reexportados:
// Archivo A: export { T as Translate } from 'gt-next'
// Archivo B: import { Translate } from './A'
<Translate>Hola {name}</Translate> // No será detectado¿Qué te ha parecido esta guía?

