Skip to content

PwaConfig

Viames Marino edited this page Feb 22, 2026 · 1 revision

Pair framework: PwaConfig

Pair\Helpers\PwaConfig builds normalized runtime configuration for PairSW.js and can encode it in service-worker URL query params.

Main methods

defaults(): array

Returns baseline policy for:

  • offlineFallback
  • precache
  • cache strategies and limits
  • sync queue/retry settings

normalize(array $options = []): array

Merges user options with defaults and clamps limits.

encodeForServiceWorker(array $options = []): string

Produces URL-safe base64 payload for service-worker query param.

buildServiceWorkerUrl(string $swUrl = '/assets/PairSW.js', array $options = []): string

Returns SW URL with optional query keys:

  • offline
  • pwa (encoded config)

Example

use Pair\Helpers\PwaConfig;

$swUrl = PwaConfig::buildServiceWorkerUrl('/assets/PairSW.js', [
    'offlineFallback' => '/offline.html',
    'cache' => [
        'pageStrategy' => 'network-first',
        'apiStrategy' => 'network-first',
        'assetStrategy' => 'stale-while-revalidate',
        'maxRuntimeEntries' => 400
    ],
    'sync' => [
        'maxQueueEntries' => 300,
        'maxAttempts' => 6
    ]
]);

Strategy values

Allowed cache strategies:

  • network-first
  • cache-first
  • stale-while-revalidate

See also: PwaManifest, PWA, PairPush.js.

Clone this wiki locally