Merge Dynamic and UV sw

This commit is contained in:
cohenerickson 2023-12-28 13:53:00 -06:00
parent 2ea3f4e0f7
commit ebb6a436a6
3 changed files with 32 additions and 36 deletions

View file

@ -17,11 +17,8 @@
<script> <script>
if ("serviceWorker" in navigator) { if ("serviceWorker" in navigator) {
window.addEventListener("load", () => { window.addEventListener("load", () => {
navigator.serviceWorker.register("/uvsw.js", { navigator.serviceWorker.register("/sw.js", {
scope: __uv$config.prefix scope: "/~/"
});
navigator.serviceWorker.register("/dysw.js", {
scope: __dynamic$config.prefix
}); });
}); });
} }

View file

@ -1,6 +1,10 @@
importScripts("/uv/uv.bundle.js");
importScripts("/uv/uv.config.js");
importScripts(__uv$config.sw || "/uv/uv.sw.js");
importScripts("/dynamic/dynamic.config.js"); importScripts("/dynamic/dynamic.config.js");
importScripts("/dynamic/dynamic.worker.js"); importScripts("/dynamic/dynamic.worker.js");
const sw = new UVServiceWorker();
const dynamic = new Dynamic(); const dynamic = new Dynamic();
self.dynamic = dynamic; self.dynamic = dynamic;
@ -8,7 +12,7 @@ self.dynamic = dynamic;
self.addEventListener("fetch", (event) => { self.addEventListener("fetch", (event) => {
if ( if (
event.request.url.startsWith(location.origin + self.__dynamic$config.prefix) event.request.url.startsWith(location.origin + self.__dynamic$config.prefix)
) ) {
event.respondWith( event.respondWith(
(async function () { (async function () {
if (await dynamic.route(event)) { if (await dynamic.route(event)) {
@ -18,4 +22,9 @@ self.addEventListener("fetch", (event) => {
return await fetch(event.request); return await fetch(event.request);
})() })()
); );
} else if (
event.request.url.startsWith(location.origin + __uv$config.prefix)
) {
event.respondWith(sw.fetch(event));
}
}); });

View file

@ -1,10 +0,0 @@
importScripts("/uv/uv.bundle.js");
importScripts("/uv/uv.config.js");
importScripts(__uv$config.sw || "/uv/uv.sw.js");
const sw = new UVServiceWorker();
self.addEventListener("fetch", (event) => {
if (event.request.url.startsWith(location.origin + __uv$config.prefix))
return event.respondWith(sw.fetch(event));
});