Dry Run
Testet Create-Operationen in Payload CMS komplett durch, bricht nach Validierung und Hooks die Datenbanktransaktion ab.
Installation
pnpm add @lizardglobal/payload-dry-run Über
Das Plugin durchläuft bei einer Create-Operation die gesamte Pipeline inklusive Validierung, Hooks und Access Control, schreibt das Dokument aber nicht in die Datenbank. Alles, was eine Anfrage ablehnen oder transformieren würde, wird wie bei einem echten Schreibvorgang ausgefuehrt. Nur der finale Commit wird rueckgaengig gemacht, und zwar ueber `req.payload.db.rollbackTransaction(req.transactionID)` in einem afterOperation-Hook. Aktiviert wird das Plugin pro Collection mit `dryRunCreatePlugin({ collections: ['users', 'orders'] })`. Ein Dry Run wird ausgeloest, indem ein Truthy-Wert fuer den Standard-Flag `_dryRun` ueber Query String, Request Body, Search Params oder `req.context` uebergeben wird. Als truthy gelten `true`, `1`, `on` und `yes` ohne Beruecksichtigung der Gross- und Kleinschreibung. Der Flag wird zurueck in `req.context` geschrieben, sodass nachfolgende Hooks ihn abfragen koennen. Die Option `dryRunFieldName` akzeptiert einen einzelnen String, ein Mapping pro Collection oder ein Objekt mit einem `_default`-Fallback. Bei Auth-Collections mit E-Mail-Verifizierung setzt ein beforeOperation-Hook `disableVerificationEmail: true`, damit waehrend eines Dry Runs keine Verifizierungs-E-Mail verschickt wird. Mit `disabled` kann das Plugin komplett deaktiviert werden, was sich fuere umgebungsspezifische Deaktivierung in Produktion eignet. Fuer die manuelle Komposition von Collection-Konfigurationen gibt es den Helper `withCreateDryRun(collection, fieldName?)`. Er wendet das Dry-Run-Verhalten auf eine einzelne `CollectionConfig` an, ohne das Plugin zu verwenden, und ist idempotent. Ist ein Rollback noetig, aber keine `transactionID` vorhanden, wirft das Plugin einen Fehler, anstatt das Dokument stillschweigend zu committen. Das Plugin ist experimentell, APIs und Schema koennen sich noch aendern. Payload muss in Version 3.0.0 oder hoeher installiert sein, Node in Version 20 oder hoeher.
Paketinformationen
- Paketname
@lizardglobal/payload-dry-run- Neueste Version
1.0.1- Entpackte Größe
- 35 kB
- Lizenz
- MIT
- Wöchentliche Downloads
- 2
- Zuletzt veröffentlicht
- 28. Juli 2026
Mehr von LizardGlobalGH
Profil ansehenRich Text Lexical React Native
Rendert serialisierte Lexical-Rich-Text-Inhalte aus Payload CMS in React Native mit nativen Primitives und überschreibbaren Konvertern.
Collection References
Kaskadiert Löschungen oder entfernt Referenzen bei relationship- und upload-Feldern in Payload, wenn ein referenziertes Dokument gelöscht wird.
Discord Sync
Synchronisiert Discord-Guilds, Channels, Mitglieder und Rollen in Payload-Kollektionen per discord.js, manuell, per HTTP oder nach Cron-Zeitplan.
Ähnliche Plugins
Mehr in DevtoolsShared plugin tooling
Dev-only Konfiguration für Linting, Formatierung, TypeScript, Build, Testdatenbank und Release der @seshuk Payload-Plugins.
Puck visual page builder
Integriert den Puck visuell Page Builder mit Payload CMS für Drag-and-Drop-Bearbeitung.
OpenAPI
Generiert OpenAPI-Spezifikationen aus Payload CMS-Konfigurationen.
Create Ideal CMS
Interaktive CLI, die ein Payload-CMS-Monorepo mit vorkonfigurierten FocusReactive-Plugins aufsetzt.
OpenAPI
Erstellt automatisch eine OpenAPI-Spezifikation aus einer Payload CMS 3.x-Konfiguration und stellt sie über Scalar, Swagger UI, RapiDoc oder Redoc dar.
Markdown documentation sync
Synchronisiert Markdown-Dokumentation mit Payload CMS und Git.