Инструменты разработчика

Инструментарий для разработки плагинов состоит из двух частей: SDK, который подключается в коде плагина, и CLI, который позволяет работать с жизненным циклом плагина. Весь инструментарий распространяется в виде NPM пакетов.

SDK

Работа с Трекером осуществляется с помощью SDK, который подключается как библиотека. SDK предоставляет как методы взаимодействия на уровне пользовательского интерфейса, так и методы для работы с публичным API Трекера.

SDK поставляется в двух видах:

  • @weavix/tracker-plugin-sdk-reactReact-like подход. Используется в шаблонах и примерах. Рекомендуется к использованию.
  • @weavix/tracker-plugin-sdk-coreчистый JS. Можно использовать с любым фреймворком.

CLI

CLI — это консольная утилита в виде NPM пакета, которая обеспечивает весь жизненный цикл плагина: создание, отладка, проверка и публикация.

Библиотека компонентов

Для разработки интерфейса рекомендуем использовать компоненты дизайн-системы Gravity-UI. На них построен интерфейс самого Трекера, поэтому их использование позволит получить наиболее близкий UX. В будущем мы дополнительно выпустим библиотеку компонентов со специфичными компонентами Трекера.

Примечание

Если вы создадите плагин через CLI, в проекте уже будут подключены Gravity UI и необходимые стили. CLI также добавит файлы темы в каталог src/themes. Устанавливать и импортировать пакет @yandex-data-ui/gravity-themes не нужно.

Чтобы компоненты переключались вместе с темой Трекера, получите значение theme через useTrackerPluginContext() и передайте его в ThemeProvider:

import {ThemeProvider} from '@gravity-ui/uikit';
import {useTrackerPluginContext} from '@weavix/tracker-plugin-sdk-react';

const App = () => {
    const {theme} = useTrackerPluginContext();

    return <ThemeProvider theme={theme}>Код плагина</ThemeProvider>;
};