compiler v1.0.0 + gt-next@6.7.0
Обзор
Мы рады объявить о выпуске @general-translation/compiler v1.0.0.
Как мы отмечали в выпуске gt-next@6.2.0, мы считаем, что будущее библиотек i18n — за обработкой на этапе сборки. Ранее в этом году мы выпустили SWC plugin для gt-next, который позволил внедрить такие оптимизации, как хеширование на этапе компиляции и более качественный перевод строк во время разработки. Это стало для нашей команды отличным (хотя и весьма интенсивным) знакомством с plugin компилятора, но его применение ограничивалось только проектами на Next.js.
Мы продолжаем следовать своему курсу на обработку на этапе сборки и выпускаем этот React plugin общего назначения для компилятора. Это означает, что все оптимизации этапа сборки из gt-next теперь доступны каждому пользователю gt-react!
Сетап
Конфигурация
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
compileTimeHash | boolean | true | Включает хеширование на этапе компиляции |
disableBuildChecks | boolean | false | Отключает генерацию ошибок при обнаружении некорректного использования библиотеки |
logLevel | string | 'warn' | Задает уровень логирования. Варианты: 'silent' |
Примечание:
В gt-next для обеспечения обратной совместимости при значении compileTimeHash, равном false, весь plugin будет отключен.
gt-react
Для начала установите пакет:
npm install @generaltranslation/compilerVite
// 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
Вам не нужно устанавливать дополнительные пакеты.
В gt-next мы выводим experimentalSwcPluginOptions из использования в пользу нового поля experimentalCompilerOptions. Главное отличие в том, что теперь нужно явно указать, какой тип компилятора использовать: 'swc' или 'babel'. По умолчанию используется компилятор 'swc', но вы можете включить новый компилятор на базе Babel, задав для поля type значение 'babel'.
// next.config.js
import { withGTConfig } from 'gt-next'
export default withGTConfig(nextConfig, {
experimentalCompilerOptions: {
type: 'babel',
},
})Заключение
У нас запланировано ещё много работы над компилятором, поэтому в ближайшие месяцы ждите частых обновлений.