@mana/shared-schemas
Event-Schemas pro Vereins-App — die Quelle der Wahrheit für mana-sync und Codegen-Quelle für event-kit.
@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:
mana-syncvalidiert jeden eingehenden Event gegen das Schema,@mana/event-kitgeneriert daraus typsicheren Code (TS, Swift, Kotlin),@mana/event-syncbaut 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.
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.
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.
Was es für den Verein verkörpert
- DatensouveränitätVerwahrer statt Eigentümer.
- OffenheitCode und Mittelverwendung öffentlich.
- LanglebigkeitBewährte Stacks, gute Doku.
Was läuft, was nicht
Version: v0.1.8.
- Schemas für alle Hybrid-Apps zentral hier zusammenführen.
Weitere Pakete dieser Kategorie
SDK-Pakete, die Apps mit den Services verbinden.
- @mana/shared-share-protocolFöderations-Vertrag des Vereins — Manifest, Share-Envelope, Drag-Payload, Search-Result. Der eine Klasse-A-Vertrag, an dem alle Apps hängen.
- @mana/event-kitEvent-Sourcing DSL und Codegen — definiert Schemas einmal, generiert TypeScript, Swift und Kotlin daraus.
- @mana/event-syncWeb-Client für die Event-Sourced-Plattform — IndexedDB-Store + HTTP/WebSocket-Sync zu mana-sync.
- @mana/shared-authErste Generation der Auth-Klienten-Utilities. Lebt weiter, neue Apps starten auf shared-auth-sso.
- @mana/shared-auth-ssoSvelte-5-Auth-Klient für das SSO-Cookie-Pattern — createSession, tryRefresh, buildLoginRedirect, AuthCallback.
- @mana/notify-clientClient-SDK für den mana-notify Push-Service — eine Zeile pro App, statt OneSignal-Setup zu pflegen.
@mana/shared-schemas ist eines von vielen Paketen, die der Verein selbst pflegt — eigene Bauteile auf eigener Registry, frei nachnutzbar.