Настройка TypeScript

Воркеры аддонов можно писать на TypeScript. Типы берутся из npm-пакета @rocketman-streamkit/types — не добавляйте @types/node и другие пакеты типов из node_modules в проект аддона.

Установка

npm install --save-dev @rocketman-streamkit/types

Устанавливайте версию пакета, совпадающую с целевой версией StreamKit+ (тот же major.minor.patch, что и app_version в manifest.json, если вы зависите от новых API песочницы).

tsconfig.json

Разместите tsconfig.json рядом с index.ts в папке аддона:

{
  "compilerOptions": {
    "types": [],
    "lib": ["ES2020"],
    "noEmit": true,
    "strict": true,
    "skipLibCheck": true
  },
  "include": ["./**/*.ts", "./node_modules/@rocketman-streamkit/types/addon.d.ts"]
}

Либо подключите поле types пакета напрямую:

{
  "compilerOptions": {
    "types": ["@rocketman-streamkit/types"],
    "lib": ["ES2020"],
    "noEmit": true,
    "strict": true,
    "skipLibCheck": true
  },
  "include": ["./**/*.ts"]
}

Не добавляйте @types/node — воркеры аддонов не являются процессами Node.js.

Статические аддоны (только HTML/JS, без index.ts) не требуют tsconfig.json.

Глобальные объекты

addon.d.ts из @rocketman-streamkit/types объявляет глобальные объекты песочницы:

Импорты в TypeScript аддона не нужны — используйте глобальные объекты напрямую.

Обновление типов

Когда в новой версии StreamKit+ появляются нужные вам API песочницы, обновите dev-зависимость до соответствующей версии пакета:

npm install --save-dev @rocketman-streamkit/types@1.0.0

Замените 1.0.0 на версию StreamKit+, которая предоставляет нужные API.

Результат сборки

Скомпилируйте или соберите index.ts в index.js в папке установки. Воркер выполняет только index.js. Держите manifest.json и ресурсы рядом со собранным файлом.

Статические аддоны без воркера можно устанавливать напрямую из исходников (manifest.json, иконка, HTML, web_contents).