UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

40 lines (39 loc) 1.25 kB
import { CACHE_KEY } from "./constants.native.js"; import { getURL } from "./getURL.native.js"; var stale = !1, polling = null; function isVersionStale() { return !!(stale || typeof window < "u" && window.__oneVersionStale); } function setupSkewProtection() { if (typeof window > "u" || process.env.NODE_ENV === "development" || process.env.ONE_SKEW_PROTECTION !== "proactive") return; var POLL_INTERVAL = 12e4, baseUrl = getURL(); async function check() { try { var res = await fetch(`${baseUrl}/version.json`, { headers: { "cache-control": "no-cache", pragma: "no-cache" } }); if (!res.ok) { polling = setTimeout(check, POLL_INTERVAL); return; } var data = await res.json(); if (data.version !== CACHE_KEY) { stale = !0, window.__oneVersionStale = !0, window.dispatchEvent(new CustomEvent("one-version-update", { detail: { version: data.version } })); return; } } catch {} polling = setTimeout(check, POLL_INTERVAL); } polling = setTimeout(check, POLL_INTERVAL); } export { isVersionStale, setupSkewProtection }; //# sourceMappingURL=skewProtection.native.js.map