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>
if ("serviceWorker" in navigator) {
window.addEventListener("load", () => {
navigator.serviceWorker.register("/uvsw.js", {
scope: __uv$config.prefix
});
navigator.serviceWorker.register("/dysw.js", {
scope: __dynamic$config.prefix
navigator.serviceWorker.register("/sw.js", {
scope: "/~/"
});
});
}

View file

@ -1,21 +1,30 @@
importScripts("/dynamic/dynamic.config.js");
importScripts("/dynamic/dynamic.worker.js");
const dynamic = new Dynamic();
self.dynamic = dynamic;
self.addEventListener("fetch", (event) => {
if (
event.request.url.startsWith(location.origin + self.__dynamic$config.prefix)
)
event.respondWith(
(async function () {
if (await dynamic.route(event)) {
return await dynamic.fetch(event);
}
return await fetch(event.request);
})()
);
});
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.worker.js");
const sw = new UVServiceWorker();
const dynamic = new Dynamic();
self.dynamic = dynamic;
self.addEventListener("fetch", (event) => {
if (
event.request.url.startsWith(location.origin + self.__dynamic$config.prefix)
) {
event.respondWith(
(async function () {
if (await dynamic.route(event)) {
return await dynamic.fetch(event);
}
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));
});