На этой страницеБиблиотеки в плагине
Зависимости
Подключайте проверенные локальные модули и учитывайте ограничения среды.
Библиотеки в плагине
Плагин выполняется в 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 и реальная среда различаются.