diff --git a/package.json b/package.json index 0b2c09c0..540f55b7 100644 --- a/package.json +++ b/package.json @@ -132,7 +132,8 @@ "vue": "3.2.45" }, "patchedDependencies": { - "nuxt-security@0.13.0": "patches/nuxt-security@0.13.0.patch" + "nuxt-security@0.13.0": "patches/nuxt-security@0.13.0.patch", + "vite-plugin-pwa@0.14.7": "patches/vite-plugin-pwa@0.14.7.patch" } }, "simple-git-hooks": { diff --git a/patches/vite-plugin-pwa@0.14.7.patch b/patches/vite-plugin-pwa@0.14.7.patch new file mode 100644 index 00000000..d250044e --- /dev/null +++ b/patches/vite-plugin-pwa@0.14.7.patch @@ -0,0 +1,175 @@ +diff --git a/dist/index.js b/dist/index.js +index 3fc6a2dd5f9ebaf20504db26a32e809cac929480..693f015856bdbfdfcf67b066877b9f349061d5cd 100644 +--- a/dist/index.js ++++ b/dist/index.js +@@ -285,15 +285,6 @@ async function loadWorkboxBuild() { + return require("workbox-build"); + } + } +-async function loadRollupReplacePlugin() { +- try { +- const { createRequire } = await import("module").then((m) => m.default || m); +- const nodeRequire = createRequire(_dirname); +- return nodeRequire("@rollup/plugin-replace"); +- } catch (_) { +- return require("@rollup/plugin-replace"); +- } +-} + async function generateRegisterSW2(options2, mode, source = "register") { + const sw = options2.buildBase + options2.filename; + const scope = options2.scope; +@@ -335,38 +326,29 @@ async function generateInjectManifest(options2, viteOptions) { + await generateServiceWorker(options2, viteOptions); + return; + } +- const vitePlugins = options2.vitePlugins; +- const includedPluginNames = []; +- if (typeof vitePlugins === "function") +- includedPluginNames.push(...vitePlugins(viteOptions.plugins.map((p) => p.name))); +- else +- includedPluginNames.push(...vitePlugins); +- if (includedPluginNames.length === 0) +- includedPluginNames.push(...defaultInjectManifestVitePlugins); +- const replace = await loadRollupReplacePlugin(); +- const plugins = [ +- replace({ +- "preventAssignment": true, +- "process.env.NODE_ENV": JSON.stringify(options2.mode) +- }), +- ...viteOptions.plugins.filter((p) => includedPluginNames.includes(p.name)) +- ]; +- const { rollup } = await import("rollup"); +- const bundle = await rollup({ +- input: options2.swSrc, +- plugins ++ const { build } = await import("vite"); ++ const define = { ...viteOptions.define ?? {} }; ++ define["process.env.NODE_ENV"] = JSON.stringify(options2.mode); ++ await build({ ++ base: viteOptions.base, ++ build: { ++ sourcemap: viteOptions.build.sourcemap, ++ lib: { ++ entry: options2.swSrc, ++ name: "app", ++ formats: [options2.rollupFormat] ++ }, ++ rollupOptions: { ++ output: { ++ entryFileNames: options2.filename ++ } ++ }, ++ outDir: options2.outDir, ++ emptyOutDir: false ++ }, ++ configFile: false, ++ define + }); +- try { +- await bundle.write({ +- format: options2.rollupFormat, +- exports: "none", +- inlineDynamicImports: true, +- file: options2.injectManifest.swDest, +- sourcemap: viteOptions.build.sourcemap +- }); +- } finally { +- await bundle.close(); +- } + if (!options2.injectManifest.injectionPoint) + return; + const injectManifestOptions = { +diff --git a/dist/index.mjs b/dist/index.mjs +index 4353dc00f19298bf56e3f970a7e27b2266e8d33d..e7407dcddc4fe67a1c08c70c2c5b1700fd89b465 100644 +--- a/dist/index.mjs ++++ b/dist/index.mjs +@@ -258,15 +258,6 @@ async function loadWorkboxBuild() { + return __require("workbox-build"); + } + } +-async function loadRollupReplacePlugin() { +- try { +- const { createRequire } = await import("module").then((m) => m.default || m); +- const nodeRequire = createRequire(_dirname); +- return nodeRequire("@rollup/plugin-replace"); +- } catch (_) { +- return __require("@rollup/plugin-replace"); +- } +-} + async function generateRegisterSW2(options2, mode, source = "register") { + const sw = options2.buildBase + options2.filename; + const scope = options2.scope; +@@ -308,38 +299,29 @@ async function generateInjectManifest(options2, viteOptions) { + await generateServiceWorker(options2, viteOptions); + return; + } +- const vitePlugins = options2.vitePlugins; +- const includedPluginNames = []; +- if (typeof vitePlugins === "function") +- includedPluginNames.push(...vitePlugins(viteOptions.plugins.map((p) => p.name))); +- else +- includedPluginNames.push(...vitePlugins); +- if (includedPluginNames.length === 0) +- includedPluginNames.push(...defaultInjectManifestVitePlugins); +- const replace = await loadRollupReplacePlugin(); +- const plugins = [ +- replace({ +- "preventAssignment": true, +- "process.env.NODE_ENV": JSON.stringify(options2.mode) +- }), +- ...viteOptions.plugins.filter((p) => includedPluginNames.includes(p.name)) +- ]; +- const { rollup } = await import("rollup"); +- const bundle = await rollup({ +- input: options2.swSrc, +- plugins ++ const { build } = await import("vite"); ++ const define = { ...viteOptions.define ?? {} }; ++ define["process.env.NODE_ENV"] = JSON.stringify(options2.mode); ++ await build({ ++ base: viteOptions.base, ++ build: { ++ sourcemap: viteOptions.build.sourcemap, ++ lib: { ++ entry: options2.swSrc, ++ name: "app", ++ formats: [options2.rollupFormat] ++ }, ++ rollupOptions: { ++ output: { ++ entryFileNames: options2.filename ++ } ++ }, ++ outDir: options2.outDir, ++ emptyOutDir: false ++ }, ++ configFile: false, ++ define + }); +- try { +- await bundle.write({ +- format: options2.rollupFormat, +- exports: "none", +- inlineDynamicImports: true, +- file: options2.injectManifest.swDest, +- sourcemap: viteOptions.build.sourcemap +- }); +- } finally { +- await bundle.close(); +- } + if (!options2.injectManifest.injectionPoint) + return; + const injectManifestOptions = { +diff --git a/package.json b/package.json +index 138d97e8a26743d6dfcfa94c29e6b6c20af54e5c..8ef1d02abb43e418ef8ee7bd9d09948587b08865 100644 +--- a/package.json ++++ b/package.json +@@ -93,8 +93,6 @@ + "debug": "^4.3.4", + "fast-glob": "^3.2.12", + "pretty-bytes": "^6.0.0", +- "rollup": "^3.7.2", +- "@rollup/plugin-replace": "^5.0.1", + "workbox-build": "^6.5.4", + "workbox-window": "^6.5.4" + }, \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3b991b28..826f8a9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,9 @@ patchedDependencies: nuxt-security@0.13.0: hash: 4zi7vnypkav7i5l74w6qfcndqy path: patches/nuxt-security@0.13.0.patch + vite-plugin-pwa@0.14.7: + hash: l4g57j5nsv2ls6qiezwq7acdbm + path: patches/vite-plugin-pwa@0.14.7.patch importers: @@ -212,7 +215,7 @@ importers: version: 0.15.2(@vueuse/core@10.1.0)(rollup@2.79.1) vite-plugin-pwa: specifier: ^0.14.7 - version: 0.14.7(vite@4.3.1)(workbox-build@6.5.4)(workbox-window@6.5.4) + version: 0.14.7(patch_hash=l4g57j5nsv2ls6qiezwq7acdbm)(vite@4.3.1)(workbox-build@6.5.4)(workbox-window@6.5.4) vue-advanced-cropper: specifier: ^2.8.8 version: 2.8.8(vue@3.2.45) @@ -13388,7 +13391,7 @@ packages: - vue dev: false - /vite-plugin-pwa@0.14.7(vite@4.3.1)(workbox-build@6.5.4)(workbox-window@6.5.4): + /vite-plugin-pwa@0.14.7(patch_hash=l4g57j5nsv2ls6qiezwq7acdbm)(vite@4.3.1)(workbox-build@6.5.4)(workbox-window@6.5.4): resolution: {integrity: sha512-dNJaf0fYOWncmjxv9HiSa2xrSjipjff7IkYE5oIUJ2x5HKu3cXgA8LRgzOwTc5MhwyFYRSU0xyN0Phbx3NsQYw==} peerDependencies: vite: ^3.1.0 || ^4.0.0 @@ -13406,6 +13409,7 @@ packages: transitivePeerDependencies: - supports-color dev: false + patched: true /vite-plugin-vue-inspector@3.4.0(vite@4.3.1): resolution: {integrity: sha512-gAdJ6fCPO7+PcUZJexgdOz27yuzQfEviBSS4c+zLLsItHdUq79oYgoWpPZwIYcE0FDFcAtz8dfG6I1ugWuykrw==}