# Fremdbibliotheken in CodeQuest CodeQuest liefert seine Laufzeiten **gebündelt** aus (`vendor/`) statt über ein CDN – das ist der Punkt, an dem die App firewall-fest und offline-fähig wird (siehe README). Damit gibt CodeQuest diese Bibliotheken aber auch weiter, und die folgenden Lizenzen gelten für die weitergegebenen Dateien. Der vollständige Lizenztext liegt jeweils in `vendor//LICENSE`. > Erzeugt von `tools/vendor-lizenzen.mjs` aus `vendor/VERSIONEN.json` – > nicht von Hand ändern. `npm test` prüft, dass beides zusammenpasst. | Bibliothek | Version | Lizenz | Wofür | Lizenztext | |---|---|---|---|---| | [Acorn](https://github.com/acornjs/acorn) | 8.11.3 | MIT | JavaScript-Parser für die Syntaxprüfung im Editor (js/linters.js) | [`vendor/acorn/LICENSE`](vendor/acorn/LICENSE) | | [CodeMirror](https://github.com/codemirror/codemirror5) | 5.65.16 | MIT | der Code-Editor samt Modi, Autovervollständigung und Lint-Anzeige | [`vendor/codemirror/LICENSE`](vendor/codemirror/LICENSE) | | [Pyodide](https://github.com/pyodide/pyodide) | 314.0.7 | MPL-2.0 | CPython als WebAssembly – alle Python-Aufgaben im Browser | [`vendor/pyodide/LICENSE`](vendor/pyodide/LICENSE) | | [sql.js](https://github.com/sql-js/sql.js) | 1.14.2 | MIT | SQLite als WebAssembly – alle SQL-Aufgaben im Browser | [`vendor/sqljs/LICENSE`](vendor/sqljs/LICENSE) | | [TypeScript](https://github.com/microsoft/TypeScript) | 5.9.3 | Apache-2.0 | echte Typprüfung und Transpilierung der TypeScript-Aufgaben | [`vendor/typescript/LICENSE`](vendor/typescript/LICENSE) | | [v86](https://github.com/copy/v86) | 0.5.469 | BSD-2-Clause | x86-Emulator für das echte Linux im Spielplatz | [`vendor/v86/LICENSE`](vendor/v86/LICENSE) | | [xterm.js](https://github.com/xtermjs/xterm.js) | 6.0.0 | MIT | Terminal-Anzeige des emulierten Linux | [`vendor/xterm/LICENSE`](vendor/xterm/LICENSE) | ## Anmerkungen - **Pyodide:** Enthält CPython und weitere Bibliotheken unter eigenen Lizenzen; die vollständigen Hinweise stehen upstream. - **sql.js:** Bettet SQLite ein, das gemeinfrei ist (public domain). - **TypeScript:** libs.js wird aus dem npm-Paket erzeugt (tools/build-ts-libs.mjs). ## Nicht hier aufgeführt Die Entwicklungswerkzeuge aus `package.json` (eslint, playwright, …) werden **nicht** mit ausgeliefert: Der Deploy-Job lädt `node_modules` bewusst gar nicht erst ins Artefakt (siehe `.github/workflows/ci.yml`). Sie erreichen keinen Nutzer der Seite. Das Linux-Abbild für den Spielplatz liegt als Release-Anhang, nicht im Repo. Das Rezept dazu steht in `tools/linux-image/`; das Abbild selbst ist Alpine Linux mit den Lizenzen seiner Pakete.