OptionalenabledMaster gate (opt-in, defaults to false): registers the service worker, enables
the install prompt and emits the manifest. Everything below is inert without it.
OptionalnameFull application name — used in the generated manifest.json.
Optionalshort_Short name displayed under the home-screen icon.
OptionaldescriptionDescription of the application.
Optionaltheme_Theme color for the browser chrome and splash screen (hex, e.g. "#2d6a4f").
Optionalbackground_Background color for the PWA splash screen (hex, e.g. "#ffffff").
OptionalinstallInstall prompt / iOS banner configuration.
OptionalofflineOnline/offline connectivity badge.
The
modules.pwaconfiguration block.Canonical shape — this is the single declaration of the block.
lifecycle.tsandinstall.tsderive their own narrower views from it withPick<>rather than redeclaring it (they used to, and the three copies had already drifted apart: neither carried the manifest fields, and this one carried neitherenablednorofflineDetector). The authoritative runtime schema ispwa-capability.ts— keep the two in sync.Example