Skip to content

pantoken / plugin-kit

plugin-kit

Бета

@pantoken/plugin-kit — создавать и комбинировать плагины pantoken с регистрацией, учитывающей возможности.

definePlugin — современная фабричная функция: передайте хуки, которые реализуете, и она вернёт обычный PantokenPlugin, помеченный возможностями, выведенными из этих хуков. Потребители (buildTokens, toCss) запускают checkPlugins, чтобы предупреждать — но не выдавать ошибку — когда плагин регистрируется в месте, где он не даёт эффекта: нефабричный плагин (проверки возможностей недоступны) или фабричный плагин на стадии, которую он не реализует (например, плагин только для токенов, переданный в toCss).

Стадии трансформа, которыми фактически управляет массив plugins:, — это tokens, icons и css; rehype (разрешатель иконок во время рендеринга) и native (Style Dictionary) фиксируются как возможности, но являются потребителями вниз по цепочке и здесь не защищаются.

Пример

ts
const brand = definePlugin({ name: "brand", tokens: (c) => [...c.tokens], css: () => ({ ... }) });
// capabilitiesOf(brand) → ["tokens", "css"]

Интерфейсы

Псевдонимы типов

Функции

Ссылки

Mode

Повторно экспортирует Mode