@portaki/module-sdk
v1.2.0
Published
Portaki module SDK — guest UI, schema, gateway handlers (build with @portaki/module-cli)
Readme
Installation
npm install @portaki/module-sdk react
# ou
pnpm add @portaki/module-sdk reactPeer : react ≥ 18.
Démarrage rapide
Expose un export default depuis le point d’entrée de ton paquet npm (comme les modules @portaki/module-* du monorepo) :
import { definePortakiModule } from "@portaki/module-sdk";
export default definePortakiModule({
id: "hello",
label: { fr: "Bonjour", en: "Hello" },
icon: "sparkles",
navSlot: "section",
render: ({ property, stay, lang }) => (
<section style={{ padding: "1rem" }}>
<h2>{lang === "fr" ? "Votre séjour" : "Your stay"}</h2>
<p>{property.name}</p>
</section>
),
});definePortakiModule complète les champs optionnels (description, version, navSlot, …) avec des valeurs par défaut cohérentes pour le runtime Portaki.
API publique
| Export | Rôle |
|--------|------|
| definePortakiModule | Fabrique une définition de module typée (PortakiModuleDefinition). |
| useTracking | Hook optionnel pour instrumentation / analytics côté module. |
| Composants | ModuleSection, ModuleCard, ModuleLoading, ModuleError, ModuleEmpty, CopyButton, ExternalLink, WazeButton, GoogleMapsButton, ModuleConfigAlert — blocs UI alignés sur la page invité. |
| Types | ModuleContext, StayData, PropertyData, NavSlot, StayStatus, schéma de config module (ModuleConfigSchema), etc. |
Manifest JSON des modules : schéma module.v1 dans le dépôt portaki-sdk (schema/module.v1.json). Le champ requiresHostSdk (semver X.Y.Z) indique la version minimale de @portaki/module-sdk avec laquelle le module a été validé — aligner sur la version publiée du paquet npm (sdk/module-sdk/package.json).
Liens
| Ressource | URL | |-----------|-----| | Site & marque | portaki.app | | Monorepo (Java, modules, CI) | github.com/PortakiApp/portaki-sdk | | Paquet npm | npmjs.com/package/@portaki/module-sdk | | Guide développeur | Getting started | | SDK Java (Maven) | sdk/java |
Build local
cd sdk/module-sdk
npm ci
npm run buildLes types et le JS compilé sortent dans dist/.
Version Java (Maven)
Backend des modules : artefact app.portaki:portaki-module-sdk — README Java.
Licence
MIT — voir le champ license du package.json.
