Налаштування TypeScript

Worker-аддони можна писати на 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 — worker-аддони не є процесами 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 у папці встановлення. Worker виконує лише index.js. Тримайте manifest.json і ресурси поруч із зібраним файлом.

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