Назад

@generaltranslation/react-core-linter@0.1.0

Ernest McCarter avatarErnest McCarter
react-core-linter0.1.0eslintlintingstatic-validation

Обзор

@generaltranslation/react-core-linter 0.1.0 добавляет правила ESLint для интеграции React Core от General Translation.

Этот плагин обнаруживает распространённые ошибки реализации, которые мы встречали на практике.

Установка

npm install @generaltranslation/react-core-linter --save-dev

В этот первый релиз входят два правила:

  • static-jsx - Контролирует корректное оборачивание переменных в компонентах <T>
  • static-string - Контролирует, чтобы в функциях перевода использовались статические строки

Статическая проверка JSX

Правило static-jsx не допускает размещения динамического контента непосредственно внутри компонентов <T>. Динамический контент нужно оборачивать в компоненты‑переменные.

// ❌ Wrong
<T>Hello {userName}!</T>

// ✅ Правильно  
<T>Hello <Var>{userName}</Var>!</T>

Контроль статических строк

Правило static-string гарантирует, что в функции перевода передаются только статические (неизменяемые) строки.

const gt = useGT();

// ❌ Wrong
gt(`Hello ${name}`)
gt('Hello ' + name)

// ✅ Правильно
gt('Hello {name}!', { name })

Конфигурация

Добавьте в конфигурационный файл ESLint:

import { defineConfig } from 'eslint';
import gtLint from '@generaltranslation/react-core-linter';

export default defineConfig([
  gtLint.configs.recommended,
]);

Этот начальный релиз обеспечивает базовые возможности линтинга для шаблонов перевода в React Core. В будущих версиях будет расширено покрытие правил и добавлено автоисправление для других распространённых нарушений.


Дополнительные материалы

  • Variable Components - Работа с динамическим контентом в переводах
  • String Translation - Перевод простых текстовых строк