"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { VitePWA: () => VitePWA, cachePreset: () => cachePreset, defaultInjectManifestVitePlugins: () => defaultInjectManifestVitePlugins }); module.exports = __toCommonJS(src_exports); // 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.buildBase}${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 `