e.V.
Packages · Plattform-Klienten · Klasse A · v0.1.8
S

@mana/shared-schemas

Event-Schemas pro Vereins-App — die Quelle der Wahrheit für mana-sync und Codegen-Quelle für event-kit.

Ersetzt
App-spezifische Event-Schemas in Server-Code
Was es tut

@mana/shared-schemas ist der zentrale Schema-Speicher für das Event- Sourced-Backbone. Pro Vereins-App ein Sub-Folder mit defineApp(...), darin alle Events, die diese App in den Event-Store schreibt: nutriphi.meal.logged, moodlit.mood.changed, wordeck.card.studied.

Das Paket ist die Source of Truth für drei Konsumenten:

  1. mana-sync validiert jeden eingehenden Event gegen das Schema,
  2. @mana/event-kit generiert daraus typsicheren Code (TS, Swift, Kotlin),
  3. @mana/event-sync baut darauf seine Reducer auf.

Schema-Änderungen sind Vertragsänderungen. Klasse-A heißt: Migrations-Pfad ist Pflicht. Wenn ein Event-Format sich ändert, gibt es einen Migration-Step, der alte Events transformiert. So bleibt die Plattform für Daten der letzten zwei Jahre rückwärts-kompatibel, ohne die User in einen Versions-Krieg zu zwingen.

Installation

Mitnehmen

Vereins-Pakete liegen auf der Vereins-eigenen Verdaccio-Registry. Apps und Services-Repos haben dort ein .npmrc, das den @mana/-Scope auf npm.mana.how routet.

pnpm add @mana/shared-schemas

Auch nutzbar mit npm oder yarn — der Scope-Mechanismus ist Standard-npm-Verhalten. Wer den Verein nicht-mitgliedlich nutzen will, kann die Registry frei konfigurieren.

Konsumenten

Wer es benutzt

Klasse & Technik

Worauf es sich bindet

Klasse
Klasse A — Verein-Vertrag — öffentlich, semver-strikt, Plattform-Pflicht.
Sprache
TypeScript
Version
v0.1.8
Registry
npm.mana.how — eigene Vereins-Registry, kein npmjs.com
Lizenz
Quelloffen — Details im Repo.
Grundsätze

Was es für den Verein verkörpert

  • Datensouveränität
    Verwahrer statt Eigentümer.
  • Offenheit
    Code und Mittelverwendung öffentlich.
  • Langlebigkeit
    Bewährte Stacks, gute Doku.
Stand

Was läuft, was nicht

Version: v0.1.8.

Offene Punkte
  • Schemas für alle Hybrid-Apps zentral hier zusammenführen.

@mana/shared-schemas ist eines von vielen Paketen, die der Verein selbst pflegt — eigene Bauteile auf eigener Registry, frei nachnutzbar.