serwist 9.0.12 → 10.0.0-preview.1

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.
Files changed (151) hide show
  1. package/dist/Serwist.d.ts +74 -52
  2. package/dist/Serwist.d.ts.map +1 -1
  3. package/dist/chunks/resultingClientExists.js +426 -2
  4. package/dist/{legacy/utils → controllers/PrecacheController}/PrecacheCacheKeyPlugin.d.ts +4 -4
  5. package/dist/controllers/PrecacheController/PrecacheCacheKeyPlugin.d.ts.map +1 -0
  6. package/dist/{legacy → controllers/PrecacheController}/PrecacheController.d.ts +73 -64
  7. package/dist/controllers/PrecacheController/PrecacheController.d.ts.map +1 -0
  8. package/dist/controllers/PrecacheController/PrecacheInstallReportPlugin.d.ts +14 -0
  9. package/dist/controllers/PrecacheController/PrecacheInstallReportPlugin.d.ts.map +1 -0
  10. package/dist/{PrecacheRoute.d.ts → controllers/PrecacheController/PrecacheRoute.d.ts} +4 -5
  11. package/dist/controllers/PrecacheController/PrecacheRoute.d.ts.map +1 -0
  12. package/dist/{lib/strategies → controllers/PrecacheController}/PrecacheStrategy.d.ts +6 -6
  13. package/dist/controllers/PrecacheController/PrecacheStrategy.d.ts.map +1 -0
  14. package/dist/controllers/PrecacheController/parsePrecacheOptions.d.ts +25 -0
  15. package/dist/controllers/PrecacheController/parsePrecacheOptions.d.ts.map +1 -0
  16. package/dist/controllers/RuntimeCacheController.d.ts +65 -0
  17. package/dist/controllers/RuntimeCacheController.d.ts.map +1 -0
  18. package/dist/index.d.ts +4 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.internal.js +25 -3
  21. package/dist/index.js +1868 -211
  22. package/dist/lib/backgroundSync/BackgroundSyncPlugin.d.ts +2 -2
  23. package/dist/lib/backgroundSync/BackgroundSyncPlugin.d.ts.map +1 -1
  24. package/dist/lib/broadcastUpdate/BroadcastUpdatePlugin.d.ts +2 -2
  25. package/dist/lib/broadcastUpdate/BroadcastUpdatePlugin.d.ts.map +1 -1
  26. package/dist/lib/cacheableResponse/CacheableResponsePlugin.d.ts +3 -3
  27. package/dist/lib/cacheableResponse/CacheableResponsePlugin.d.ts.map +1 -1
  28. package/dist/lib/expiration/ExpirationPlugin.d.ts +2 -2
  29. package/dist/lib/expiration/ExpirationPlugin.d.ts.map +1 -1
  30. package/dist/lib/precaching/PrecacheFallbackPlugin.d.ts +7 -7
  31. package/dist/lib/precaching/PrecacheFallbackPlugin.d.ts.map +1 -1
  32. package/dist/lib/rangeRequests/RangeRequestsPlugin.d.ts +3 -3
  33. package/dist/lib/rangeRequests/RangeRequestsPlugin.d.ts.map +1 -1
  34. package/dist/lib/strategies/Strategy.d.ts +3 -3
  35. package/dist/lib/strategies/Strategy.d.ts.map +1 -1
  36. package/dist/lib/strategies/StrategyHandler.d.ts +4 -4
  37. package/dist/lib/strategies/StrategyHandler.d.ts.map +1 -1
  38. package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts +2 -2
  39. package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts.map +1 -1
  40. package/dist/types.d.ts +16 -64
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/utils/pluginUtils.d.ts +2 -2
  43. package/dist/utils/pluginUtils.d.ts.map +1 -1
  44. package/package.json +5 -12
  45. package/src/Serwist.ts +157 -262
  46. package/src/{legacy/utils → controllers/PrecacheController}/PrecacheCacheKeyPlugin.ts +5 -6
  47. package/src/{legacy → controllers/PrecacheController}/PrecacheController.ts +143 -155
  48. package/src/{utils → controllers/PrecacheController}/PrecacheInstallReportPlugin.ts +5 -5
  49. package/src/{PrecacheRoute.ts → controllers/PrecacheController/PrecacheRoute.ts} +11 -12
  50. package/src/{lib/strategies → controllers/PrecacheController}/PrecacheStrategy.ts +7 -7
  51. package/src/controllers/PrecacheController/parsePrecacheOptions.ts +46 -0
  52. package/src/controllers/RuntimeCacheController.ts +119 -0
  53. package/src/index.ts +5 -2
  54. package/src/lib/backgroundSync/BackgroundSyncPlugin.ts +2 -2
  55. package/src/lib/broadcastUpdate/BroadcastUpdatePlugin.ts +2 -2
  56. package/src/lib/cacheableResponse/CacheableResponsePlugin.ts +3 -3
  57. package/src/lib/expiration/ExpirationPlugin.ts +2 -2
  58. package/src/lib/precaching/PrecacheFallbackPlugin.ts +10 -10
  59. package/src/lib/rangeRequests/RangeRequestsPlugin.ts +3 -3
  60. package/src/lib/strategies/Strategy.ts +3 -3
  61. package/src/lib/strategies/StrategyHandler.ts +9 -9
  62. package/src/lib/strategies/plugins/cacheOkAndOpaquePlugin.ts +2 -2
  63. package/src/types.ts +24 -67
  64. package/src/utils/pluginUtils.ts +2 -2
  65. package/dist/PrecacheRoute.d.ts.map +0 -1
  66. package/dist/chunks/printInstallDetails.js +0 -1601
  67. package/dist/chunks/waitUntil.js +0 -449
  68. package/dist/index.legacy.d.ts +0 -28
  69. package/dist/index.legacy.d.ts.map +0 -1
  70. package/dist/index.legacy.js +0 -790
  71. package/dist/legacy/PrecacheController.d.ts.map +0 -1
  72. package/dist/legacy/PrecacheFallbackPlugin.d.ts +0 -61
  73. package/dist/legacy/PrecacheFallbackPlugin.d.ts.map +0 -1
  74. package/dist/legacy/PrecacheRoute.d.ts +0 -19
  75. package/dist/legacy/PrecacheRoute.d.ts.map +0 -1
  76. package/dist/legacy/Router.d.ts +0 -151
  77. package/dist/legacy/Router.d.ts.map +0 -1
  78. package/dist/legacy/addPlugins.d.ts +0 -9
  79. package/dist/legacy/addPlugins.d.ts.map +0 -1
  80. package/dist/legacy/addRoute.d.ts +0 -14
  81. package/dist/legacy/addRoute.d.ts.map +0 -1
  82. package/dist/legacy/constants.d.ts +0 -10
  83. package/dist/legacy/constants.d.ts.map +0 -1
  84. package/dist/legacy/createHandlerBoundToURL.d.ts +0 -17
  85. package/dist/legacy/createHandlerBoundToURL.d.ts.map +0 -1
  86. package/dist/legacy/fallbacks.d.ts +0 -59
  87. package/dist/legacy/fallbacks.d.ts.map +0 -1
  88. package/dist/legacy/getCacheKeyForURL.d.ts +0 -20
  89. package/dist/legacy/getCacheKeyForURL.d.ts.map +0 -1
  90. package/dist/legacy/handlePrecaching.d.ts +0 -54
  91. package/dist/legacy/handlePrecaching.d.ts.map +0 -1
  92. package/dist/legacy/initializeGoogleAnalytics.d.ts +0 -38
  93. package/dist/legacy/initializeGoogleAnalytics.d.ts.map +0 -1
  94. package/dist/legacy/installSerwist.d.ts +0 -81
  95. package/dist/legacy/installSerwist.d.ts.map +0 -1
  96. package/dist/legacy/matchPrecache.d.ts +0 -15
  97. package/dist/legacy/matchPrecache.d.ts.map +0 -1
  98. package/dist/legacy/precache.d.ts +0 -20
  99. package/dist/legacy/precache.d.ts.map +0 -1
  100. package/dist/legacy/precacheAndRoute.d.ts +0 -14
  101. package/dist/legacy/precacheAndRoute.d.ts.map +0 -1
  102. package/dist/legacy/registerRoute.d.ts +0 -16
  103. package/dist/legacy/registerRoute.d.ts.map +0 -1
  104. package/dist/legacy/registerRuntimeCaching.d.ts +0 -11
  105. package/dist/legacy/registerRuntimeCaching.d.ts.map +0 -1
  106. package/dist/legacy/setCatchHandler.d.ts +0 -10
  107. package/dist/legacy/setCatchHandler.d.ts.map +0 -1
  108. package/dist/legacy/setDefaultHandler.d.ts +0 -13
  109. package/dist/legacy/setDefaultHandler.d.ts.map +0 -1
  110. package/dist/legacy/singletonPrecacheController.d.ts +0 -34
  111. package/dist/legacy/singletonPrecacheController.d.ts.map +0 -1
  112. package/dist/legacy/singletonRouter.d.ts +0 -41
  113. package/dist/legacy/singletonRouter.d.ts.map +0 -1
  114. package/dist/legacy/unregisterRoute.d.ts +0 -9
  115. package/dist/legacy/unregisterRoute.d.ts.map +0 -1
  116. package/dist/legacy/utils/PrecacheCacheKeyPlugin.d.ts.map +0 -1
  117. package/dist/legacy/utils/getCacheKeyForURL.d.ts +0 -14
  118. package/dist/legacy/utils/getCacheKeyForURL.d.ts.map +0 -1
  119. package/dist/lib/strategies/PrecacheStrategy.d.ts.map +0 -1
  120. package/dist/utils/PrecacheCacheKeyPlugin.d.ts +0 -16
  121. package/dist/utils/PrecacheCacheKeyPlugin.d.ts.map +0 -1
  122. package/dist/utils/PrecacheInstallReportPlugin.d.ts +0 -14
  123. package/dist/utils/PrecacheInstallReportPlugin.d.ts.map +0 -1
  124. package/dist/utils/parsePrecacheOptions.d.ts +0 -26
  125. package/dist/utils/parsePrecacheOptions.d.ts.map +0 -1
  126. package/src/index.legacy.ts +0 -62
  127. package/src/legacy/PrecacheFallbackPlugin.ts +0 -92
  128. package/src/legacy/PrecacheRoute.ts +0 -48
  129. package/src/legacy/Router.ts +0 -484
  130. package/src/legacy/addPlugins.ts +0 -21
  131. package/src/legacy/addRoute.ts +0 -27
  132. package/src/legacy/constants.ts +0 -22
  133. package/src/legacy/createHandlerBoundToURL.ts +0 -30
  134. package/src/legacy/fallbacks.ts +0 -94
  135. package/src/legacy/getCacheKeyForURL.ts +0 -32
  136. package/src/legacy/handlePrecaching.ts +0 -86
  137. package/src/legacy/initializeGoogleAnalytics.ts +0 -218
  138. package/src/legacy/installSerwist.ts +0 -170
  139. package/src/legacy/matchPrecache.ts +0 -27
  140. package/src/legacy/precache.ts +0 -33
  141. package/src/legacy/precacheAndRoute.ts +0 -27
  142. package/src/legacy/registerRoute.ts +0 -28
  143. package/src/legacy/registerRuntimeCaching.ts +0 -17
  144. package/src/legacy/setCatchHandler.ts +0 -21
  145. package/src/legacy/setDefaultHandler.ts +0 -24
  146. package/src/legacy/singletonPrecacheController.ts +0 -53
  147. package/src/legacy/singletonRouter.ts +0 -70
  148. package/src/legacy/unregisterRoute.ts +0 -13
  149. package/src/legacy/utils/getCacheKeyForURL.ts +0 -36
  150. package/src/utils/PrecacheCacheKeyPlugin.ts +0 -33
  151. package/src/utils/parsePrecacheOptions.ts +0 -47
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrecacheInstallReportPlugin.d.ts","sourceRoot":"","sources":["../../../src/controllers/PrecacheController/PrecacheInstallReportPlugin.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAA+B,MAAM,gBAAgB,CAAC;AAElF;;;;;GAKG;AACH,qBAAa,2BAA4B,YAAW,cAAc;IAChE,WAAW,EAAE,MAAM,EAAE,CAAM;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,gBAAgB,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAKlD;IAEF,wBAAwB,EAAE,cAAc,CAAC,0BAA0B,CAAC,CAkBlE;CACH"}
@@ -1,16 +1,15 @@
1
- import { Route } from "./Route.js";
2
- import type { Serwist } from "./Serwist.js";
3
- import type { PrecacheRouteOptions } from "./types.js";
1
+ import { Route } from "../../Route.js";
2
+ import type { PrecacheController, PrecacheRouteOptions } from "./PrecacheController.js";
4
3
  /**
5
4
  * A subclass of {@linkcode Route} that takes a {@linkcode Serwist} instance and uses it to match
6
5
  * incoming requests and handle fetching responses from the precache.
7
6
  */
