@serwist/sw 9.0.0-preview.21 → 9.0.0-preview.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -156
- package/package.json +7 -42
- package/src/index.ts +5 -22
- package/README.md +0 -1
- package/dist/abstractions/Serwist.d.ts +0 -82
- package/dist/abstractions/Serwist.d.ts.map +0 -1
- package/dist/abstractions/disableDevLogs.d.ts +0 -7
- package/dist/abstractions/disableDevLogs.d.ts.map +0 -1
- package/dist/abstractions/fallbacks.d.ts +0 -39
- package/dist/abstractions/fallbacks.d.ts.map +0 -1
- package/dist/abstractions/handlePrecaching.d.ts +0 -39
- package/dist/abstractions/handlePrecaching.d.ts.map +0 -1
- package/dist/abstractions/installSerwist.d.ts +0 -15
- package/dist/abstractions/installSerwist.d.ts.map +0 -1
- package/dist/abstractions/navigationPreload.d.ts +0 -20
- package/dist/abstractions/navigationPreload.d.ts.map +0 -1
- package/dist/abstractions/registerRuntimeCaching.d.ts +0 -11
- package/dist/abstractions/registerRuntimeCaching.d.ts.map +0 -1
- package/dist/abstractions/types.d.ts +0 -29
- package/dist/abstractions/types.d.ts.map +0 -1
- package/dist/chunks/NavigationRoute.js +0 -54
- package/dist/chunks/NetworkOnly.js +0 -193
- package/dist/chunks/PrecacheFallbackPlugin.js +0 -573
- package/dist/chunks/Strategy.js +0 -410
- package/dist/chunks/precacheAndRoute.js +0 -113
- package/dist/chunks/registerRoute.js +0 -7
- package/dist/chunks/singletonPrecacheController.js +0 -433
- package/dist/chunks/singletonRouter.js +0 -435
- package/dist/index.plugins.d.ts +0 -41
- package/dist/index.plugins.d.ts.map +0 -1
- package/dist/index.plugins.js +0 -671
- package/dist/index.precaching.d.ts +0 -25
- package/dist/index.precaching.d.ts.map +0 -1
- package/dist/index.precaching.js +0 -24
- package/dist/index.routing.d.ts +0 -15
- package/dist/index.routing.d.ts.map +0 -1
- package/dist/index.routing.js +0 -19
- package/dist/index.strategies.d.ts +0 -22
- package/dist/index.strategies.d.ts.map +0 -1
- package/dist/index.strategies.js +0 -146
- package/dist/plugins/backgroundSync/BackgroundSyncPlugin.d.ts +0 -23
- package/dist/plugins/backgroundSync/BackgroundSyncPlugin.d.ts.map +0 -1
- package/dist/plugins/backgroundSync/Queue.d.ts +0 -166
- package/dist/plugins/backgroundSync/Queue.d.ts.map +0 -1
- package/dist/plugins/backgroundSync/QueueDb.d.ts +0 -90
- package/dist/plugins/backgroundSync/QueueDb.d.ts.map +0 -1
- package/dist/plugins/backgroundSync/QueueStore.d.ts +0 -75
- package/dist/plugins/backgroundSync/QueueStore.d.ts.map +0 -1
- package/dist/plugins/backgroundSync/StorableRequest.d.ts +0 -51
- package/dist/plugins/backgroundSync/StorableRequest.d.ts.map +0 -1
- package/dist/plugins/broadcastUpdate/BroadcastCacheUpdate.d.ts +0 -45
- package/dist/plugins/broadcastUpdate/BroadcastCacheUpdate.d.ts.map +0 -1
- package/dist/plugins/broadcastUpdate/BroadcastUpdatePlugin.d.ts +0 -27
- package/dist/plugins/broadcastUpdate/BroadcastUpdatePlugin.d.ts.map +0 -1
- package/dist/plugins/broadcastUpdate/constants.d.ts +0 -5
- package/dist/plugins/broadcastUpdate/constants.d.ts.map +0 -1
- package/dist/plugins/broadcastUpdate/responsesAreSame.d.ts +0 -11
- package/dist/plugins/broadcastUpdate/responsesAreSame.d.ts.map +0 -1
- package/dist/plugins/broadcastUpdate/types.d.ts +0 -34
- package/dist/plugins/broadcastUpdate/types.d.ts.map +0 -1
- package/dist/plugins/cacheableResponse/CacheableResponse.d.ts +0 -40
- package/dist/plugins/cacheableResponse/CacheableResponse.d.ts.map +0 -1
- package/dist/plugins/cacheableResponse/CacheableResponsePlugin.d.ts +0 -27
- package/dist/plugins/cacheableResponse/CacheableResponsePlugin.d.ts.map +0 -1
- package/dist/plugins/expiration/CacheExpiration.d.ts +0 -66
- package/dist/plugins/expiration/CacheExpiration.d.ts.map +0 -1
- package/dist/plugins/expiration/ExpirationPlugin.d.ts +0 -116
- package/dist/plugins/expiration/ExpirationPlugin.d.ts.map +0 -1
- package/dist/plugins/expiration/models/CacheTimestampsModel.d.ts +0 -73
- package/dist/plugins/expiration/models/CacheTimestampsModel.d.ts.map +0 -1
- package/dist/plugins/googleAnalytics/constants.d.ts +0 -10
- package/dist/plugins/googleAnalytics/constants.d.ts.map +0 -1
- package/dist/plugins/googleAnalytics/initialize.d.ts +0 -34
- package/dist/plugins/googleAnalytics/initialize.d.ts.map +0 -1
- package/dist/plugins/precaching/PrecacheFallbackPlugin.d.ts +0 -54
- package/dist/plugins/precaching/PrecacheFallbackPlugin.d.ts.map +0 -1
- package/dist/plugins/rangeRequests/RangeRequestsPlugin.d.ts +0 -19
- package/dist/plugins/rangeRequests/RangeRequestsPlugin.d.ts.map +0 -1
- package/dist/plugins/rangeRequests/createPartialResponse.d.ts +0 -18
- package/dist/plugins/rangeRequests/createPartialResponse.d.ts.map +0 -1
- package/dist/plugins/rangeRequests/utils/calculateEffectiveBoundaries.d.ts +0 -14
- package/dist/plugins/rangeRequests/utils/calculateEffectiveBoundaries.d.ts.map +0 -1
- package/dist/plugins/rangeRequests/utils/parseRangeHeader.d.ts +0 -12
- package/dist/plugins/rangeRequests/utils/parseRangeHeader.d.ts.map +0 -1
- package/dist/precaching/PrecacheController.d.ts +0 -145
- package/dist/precaching/PrecacheController.d.ts.map +0 -1
- package/dist/precaching/PrecacheRoute.d.ts +0 -20
- package/dist/precaching/PrecacheRoute.d.ts.map +0 -1
- package/dist/precaching/PrecacheStrategy.d.ts +0 -68
- package/dist/precaching/PrecacheStrategy.d.ts.map +0 -1
- package/dist/precaching/addPlugins.d.ts +0 -8
- package/dist/precaching/addPlugins.d.ts.map +0 -1
- package/dist/precaching/addRoute.d.ts +0 -15
- package/dist/precaching/addRoute.d.ts.map +0 -1
- package/dist/precaching/cleanupOutdatedCaches.d.ts +0 -6
- package/dist/precaching/cleanupOutdatedCaches.d.ts.map +0 -1
- package/dist/precaching/createHandlerBoundToURL.d.ts +0 -17
- package/dist/precaching/createHandlerBoundToURL.d.ts.map +0 -1
- package/dist/precaching/getCacheKeyForURL.d.ts +0 -20
- package/dist/precaching/getCacheKeyForURL.d.ts.map +0 -1
- package/dist/precaching/matchPrecache.d.ts +0 -14
- package/dist/precaching/matchPrecache.d.ts.map +0 -1
- package/dist/precaching/precache.d.ts +0 -19
- package/dist/precaching/precache.d.ts.map +0 -1
- package/dist/precaching/precacheAndRoute.d.ts +0 -14
- package/dist/precaching/precacheAndRoute.d.ts.map +0 -1
- package/dist/precaching/singletonPrecacheController.d.ts +0 -38
- package/dist/precaching/singletonPrecacheController.d.ts.map +0 -1
- package/dist/precaching/types.d.ts +0 -37
- package/dist/precaching/types.d.ts.map +0 -1
- package/dist/precaching/utils/PrecacheCacheKeyPlugin.d.ts +0 -17
- package/dist/precaching/utils/PrecacheCacheKeyPlugin.d.ts.map +0 -1
- package/dist/precaching/utils/PrecacheInstallReportPlugin.d.ts +0 -15
- package/dist/precaching/utils/PrecacheInstallReportPlugin.d.ts.map +0 -1
- package/dist/precaching/utils/createCacheKey.d.ts +0 -16
- package/dist/precaching/utils/createCacheKey.d.ts.map +0 -1
- package/dist/precaching/utils/deleteOutdatedCaches.d.ts +0 -18
- package/dist/precaching/utils/deleteOutdatedCaches.d.ts.map +0 -1
- package/dist/precaching/utils/generateURLVariations.d.ts +0 -12
- package/dist/precaching/utils/generateURLVariations.d.ts.map +0 -1
- package/dist/precaching/utils/getCacheKeyForURL.d.ts +0 -14
- package/dist/precaching/utils/getCacheKeyForURL.d.ts.map +0 -1
- package/dist/precaching/utils/printCleanupDetails.d.ts +0 -6
- package/dist/precaching/utils/printCleanupDetails.d.ts.map +0 -1
- package/dist/precaching/utils/printInstallDetails.d.ts +0 -7
- package/dist/precaching/utils/printInstallDetails.d.ts.map +0 -1
- package/dist/precaching/utils/removeIgnoredSearchParams.d.ts +0 -12
- package/dist/precaching/utils/removeIgnoredSearchParams.d.ts.map +0 -1
- package/dist/routing/NavigationRoute.d.ts +0 -57
- package/dist/routing/NavigationRoute.d.ts.map +0 -1
- package/dist/routing/RegExpRoute.d.ts +0 -24
- package/dist/routing/RegExpRoute.d.ts.map +0 -1
- package/dist/routing/Route.d.ts +0 -33
- package/dist/routing/Route.d.ts.map +0 -1
- package/dist/routing/Router.d.ts +0 -150
- package/dist/routing/Router.d.ts.map +0 -1
- package/dist/routing/parseRoute.d.ts +0 -16
- package/dist/routing/parseRoute.d.ts.map +0 -1
- package/dist/routing/registerRoute.d.ts +0 -15
- package/dist/routing/registerRoute.d.ts.map +0 -1
- package/dist/routing/setCatchHandler.d.ts +0 -9
- package/dist/routing/setCatchHandler.d.ts.map +0 -1
- package/dist/routing/setDefaultHandler.d.ts +0 -12
- package/dist/routing/setDefaultHandler.d.ts.map +0 -1
- package/dist/routing/singletonRouter.d.ts +0 -47
- package/dist/routing/singletonRouter.d.ts.map +0 -1
- package/dist/routing/unregisterRoute.d.ts +0 -8
- package/dist/routing/unregisterRoute.d.ts.map +0 -1
- package/dist/routing/utils/constants.d.ts +0 -15
- package/dist/routing/utils/constants.d.ts.map +0 -1
- package/dist/routing/utils/normalizeHandler.d.ts +0 -10
- package/dist/routing/utils/normalizeHandler.d.ts.map +0 -1
- package/dist/strategies/CacheFirst.d.ts +0 -23
- package/dist/strategies/CacheFirst.d.ts.map +0 -1
- package/dist/strategies/CacheOnly.d.ts +0 -20
- package/dist/strategies/CacheOnly.d.ts.map +0 -1
- package/dist/strategies/NetworkFirst.d.ts +0 -61
- package/dist/strategies/NetworkFirst.d.ts.map +0 -1
- package/dist/strategies/NetworkOnly.d.ts +0 -32
- package/dist/strategies/NetworkOnly.d.ts.map +0 -1
- package/dist/strategies/StaleWhileRevalidate.d.ts +0 -35
- package/dist/strategies/StaleWhileRevalidate.d.ts.map +0 -1
- package/dist/strategies/Strategy.d.ts +0 -83
- package/dist/strategies/Strategy.d.ts.map +0 -1
- package/dist/strategies/StrategyHandler.d.ts +0 -189
- package/dist/strategies/StrategyHandler.d.ts.map +0 -1
- package/dist/strategies/plugins/cacheOkAndOpaquePlugin.d.ts +0 -3
- package/dist/strategies/plugins/cacheOkAndOpaquePlugin.d.ts.map +0 -1
- package/dist/strategies/utils/messages.d.ts +0 -5
- package/dist/strategies/utils/messages.d.ts.map +0 -1
- package/src/abstractions/Serwist.ts +0 -177
- package/src/abstractions/disableDevLogs.ts +0 -10
- package/src/abstractions/fallbacks.ts +0 -65
- package/src/abstractions/handlePrecaching.ts +0 -65
- package/src/abstractions/installSerwist.ts +0 -28
- package/src/abstractions/navigationPreload.ts +0 -64
- package/src/abstractions/registerRuntimeCaching.ts +0 -17
- package/src/abstractions/types.ts +0 -29
- package/src/index.plugins.ts +0 -95
- package/src/index.precaching.ts +0 -41
- package/src/index.routing.ts +0 -28
- package/src/index.strategies.ts +0 -26
- package/src/plugins/backgroundSync/BackgroundSyncPlugin.ts +0 -39
- package/src/plugins/backgroundSync/Queue.ts +0 -438
- package/src/plugins/backgroundSync/QueueDb.ts +0 -176
- package/src/plugins/backgroundSync/QueueStore.ts +0 -161
- package/src/plugins/backgroundSync/StorableRequest.ts +0 -142
- package/src/plugins/broadcastUpdate/BroadcastCacheUpdate.ts +0 -159
- package/src/plugins/broadcastUpdate/BroadcastUpdatePlugin.ts +0 -43
- package/src/plugins/broadcastUpdate/constants.ts +0 -12
- package/src/plugins/broadcastUpdate/responsesAreSame.ts +0 -48
- package/src/plugins/broadcastUpdate/types.ts +0 -37
- package/src/plugins/cacheableResponse/CacheableResponse.ts +0 -141
- package/src/plugins/cacheableResponse/CacheableResponsePlugin.ts +0 -46
- package/src/plugins/expiration/CacheExpiration.ts +0 -192
- package/src/plugins/expiration/ExpirationPlugin.ts +0 -297
- package/src/plugins/expiration/models/CacheTimestampsModel.ts +0 -184
- package/src/plugins/googleAnalytics/constants.ts +0 -22
- package/src/plugins/googleAnalytics/initialize.ts +0 -213
- package/src/plugins/precaching/PrecacheFallbackPlugin.ts +0 -86
- package/src/plugins/rangeRequests/RangeRequestsPlugin.ts +0 -39
- package/src/plugins/rangeRequests/createPartialResponse.ts +0 -92
- package/src/plugins/rangeRequests/utils/calculateEffectiveBoundaries.ts +0 -58
- package/src/plugins/rangeRequests/utils/parseRangeHeader.ts +0 -54
- package/src/precaching/PrecacheController.ts +0 -332
- package/src/precaching/PrecacheRoute.ts +0 -50
- package/src/precaching/PrecacheStrategy.ts +0 -238
- package/src/precaching/addPlugins.ts +0 -21
- package/src/precaching/addRoute.ts +0 -30
- package/src/precaching/cleanupOutdatedCaches.ts +0 -33
- package/src/precaching/createHandlerBoundToURL.ts +0 -30
- package/src/precaching/getCacheKeyForURL.ts +0 -33
- package/src/precaching/matchPrecache.ts +0 -25
- package/src/precaching/precache.ts +0 -31
- package/src/precaching/precacheAndRoute.ts +0 -27
- package/src/precaching/singletonPrecacheController.ts +0 -57
- package/src/precaching/types.ts +0 -46
- package/src/precaching/utils/PrecacheCacheKeyPlugin.ts +0 -36
- package/src/precaching/utils/PrecacheInstallReportPlugin.ts +0 -49
- package/src/precaching/utils/createCacheKey.ts +0 -68
- package/src/precaching/utils/deleteOutdatedCaches.ts +0 -40
- package/src/precaching/utils/generateURLVariations.ts +0 -55
- package/src/precaching/utils/getCacheKeyForURL.ts +0 -36
- package/src/precaching/utils/printCleanupDetails.ts +0 -38
- package/src/precaching/utils/printInstallDetails.ts +0 -53
- package/src/precaching/utils/removeIgnoredSearchParams.ts +0 -29
- package/src/routing/NavigationRoute.ts +0 -119
- package/src/routing/RegExpRoute.ts +0 -74
- package/src/routing/Route.ts +0 -68
- package/src/routing/Router.ts +0 -481
- package/src/routing/parseRoute.ts +0 -78
- package/src/routing/registerRoute.ts +0 -27
- package/src/routing/setCatchHandler.ts +0 -21
- package/src/routing/setDefaultHandler.ts +0 -24
- package/src/routing/singletonRouter.ts +0 -76
- package/src/routing/unregisterRoute.ts +0 -11
- package/src/routing/utils/constants.ts +0 -24
- package/src/routing/utils/normalizeHandler.ts +0 -40
- package/src/strategies/CacheFirst.ts +0 -87
- package/src/strategies/CacheOnly.ts +0 -58
- package/src/strategies/NetworkFirst.ts +0 -228
- package/src/strategies/NetworkOnly.ts +0 -96
- package/src/strategies/StaleWhileRevalidate.ts +0 -109
- package/src/strategies/Strategy.ts +0 -202
- package/src/strategies/StrategyHandler.ts +0 -557
- package/src/strategies/plugins/cacheOkAndOpaquePlugin.ts +0 -26
- package/src/strategies/utils/messages.ts +0 -20
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { type HandlePrecachingOptions, handlePrecaching } from "./abstractions/handlePrecaching.js";
|
|
6
|
-
import { type InstallSerwistOptions, installSerwist } from "./abstractions/installSerwist.js";
|
|
7
|
-
import { disableNavigationPreload, enableNavigationPreload, isNavigationPreloadSupported } from "./abstractions/navigationPreload.js";
|
|
8
|
-
import { registerRuntimeCaching } from "./abstractions/registerRuntimeCaching.js";
|
|
9
|
-
import type { RuntimeCaching } from "./abstractions/types.js";
|
|
10
|
-
export { disableDevLogs, fallbacks, handlePrecaching, installSerwist, Serwist, registerRuntimeCaching, disableNavigationPreload, enableNavigationPreload, isNavigationPreloadSupported, };
|
|
11
|
-
export type { FallbackEntry, FallbackMatcher, FallbacksOptions, HandlePrecachingOptions, InstallSerwistOptions, SerwistOptions, SerwistInstallOptions, RuntimeCaching, };
|
|
1
|
+
export { disableDevLogs } from "serwist";
|
|
2
|
+
export { fallbacks, handlePrecaching, installSerwist, registerRuntimeCaching, } from "serwist/legacy";
|
|
3
|
+
export type { RuntimeCaching } from "serwist";
|
|
4
|
+
export type { FallbackEntry, FallbacksOptions, HandlePrecachingOptions, InstallSerwistOptions, InstallSerwistOptions as SerwistOptions, } from "serwist/legacy";
|
|
12
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,IAAI,cAAc,GACxC,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,156 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { p as precacheAndRoute, P as PrecacheRoute, c as cleanupOutdatedCaches, a as createHandlerBoundToURL } from './chunks/precacheAndRoute.js';
|
|
4
|
-
import { g as getSingletonPrecacheController } from './chunks/singletonPrecacheController.js';
|
|
5
|
-
import { N as NavigationRoute } from './chunks/NavigationRoute.js';
|
|
6
|
-
import { g as getSingletonRouter, p as parseRoute } from './chunks/singletonRouter.js';
|
|
7
|
-
import { S as Strategy } from './chunks/Strategy.js';
|
|
8
|
-
import { logger } from '@serwist/core/internal';
|
|
9
|
-
import { r as registerRoute } from './chunks/registerRoute.js';
|
|
10
|
-
import './chunks/NetworkOnly.js';
|
|
11
|
-
import 'idb';
|
|
12
|
-
|
|
13
|
-
const disableDevLogs = ()=>{
|
|
14
|
-
self.__WB_DISABLE_DEV_LOGS = true;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const fallbacks = ({ runtimeCaching, entries, precacheOptions })=>{
|
|
18
|
-
precacheAndRoute(entries, precacheOptions);
|
|
19
|
-
const fallbackPlugin = new PrecacheFallbackPlugin({
|
|
20
|
-
fallbackUrls: entries
|
|
21
|
-
});
|
|
22
|
-
runtimeCaching.forEach((cacheEntry)=>{
|
|
23
|
-
if (cacheEntry.handler instanceof Strategy && !cacheEntry.handler.plugins.some((plugin)=>"handlerDidError" in plugin)) {
|
|
24
|
-
cacheEntry.handler.plugins.push(fallbackPlugin);
|
|
25
|
-
}
|
|
26
|
-
return cacheEntry;
|
|
27
|
-
});
|
|
28
|
-
return runtimeCaching;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const isNavigationPreloadSupported = ()=>{
|
|
32
|
-
return Boolean(self.registration?.navigationPreload);
|
|
33
|
-
};
|
|
34
|
-
const enableNavigationPreload = (headerValue)=>{
|
|
35
|
-
if (isNavigationPreloadSupported()) {
|
|
36
|
-
self.addEventListener("activate", (event)=>{
|
|
37
|
-
event.waitUntil(self.registration.navigationPreload.enable().then(()=>{
|
|
38
|
-
if (headerValue) {
|
|
39
|
-
void self.registration.navigationPreload.setHeaderValue(headerValue);
|
|
40
|
-
}
|
|
41
|
-
if (process.env.NODE_ENV !== "production") {
|
|
42
|
-
logger.log("Navigation preloading is enabled.");
|
|
43
|
-
}
|
|
44
|
-
}));
|
|
45
|
-
});
|
|
46
|
-
} else {
|
|
47
|
-
if (process.env.NODE_ENV !== "production") {
|
|
48
|
-
logger.log("Navigation preloading is not supported in this browser.");
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
const disableNavigationPreload = ()=>{
|
|
53
|
-
if (isNavigationPreloadSupported()) {
|
|
54
|
-
self.addEventListener("activate", (event)=>{
|
|
55
|
-
event.waitUntil(self.registration.navigationPreload.disable().then(()=>{
|
|
56
|
-
if (process.env.NODE_ENV !== "production") {
|
|
57
|
-
logger.log("Navigation preloading is disabled.");
|
|
58
|
-
}
|
|
59
|
-
}));
|
|
60
|
-
});
|
|
61
|
-
} else {
|
|
62
|
-
if (process.env.NODE_ENV !== "production") {
|
|
63
|
-
logger.log("Navigation preloading is not supported in this browser.");
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
class Serwist {
|
|
69
|
-
_precacheController;
|
|
70
|
-
_router;
|
|
71
|
-
constructor({ precacheController, router } = {}){
|
|
72
|
-
this._precacheController = precacheController || getSingletonPrecacheController();
|
|
73
|
-
this._router = router || getSingletonRouter();
|
|
74
|
-
}
|
|
75
|
-
install({ precacheEntries, precacheOptions, cleanupOutdatedCaches: cleanupOutdatedCaches$1, navigateFallback, navigateFallbackAllowlist, navigateFallbackDenylist, skipWaiting = false, importScripts, navigationPreload = false, cacheId, clientsClaim: clientsClaim$1 = false, runtimeCaching, offlineAnalyticsConfig, disableDevLogs: disableDevLogs$1 = false, fallbacks: fallbacks$1 } = {}) {
|
|
76
|
-
if (!!importScripts && importScripts.length > 0) self.importScripts(...importScripts);
|
|
77
|
-
if (navigationPreload) enableNavigationPreload();
|
|
78
|
-
if (cacheId !== undefined) {
|
|
79
|
-
setCacheNameDetails({
|
|
80
|
-
prefix: cacheId
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
if (skipWaiting) {
|
|
84
|
-
self.skipWaiting();
|
|
85
|
-
} else {
|
|
86
|
-
self.addEventListener("message", (event)=>{
|
|
87
|
-
if (event.data && event.data.type === "SKIP_WAITING") {
|
|
88
|
-
self.skipWaiting();
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
if (clientsClaim$1) clientsClaim();
|
|
93
|
-
if (!!precacheEntries && precacheEntries.length > 0) {
|
|
94
|
-
this._precacheController.precache(precacheEntries);
|
|
95
|
-
this._router.registerRoute(new PrecacheRoute(this._precacheController, precacheOptions));
|
|
96
|
-
if (cleanupOutdatedCaches$1) cleanupOutdatedCaches();
|
|
97
|
-
if (navigateFallback) {
|
|
98
|
-
this._router.registerRoute(new NavigationRoute(createHandlerBoundToURL(navigateFallback), {
|
|
99
|
-
allowlist: navigateFallbackAllowlist,
|
|
100
|
-
denylist: navigateFallbackDenylist
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if (offlineAnalyticsConfig !== undefined) {
|
|
105
|
-
if (typeof offlineAnalyticsConfig === "boolean") {
|
|
106
|
-
offlineAnalyticsConfig && initialize();
|
|
107
|
-
} else {
|
|
108
|
-
initialize(offlineAnalyticsConfig);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
if (runtimeCaching !== undefined) {
|
|
112
|
-
if (fallbacks$1 !== undefined) {
|
|
113
|
-
fallbacks({
|
|
114
|
-
...fallbacks$1,
|
|
115
|
-
runtimeCaching
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
for (const entry of runtimeCaching){
|
|
119
|
-
this._router.registerRoute(parseRoute(entry.matcher, entry.handler, entry.method));
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
if (disableDevLogs$1) disableDevLogs();
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
const handlePrecaching = ({ precacheEntries, precacheOptions, cleanupOutdatedCaches: cleanupOutdatedCaches$1 = false, ...options })=>{
|
|
127
|
-
if (!!precacheEntries && precacheEntries.length > 0) {
|
|
128
|
-
precacheAndRoute(precacheEntries, precacheOptions);
|
|
129
|
-
if (cleanupOutdatedCaches$1) cleanupOutdatedCaches();
|
|
130
|
-
if (options.navigateFallback) {
|
|
131
|
-
registerRoute(new NavigationRoute(createHandlerBoundToURL(options.navigateFallback), {
|
|
132
|
-
allowlist: options.navigateFallbackAllowlist,
|
|
133
|
-
denylist: options.navigateFallbackDenylist
|
|
134
|
-
}));
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
const installSerwist = (options)=>{
|
|
140
|
-
if (process.env.NODE_ENV !== "production") {
|
|
141
|
-
logger.warn("'installSerwist' has been deprecated. Please migrate to 'new Serwist().install()'.");
|
|
142
|
-
}
|
|
143
|
-
const serwist = new Serwist({
|
|
144
|
-
precacheController: getSingletonPrecacheController(),
|
|
145
|
-
router: getSingletonRouter()
|
|
146
|
-
});
|
|
147
|
-
serwist.install(options);
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
const registerRuntimeCaching = (...runtimeCachingList)=>{
|
|
151
|
-
for (const entry of runtimeCachingList){
|
|
152
|
-
registerRoute(entry.matcher, entry.handler, entry.method);
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
export { Serwist, disableDevLogs, disableNavigationPreload, enableNavigationPreload, fallbacks, handlePrecaching, installSerwist, isNavigationPreloadSupported, registerRuntimeCaching };
|
|
1
|
+
export { disableDevLogs } from 'serwist';
|
|
2
|
+
export { fallbacks, handlePrecaching, installSerwist, registerRuntimeCaching } from 'serwist/legacy';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serwist/sw",
|
|
3
|
-
"version": "9.0.0-preview.
|
|
3
|
+
"version": "9.0.0-preview.25",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A service worker helper module.",
|
|
6
6
|
"files": [
|
|
@@ -15,59 +15,25 @@
|
|
|
15
15
|
],
|
|
16
16
|
"author": "Google's Web DevRel Team, Serwist's Team",
|
|
17
17
|
"license": "MIT",
|
|
18
|
-
"repository": "https://
|
|
19
|
-
"bugs": "https://
|
|
18
|
+
"repository": "https://github.com/serwist/serwist",
|
|
19
|
+
"bugs": "https://github.com/serwist/serwist/issues",
|
|
20
20
|
"homepage": "https://serwist.pages.dev",
|
|
21
21
|
"main": "./dist/index.js",
|
|
22
22
|
"types": "./dist/index.d.ts",
|
|
23
|
-
"typesVersions": {
|
|
24
|
-
"*": {
|
|
25
|
-
"plugins": [
|
|
26
|
-
"./dist/index.plugins.d.ts"
|
|
27
|
-
],
|
|
28
|
-
"precaching": [
|
|
29
|
-
"./dist/index.precaching.d.ts"
|
|
30
|
-
],
|
|
31
|
-
"routing": [
|
|
32
|
-
"./dist/index.routing.d.ts"
|
|
33
|
-
],
|
|
34
|
-
"strategies": [
|
|
35
|
-
"./dist/index.strategies.d.ts"
|
|
36
|
-
]
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
23
|
"exports": {
|
|
40
24
|
".": {
|
|
41
25
|
"types": "./dist/index.d.ts",
|
|
42
26
|
"default": "./dist/index.js"
|
|
43
27
|
},
|
|
44
|
-
"./plugins": {
|
|
45
|
-
"types": "./dist/index.plugins.d.ts",
|
|
46
|
-
"default": "./dist/index.plugins.js"
|
|
47
|
-
},
|
|
48
|
-
"./precaching": {
|
|
49
|
-
"types": "./dist/index.precaching.d.ts",
|
|
50
|
-
"default": "./dist/index.precaching.js"
|
|
51
|
-
},
|
|
52
|
-
"./routing": {
|
|
53
|
-
"types": "./dist/index.routing.d.ts",
|
|
54
|
-
"default": "./dist/index.routing.js"
|
|
55
|
-
},
|
|
56
|
-
"./strategies": {
|
|
57
|
-
"types": "./dist/index.strategies.d.ts",
|
|
58
|
-
"default": "./dist/index.strategies.js"
|
|
59
|
-
},
|
|
60
28
|
"./package.json": "./package.json"
|
|
61
29
|
},
|
|
62
30
|
"dependencies": {
|
|
63
|
-
"
|
|
64
|
-
"@serwist/core": "9.0.0-preview.21"
|
|
31
|
+
"serwist": "9.0.0-preview.25"
|
|
65
32
|
},
|
|
66
33
|
"devDependencies": {
|
|
67
|
-
"rollup": "4.
|
|
68
|
-
"typescript": "5.5.0-dev.
|
|
69
|
-
"@serwist/
|
|
70
|
-
"@serwist/utils": "9.0.0-preview.21"
|
|
34
|
+
"rollup": "4.14.3",
|
|
35
|
+
"typescript": "5.5.0-dev.20240415",
|
|
36
|
+
"@serwist/configs": "9.0.0-preview.25"
|
|
71
37
|
},
|
|
72
38
|
"peerDependencies": {
|
|
73
39
|
"typescript": ">=5.0.0"
|
|
@@ -79,7 +45,6 @@
|
|
|
79
45
|
},
|
|
80
46
|
"scripts": {
|
|
81
47
|
"build": "rimraf dist && cross-env NODE_ENV=production rollup --config rollup.config.js",
|
|
82
|
-
"dev": "rollup --config rollup.config.js --watch",
|
|
83
48
|
"lint": "biome lint ./src",
|
|
84
49
|
"typecheck": "tsc"
|
|
85
50
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,32 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
import { disableDevLogs } from "./abstractions/disableDevLogs.js";
|
|
3
|
-
import type { FallbackEntry, FallbackMatcher, FallbacksOptions } from "./abstractions/fallbacks.js";
|
|
4
|
-
import { fallbacks } from "./abstractions/fallbacks.js";
|
|
5
|
-
import { type HandlePrecachingOptions, handlePrecaching } from "./abstractions/handlePrecaching.js";
|
|
6
|
-
import { type InstallSerwistOptions, installSerwist } from "./abstractions/installSerwist.js";
|
|
7
|
-
import { disableNavigationPreload, enableNavigationPreload, isNavigationPreloadSupported } from "./abstractions/navigationPreload.js";
|
|
8
|
-
import { registerRuntimeCaching } from "./abstractions/registerRuntimeCaching.js";
|
|
9
|
-
import type { RuntimeCaching } from "./abstractions/types.js";
|
|
10
|
-
|
|
1
|
+
export { disableDevLogs } from "serwist";
|
|
11
2
|
export {
|
|
12
|
-
disableDevLogs,
|
|
13
3
|
fallbacks,
|
|
14
4
|
handlePrecaching,
|
|
15
5
|
installSerwist,
|
|
16
|
-
Serwist,
|
|
17
6
|
registerRuntimeCaching,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
enableNavigationPreload,
|
|
21
|
-
isNavigationPreloadSupported,
|
|
22
|
-
};
|
|
7
|
+
} from "serwist/legacy";
|
|
8
|
+
export type { RuntimeCaching } from "serwist";
|
|
23
9
|
export type {
|
|
24
10
|
FallbackEntry,
|
|
25
|
-
FallbackMatcher,
|
|
26
11
|
FallbacksOptions,
|
|
27
12
|
HandlePrecachingOptions,
|
|
28
13
|
InstallSerwistOptions,
|
|
29
|
-
SerwistOptions,
|
|
30
|
-
|
|
31
|
-
RuntimeCaching,
|
|
32
|
-
};
|
|
14
|
+
InstallSerwistOptions as SerwistOptions,
|
|
15
|
+
} from "serwist/legacy";
|
package/README.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
This module's documentation can be found at https://serwist.pages.dev/docs/sw
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { type GoogleAnalyticsInitializeOptions } from "../plugins/googleAnalytics/initialize.js";
|
|
2
|
-
import { PrecacheController } from "../precaching/PrecacheController.js";
|
|
3
|
-
import { Router } from "../routing/Router.js";
|
|
4
|
-
import type { FallbacksOptions } from "./fallbacks.js";
|
|
5
|
-
import { type HandlePrecachingOptions } from "./handlePrecaching.js";
|
|
6
|
-
import type { RuntimeCaching } from "./types.js";
|
|
7
|
-
export interface SerwistOptions {
|
|
8
|
-
/**
|
|
9
|
-
* An optional `PrecacheController` instance. If not provided, the singleton
|
|
10
|
-
* `PrecacheController` will be used.
|
|
11
|
-
*/
|
|
12
|
-
precacheController?: PrecacheController;
|
|
13
|
-
/**
|
|
14
|
-
* An optional `Router` instance. If not provided, the singleton `Router`
|
|
15
|
-
* will be used.
|
|
16
|
-
*/
|
|
17
|
-
router?: Router;
|
|
18
|
-
}
|
|
19
|
-
export interface SerwistInstallOptions extends HandlePrecachingOptions {
|
|
20
|
-
/**
|
|
21
|
-
* Forces the waiting service worker to become the active one.
|
|
22
|
-
*
|
|
23
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/skipWaiting
|
|
24
|
-
*/
|
|
25
|
-
skipWaiting?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Imports external scripts. They are executed in the order they
|
|
28
|
-
* are passed.
|
|
29
|
-
*
|
|
30
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/importScripts
|
|
31
|
-
*/
|
|
32
|
-
importScripts?: string[];
|
|
33
|
-
/**
|
|
34
|
-
* Enables navigation preloading if it is supported.
|
|
35
|
-
*
|
|
36
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/navigationPreload
|
|
37
|
-
*/
|
|
38
|
-
navigationPreload?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Modifies the prefix of the default cache names used by Serwist packages.
|
|
41
|
-
*/
|
|
42
|
-
cacheId?: string | undefined;
|
|
43
|
-
/**
|
|
44
|
-
* Claims any currently available clients once the service worker
|
|
45
|
-
* becomes active. This is normally used in conjunction with `skipWaiting()`.
|
|
46
|
-
*
|
|
47
|
-
* @default false
|
|
48
|
-
*/
|
|
49
|
-
clientsClaim?: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* A list of caching strategies.
|
|
52
|
-
*
|
|
53
|
-
* @see https://serwist.pages.dev/docs/sw/runtime-caching
|
|
54
|
-
*/
|
|
55
|
-
runtimeCaching?: RuntimeCaching[];
|
|
56
|
-
/**
|
|
57
|
-
* Your configuration for `@serwist/google-analytics`. This plugin is
|
|
58
|
-
* only initialized when this option is not `undefined` or `false`.
|
|
59
|
-
*/
|
|
60
|
-
offlineAnalyticsConfig?: GoogleAnalyticsInitializeOptions | boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Disables Serwist's logging in development mode.
|
|
63
|
-
*
|
|
64
|
-
* @default false
|
|
65
|
-
*/
|
|
66
|
-
disableDevLogs?: boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Precaches routes so that they can be used as a fallback when
|
|
69
|
-
* a Strategy fails to generate a response.
|
|
70
|
-
* Note: This option mutates `runtimeCaching`!
|
|
71
|
-
*
|
|
72
|
-
* @see https://serwist.pages.dev/docs/sw/fallbacks
|
|
73
|
-
*/
|
|
74
|
-
fallbacks?: Omit<FallbacksOptions, "runtimeCaching">;
|
|
75
|
-
}
|
|
76
|
-
export declare class Serwist {
|
|
77
|
-
private _precacheController;
|
|
78
|
-
private _router;
|
|
79
|
-
constructor({ precacheController, router }?: SerwistOptions);
|
|
80
|
-
install({ precacheEntries, precacheOptions, cleanupOutdatedCaches, navigateFallback, navigateFallbackAllowlist, navigateFallbackDenylist, skipWaiting, importScripts, navigationPreload, cacheId, clientsClaim, runtimeCaching, offlineAnalyticsConfig, disableDevLogs, fallbacks, }?: SerwistInstallOptions): void;
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=Serwist.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Serwist.d.ts","sourceRoot":"","sources":["../../src/abstractions/Serwist.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gCAAgC,EAAc,MAAM,0CAA0C,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAMzE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,gCAAgC,GAAG,OAAO,CAAC;IACpE;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;CACtD;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,OAAO,CAAS;gBACZ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAE,cAAmB;IAI/D,OAAO,CAAC,EACN,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,wBAAwB,EACxB,WAAmB,EACnB,aAAa,EACb,iBAAyB,EACzB,OAAO,EACP,YAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,cAAsB,EACtB,SAAS,GACV,GAAE,qBAA0B;CA8D9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"disableDevLogs.d.ts","sourceRoot":"","sources":["../../src/abstractions/disableDevLogs.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAO,IAEjC,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { HandlerDidErrorCallbackParam } from "@serwist/core";
|
|
2
|
-
import type { PrecacheFallbackEntry } from "../plugins/precaching/PrecacheFallbackPlugin.js";
|
|
3
|
-
import type { PrecacheRouteOptions } from "../precaching/types.js";
|
|
4
|
-
import type { RuntimeCaching } from "./types.js";
|
|
5
|
-
export type FallbackMatcher = (_: HandlerDidErrorCallbackParam) => boolean;
|
|
6
|
-
export interface FallbackEntry extends PrecacheFallbackEntry {
|
|
7
|
-
/**
|
|
8
|
-
* The revision used for precaching.
|
|
9
|
-
*/
|
|
10
|
-
revision: string;
|
|
11
|
-
}
|
|
12
|
-
export interface FallbacksOptions {
|
|
13
|
-
/**
|
|
14
|
-
* Your previous `RuntimeCaching` array.
|
|
15
|
-
*/
|
|
16
|
-
runtimeCaching: RuntimeCaching[];
|
|
17
|
-
/**
|
|
18
|
-
* A list of fallback entries.
|
|
19
|
-
*/
|
|
20
|
-
entries: FallbackEntry[];
|
|
21
|
-
/**
|
|
22
|
-
* Precache options that will be used for your
|
|
23
|
-
* fallback entries.
|
|
24
|
-
*/
|
|
25
|
-
precacheOptions?: PrecacheRouteOptions;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Precaches routes so that they can be used as a fallback when
|
|
29
|
-
* a Strategy fails to generate a response.
|
|
30
|
-
*
|
|
31
|
-
* Note: This function mutates `runtimeCaching`!
|
|
32
|
-
*
|
|
33
|
-
* @see https://serwist.pages.dev/docs/sw/fallbacks
|
|
34
|
-
* @param options
|
|
35
|
-
* @returns The modified `RuntimeCaching` array. Using this value
|
|
36
|
-
* is not needed, as it is simply the array in `options`.
|
|
37
|
-
*/
|
|
38
|
-
export declare const fallbacks: ({ runtimeCaching, entries, precacheOptions }: FallbacksOptions) => RuntimeCaching[];
|
|
39
|
-
//# sourceMappingURL=fallbacks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fallbacks.d.ts","sourceRoot":"","sources":["../../src/abstractions/fallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAE7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,4BAA4B,KAAK,OAAO,CAAC;AAE3E,MAAM,WAAW,aAAc,SAAQ,qBAAqB;IAC1D;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC;;OAEG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,iDAAkD,gBAAgB,KAAG,cAAc,EAoBxG,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { PrecacheEntry, PrecacheRouteOptions } from "../precaching/types.js";
|
|
2
|
-
export interface HandlePrecachingOptions {
|
|
3
|
-
/**
|
|
4
|
-
* A list of fallback entries.
|
|
5
|
-
*/
|
|
6
|
-
precacheEntries?: (PrecacheEntry | string)[];
|
|
7
|
-
/**
|
|
8
|
-
* Precache options for the provided entries.
|
|
9
|
-
*/
|
|
10
|
-
precacheOptions?: PrecacheRouteOptions;
|
|
11
|
-
/**
|
|
12
|
-
* Whether outdated caches should be removed.
|
|
13
|
-
*
|
|
14
|
-
* @default false
|
|
15
|
-
*/
|
|
16
|
-
cleanupOutdatedCaches?: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* An URL that should point to a HTML file with which navigation requests for URLs that aren't
|
|
19
|
-
* precached will be fulfilled.
|
|
20
|
-
*/
|
|
21
|
-
navigateFallback?: string;
|
|
22
|
-
/**
|
|
23
|
-
* URLs that should be allowed to use the `navigateFallback` handler.
|
|
24
|
-
*/
|
|
25
|
-
navigateFallbackAllowlist?: RegExp[];
|
|
26
|
-
/**
|
|
27
|
-
* URLs that should not be allowed to use the `navigateFallback` handler. This takes precedence
|
|
28
|
-
* over `navigateFallbackAllowlist`.
|
|
29
|
-
*/
|
|
30
|
-
navigateFallbackDenylist?: RegExp[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Handles a list of precache entries and cleans up outdated caches.
|
|
34
|
-
*
|
|
35
|
-
* @see https://serwist.pages.dev/docs/sw/handle-precaching
|
|
36
|
-
* @param options
|
|
37
|
-
*/
|
|
38
|
-
export declare const handlePrecaching: ({ precacheEntries, precacheOptions, cleanupOutdatedCaches, ...options }: HandlePrecachingOptions) => void;
|
|
39
|
-
//# sourceMappingURL=handlePrecaching.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlePrecaching.d.ts","sourceRoot":"","sources":["../../src/abstractions/handlePrecaching.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAIlF,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7C;;OAEG;IACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,4EAAqF,uBAAuB,KAAG,IAoB3I,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type SerwistInstallOptions } from "./Serwist.js";
|
|
2
|
-
/**
|
|
3
|
-
* Options for `installSerwist`.
|
|
4
|
-
*
|
|
5
|
-
* @deprecated
|
|
6
|
-
*/
|
|
7
|
-
export type InstallSerwistOptions = SerwistInstallOptions;
|
|
8
|
-
/**
|
|
9
|
-
* Abstracts away the core APIs of Serwist.
|
|
10
|
-
*
|
|
11
|
-
* @param options - `installSerwist` options.
|
|
12
|
-
* @deprecated
|
|
13
|
-
*/
|
|
14
|
-
export declare const installSerwist: (options: InstallSerwistOptions) => void;
|
|
15
|
-
//# sourceMappingURL=installSerwist.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"installSerwist.d.ts","sourceRoot":"","sources":["../../src/abstractions/installSerwist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAEnE;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,cAAc,YAAa,qBAAqB,KAAG,IAS/D,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Checks whether the current browser supports
|
|
3
|
-
* navigation preloading.
|
|
4
|
-
*
|
|
5
|
-
* @returns
|
|
6
|
-
*/
|
|
7
|
-
export declare const isNavigationPreloadSupported: () => boolean;
|
|
8
|
-
/**
|
|
9
|
-
* If the browser supports navigation preloading, then this will enable it.
|
|
10
|
-
*
|
|
11
|
-
* @param headerValue Optional. Allows developers to override the value of
|
|
12
|
-
* the `Service-Worker-Navigation-Preload` header which will be sent to the
|
|
13
|
-
* server when making the navigation request.
|
|
14
|
-
*/
|
|
15
|
-
export declare const enableNavigationPreload: (headerValue?: string) => void;
|
|
16
|
-
/**
|
|
17
|
-
* If the browser supports navigation preloading, then this will disable it.
|
|
18
|
-
*/
|
|
19
|
-
export declare const disableNavigationPreload: () => void;
|
|
20
|
-
//# sourceMappingURL=navigationPreload.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigationPreload.d.ts","sourceRoot":"","sources":["../../src/abstractions/navigationPreload.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,QAAO,OAE/C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,KAAG,IAqB9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,QAAO,IAgB3C,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { RuntimeCaching } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Registers caching strategies to a singleton Router instance. It is a simple
|
|
4
|
-
* syntatic sugar for `@serwist/routing.registerRoute`.
|
|
5
|
-
*
|
|
6
|
-
* @see https://serwist.pages.dev/docs/sw/register-runtime-caching
|
|
7
|
-
* @param runtimeCachingList
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
export declare const registerRuntimeCaching: (...runtimeCachingList: RuntimeCaching[]) => void;
|
|
11
|
-
//# sourceMappingURL=registerRuntimeCaching.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerRuntimeCaching.d.ts","sourceRoot":"","sources":["../../src/abstractions/registerRuntimeCaching.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,0BAA2B,cAAc,EAAE,KAAG,IAIhF,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { RouteHandler, RouteMatchCallback } from "@serwist/core";
|
|
2
|
-
import type { HTTPMethod } from "../routing/utils/constants.js";
|
|
3
|
-
export interface RuntimeCaching {
|
|
4
|
-
/**
|
|
5
|
-
* The HTTP method to match against. The default value of `'GET'` is normally
|
|
6
|
-
* sufficient, unless you explicitly need to match `'POST'`, `'PUT'`, or
|
|
7
|
-
* another type of request.
|
|
8
|
-
* @default "GET"
|
|
9
|
-
*/
|
|
10
|
-
method?: HTTPMethod;
|
|
11
|
-
/**
|
|
12
|
-
* This match criteria determines whether the configured handler will
|
|
13
|
-
* generate a response for any requests that don't match one of the precached
|
|
14
|
-
* URLs. If multiple `RuntimeCaching` routes are defined, then the first one
|
|
15
|
-
* whose `matcher` matches will be the one that responds.
|
|
16
|
-
*
|
|
17
|
-
* This value directly maps to the first parameter passed to
|
|
18
|
-
* `@serwist/routing.registerRoute`. It's recommended to use a
|
|
19
|
-
* `@serwist/core.RouteMatchCallback` function for greatest flexibility.
|
|
20
|
-
*/
|
|
21
|
-
matcher: RegExp | string | RouteMatchCallback;
|
|
22
|
-
/**
|
|
23
|
-
* This determines how the runtime route will generate a response. It
|
|
24
|
-
* can be a `@serwist/core.RouteHandler` callback function with custom
|
|
25
|
-
* response logic.
|
|
26
|
-
*/
|
|
27
|
-
handler: RouteHandler;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/abstractions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;;;;;OASG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CAAC;IAC9C;;;;OAIG;IACH,OAAO,EAAE,YAAY,CAAC;CACvB"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { assert, logger } from '@serwist/core/internal';
|
|
2
|
-
import { R as Route } from './singletonRouter.js';
|
|
3
|
-
|
|
4
|
-
class NavigationRoute extends Route {
|
|
5
|
-
_allowlist;
|
|
6
|
-
_denylist;
|
|
7
|
-
constructor(handler, { allowlist = [
|
|
8
|
-
/./
|
|
9
|
-
], denylist = [] } = {}){
|
|
10
|
-
if (process.env.NODE_ENV !== "production") {
|
|
11
|
-
assert.isArrayOfClass(allowlist, RegExp, {
|
|
12
|
-
moduleName: "@serwist/routing",
|
|
13
|
-
className: "NavigationRoute",
|
|
14
|
-
funcName: "constructor",
|
|
15
|
-
paramName: "options.allowlist"
|
|
16
|
-
});
|
|
17
|
-
assert.isArrayOfClass(denylist, RegExp, {
|
|
18
|
-
moduleName: "@serwist/routing",
|
|
19
|
-
className: "NavigationRoute",
|
|
20
|
-
funcName: "constructor",
|
|
21
|
-
paramName: "options.denylist"
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
super((options)=>this._match(options), handler);
|
|
25
|
-
this._allowlist = allowlist;
|
|
26
|
-
this._denylist = denylist;
|
|
27
|
-
}
|
|
28
|
-
_match({ url, request }) {
|
|
29
|
-
if (request && request.mode !== "navigate") {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
const pathnameAndSearch = url.pathname + url.search;
|
|
33
|
-
for (const regExp of this._denylist){
|
|
34
|
-
if (regExp.test(pathnameAndSearch)) {
|
|
35
|
-
if (process.env.NODE_ENV !== "production") {
|
|
36
|
-
logger.log(`The navigation route ${pathnameAndSearch} is not being used, since the URL matches this denylist pattern: ${regExp.toString()}`);
|
|
37
|
-
}
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (this._allowlist.some((regExp)=>regExp.test(pathnameAndSearch))) {
|
|
42
|
-
if (process.env.NODE_ENV !== "production") {
|
|
43
|
-
logger.debug(`The navigation route ${pathnameAndSearch} is being used.`);
|
|
44
|
-
}
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
if (process.env.NODE_ENV !== "production") {
|
|
48
|
-
logger.log(`The navigation route ${pathnameAndSearch} is not being used, since the URL being navigated to doesn't match the allowlist.`);
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export { NavigationRoute as N };
|