Skip to content

Ограничения и зависимости

Только то, что собирается под веб

Расширение собирается Vite в ESM для выполнения в рендерере лаунчера (веб-оболочка на базе Chromium / аналога). Значит:

  • Нельзя рассчитывать на произвольные Node-only пакеты (прямой доступ к fs, дочерние процессы Node, нативные аддоны .node, ожидающие полный Node API), если они не заменены полифилами и не попали в бандл осмысленно.
  • Нельзя подключать к расширению тяжёлые зависимости, которые не предназначены для браузера и тянут Node-специфику без конфигурации — сборка упадёт или рантайм сломается.

Перед добавлением зависимости проверяйте: есть ли у пакета браузерная точка входа, не требует ли он Worker с Node, не использует ли встроенные модули Node без условных экспортов.

Что «обычно» безопасно

  • vue, @vueuse/core и другие библиотеки с явной поддержкой браузера.
  • Модули @rynt/sdk и Vue-компоненты из корневого экспорта @rynt/sdk (подключаются так же, как в основном интерфейсе лаунчера).
  • HTTP/WebSocket-клиенты, работающие в браузере (axios, fetch).

Native / десктоп API лаунчера

Если нужны операции вне песочницы браузера (диск, процессы, нативное окно), это должно быть явно предоставлено лаунчером (отдельный bridge, IPC, зарегистрированный API). Не подключайте к расширению произвольные NW / Electron-специфичные модули без поддержки в загрузчике.

Размер и производительность

Бандл расширения загружается и выполняется вместе с UI. Избегайте неоправданно больших зависимостей; при необходимости делите код (динамические импорты там, где это поддерживает ваш сценарий и сборка).

Секреты

Не встраивайте ключи API и пароли в исходники расширения: бандл доступен пользователю. Для секретов нужен серверный контур или безопасное хранилище, предоставляемое лаунчером (когда такой контракт появится — документируется отдельно).