Zum Inhalt springen

Strict mode End-to-end types OpenAPI GDPR

TypeScript Engineering-Leistungen für typsichere Produktionssysteme

Jedes Greenfield-Projekt bei YuSMP nutzt standardmäßig striktes TypeScript im gesamten Front- und Backend. Wir kombinieren Zod an API-Grenzen, generieren Typen aus OpenAPI-Specs, erzwingen Typabdeckung als CI-Gate und führen tsc --noEmit bei jedem PR-Check aus. Über dreißig Produktionssysteme — Signatory Pros E-Signatur-Plattform, ArgoViews klinische Workstation, ANTs PropTech-Marktplatz — alle durchgängig typsicher.

Angebot anfordern TypeScript-Fallstudien ansehen

Wir liefern TypeScript Engineering für SaaS- und FinTech-Teams, die JavaScript-Codebasen zu striktem TypeScript migrieren, Produktteams, die neue durchgängig typisierte Stacks mit React, Next.js und NestJS bauen, Plattform-Teams, die Monorepo-Typenteilung-Infrastruktur entwerfen, und regulierte Branchen, wo Typsicherheit an API-Grenzen eine Risikoreduzierungsanforderung ist. Typabdeckung ist ein CI-Gate, kein Code-Review-Vorschlag.

Herausforderungen

Branchenherausforderungen, die wir lösen

any-Epidemie in Legacy-Codebasen

Implizite any aus JS-Migrationen und explizite any-Abkürzungen häufen sich an, bis das Typsystem keine Sicherheit mehr bietet. Wir verfolgen die any-Anzahl pro Modul und verlangen, dass sie pro PR abnimmt.

Nicht übereinstimmende FE/BE-Verträge

Vom Backend abweichende Frontend-Typen erzeugen Runtime-Crashes, die TypeScript nicht erkennen kann. Wir generieren Frontend-Typen aus OpenAPI-Specs oder verwenden tRPC für nulltolerante Verträge.

Langsame tsc-Builds in Monorepos

TypeScript-Build-Zeiten auf großen Codebasen überschreiten ohne Projektreferenzen 10 Minuten. Wir konfigurieren tsconfig-Referenzen für inkrementelle Builds und fügen Remote-Cache über Turborepo hinzu.

Bibliotheks-Typings-Drift

Drittanbieter-@types-Pakete hinken Bibliotheks-Versionen hinterher und verursachen nach Upgrades Compile-Fehler. Wir fixieren @types-Versionen zusammen mit Bibliotheks-Versionen und überprüfen sie gemeinsam.

Generics-Missbrauch erhöht Komplexität

Überentwickelte Generics erzeugen Fehlermeldungen, die niemand parsen kann, und Typen, die niemand versteht. Wir bevorzugen lesbare inferierte Typen gegenüber expliziten Generics, wo die Inferenz offensichtlich ist.

Lücke zwischen Runtime- und Compile-Zeit-Validierung

TypeScript validiert nur zur Compile-Zeit — Netzwerk-Payloads, Umgebungsvariablen und Konfigurations-Dateien sind zur Laufzeit unbekannt. Wir fügen Zod-Validierung an allen Systemgrenzen hinzu.

Lösungen

Lösungen, die wir entwickeln

Strict-Mode-Migrationen

Schrittweise Aktivierung von striktem TypeScript auf JavaScript- oder lockeren TS-Codebasen — mit Typabdeckungs-Tracking und einem PR-Ratschenmechanismus, der Regression verhindert.

Monorepo-Typenteilung

Turborepo- oder Nx-Monorepos mit geteilten Typen-Paketen, Projektreferenzen für inkrementelle Builds und eslint-plugin-import-Grenzerzwingung.

OpenAPI → TS-Codegen-Pipelines

OpenAPI-Spec-First-Entwicklung mit orval oder openapi-typescript, die typisierte API-Clients generieren — bei Spec-Änderungen automatisch aktualisiert.

Durchgängig typsichere APIs (tRPC)

Full-Stack-TypeScript mit tRPC — keine API-Client-Generierung, sofortige Typweiterleitung vom Backend-Router zum Frontend-Query-Hook.

Zod-Grenzvalidierung

Runtime-Validierung an allen Systemgrenzen — HTTP-Request-Bodies, Umgebungsvariablen, Konfigurations-Dateien, LLM-strukturierte Ausgaben — mit TypeScript-Inferenz aus dem Schema.

Typbewusste Code-Reviews

ESLint-Regeln für no-explicit-any, no-non-null-assertion, Typabdeckungs-Schwellenwerte und Import-Einschränkungen — in der CI erzwungen, nicht nur in Style Guides.

Stack

Technologie-Stack

TypeScript 5.7, Zod, tRPC, openapi-typescript, orval, Turborepo, Nx, ESLint, Prettier, Vitest, Playwright, ts-node, tsx.

Compliance

Compliance & Vorschriften

