UNPKG

next-pwa-pack

Version:

PWA cache provider for Next.js/React apps (service worker, manifest, offline page, SPA cache, offline)

26 lines (25 loc) 1.32 kB
"use client"; import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime"; import RegisterSW from "./RegisterSW"; import CacheCurrentPage from "./CacheCurrentPage"; import DevPWAStatus from "./DevPWAStatus"; import SWRevalidateListener from "./SWRevalidateListener"; import SSERevalidateListener from "./SSERevalidateListener"; /** * PWAProvider — wrapper for automatic service worker registration and page caching. * * @param children - React children * @param swPath - path to service worker (default /sw.js) * @param devMode - development mode with dev tools indicator and actions (left bottom corner of the screen) (default false) * * @example * ```tsx * import { PWAProvider } from "next-pwa-pack"; * export default function layout({ children }) { * return <PWAProvider>{children}</PWAProvider>; * } * ``` */ export default function PWAProvider({ children, swPath, devMode = false, serverRevalidation = { enabled: true, sseEndpoint: "/api/pwa/cache-events" }, }) { return (_jsxs(_Fragment, { children: [_jsx(RegisterSW, { swPath: swPath }), _jsx(CacheCurrentPage, {}), _jsx(SWRevalidateListener, {}), _jsx(SSERevalidateListener, { sseEndpoint: serverRevalidation.sseEndpoint, enabled: serverRevalidation.enabled }), devMode && _jsx(DevPWAStatus, {}), children] })); }