Ein Paket kann im eigenen Repository funktionieren und beim Konsumenten trotzdem scheitern. Häufige Ursachen sind unvollständige Exporte, nicht auflösbare Typdeklarationen oder unterschiedliche Annahmen über das Modulsystem. Das Seminar betrachtet eine Bibliothek deshalb immer aus Sicht ihrer Nutzer und überprüft das tatsächlich verpackte Ergebnis.
Ein begrenztes Monorepo verbindet Bibliotheksentwicklung mit reproduzierbaren Builds. Paket-Workspaces und TypeScript Project References werden getrennt eingerichtet und anschließend aufeinander abgestimmt. Das Vorgehen eignet sich für interne Fachbibliotheken ebenso wie für öffentlich verteilbare Pakete, ohne die Übungen an einen bestimmten Cloudanbieter zu binden.
Lernziele
- Eine kleine öffentliche API mit verständlichen und stabilen Typverträgen entwerfen.
- JavaScript-Artefakte, Typdeklarationen und Paketexporte konsistent bereitstellen.
- Workspaces und Project References nach ihren unterschiedlichen Aufgaben einsetzen.
- Pakete außerhalb des Entwicklungsrepositories aus Konsumentensicht überprüfen.
- Änderungen an Laufzeitverhalten und Typkompatibilität bei der Versionierung bewerten.
Zielgruppe
TypeScript-Entwickler, Bibliotheksautoren und Teams mit gemeinsam genutzten Paketen oder Monorepos.
Voraussetzungen
Sicherer Umgang mit TypeScript, Generics, ES-Modulen, npm und automatisierten Tests. Grundkenntnisse zu Buildprozessen und Node.js werden vorausgesetzt.
Inhaltsübersicht
- Öffentliche APIs und Deklarationen
- Paketgrenzen und Module
- Workspaces und Projektbeziehungen
- Konsumententests und Veröffentlichungsvorbereitung
Seminarinhalte
Öffentliche APIs und Deklarationen
- Öffentliche und interne Exporte nach fachlichem Vertragsumfang trennen.
- Generierte .d.ts-Dateien prüfen und unintendierte Abhängigkeiten erkennen.
- JavaScript-Bibliotheken mit Deklarationen anbinden und passende Modulformen zuordnen.
- Dokumentierbare Verträge sowie positive und negative Typprüffälle anlegen.
Paketgrenzen und Module
- package.json, exports, types und veröffentlichte Dateimengen aufeinander abstimmen.
- ESM als klares Zielmodell einrichten und CommonJS-Anforderungen gesondert prüfen.
- Pfadaliasse im Entwicklungsprojekt von tatsächlich auflösbaren Paketimporten unterscheiden.
- Ein Paket erzeugen und fehlende Dateien oder Exportpfade im Archiv diagnostizieren.
Workspaces und Projektbeziehungen
- Paketmanager-Workspaces zur lokalen Abhängigkeitsverwaltung verwenden.
- Project References, composite und Deklarationsausgabe im Buildgraphen einordnen.
- Gemeinsame Konfiguration und projektspezifische Compileroptionen nachvollziehbar aufteilen.
- Buildreihenfolge und erneute Prüfung nach einer Vertragsänderung untersuchen.
Konsumententests und Veröffentlichungsvorbereitung
- Das gepackte Artefakt in einem sauberen Testprojekt installieren.
- JavaScript-Ausführung und Typauflösung in zwei vorbereiteten Konsumenten prüfen.
- Kompatible Erweiterungen und brechende Typänderungen an Beispielen unterscheiden.
- Versionierung, Paketinhalt und reproduzierbare Prüfschritte für eine Freigabe festhalten.
Praxisprojekt
Die praktische Arbeit folgt einer zusammenhängenden Aufgabenstellung. Die folgenden Schritte werden anhand vorbereiteter Ausgangsstände umgesetzt und mit überprüfbaren Zwischenständen verbunden.
- Eine gemeinsam genutzte Fachfunktion aus einer Anwendung in ein eigenständiges Paket überführen.
- Öffentliche Exporte begrenzen und die erzeugten Deklarationsdateien kontrollieren.
- Zwei Konsumenten über einen Workspace anbinden und Projektbeziehungen einrichten.
- Mit npm pack ein Paketarchiv erzeugen und den enthaltenen Dateiumfang überprüfen.
- Das Archiv in einem bereinigten Konsumenten installieren und Build sowie Laufzeit prüfen.
- Eine brechende Typänderung einführen, deren Auswirkung sichtbar machen und die Freigabeentscheidung begründen.
Schulungsumgebung
Vorbereiteter Workspace mit einem Bibliothekspaket und zwei Konsumenten; lokale Paketarchive ersetzen die Veröffentlichung in einer externen Registry.
Die Schulungsumgebung wird vom Kunden nach der vorab abgestimmten technischen Checkliste bereitgestellt. Benötigte Installationsrechte, Werkzeuge und Übungsstände werden vor Seminarbeginn geprüft.
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
|---|---|
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | TypeScript-Entwickler, Bibliotheksautoren und Teams mit gemeinsam genutzten Paketen oder Monorepos. |
| Voraussetzungen: | Sicherer Umgang mit TypeScript, Generics, ES-Modulen, npm und automatisierten Tests. Grundkenntnisse zu Buildprozessen und Node.js werden vorausgesetzt. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
