Zurück

compiler v1.0.0 + gt-next@6.7.0

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

Übersicht

Wir freuen uns sehr, die Veröffentlichung von @general-translation/compiler v1.0.0 bekanntzugeben.

Wie wir bereits in unserem gt-next@6.2.0-Release erklärt haben, sind wir überzeugt, dass die Zukunft von i18n-Bibliotheken in der Build-Time-Verarbeitung liegt. Anfang dieses Jahres haben wir ein SWC-Plugin für gt-next veröffentlicht, das Optimierungen wie Compile-Time-Hashing und bessere Übersetzungen von Strings während der Entwicklung ermöglicht hat. Auch wenn dies unserem Team einen hervorragenden (wenn auch intensiven) Einstieg in Compiler-Plugins verschafft hat, war der Einsatzbereich auf Next.js-Projekte beschränkt.

Wir setzen unser Versprechen zur Build-Time-Verarbeitung um, indem wir dieses allgemeine React-Compiler-Plugin veröffentlichen. Das bedeutet, dass alle Build-Time-Optimierungen aus gt-next jetzt für alle gt-react-Nutzer verfügbar sind!

Setup

Konfiguration

OptionTypStandardBeschreibung
compileTimeHashbooleantrueAktiviert Hashing zur Compile-Zeit
disableBuildChecksbooleanfalseDeaktiviert das Auslösen von Fehlern, wenn eine ungültige Nutzung der Bibliothek erkannt wird
logLevelstring'warn'Steuert die Protokollierungsebene. Optionen: 'silent' | 'error' | 'warn' | 'info' | 'debug'

Hinweis: Für gt-next gilt: Um eine Anforderung zur Abwärtskompatibilität zu erfüllen, wird das gesamte Plugin deaktiviert, wenn du compileTimeHash auf false setzt.

gt-react

Zuerst müssen Sie das Paket installieren:

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

Du musst keine zusätzlichen Pakete installieren.

Für gt-next setzen wir experimentalSwcPluginOptions zugunsten des neuen Felds experimentalCompilerOptions außer Betrieb. Der wesentliche Unterschied ist, dass du jetzt angeben musst, welchen Compiler-Typ du verwenden möchtest: 'swc' oder 'babel'. Der 'swc'-Compiler wird standardmäßig verwendet, aber du kannst den neuen, auf Babel basierenden Compiler aktivieren, indem du das Feld type auf 'babel' setzt.

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

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

Fazit

Wir haben noch viel für den Compiler geplant – in den kommenden Monaten können Sie daher mit häufigen Updates rechnen.