8
7
  export declare class PrecacheRoute extends Route {
9
8
  /**
10
- * @param serwist A {@linkcode Serwist} instance.
9
+ * @param controller A {@linkcode PrecacheController} instance.
11
10
  * @param options Options to control how requests are matched
12
11
  * against the list of precached URLs.
13
12
  */
14
- constructor(serwist: Serwist, options?: PrecacheRouteOptions);
13
+ constructor(controller: PrecacheController, options?: PrecacheRouteOptions);
15
14
  }
16
15
  //# sourceMappingURL=PrecacheRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrecacheRoute.d.ts","sourceRoot":"","sources":["../../../src/controllers/PrecacheController/PrecacheRoute.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAKvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAExF;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC;;;;OAIG;gBACS,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,oBAAoB;CAkB3E"}
@@ -1,7 +1,7 @@
1
- import type { SerwistPlugin } from "../../types.js";
2
- import type { StrategyOptions } from "./Strategy.js";
3
- import { Strategy } from "./Strategy.js";
4
- import type { StrategyHandler } from "./StrategyHandler.js";
1
+ import type { StrategyPlugin } from "../../types.js";
2
+ import type { StrategyOptions } from "../../lib/strategies/Strategy.js";
3
+ import { Strategy } from "../../lib/strategies/Strategy.js";
4
+ import type { StrategyHandler } from "../../lib/strategies/StrategyHandler.js";
5
5
  export interface PrecacheStrategyOptions extends StrategyOptions {
6
6
  /**
7
7
  * Plugins to use when precaching as well as responding to `fetch` events for precached assets.
@@ -22,8 +22,8 @@ export interface PrecacheStrategyOptions extends StrategyOptions {
22
22
  */
23
23
  export declare class PrecacheStrategy extends Strategy {
24
24
  private readonly _fallbackToNetwork;
25
- static readonly defaultPrecacheCacheabilityPlugin: SerwistPlugin;
26
- static readonly copyRedirectedCacheableResponsesPlugin: SerwistPlugin;
25
+ static readonly defaultPrecacheCacheabilityPlugin: StrategyPlugin;
26
+ static readonly copyRedirectedCacheableResponsesPlugin: StrategyPlugin;
27
27
  /**
28
28
  * @param options
29
29
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrecacheStrategy.d.ts","sourceRoot":"","sources":["../../../src/controllers/PrecacheController/PrecacheStrategy.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE/E,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,MAAM,CAAC,QAAQ,CAAC,iCAAiC,EAAE,cAAc,CAQ/D;IAEF,MAAM,CAAC,QAAQ,CAAC,sCAAsC,EAAE,cAAc,CAIpE;IAEF;;OAEG;gBACS,OAAO,GAAE,uBAA4B;IAcjD;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwBtE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyE3E,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqBnF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,qCAAqC,IAAI,IAAI;CA4B9C"}
@@ -0,0 +1,25 @@
1
+ import type { PrecacheController, PrecacheOptions } from "./PrecacheController.js";
2
+ import { PrecacheCacheKeyPlugin } from "./PrecacheCacheKeyPlugin.js";
3
+ export declare const parsePrecacheOptions: (controller: PrecacheController, { cacheName, plugins, fetchOptions, matchOptions, fallbackToNetwork, directoryIndex, ignoreURLParametersMatching, cleanURLs, urlManipulation, cleanupOutdatedCaches, concurrency, navigateFallback, navigateFallbackAllowlist, navigateFallbackDenylist, }?: PrecacheOptions) => {
4
+ strategyOptions: {
5
+ cacheName: string;
6
+ plugins: (import("../../types.js").StrategyPlugin | PrecacheCacheKeyPlugin)[];
7
+ fetchOptions: RequestInit | undefined;
8
+ matchOptions: CacheQueryOptions | undefined;
9
+ fallbackToNetwork: boolean | undefined;
10
+ };
11
+ routeOptions: {
12
+ directoryIndex: string | null | undefined;
13
+ ignoreURLParametersMatching: RegExp[] | undefined;
14
+ cleanURLs: boolean | undefined;
15
+ urlManipulation: import("../../types.js").UrlManipulation | undefined;
16
+ };
17
+ controllerOptions: {
18
+ cleanupOutdatedCaches: boolean | undefined;
19
+ concurrency: number;
20
+ navigateFallback: string | undefined;
21
+ navigateFallbackAllowlist: RegExp[] | undefined;
22
+ navigateFallbackDenylist: RegExp[] | undefined;
23
+ };
24
+ };
25
+ //# sourceMappingURL=parsePrecacheOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsePrecacheOptions.d.ts","sourceRoot":"","sources":["../../../src/controllers/PrecacheController/parsePrecacheOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAA6B,eAAe,EAAwB,MAAM,yBAAyB,CAAC;AAGpI,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,eAAO,MAAM,oBAAoB,eACnB,kBAAkB,+PAgB3B,eAAe;;;;;;;;;;;;;;;;;;;;;CAsBlB,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { type PrecacheFallbackEntry } from "../lib/precaching/PrecacheFallbackPlugin.js";
2
+ import type { Serwist } from "../Serwist.js";
3
+ import type { Controller, RuntimeCaching } from "../types.js";
4
+ export interface WarmRuntimeCacheEntry {
5
+ integrity?: string;
6
+ url: string;
7
+ }
8
+ export interface WarmRuntimeCacheOptions {
9
+ concurrency?: number;
10
+ }
11
+ export interface FallbackEntry extends PrecacheFallbackEntry {
12
+ }
13
+ export interface FallbacksOptions {
14
+ /**
15
+ * A list of fallback entries.
16
+ */
17
+ entries: FallbackEntry[];
18
+ }
19
+ export interface RuntimeCacheControllerOptions {
20
+ /**
21
+ * URLs that should be cached as the service worker is installed.
22
+ */
23
+ warmEntries?: (WarmRuntimeCacheEntry | string | Request)[];
24
+ /**
25
+ * Options for `warmEntries`.
26
+ */
27
+ warmOptions?: WarmRuntimeCacheOptions;
28
+ /**
29
+ * Precaches routes so that they can be used as a fallback when
30
+ * a {@linkcode Strategy} fails to generate a response.
31
+ *
32
+ * Note: This option mutates `runtimeCaching`. It also expects the URLs
33
+ * defined in `entries` to have been precached beforehand.
34
+ */
35
+ fallbacks?: FallbacksOptions;
36
+ }
37
+ export declare class RuntimeCacheController implements Controller {
38
+ _entries: RuntimeCaching[];
39
+ _options: RuntimeCacheControllerOptions;
40
+ constructor(entries: RuntimeCaching[], options?: RuntimeCacheControllerOptions);
41
+ init(serwist: Serwist): void;
42
+ install(event: ExtendableEvent, serwist: Serwist): Promise<void>;
43
+ /**
44
+ * Any assets you wish to cache ahead of time which can't be revisioned
45
+ * should be cached with this method. All assets are cached on install
46
+ * regardless of whether an older version of the request is in the cache.
47
+ *
48
+ * The input can be a string or a [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request).
49
+ *
50
+ * @example
51
+ * ```js
52
+ * // For unrevisioned assets that should always be downloaded
53
+ * // with every service worker update, use this method.
54
+ * serwist.warmRuntimeCache([
55
+ * "/scripts/main.js',
56
+ * "/images/default-avater.png",
57
+ * new Request("/images/logo.png"),
58
+ * new Request("/api/data.json"),
59
+ * ]);
60
+ * ```
61
+ * @param entries A set of urls to cache when the service worker is installed.
62
+ */
63
+ warmRuntimeCache(entries: (WarmRuntimeCacheEntry | string | Request)[]): void;
64
+ }
65
+ //# sourceMappingURL=RuntimeCacheController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeCacheController.d.ts","sourceRoot":"","sources":["../../src/controllers/RuntimeCacheController.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEjH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAc,SAAQ,qBAAqB;CAAG;AAE/D,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,qBAAa,sBAAuB,YAAW,UAAU;IACvD,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,EAAE,6BAA6B,CAAC;gBAC5B,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,GAAE,6BAAkC;IAOlF,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAsBtB,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;IAmBtD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,OAAO,EAAE,CAAC,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI;CAI9E"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
+ import { PrecacheStrategy } from "./controllers/PrecacheController/PrecacheStrategy.js";
2
+ import { PrecacheRoute } from "./controllers/PrecacheController/PrecacheRoute.js";
3
+ import { RuntimeCacheController } from "./controllers/RuntimeCacheController.js";
1
4
  import type { NavigationRouteMatchOptions } from "./NavigationRoute.js";
2
5
  import { NavigationRoute } from "./NavigationRoute.js";
3
- import { PrecacheRoute } from "./PrecacheRoute.js";
4
6
  import { RegExpRoute } from "./RegExpRoute.js";
5
7
  import { Route } from "./Route.js";
6
8
  import { Serwist, type SerwistOptions } from "./Serwist.js";
@@ -36,7 +38,6 @@ import type { NetworkFirstOptions } from "./lib/strategies/NetworkFirst.js";
36
38
  import { NetworkFirst } from "./lib/strategies/NetworkFirst.js";
37
39
  import type { NetworkOnlyOptions } from "./lib/strategies/NetworkOnly.js";
38
40
  import { NetworkOnly } from "./lib/strategies/NetworkOnly.js";
39
- import { PrecacheStrategy } from "./lib/strategies/PrecacheStrategy.js";
40
41
  import { StaleWhileRevalidate } from "./lib/strategies/StaleWhileRevalidate.js";
41
42
  import type { StrategyOptions } from "./lib/strategies/Strategy.js";
42
43
  import { Strategy } from "./lib/strategies/Strategy.js";
@@ -44,7 +45,7 @@ import { StrategyHandler } from "./lib/strategies/StrategyHandler.js";
44
45
  import { disableNavigationPreload, enableNavigationPreload, isNavigationPreloadSupported } from "./navigationPreload.js";
45
46
  import { registerQuotaErrorCallback } from "./registerQuotaErrorCallback.js";
46
47
  import { setCacheNameDetails } from "./setCacheNameDetails.js";
47
- export { Serwist, cacheNames, copyResponse, disableDevLogs, disableNavigationPreload, enableNavigationPreload, isNavigationPreloadSupported, registerQuotaErrorCallback, setCacheNameDetails, CacheFirst, CacheOnly, NetworkFirst, NetworkOnly, PrecacheStrategy, StaleWhileRevalidate, Strategy, StrategyHandler, NavigationRoute, PrecacheRoute, RegExpRoute, Route, BackgroundSyncPlugin, BackgroundSyncQueue, BackgroundSyncQueueStore, StorableRequest, BroadcastCacheUpdate, BroadcastUpdatePlugin, BROADCAST_UPDATE_DEFAULT_HEADERS, responsesAreSame, CacheableResponse, CacheableResponsePlugin, CacheExpiration, ExpirationPlugin, PrecacheFallbackPlugin, initializeGoogleAnalytics, createPartialResponse, RangeRequestsPlugin, };
48
+ export { Serwist, cacheNames, copyResponse, disableDevLogs, disableNavigationPreload, enableNavigationPreload, isNavigationPreloadSupported, registerQuotaErrorCallback, setCacheNameDetails, RuntimeCacheController, CacheFirst, CacheOnly, NetworkFirst, NetworkOnly, PrecacheStrategy, StaleWhileRevalidate, Strategy, StrategyHandler, NavigationRoute, PrecacheRoute, RegExpRoute, Route, BackgroundSyncPlugin, BackgroundSyncQueue, BackgroundSyncQueueStore, StorableRequest, BroadcastCacheUpdate, BroadcastUpdatePlugin, BROADCAST_UPDATE_DEFAULT_HEADERS, responsesAreSame, CacheableResponse, CacheableResponsePlugin, CacheExpiration, ExpirationPlugin, PrecacheFallbackPlugin, initializeGoogleAnalytics, createPartialResponse, RangeRequestsPlugin, };
48
49
  export type { HTTPMethod, SerwistOptions, NetworkFirstOptions, NetworkOnlyOptions, StrategyOptions, NavigationRouteMatchOptions, BackgroundSyncQueueOptions, BackgroundSyncQueueEntry, BroadcastCacheUpdateOptions, BroadcastPayload, BroadcastPayloadGenerator, BroadcastMessage, CacheableResponseOptions, ExpirationPluginOptions, PrecacheFallbackEntry, PrecacheFallbackPluginOptions, GoogleAnalyticsInitializeOptions, };
49
50
  export type * from "./types.js";
50
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export { D as Deferred, S as SerwistError, f as assert, d as cacheMatchIgnoreParams, h as canConstructResponseFromBodyStream, b as cleanupOutdatedCaches, a as clientsClaim, e as executeQuotaErrorCallbacks, g as getFriendlyURL, l as logger, c as privateCacheNames, t as timeout, w as waitUntil } from './chunks/waitUntil.js';
2
- export { r as resultingClientExists } from './chunks/resultingClientExists.js';
1
+ import { b as cacheNames, l as logger } from './chunks/resultingClientExists.js';
2
+ export { D as Deferred, S as SerwistError, f as assert, a as cacheMatchIgnoreParams, c as canConstructResponseFromBodyStream, d as clientsClaim, e as executeQuotaErrorCallbacks, g as getFriendlyURL, r as resultingClientExists, t as timeout, w as waitUntil } from './chunks/resultingClientExists.js';
3
3
 
4
4
  let supportStatus;
5
5
  function canConstructReadableStream() {
@@ -16,8 +16,30 @@ function canConstructReadableStream() {
16
16
  return supportStatus;
17
17
  }
18
18
 
19
+ const SUBSTRING_TO_FIND = "-precache-";
20
+ const deleteOutdatedCaches = async (currentPrecacheName, substringToFind = SUBSTRING_TO_FIND)=>{
21
+ const cacheNames = await self.caches.keys();
22
+ const cacheNamesToDelete = cacheNames.filter((cacheName)=>{
23
+ return cacheName.includes(substringToFind) && cacheName.includes(self.registration.scope) && cacheName !== currentPrecacheName;
24
+ });
25
+ await Promise.all(cacheNamesToDelete.map((cacheName)=>self.caches.delete(cacheName)));
26
+ return cacheNamesToDelete;
27
+ };
28
+
29
+ const cleanupOutdatedCaches = (cacheName)=>{
30
+ self.addEventListener("activate", (event)=>{
31
+ event.waitUntil(deleteOutdatedCaches(cacheNames.getPrecacheName(cacheName)).then((cachesDeleted)=>{
32
+ if (process.env.NODE_ENV !== "production") {
33
+ if (cachesDeleted.length > 0) {
34
+ logger.log("The following out-of-date precaches were cleaned up automatically:", cachesDeleted);
35
+ }
36
+ }
37
+ }));
38
+ });
39
+ };
40
+
19
41
  function dontWaitFor(promise) {
20
42
  void promise.then(()=>{});
21
43
  }
22
44
 
23
- export { canConstructReadableStream, dontWaitFor };
45
+ export { canConstructReadableStream, cleanupOutdatedCaches, dontWaitFor, logger, cacheNames as privateCacheNames };