## Сторонні бібліотеки
Ця платформа використовує невелику кількість сторонніх open-source бібліотек для роботи браузерних навчальних інструментів.
Частина файлів зберігається локально і віддається як статичні файли цього сайту. Інші залежності залишаються завантаженими з зафіксованих CDN URL, якщо vendoring створив би зайве навантаження на підтримку або якщо сам runtime навмисно працює через мережеві пакети.
## Локальні vendor-файли
Деякі легкі або важливі runtime-залежності віддаються локально: підсвічування коду, assets терміналу, браузерна підтримка SQLite та runtimes для регулярних виразів.
Такий підхід зменшує залежність звичайного завантаження сторінок від зовнішніх CDN і дозволяє оновлювати критичні UI/runtime частини разом з основним деплоєм сайту.
## CDN-залежності runtime
Великі або чутливі до власного loader-а runtimes, зокрема Monaco Editor і Pyodide, можуть і надалі завантажуватися з зафіксованих CDN URL.
Окремі JavaScript-бібліотеки в онлайн IDE, наприклад бібліотеки для графіків або візуалізації, є sandbox-залежностями, які користувач обирає самостійно. Вони виконуються в ізольованому sandbox origin, а не в основному origin сайту з авторизацією.
Там, де браузерний API завантаження це підтримує, CDN-скрипти використовують Subresource Integrity. Деякі worker API не мають native SRI; для таких випадків використовуються зафіксовані версії, CSP allowlist, ізоляція sandbox, обробка runtime-помилок і smoke-тести.
## Ліцензії та власність
Сторонні бібліотеки, фреймворки, торговельні марки та логотипи залишаються власністю їхніх авторів і maintainers.
Vendor-файли ліцензій і notices зберігаються поруч із відповідними статичними assets там, де це потрібно. Ця сторінка є зрозумілим коротким описом, але не замінює оригінальні тексти ліцензій.
## Основні сторонні бібліотеки
Платформа використовує сторонні open-source проєкти, зокрема:
- Monaco Editor — браузерний редактор коду.
- Pyodide — Python runtime для WebAssembly.
- Xterm.js — компонент UI терміналу.
- Prism — підсвічування синтаксису.
- sql.js — SQLite, скомпільований у WebAssembly.
- XRegExp, PCRE2 WASM та Oniguruma — рушії регулярних виразів.
- D3, Chart.js, p5.js, Three.js, Lodash, Papa Parse, Marked, js-yaml та подібні бібліотеки — необов'язкові sandbox/runtime залежності, які обирає користувач.
Файли ліцензій і notices для vendored бібліотек надаються поруч із відповідними статичними assets там, де це потрібно.