Donutgramплагины
На этой страницеБиблиотеки в плагине

Зависимости

Подключайте проверенные локальные модули и учитывайте ограничения среды.

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

Плагин выполняется в QuickJS. Это JavaScript-среда SDK, а не браузер и не Node.js. Зависимость подходит только тогда, когда не требует отсутствующих глобальных объектов или нативных модулей.

Чистый JavaScript

Небольшие функции форматирования и обработки данных можно включить локальными ES-модулями. Проверьте лицензию библиотеки и оставьте только действительно нужный код.

import { formatAmount } from "./modules/format.js";

npm и TypeScript

Вы можете использовать их на своём компьютере при разработке. В финальный пакет должны попасть готовые .js-файлы, а не node_modules, package.json с ожиданием установки или .ts-исходники.

Если используется сборщик, убедитесь, что он сохранил маркер в начале точки входа и не добавил require, process, eval или конструктор Function.

Что не работает

Зависимость Причина
Пакет, использующий DOM Нет document, window и HTML-элементов
Node.js-модуль с fs или net Нет произвольного доступа к файловой системе и сокетам
Код, загружаемый по URL Исполняется только установленный проверенный исходник
Python-модуль Среда плагина — JavaScript
Нативное расширение Формат пакета не загружает библиотеки ОС

Связи между плагинами

У манифеста нет реестра зависимостей на другие установленные плагины. Каждый пакет должен содержать собственный код и работать с публичным API хоста.

Не используйте успешный mock-тест в Node.js как доказательство совместимости библиотеки с QuickJS: mock и реальная среда различаются.