Atrás

compiler v1.0.0 + gt-next@6.7.0

Ernest McCarter avatarErnest McCarter
@general-translation/compilerv1.0.0compilertranslationi18n

Descripción general

Nos complace anunciar el lanzamiento de @general-translation/compiler v1.0.0.

Como mencionamos en nuestro lanzamiento de gt-next@6.2.0, creemos que el futuro de las bibliotecas de i18n está en el procesamiento en tiempo de compilación (build-time). A principios de este año, lanzamos un plugin de SWC para gt-next que habilitó optimizaciones como hashing en tiempo de compilación y mejores traducciones de cadenas en tiempo de desarrollo. Aunque esto supuso una excelente (aunque intensa) introducción a los plugins de compilador para nuestro equipo, su alcance se limitaba a proyectos de Next.js.

Ahora reafirmamos nuestro compromiso con el procesamiento en tiempo de compilación con el lanzamiento de este plugin de compilador de React de propósito general. ¡Esto significa que todas las optimizaciones en tiempo de compilación de gt-next ahora están disponibles para todos los usuarios de gt-react!

Configuración

Configuración

OptionTypeDefaultDescription
compileTimeHashbooleantrueHabilita el hashing en tiempo de compilación
disableBuildChecksbooleanfalseDesactiva la generación de errores cuando se detecta un uso no válido de la biblioteca
logLevelstring'warn'Controla el nivel de registro. Opciones: 'silent' | 'error' | 'warn' | 'info' | 'debug'

Nota: En gt-next, para cumplir con un requisito de compatibilidad retroactiva, si estableces compileTimeHash en false, se deshabilitará por completo el plugin.

gt-react

Primero tienes que instalar el paquete:

npm install @generaltranslation/compiler

Vite

// vite.config.js
import { defineConfig } from 'vite'
import { vite as gtCompiler } from '@generaltranslation/compiler'

export default defineConfig({
  plugins: [gtCompiler()],
})

Webpack

// webpack.config.js
const { webpack: gtCompiler } = require('@generaltranslation/compiler')

module.exports = {
  plugins: [gtCompiler()],
}

Rollup

// rollup.config.js
import { rollup as gtCompiler } from '@generaltranslation/compiler'

export default {
  plugins: [gtCompiler()],
}

gt-next

No necesitas instalar paquetes adicionales.

Para gt-next, estamos declarando obsoleto experimentalSwcPluginOptions en favor del nuevo campo experimentalCompilerOptions. La diferencia clave es que ahora debes especificar qué tipo de compilador usar: 'swc' o 'babel'. El compilador 'swc' se usa de forma predeterminada, pero puedes habilitar el nuevo compilador basado en Babel estableciendo el campo type en 'babel'.

// next.config.js
import { withGTConfig } from 'gt-next'

export default withGTConfig(nextConfig, {
  experimentalCompilerOptions: {
    type: 'babel',
  },
})

Conclusión

Tenemos mucho más trabajo planificado para el compilador, así que espera actualizaciones frecuentes en los próximos meses.