В StyleDictionary с использованием Node.js после миграции с v3 на v4 не найден трансформер “ts/resolveMath”

Вопрос или проблема

После миграции скрипта сборки StyleDictionary с версии v3 на v4 все работает корректно, за исключением единственного трансформации “ts/resolveMath”:

Ошибка:
Неизвестная трансформация "ts/resolveMath" найдена на платформе "js":
"ts/resolveMath" не соответствует имени зарегистрированной трансформации.

Часть конфигурации:

const sd = new StyleDictionary({
  platforms: {
    js: {
      transforms: [
        "attribute/cti",
        "name/pascal",
        "color/hex",
        "size/rem",

        // Это вызывает ошибку, если удалить эту строку
        // сборка будет успешной
        "ts/resolveMath",

        "my/fontWeight/number",
      ],
      buildPath: "dist/",
      files: [
        {
          destination: "tokens.ts",
          format: "javascript/object",
        },
      ],
    },
  },
});

Ответ или решение

Проблема, которую вы описали, связана с тем, что при миграции с версии 3 на версию 4 Style Dictionary произошли изменения в системе трансформаций. В версии 4 некоторые трансформации либо были переименованы, либо их наличие в пакете должно быть обеспечено отдельной зависимостью.

В вашем случае ошибка указывает на то, что трансформация "ts/resolveMath" не зарегистрирована в платформе "js". Это может быть связано с тем, что данная трансформация больше не поддерживается в версиях 4 или требуется установка дополнительного пакета.

Вот возможные шаги для решения вашей проблемы:

  1. Проверка документации: Начните с просмотра документации Style Dictionary, чтобы проверить изменения в API и доступные трансформации в версии 4.

  2. Установите необходимые зависимости: Если трансформация "ts/resolveMath" действительно была изменена или перенесена в другой пакет, убедитесь, что у вас установлены все необходимые зависимости. Попробуйте запустить команду для установки дополнительных пакетов:

    npm install style-dictionary
    npm install @style-dictionary/ts
  3. Проверка регистрации трансформации: Убедитесь, что трансформация "ts/resolveMath" зарегистрирована в вашей конфигурации. Если она была переименована или заменена, вам может потребоваться использовать другую трансформацию, которая выполняет аналогичную задачу.

  4. Обновление конфигурации: Если трансформация "ts/resolveMath" больше не поддерживается, вам нужно удалить её из конфигурации transforms:

    transforms: [
       "attribute/cti",
       "name/pascal",
       "color/hex",
       "size/rem",
       // Удалите или замените эту строку
       // "ts/resolveMath",
       "my/fontWeight/number",
    ],
  5. Проверка альтернатив: Если вам нужна функциональность, аналогичная "ts/resolveMath", проверьте, предоставляет ли новая версия Style Dictionary альтернативные трансформации, которые предназначены для решения ваших задач.

  6. Тестирование: После внесения изменений в конфигурацию, не забудьте перезапустить сборку и проверить, устраняется ли ошибка.

Следуя этим шагам, вы сможете устранить проблему с трансформацией "ts/resolveMath" и завершить миграцию на версию 4 Style Dictionary. Если проблема сохраняется, рекомендуется обратиться за поддержкой на официальный GitHub репозиторий Style Dictionary, где вы сможете получить более подробные рекомендации от сообщества и разработчиков.

Оцените материал
Добавить комментарий

Капча загружается...