DSGVO-konform · WCAG 2.2 AA · SOC-2-fähig · HIPAA-fähig · CCPA-berücksichtigt

EU

  • DSGVO — typsichere DSR-Automatisierung und Einwilligungs-State-Management.
  • EAA 2025 — typisierte Barrierefreiheits-Komponenten-APIs.
  • CRA — typisierte SBOM-Generierung und sichere SDLC-Gates.
  • eIDAS — typisierte Identitäts-Token-Verarbeitung.

US

  • WCAG 2.2 AA — typisierte Barrierefreiheits-Primitive und axe-core-Integration.
  • CCPA/CPRA — typisierter Einwilligungs-State und Opt-out-Abläufe.
  • SOC 2 — typsichere Audit-Log-Schemata und Event-Typisierung.
  • HIPAA — typisierte PHI-Verarbeitung und Minimum-Necessary-Zugriffskontrollen.

Gemeinsam: OWASP ASVS L2, typisierte Eingabevalidierung mit Zod, SBOM pro Build.

Warum YuSMP

Warum TypeScript-Teams YuSMP wählen

Strict-Mode als Standard

Wir beginnen jedes Projekt mit strict: true und erzwungenem no-explicit-any. Typsicherheit ist eine Lieferanforderung, keine Stilpräferenz.

Stack-übergreifende Typisierungs-Expertise

React-Frontends, NestJS-Backends, React-Native-Apps — alle durchgängig typisiert mit geteilten Typen-Paketen oder tRPC. Kein Vertragsdrift im gesamten Stack.

Codegen-Pipeline-Erfahrung

OpenAPI → TypeScript-Client-Generierung in der CI verdrahtet — Frontend-Typen werden automatisch aktualisiert, wenn sich die API-Spec ändert.

FAQ

TypeScript FAQ

Wie teilen Sie Typen zwischen Frontend und Backend?

Monorepo mit einem geteilten Typen-Paket (Turborepo oder Nx) für manuelle Typdefinitionen oder OpenAPI-Codegen (openapi-typescript oder orval), um TypeScript-Clients aus Ihrer API-Spec automatisch zu generieren. tRPC für Teams, die durchgängige Typsicherheit ohne Schema-Zwischenebene wünschen. Die richtige Wahl hängt davon ab, ob Sie beide Enden des API-Vertrags kontrollieren.

Strict-Mode — sollen wir ihn auf einer bestehenden Codebasis aktivieren?

Ja, aber schrittweise. Aktivieren Sie strict: true mit ts-ignore-count-Unterdrückungs-Tracking — messen Sie die Unterdrückungsanzahl pro PR und verlangen Sie, dass sie abnimmt oder gleichbleibt. Niemals erhöhen. Typischerweise 8–16 Wochen bis zu null Unterdrückungen auf einer mittelgroßen Codebasis mit gezieltem Aufwand.

Zod, io-ts oder class-validator — was verwenden Sie?

Zod ist unser Standard für neue TypeScript-Projekte — Runtime-Validierung, TypeScript-Inferenz aus Schema, ausgezeichnete Fehlermeldungen, funktioniert in Browser und Node. class-validator für NestJS-Anwendungen, wo dekoratorbasierte Validierung sauber mit dem Framework integriert. io-ts für funktionale Programmierer-Teams mit fp-ts, die kategorientheoretisch ausgerichtete Codecs wünschen.

Wie erzwingen Sie Typabdeckung in der CI?

Das type-coverage-npm-Paket meldet den Prozentsatz typisierter Ausdrücke pro Datei. Wir gaten auf einen minimalen Abdeckungsschwellenwert (typischerweise 95%+) in der CI und blockieren PRs, die die Abdeckung reduzieren. Kombiniert mit Strict-Mode und der no-explicit-any-ESLint-Regel entsteht ein Ratschenmechanismus — die Abdeckung kann sich nur verbessern.

tRPC oder REST+OpenAPI für ein neues Projekt?

tRPC für Full-Stack-TypeScript-Monorepos, wo Client und Server in TypeScript sind und Sie sofortige Typsicherheit ohne Code-Generierung wünschen. OpenAPI für Projekte mit mehreren Konsumenten (Mobile-Apps, Drittanbieter-Integrationen), sprachlich heterogenen Stacks oder bestehenden API-Verträgen, die gepflegt werden müssen.

Wie gehen Sie mit TypeScript in einem Monorepo vor?

Projektreferenzen (tsconfig references) für inkrementelle Builds — nur geänderte Pakete werden neu gebaut. Turborepo oder Nx für Build-Orchestrierung mit Remote-Caching. Eine Root-tsconfig.base.json mit strikten Einstellungen, die alle Pakete erweitern. Paket-Grenzen erzwungen mit eslint-plugin-import oder Nx-Einschränkungen.

Typsichere Produkte mit erfahrenen TypeScript-Entwicklern liefern

Antwort innerhalb eines Werktages. NDA auf Anfrage.

Angebot anfordern