var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) { if (typeof require !== "undefined") return require.apply(this, arguments); throw new Error('Dynamic require of "' + x + '" is not supported'); }); // src/context.ts function createContext(userOptions) { return { userOptions, options: void 0, viteConfig: void 0, useImportRegister: false, devEnvironment: false }; } // src/constants.ts var FILE_SW_REGISTER = "registerSW.js"; var VIRTUAL_MODULES_MAP = { "virtual:pwa-register": "register", "virtual:pwa-register/vue": "vue", "virtual:pwa-register/svelte": "svelte", "virtual:pwa-register/react": "react", "virtual:pwa-register/preact": "preact", "virtual:pwa-register/solid": "solid" }; var VIRTUAL_MODULES_RESOLVE_PREFIX = "/@vite-plugin-pwa/"; var VIRTUAL_MODULES = Object.keys(VIRTUAL_MODULES_MAP); var defaultInjectManifestVitePlugins = [ "alias", "commonjs", "vite:resolve", "vite:esbuild", "replace", "vite:define", "rollup-plugin-dynamic-import-variables", "vite:esbuild-transpile", "vite:json", "vite:terser" ]; var PWA_INFO_VIRTUAL = "virtual:pwa-info"; var RESOLVED_PWA_INFO_VIRTUAL = `\0${PWA_INFO_VIRTUAL}`; var DEV_SW_NAME = "dev-sw.js?dev-sw"; var DEV_SW_VIRTUAL = `${VIRTUAL_MODULES_RESOLVE_PREFIX}pwa-entry-point-loaded`; var RESOLVED_DEV_SW_VIRTUAL = `\0${DEV_SW_VIRTUAL}`; var DEV_READY_NAME = "vite-pwa-plugin:dev-ready"; var DEV_REGISTER_SW_NAME = "vite-plugin-pwa:register-sw"; // src/html.ts function generateSimpleSWRegister(options2, dev) { const path = dev ? `${options2.base}${DEV_SW_NAME}` : `${options2.base}${options2.filename}`; if (dev) { const swType = options2.devOptions.type ?? "classic"; return `if('serviceWorker' in navigator) navigator.serviceWorker.register('${path}', { scope: '${options2.scope}', type: '${swType}' })`; } return ` if('serviceWorker' in navigator) { window.addEventListener('load', () => { navigator.serviceWorker.register('${path}', { scope: '${options2.scope}' }) }) }`.replace(/\n/g, ""); } function injectServiceWorker(html, options2, dev) { const manifest = generateWebManifest(options2, dev); if (!dev) { const script = generateRegisterSW(options2, dev); if (script) { return html.replace( "", `${manifest}${script}` ); } } return html.replace( "", `${manifest}` ); } function generateWebManifest(options2, dev) { const crossorigin = options2.useCredentials ? ' crossorigin="use-credentials"' : ""; if (dev) { const name = options2.devOptions.webManifestUrl ?? `${options2.base}${options2.manifestFilename}`; return options2.manifest ? `` : ""; } else { return options2.manifest ? `` : ""; } } function generateRegisterSW(options2, dev) { if (options2.injectRegister === "inline") return `