Skip to content

Konfiguration ​

Optionen an den PageFlow-Adapter übergeben:

ts
PageFlow.vite({
  enabled: true,
  previewPath: '/__unplugin-pageflow/',
  appUrl: '/',
  dynamicParams: {
    '/products/:id': { id: 'demo-product' },
  },
})

Optionen ​

OptionStandardwertBeschreibung
enabledtrueAktiviert PageFlow im Entwicklungsserver.
previewPath/__unplugin-pageflow/Von der visuellen Karte verwendete URL.
appUrl/Route zum Erkennen des Anwendungsrouters.
dynamicParams{}Liefert Beispielwerte für dynamische Routenparameter.
pageTests{}Verknüpft Routen-Globs ausdrücklich mit Testdatei-Globs.
testCommands{}Aktiviert die Testausführung je Testart mit expliziten shell-freien Befehlen.

Seitentests ​

PageFlow ordnet Tests automatisch zu, wenn sie eine Seitenkomponente importieren, eine gleichnamige Testdatei verwenden oder in einem Testfall zur vollständigen Route navigieren. Mehrdeutige Tests können ausdrücklich zugeordnet werden:

ts
PageFlow.vite({
  pageTests: {
    '/orders/**': ['tests/orders-*.spec.ts'],
  },
  testCommands: {
    unit: { command: 'pnpm', args: ['vitest', 'run', '{file}', '-t', '{name}'] },
    component: { command: 'pnpm', args: ['vitest', 'run', '{file}', '-t', '{name}'] },
    e2e: { command: 'pnpm', args: ['playwright', 'test', '{file}', '-g', '{name}'], timeoutMs: 180_000 },
  },
})

{file} und {name} werden durch die indizierte Testdatei und den Fallnamen ersetzt. Befehle laufen vom Projektstamm mit shell: false; standardmäßig wird kein Testbefehl erraten oder aktiviert. Ein Test darf standardmäßig 120 Sekunden laufen; timeoutMs setzt ein Limit von 1 Sekunde bis 30 Minuten.

PageFlow speichert die letzten 500 Testergebnisse in .unplugin-pageflow/cache/test-results.json. Eine Inhaltsänderung der Testdatei macht ihr vorheriges Ergebnis automatisch ungültig. Gespeicherte Ausgabe ist auf die letzten 20 KB je Test begrenzt; das Cache-Verzeichnis sollte von Git ignoriert bleiben.

Parameter für dynamische Routen ​

PageFlow benötigt konkrete Werte, um eine Route wie /products/:id zu rendern:

ts
PageFlow.vite({
  dynamicParams: {
    '/products/:id': {
      id: 'demo-product',
    },
    '/users/:userId/orders/:orderId': {
      userId: 'alice',
      orderId: 'order-100',
    },
  },
})

Sichere lokale oder Testkennungen verwenden. Dynamische Parameter umgehen nicht die Authentifizierung der Anwendung.

Bereitschaft der Vorschau ​

PageFlow wartet vor der Seitenaufnahme auf Schriftarten, Bilder und ein ruhiges DOM. Eine Seite mit lang laufender asynchroner Arbeit kann ihre Bereitschaft ausdrücklich melden:

ts
window.__UNPLUGIN_PAGEFLOW_READY__?.()

Veröffentlicht unter der MIT-Lizenz.