serwist 9.1.1 → 10.0.0-preview.10
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/chunks/waitUntil.js +141 -134
- package/dist/index.d.ts +22 -49
- package/dist/index.d.ts.map +1 -1
- package/dist/index.internal.d.ts +16 -16
- package/dist/index.internal.d.ts.map +1 -1
- package/dist/index.internal.js +25 -3
- package/dist/index.js +2231 -452
- package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncPlugin.d.ts +2 -2
- package/dist/lib/background-sync/BackgroundSyncPlugin.d.ts.map +1 -0
- package/dist/lib/background-sync/BackgroundSyncQueue.d.ts.map +1 -0
- package/dist/lib/background-sync/BackgroundSyncQueueDb.d.ts.map +1 -0
- package/dist/lib/background-sync/BackgroundSyncQueueStore.d.ts.map +1 -0
- package/dist/lib/{backgroundSync → background-sync}/StorableRequest.d.ts +1 -1
- package/dist/lib/background-sync/StorableRequest.d.ts.map +1 -0
- package/dist/lib/background-sync/index.d.ts +6 -0
- package/dist/lib/background-sync/index.d.ts.map +1 -0
- package/dist/lib/{broadcastUpdate → broadcast-update}/BroadcastCacheUpdate.d.ts +1 -1
- package/dist/lib/broadcast-update/BroadcastCacheUpdate.d.ts.map +1 -0
- package/dist/lib/{broadcastUpdate → broadcast-update}/BroadcastUpdatePlugin.d.ts +2 -2
- package/dist/lib/broadcast-update/BroadcastUpdatePlugin.d.ts.map +1 -0
- package/dist/lib/broadcast-update/constants.d.ts.map +1 -0
- package/dist/lib/broadcast-update/index.d.ts +6 -0
- package/dist/lib/broadcast-update/index.d.ts.map +1 -0
- package/dist/lib/broadcast-update/responsesAreSame.d.ts.map +1 -0
- package/dist/lib/{broadcastUpdate → broadcast-update}/types.d.ts +1 -1
- package/dist/lib/broadcast-update/types.d.ts.map +1 -0
- package/dist/{cacheNames.d.ts → lib/cache-name.d.ts} +1 -1
- package/dist/lib/cache-name.d.ts.map +1 -0
- package/dist/lib/cacheable-response/CacheableResponse.d.ts.map +1 -0
- package/dist/lib/{cacheableResponse → cacheable-response}/CacheableResponsePlugin.d.ts +3 -3
- package/dist/lib/cacheable-response/CacheableResponsePlugin.d.ts.map +1 -0
- package/dist/lib/cacheable-response/index.d.ts +4 -0
- package/dist/lib/cacheable-response/index.d.ts.map +1 -0
- package/dist/{constants.d.ts → lib/constants.d.ts} +1 -1
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/core.d.ts +62 -0
- package/dist/lib/core.d.ts.map +1 -0
- package/dist/lib/expiration/ExpirationPlugin.d.ts +2 -2
- package/dist/lib/expiration/ExpirationPlugin.d.ts.map +1 -1
- package/dist/lib/expiration/index.d.ts +4 -0
- package/dist/lib/expiration/index.d.ts.map +1 -0
- package/dist/lib/extension.d.ts +30 -0
- package/dist/lib/extension.d.ts.map +1 -0
- package/dist/lib/extensions/google-analytics/constants.d.ts.map +1 -0
- package/dist/lib/extensions/google-analytics/extension.d.ts +79 -0
- package/dist/lib/extensions/google-analytics/extension.d.ts.map +1 -0
- package/dist/lib/extensions/google-analytics/index.d.ts +2 -0
- package/dist/lib/extensions/google-analytics/index.d.ts.map +1 -0
- package/dist/lib/extensions/google-analytics/initialize.d.ts +12 -0
- package/dist/lib/extensions/google-analytics/initialize.d.ts.map +1 -0
- package/dist/lib/extensions/index.d.ts +14 -0
- package/dist/lib/extensions/index.d.ts.map +1 -0
- package/dist/{legacy/PrecacheController.d.ts → lib/extensions/precache/extension.d.ts} +56 -66
- package/dist/lib/extensions/precache/extension.d.ts.map +1 -0
- package/dist/lib/extensions/precache/options.d.ts +26 -0
- package/dist/lib/extensions/precache/options.d.ts.map +1 -0
- package/dist/lib/extensions/precache/plugin-cache-key.d.ts +16 -0
- package/dist/lib/extensions/precache/plugin-cache-key.d.ts.map +1 -0
- package/dist/lib/{precaching/PrecacheFallbackPlugin.d.ts → extensions/precache/plugin-fallback.d.ts} +4 -4
- package/dist/lib/extensions/precache/plugin-fallback.d.ts.map +1 -0
- package/dist/lib/extensions/precache/plugin-install-report.d.ts +14 -0
- package/dist/lib/extensions/precache/plugin-install-report.d.ts.map +1 -0
- package/dist/lib/extensions/precache/route.d.ts +42 -0
- package/dist/lib/extensions/precache/route.d.ts.map +1 -0
- package/dist/lib/{strategies/PrecacheStrategy.d.ts → extensions/precache/strategy.d.ts} +7 -7
- package/dist/lib/extensions/precache/strategy.d.ts.map +1 -0
- package/dist/lib/extensions/runtime-cache.d.ts +71 -0
- package/dist/lib/extensions/runtime-cache.d.ts.map +1 -0
- package/dist/lib/functions/handlers.d.ts +60 -0
- package/dist/lib/functions/handlers.d.ts.map +1 -0
- package/dist/lib/functions/router.d.ts +60 -0
- package/dist/lib/functions/router.d.ts.map +1 -0
- package/dist/{navigationPreload.d.ts → lib/navigation-preload.d.ts} +1 -1
- package/dist/lib/navigation-preload.d.ts.map +1 -0
- package/dist/lib/{rangeRequests → range-requests}/RangeRequestsPlugin.d.ts +3 -3
- package/dist/lib/range-requests/RangeRequestsPlugin.d.ts.map +1 -0
- package/dist/lib/range-requests/createPartialResponse.d.ts.map +1 -0
- package/dist/lib/range-requests/index.d.ts +3 -0
- package/dist/lib/range-requests/index.d.ts.map +1 -0
- package/dist/lib/range-requests/utils/calculateEffectiveBoundaries.d.ts.map +1 -0
- package/dist/lib/range-requests/utils/parseRangeHeader.d.ts.map +1 -0
- package/dist/lib/route.d.ts +106 -0
- package/dist/lib/route.d.ts.map +1 -0
- package/dist/{Serwist.d.ts → lib/serwist.d.ts} +71 -62
- package/dist/lib/serwist.d.ts.map +1 -0
- package/dist/lib/strategies/NetworkFirst.d.ts.map +1 -1
- package/dist/lib/strategies/StaleWhileRevalidate.d.ts.map +1 -1
- package/dist/lib/strategies/Strategy.d.ts +3 -3
- package/dist/lib/strategies/Strategy.d.ts.map +1 -1
- package/dist/lib/strategies/StrategyHandler.d.ts +4 -4
- package/dist/lib/strategies/StrategyHandler.d.ts.map +1 -1
- package/dist/lib/strategies/index.d.ts +11 -0
- package/dist/lib/strategies/index.d.ts.map +1 -0
- package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts +2 -2
- package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts.map +1 -1
- package/dist/{types.d.ts → lib/types.d.ts} +7 -65
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/{copyResponse.d.ts → lib/utils.d.ts} +22 -1
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/models/messages/messageGenerator.d.ts +1 -1
- package/dist/models/messages/messageGenerator.d.ts.map +1 -1
- package/dist/utils/SerwistError.d.ts +2 -2
- package/dist/utils/SerwistError.d.ts.map +1 -1
- package/dist/utils/assert.d.ts +1 -1
- package/dist/utils/assert.d.ts.map +1 -1
- package/dist/utils/createCacheKey.d.ts +1 -1
- package/dist/utils/createCacheKey.d.ts.map +1 -1
- package/dist/utils/generateURLVariations.d.ts +1 -1
- package/dist/utils/generateURLVariations.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/normalizeHandler.d.ts +1 -1
- package/dist/utils/normalizeHandler.d.ts.map +1 -1
- package/dist/utils/parseRoute.d.ts +3 -3
- package/dist/utils/parseRoute.d.ts.map +1 -1
- package/dist/utils/pluginUtils.d.ts +2 -2
- package/dist/utils/pluginUtils.d.ts.map +1 -1
- package/package.json +28 -11
- package/src/index.internal.ts +16 -16
- package/src/index.ts +100 -107
- package/src/lib/{backgroundSync → background-sync}/BackgroundSyncPlugin.ts +2 -2
- package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueue.ts +4 -4
- package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueueStore.ts +1 -1
- package/src/lib/{backgroundSync → background-sync}/StorableRequest.ts +2 -2
- package/src/lib/background-sync/index.ts +5 -0
- package/src/lib/{broadcastUpdate → broadcast-update}/BroadcastCacheUpdate.ts +5 -5
- package/src/lib/{broadcastUpdate → broadcast-update}/BroadcastUpdatePlugin.ts +2 -2
- package/src/lib/broadcast-update/index.ts +5 -0
- package/src/lib/{broadcastUpdate → broadcast-update}/responsesAreSame.ts +2 -2
- package/src/lib/{broadcastUpdate → broadcast-update}/types.ts +1 -1
- package/src/{cacheNames.ts → lib/cache-name.ts} +1 -1
- package/src/lib/{cacheableResponse → cacheable-response}/CacheableResponse.ts +4 -4
- package/src/lib/{cacheableResponse → cacheable-response}/CacheableResponsePlugin.ts +3 -3
- package/src/lib/cacheable-response/index.ts +3 -0
- package/src/lib/core.ts +128 -0
- package/src/lib/expiration/CacheExpiration.ts +3 -3
- package/src/lib/expiration/ExpirationPlugin.ts +9 -10
- package/src/lib/expiration/index.ts +3 -0
- package/src/lib/extension.ts +37 -0
- package/src/lib/{googleAnalytics/initializeGoogleAnalytics.ts → extensions/google-analytics/extension.ts} +42 -48
- package/src/lib/extensions/google-analytics/index.ts +0 -0
- package/src/lib/extensions/google-analytics/initialize.ts +48 -0
- package/src/lib/extensions/index.ts +13 -0
- package/src/lib/extensions/precache/extension.ts +306 -0
- package/src/lib/extensions/precache/options.ts +49 -0
- package/src/{legacy/utils/PrecacheCacheKeyPlugin.ts → lib/extensions/precache/plugin-cache-key.ts} +7 -8
- package/src/lib/{precaching/PrecacheFallbackPlugin.ts → extensions/precache/plugin-fallback.ts} +19 -8
- package/src/{utils/PrecacheInstallReportPlugin.ts → lib/extensions/precache/plugin-install-report.ts} +5 -5
- package/src/lib/extensions/precache/route.ts +72 -0
- package/src/lib/{strategies/PrecacheStrategy.ts → extensions/precache/strategy.ts} +12 -12
- package/src/lib/extensions/runtime-cache.ts +126 -0
- package/src/lib/functions/handlers.ts +149 -0
- package/src/lib/functions/router.ts +314 -0
- package/src/{navigationPreload.ts → lib/navigation-preload.ts} +1 -1
- package/src/lib/{rangeRequests → range-requests}/RangeRequestsPlugin.ts +3 -3
- package/src/lib/{rangeRequests → range-requests}/createPartialResponse.ts +3 -3
- package/src/lib/range-requests/index.ts +2 -0
- package/src/lib/{rangeRequests → range-requests}/utils/calculateEffectiveBoundaries.ts +2 -2
- package/src/lib/{rangeRequests → range-requests}/utils/parseRangeHeader.ts +2 -2
- package/src/lib/route.ts +234 -0
- package/src/lib/serwist.ts +443 -0
- package/src/lib/strategies/CacheFirst.ts +3 -3
- package/src/lib/strategies/CacheOnly.ts +3 -3
- package/src/lib/strategies/NetworkFirst.ts +4 -4
- package/src/lib/strategies/NetworkOnly.ts +4 -4
- package/src/lib/strategies/StaleWhileRevalidate.ts +4 -4
- package/src/lib/strategies/Strategy.ts +7 -7
- package/src/lib/strategies/StrategyHandler.ts +18 -18
- package/src/lib/strategies/index.ts +10 -0
- package/src/lib/strategies/plugins/cacheOkAndOpaquePlugin.ts +2 -2
- package/src/lib/strategies/utils/messages.ts +2 -2
- package/src/{types.ts → lib/types.ts} +17 -70
- package/src/lib/utils.ts +137 -0
- package/src/models/messages/messageGenerator.ts +1 -1
- package/src/models/messages/messages.ts +3 -3
- package/src/utils/SerwistError.ts +3 -3
- package/src/utils/assert.ts +1 -1
- package/src/utils/createCacheKey.ts +1 -2
- package/src/utils/executeQuotaErrorCallbacks.ts +1 -1
- package/src/utils/generateURLVariations.ts +1 -1
- package/src/utils/logger.ts +1 -1
- package/src/utils/normalizeHandler.ts +1 -1
- package/src/utils/parseRoute.ts +4 -5
- package/src/utils/pluginUtils.ts +2 -2
- package/dist/NavigationRoute.d.ts +0 -56
- package/dist/NavigationRoute.d.ts.map +0 -1
- package/dist/PrecacheRoute.d.ts +0 -16
- package/dist/PrecacheRoute.d.ts.map +0 -1
- package/dist/RegExpRoute.d.ts +0 -24
- package/dist/RegExpRoute.d.ts.map +0 -1
- package/dist/Route.d.ts +0 -33
- package/dist/Route.d.ts.map +0 -1
- package/dist/Serwist.d.ts.map +0 -1
- package/dist/cacheNames.d.ts.map +0 -1
- package/dist/chunks/printInstallDetails.js +0 -1601
- package/dist/chunks/resultingClientExists.js +0 -32
- package/dist/constants.d.ts.map +0 -1
- package/dist/copyResponse.d.ts.map +0 -1
- package/dist/disableDevLogs.d.ts +0 -7
- package/dist/disableDevLogs.d.ts.map +0 -1
- package/dist/index.legacy.d.ts +0 -28
- package/dist/index.legacy.d.ts.map +0 -1
- package/dist/index.legacy.js +0 -790
- package/dist/legacy/PrecacheController.d.ts.map +0 -1
- package/dist/legacy/PrecacheFallbackPlugin.d.ts +0 -61
- package/dist/legacy/PrecacheFallbackPlugin.d.ts.map +0 -1
- package/dist/legacy/PrecacheRoute.d.ts +0 -19
- package/dist/legacy/PrecacheRoute.d.ts.map +0 -1
- package/dist/legacy/Router.d.ts +0 -151
- package/dist/legacy/Router.d.ts.map +0 -1
- package/dist/legacy/addPlugins.d.ts +0 -9
- package/dist/legacy/addPlugins.d.ts.map +0 -1
- package/dist/legacy/addRoute.d.ts +0 -14
- package/dist/legacy/addRoute.d.ts.map +0 -1
- package/dist/legacy/constants.d.ts.map +0 -1
- package/dist/legacy/createHandlerBoundToURL.d.ts +0 -17
- package/dist/legacy/createHandlerBoundToURL.d.ts.map +0 -1
- package/dist/legacy/fallbacks.d.ts +0 -59
- package/dist/legacy/fallbacks.d.ts.map +0 -1
- package/dist/legacy/getCacheKeyForURL.d.ts +0 -20
- package/dist/legacy/getCacheKeyForURL.d.ts.map +0 -1
- package/dist/legacy/handlePrecaching.d.ts +0 -54
- package/dist/legacy/handlePrecaching.d.ts.map +0 -1
- package/dist/legacy/initializeGoogleAnalytics.d.ts +0 -38
- package/dist/legacy/initializeGoogleAnalytics.d.ts.map +0 -1
- package/dist/legacy/installSerwist.d.ts +0 -81
- package/dist/legacy/installSerwist.d.ts.map +0 -1
- package/dist/legacy/matchPrecache.d.ts +0 -15
- package/dist/legacy/matchPrecache.d.ts.map +0 -1
- package/dist/legacy/precache.d.ts +0 -20
- package/dist/legacy/precache.d.ts.map +0 -1
- package/dist/legacy/precacheAndRoute.d.ts +0 -14
- package/dist/legacy/precacheAndRoute.d.ts.map +0 -1
- package/dist/legacy/registerRoute.d.ts +0 -16
- package/dist/legacy/registerRoute.d.ts.map +0 -1
- package/dist/legacy/registerRuntimeCaching.d.ts +0 -11
- package/dist/legacy/registerRuntimeCaching.d.ts.map +0 -1
- package/dist/legacy/setCatchHandler.d.ts +0 -10
- package/dist/legacy/setCatchHandler.d.ts.map +0 -1
- package/dist/legacy/setDefaultHandler.d.ts +0 -13
- package/dist/legacy/setDefaultHandler.d.ts.map +0 -1
- package/dist/legacy/singletonPrecacheController.d.ts +0 -34
- package/dist/legacy/singletonPrecacheController.d.ts.map +0 -1
- package/dist/legacy/singletonRouter.d.ts +0 -41
- package/dist/legacy/singletonRouter.d.ts.map +0 -1
- package/dist/legacy/unregisterRoute.d.ts +0 -9
- package/dist/legacy/unregisterRoute.d.ts.map +0 -1
- package/dist/legacy/utils/PrecacheCacheKeyPlugin.d.ts +0 -16
- package/dist/legacy/utils/PrecacheCacheKeyPlugin.d.ts.map +0 -1
- package/dist/legacy/utils/getCacheKeyForURL.d.ts +0 -14
- package/dist/legacy/utils/getCacheKeyForURL.d.ts.map +0 -1
- package/dist/lib/backgroundSync/BackgroundSyncPlugin.d.ts.map +0 -1
- package/dist/lib/backgroundSync/BackgroundSyncQueue.d.ts.map +0 -1
- package/dist/lib/backgroundSync/BackgroundSyncQueueDb.d.ts.map +0 -1
- package/dist/lib/backgroundSync/BackgroundSyncQueueStore.d.ts.map +0 -1
- package/dist/lib/backgroundSync/StorableRequest.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/BroadcastCacheUpdate.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/BroadcastUpdatePlugin.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/constants.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/responsesAreSame.d.ts.map +0 -1
- package/dist/lib/broadcastUpdate/types.d.ts.map +0 -1
- package/dist/lib/cacheableResponse/CacheableResponse.d.ts.map +0 -1
- package/dist/lib/cacheableResponse/CacheableResponsePlugin.d.ts.map +0 -1
- package/dist/lib/googleAnalytics/constants.d.ts +0 -10
- package/dist/lib/googleAnalytics/constants.d.ts.map +0 -1
- package/dist/lib/googleAnalytics/initializeGoogleAnalytics.d.ts +0 -30
- package/dist/lib/googleAnalytics/initializeGoogleAnalytics.d.ts.map +0 -1
- package/dist/lib/precaching/PrecacheFallbackPlugin.d.ts.map +0 -1
- package/dist/lib/rangeRequests/RangeRequestsPlugin.d.ts.map +0 -1
- package/dist/lib/rangeRequests/createPartialResponse.d.ts.map +0 -1
- package/dist/lib/rangeRequests/utils/calculateEffectiveBoundaries.d.ts.map +0 -1
- package/dist/lib/rangeRequests/utils/parseRangeHeader.d.ts.map +0 -1
- package/dist/lib/strategies/PrecacheStrategy.d.ts.map +0 -1
- package/dist/navigationPreload.d.ts.map +0 -1
- package/dist/registerQuotaErrorCallback.d.ts +0 -8
- package/dist/registerQuotaErrorCallback.d.ts.map +0 -1
- package/dist/setCacheNameDetails.d.ts +0 -9
- package/dist/setCacheNameDetails.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/PrecacheCacheKeyPlugin.d.ts +0 -16
- package/dist/utils/PrecacheCacheKeyPlugin.d.ts.map +0 -1
- package/dist/utils/PrecacheInstallReportPlugin.d.ts +0 -14
- package/dist/utils/PrecacheInstallReportPlugin.d.ts.map +0 -1
- package/dist/utils/parsePrecacheOptions.d.ts +0 -26
- package/dist/utils/parsePrecacheOptions.d.ts.map +0 -1
- package/src/NavigationRoute.ts +0 -118
- package/src/PrecacheRoute.ts +0 -45
- package/src/RegExpRoute.ts +0 -74
- package/src/Route.ts +0 -67
- package/src/Serwist.ts +0 -867
- package/src/copyResponse.ts +0 -58
- package/src/disableDevLogs.ts +0 -10
- package/src/index.legacy.ts +0 -62
- package/src/legacy/PrecacheController.ts +0 -337
- package/src/legacy/PrecacheFallbackPlugin.ts +0 -92
- package/src/legacy/PrecacheRoute.ts +0 -48
- package/src/legacy/Router.ts +0 -484
- package/src/legacy/addPlugins.ts +0 -21
- package/src/legacy/addRoute.ts +0 -27
- package/src/legacy/createHandlerBoundToURL.ts +0 -30
- package/src/legacy/fallbacks.ts +0 -94
- package/src/legacy/getCacheKeyForURL.ts +0 -32
- package/src/legacy/handlePrecaching.ts +0 -86
- package/src/legacy/initializeGoogleAnalytics.ts +0 -218
- package/src/legacy/installSerwist.ts +0 -170
- package/src/legacy/matchPrecache.ts +0 -27
- package/src/legacy/precache.ts +0 -33
- package/src/legacy/precacheAndRoute.ts +0 -27
- package/src/legacy/registerRoute.ts +0 -28
- package/src/legacy/registerRuntimeCaching.ts +0 -17
- package/src/legacy/setCatchHandler.ts +0 -21
- package/src/legacy/setDefaultHandler.ts +0 -24
- package/src/legacy/singletonPrecacheController.ts +0 -53
- package/src/legacy/singletonRouter.ts +0 -70
- package/src/legacy/unregisterRoute.ts +0 -13
- package/src/legacy/utils/getCacheKeyForURL.ts +0 -36
- package/src/lib/googleAnalytics/constants.ts +0 -22
- package/src/registerQuotaErrorCallback.ts +0 -34
- package/src/setCacheNameDetails.ts +0 -53
- package/src/utils/PrecacheCacheKeyPlugin.ts +0 -33
- package/src/utils/parsePrecacheOptions.ts +0 -47
- /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueue.d.ts +0 -0
- /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueueDb.d.ts +0 -0
- /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueueStore.d.ts +0 -0
- /package/dist/lib/{broadcastUpdate → broadcast-update}/constants.d.ts +0 -0
- /package/dist/lib/{broadcastUpdate → broadcast-update}/responsesAreSame.d.ts +0 -0
- /package/dist/lib/{cacheableResponse → cacheable-response}/CacheableResponse.d.ts +0 -0
- /package/dist/{legacy → lib/extensions/google-analytics}/constants.d.ts +0 -0
- /package/dist/lib/{rangeRequests → range-requests}/createPartialResponse.d.ts +0 -0
- /package/dist/lib/{rangeRequests → range-requests}/utils/calculateEffectiveBoundaries.d.ts +0 -0
- /package/dist/lib/{rangeRequests → range-requests}/utils/parseRangeHeader.d.ts +0 -0
- /package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueueDb.ts +0 -0
- /package/src/lib/{broadcastUpdate → broadcast-update}/constants.ts +0 -0
- /package/src/{constants.ts → lib/constants.ts} +0 -0
- /package/src/{legacy → lib/extensions/google-analytics}/constants.ts +0 -0
package/src/lib/core.ts
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { clientsClaim as clientsClaimImpl } from "#utils/clientsClaim.js";
|
|
2
|
+
import type { HTTPMethod } from "./constants.js";
|
|
3
|
+
import type { Extension } from "./extension.js";
|
|
4
|
+
import { Precache } from "./extensions/index.js";
|
|
5
|
+
import { iterateExtensions } from "./functions/handlers.js";
|
|
6
|
+
import { enableNavigationPreload } from "./navigation-preload.js";
|
|
7
|
+
import type { Route } from "./route.js";
|
|
8
|
+
import type { PrecacheEntry, PrecacheOptions, RouteHandlerObject } from "./types.js";
|
|
9
|
+
import { disableDevLogs as disableDevLogsImpl, setCacheNameDetails } from "./utils.js";
|
|
10
|
+
|
|
11
|
+
export interface Serwist {
|
|
12
|
+
readonly routes: Map<HTTPMethod, Route[]>;
|
|
13
|
+
readonly defaultHandlerMap: Map<HTTPMethod, RouteHandlerObject>;
|
|
14
|
+
readonly precache: Precache;
|
|
15
|
+
readonly extensions: Extension[];
|
|
16
|
+
catchHandler?: RouteHandlerObject;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface SerwistOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Options to customize precaching.
|
|
22
|
+
*/
|
|
23
|
+
precache?: PrecacheOptions & {
|
|
24
|
+
entries: (PrecacheEntry | string)[] | undefined;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Forces the waiting service worker to become the active one.
|
|
28
|
+
*
|
|
29
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/skipWaiting
|
|
30
|
+
*/
|
|
31
|
+
skipWaiting?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Imports external scripts. They are executed in the order they
|
|
34
|
+
* are passed.
|
|
35
|
+
*
|
|
36
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/importScripts
|
|
37
|
+
*/
|
|
38
|
+
importScripts?: string[];
|
|
39
|
+
/**
|
|
40
|
+
* Enables navigation preloading if it is supported.
|
|
41
|
+
*
|
|
42
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/navigationPreload
|
|
43
|
+
*/
|
|
44
|
+
navigationPreload?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Modifies the prefix of the default cache names used by Serwist packages.
|
|
47
|
+
*/
|
|
48
|
+
cacheId?: string | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Claims any currently available clients once the service worker
|
|
51
|
+
* becomes active. This is normally used in conjunction with `skipWaiting()`.
|
|
52
|
+
*
|
|
53
|
+
* @default false
|
|
54
|
+
*/
|
|
55
|
+
clientsClaim?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Disables Serwist's logging in development mode.
|
|
58
|
+
*
|
|
59
|
+
* @default false
|
|
60
|
+
*/
|
|
61
|
+
disableDevLogs?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* A list of extensions.
|
|
64
|
+
*/
|
|
65
|
+
extensions?: Extension[];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
declare const self: ServiceWorkerGlobalScope;
|
|
69
|
+
|
|
70
|
+
export const createSerwist = ({
|
|
71
|
+
precache,
|
|
72
|
+
skipWaiting = false,
|
|
73
|
+
importScripts,
|
|
74
|
+
navigationPreload = false,
|
|
75
|
+
cacheId,
|
|
76
|
+
clientsClaim = false,
|
|
77
|
+
disableDevLogs = false,
|
|
78
|
+
extensions = [],
|
|
79
|
+
}: SerwistOptions = {}): Serwist => {
|
|
80
|
+
if (importScripts?.length) self.importScripts(...importScripts);
|
|
81
|
+
|
|
82
|
+
if (navigationPreload) enableNavigationPreload();
|
|
83
|
+
|
|
84
|
+
if (cacheId) setCacheNameDetails({ prefix: cacheId });
|
|
85
|
+
|
|
86
|
+
if (skipWaiting) {
|
|
87
|
+
self.skipWaiting();
|
|
88
|
+
} else {
|
|
89
|
+
self.addEventListener("message", (event) => {
|
|
90
|
+
if (event.data?.type === "SKIP_WAITING") {
|
|
91
|
+
self.skipWaiting();
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (clientsClaim) clientsClaimImpl();
|
|
97
|
+
|
|
98
|
+
const precacheExtension = new Precache(precache ?? { entries: [] });
|
|
99
|
+
|
|
100
|
+
const routes = new Map<HTTPMethod, Route[]>();
|
|
101
|
+
|
|
102
|
+
const defaultHandlerMap = new Map<HTTPMethod, RouteHandlerObject>();
|
|
103
|
+
|
|
104
|
+
const exts = [precacheExtension, ...extensions];
|
|
105
|
+
|
|
106
|
+
const state: Serwist = {
|
|
107
|
+
get routes() {
|
|
108
|
+
return routes;
|
|
109
|
+
},
|
|
110
|
+
get defaultHandlerMap() {
|
|
111
|
+
return defaultHandlerMap;
|
|
112
|
+
},
|
|
113
|
+
get precache() {
|
|
114
|
+
return precacheExtension;
|
|
115
|
+
},
|
|
116
|
+
get extensions() {
|
|
117
|
+
return exts;
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
for (const callback of iterateExtensions(state, "init")) {
|
|
122
|
+
callback({ serwist: state });
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (disableDevLogs) disableDevLogsImpl();
|
|
126
|
+
|
|
127
|
+
return state;
|
|
128
|
+
};
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
https://opensource.org/licenses/MIT.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
9
|
+
import { assert } from "#utils/assert.js";
|
|
10
|
+
import { logger } from "#utils/logger.js";
|
|
11
|
+
import { SerwistError } from "#utils/SerwistError.js";
|
|
12
12
|
import { CacheTimestampsModel } from "./models/CacheTimestampsModel.js";
|
|
13
13
|
|
|
14
14
|
interface CacheExpirationConfig {
|
|
@@ -5,16 +5,15 @@
|
|
|
5
5
|
license that can be found in the LICENSE file or at
|
|
6
6
|
https://opensource.org/licenses/MIT.
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
import { registerQuotaErrorCallback } from "
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { logger } from "../../utils/logger.js";
|
|
16
|
-
import { CacheExpiration } from "./CacheExpiration.js";
|
|
8
|
+
import type { CacheDidUpdateCallbackParam, CachedResponseWillBeUsedCallbackParam, StrategyPlugin } from "#lib/types.js";
|
|
9
|
+
import { registerQuotaErrorCallback } from "#lib/utils.js";
|
|
10
|
+
import { assert } from "#utils/assert.js";
|
|
11
|
+
import { cacheNames as privateCacheNames } from "#utils/cacheNames.js";
|
|
12
|
+
import { getFriendlyURL } from "#utils/getFriendlyURL.js";
|
|
13
|
+
import { logger } from "#utils/logger.js";
|
|
14
|
+
import { SerwistError } from "#utils/SerwistError.js";
|
|
17
15
|
import type { Strategy } from "../strategies/Strategy.js";
|
|
16
|
+
import { CacheExpiration } from "./CacheExpiration.js";
|
|
18
17
|
|
|
19
18
|
export interface ExpirationPluginOptions {
|
|
20
19
|
/**
|
|
@@ -66,7 +65,7 @@ export interface ExpirationPluginOptions {
|
|
|
66
65
|
*
|
|
67
66
|
* @see https://serwist.pages.dev/docs/serwist/runtime-caching/plugins/expiration-plugin
|
|
68
67
|
*/
|
|
69
|
-
export class ExpirationPlugin implements
|
|
68
|
+
export class ExpirationPlugin implements StrategyPlugin {
|
|
70
69
|
private readonly _config: ExpirationPluginOptions;
|
|
71
70
|
private _cacheExpirations: Map<string, CacheExpiration>;
|
|
72
71
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { MaybePromise } from "@serwist/utils";
|
|
2
|
+
import type { Serwist } from "./core.js";
|
|
3
|
+
|
|
4
|
+
export interface InitCallbackParam {
|
|
5
|
+
serwist: Serwist;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export type InitCallback = (param: InitCallbackParam) => MaybePromise<void>;
|
|
9
|
+
|
|
10
|
+
export interface InstallCallbackParam {
|
|
11
|
+
event: ExtendableEvent;
|
|
12
|
+
serwist: Serwist;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type InstallCallback = (param: InstallCallbackParam) => MaybePromise<void>;
|
|
16
|
+
|
|
17
|
+
export interface ActivateCallbackParam {
|
|
18
|
+
event: ExtendableEvent;
|
|
19
|
+
serwist: Serwist;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type ActivateCallback = (param: ActivateCallbackParam) => MaybePromise<void>;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* An object with optional lifecycle callback properties for Serwist's operations.
|
|
26
|
+
*/
|
|
27
|
+
export interface Extension {
|
|
28
|
+
init?: InitCallback;
|
|
29
|
+
install?: InstallCallback;
|
|
30
|
+
activate?: ActivateCallback;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface ExtensionParam {
|
|
34
|
+
init: InitCallbackParam;
|
|
35
|
+
install: InstallCallbackParam;
|
|
36
|
+
activate: ActivateCallbackParam;
|
|
37
|
+
}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import type { RouteMatchCallbackOptions } from "../../types.js";
|
|
14
|
-
import { cacheNames as privateCacheNames } from "../../utils/cacheNames.js";
|
|
15
|
-
import { getFriendlyURL } from "../../utils/getFriendlyURL.js";
|
|
16
|
-
import { logger } from "../../utils/logger.js";
|
|
17
|
-
import { BackgroundSyncPlugin } from "../backgroundSync/BackgroundSyncPlugin.js";
|
|
18
|
-
import type { BackgroundSyncQueue, BackgroundSyncQueueEntry } from "../backgroundSync/BackgroundSyncQueue.js";
|
|
1
|
+
import { BackgroundSyncPlugin } from "#lib/background-sync/BackgroundSyncPlugin.js";
|
|
2
|
+
import type { BackgroundSyncQueue, BackgroundSyncQueueEntry } from "#lib/background-sync/BackgroundSyncQueue.js";
|
|
3
|
+
import type { Serwist } from "#lib/core.js";
|
|
4
|
+
import type { Extension } from "#lib/extension.js";
|
|
5
|
+
import { registerRoute } from "#lib/functions/router.js";
|
|
6
|
+
import { Route } from "#lib/route.js";
|
|
7
|
+
import { NetworkFirst } from "#lib/strategies/NetworkFirst.js";
|
|
8
|
+
import { NetworkOnly } from "#lib/strategies/NetworkOnly.js";
|
|
9
|
+
import type { RouteMatchCallbackOptions } from "#lib/types.js";
|
|
10
|
+
import { cacheNames as privateCacheNames } from "#utils/cacheNames.js";
|
|
11
|
+
import { getFriendlyURL } from "#utils/getFriendlyURL.js";
|
|
12
|
+
import { logger } from "#utils/logger.js";
|
|
19
13
|
import {
|
|
20
14
|
ANALYTICS_JS_PATH,
|
|
21
15
|
COLLECT_PATHS_REGEX,
|
|
@@ -27,8 +21,7 @@ import {
|
|
|
27
21
|
QUEUE_NAME,
|
|
28
22
|
} from "./constants.js";
|
|
29
23
|
|
|
30
|
-
export interface
|
|
31
|
-
serwist: Serwist;
|
|
24
|
+
export interface GoogleAnalyticsOptions {
|
|
32
25
|
/**
|
|
33
26
|
* The cache name to store and retrieve analytics.js. Defaults to Serwist's default cache names.
|
|
34
27
|
*/
|
|
@@ -58,7 +51,7 @@ export interface GoogleAnalyticsInitializeOptions {
|
|
|
58
51
|
* @returns The requestWillDequeue callback function.
|
|
59
52
|
* @private
|
|
60
53
|
*/
|
|
61
|
-
const createOnSyncCallback = (config: Pick<
|
|
54
|
+
export const createOnSyncCallback = (config: Pick<GoogleAnalyticsOptions, "parameterOverrides" | "hitFilter">) => {
|
|
62
55
|
return async ({ queue }: { queue: BackgroundSyncQueue }) => {
|
|
63
56
|
let entry: BackgroundSyncQueueEntry | undefined;
|
|
64
57
|
while ((entry = await queue.shiftRequest())) {
|
|
@@ -128,7 +121,7 @@ const createOnSyncCallback = (config: Pick<GoogleAnalyticsInitializeOptions, "pa
|
|
|
128
121
|
* @returns The created routes.
|
|
129
122
|
* @private
|
|
130
123
|
*/
|
|
131
|
-
const createCollectRoutes = (bgSyncPlugin: BackgroundSyncPlugin) => {
|
|
124
|
+
export const createCollectRoutes = (bgSyncPlugin: BackgroundSyncPlugin) => {
|
|
132
125
|
const match = ({ url }: RouteMatchCallbackOptions) => url.hostname === GOOGLE_ANALYTICS_HOST && COLLECT_PATHS_REGEX.test(url.pathname);
|
|
133
126
|
|
|
134
127
|
const handler = new NetworkOnly({
|
|
@@ -145,7 +138,7 @@ const createCollectRoutes = (bgSyncPlugin: BackgroundSyncPlugin) => {
|
|
|
145
138
|
* @returns The created route.
|
|
146
139
|
* @private
|
|
147
140
|
*/
|
|
148
|
-
const createAnalyticsJsRoute = (cacheName: string) => {
|
|
141
|
+
export const createAnalyticsJsRoute = (cacheName: string) => {
|
|
149
142
|
const match = ({ url }: RouteMatchCallbackOptions) => url.hostname === GOOGLE_ANALYTICS_HOST && url.pathname === ANALYTICS_JS_PATH;
|
|
150
143
|
|
|
151
144
|
const handler = new NetworkFirst({ cacheName });
|
|
@@ -160,7 +153,7 @@ const createAnalyticsJsRoute = (cacheName: string) => {
|
|
|
160
153
|
* @returns The created route.
|
|
161
154
|
* @private
|
|
162
155
|
*/
|
|
163
|
-
const createGtagJsRoute = (cacheName: string) => {
|
|
156
|
+
export const createGtagJsRoute = (cacheName: string) => {
|
|
164
157
|
const match = ({ url }: RouteMatchCallbackOptions) => url.hostname === GTM_HOST && url.pathname === GTAG_JS_PATH;
|
|
165
158
|
|
|
166
159
|
const handler = new NetworkFirst({ cacheName });
|
|
@@ -175,7 +168,7 @@ const createGtagJsRoute = (cacheName: string) => {
|
|
|
175
168
|
* @returns The created route.
|
|
176
169
|
* @private
|
|
177
170
|
*/
|
|
178
|
-
const createGtmJsRoute = (cacheName: string) => {
|
|
171
|
+
export const createGtmJsRoute = (cacheName: string) => {
|
|
179
172
|
const match = ({ url }: RouteMatchCallbackOptions) => url.hostname === GTM_HOST && url.pathname === GTM_JS_PATH;
|
|
180
173
|
|
|
181
174
|
const handler = new NetworkFirst({ cacheName });
|
|
@@ -183,27 +176,28 @@ const createGtmJsRoute = (cacheName: string) => {
|
|
|
183
176
|
return new Route(match, handler, "GET");
|
|
184
177
|
};
|
|
185
178
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
*/
|
|
191
|
-
export const initializeGoogleAnalytics = ({ serwist, cacheName, ...options }: GoogleAnalyticsInitializeOptions): void => {
|
|
192
|
-
const resolvedCacheName = privateCacheNames.getGoogleAnalyticsName(cacheName);
|
|
193
|
-
|
|
194
|
-
const bgSyncPlugin = new BackgroundSyncPlugin(QUEUE_NAME, {
|
|
195
|
-
maxRetentionTime: MAX_RETENTION_TIME,
|
|
196
|
-
onSync: createOnSyncCallback(options),
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
const routes = [
|
|
200
|
-
createGtmJsRoute(resolvedCacheName),
|
|
201
|
-
createAnalyticsJsRoute(resolvedCacheName),
|
|
202
|
-
createGtagJsRoute(resolvedCacheName),
|
|
203
|
-
...createCollectRoutes(bgSyncPlugin),
|
|
204
|
-
];
|
|
205
|
-
|
|
206
|
-
for (const route of routes) {
|
|
207
|
-
serwist.registerRoute(route);
|
|
179
|
+
export class GoogleAnalytics implements Extension {
|
|
180
|
+
private _options: GoogleAnalyticsOptions;
|
|
181
|
+
constructor(options: GoogleAnalyticsOptions = {}) {
|
|
182
|
+
this._options = options;
|
|
208
183
|
}
|
|
209
|
-
}
|
|
184
|
+
init({ serwist }: { serwist: Serwist }) {
|
|
185
|
+
const resolvedCacheName = privateCacheNames.getGoogleAnalyticsName(this._options.cacheName);
|
|
186
|
+
|
|
187
|
+
const bgSyncPlugin = new BackgroundSyncPlugin(QUEUE_NAME, {
|
|
188
|
+
maxRetentionTime: MAX_RETENTION_TIME,
|
|
189
|
+
onSync: createOnSyncCallback(this._options),
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
const routes = [
|
|
193
|
+
createGtmJsRoute(resolvedCacheName),
|
|
194
|
+
createAnalyticsJsRoute(resolvedCacheName),
|
|
195
|
+
createGtagJsRoute(resolvedCacheName),
|
|
196
|
+
...createCollectRoutes(bgSyncPlugin),
|
|
197
|
+
];
|
|
198
|
+
|
|
199
|
+
for (const route of routes) {
|
|
200
|
+
registerRoute(serwist, route);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2018 Google LLC
|
|
3
|
+
|
|
4
|
+
Use of this source code is governed by an MIT-style
|
|
5
|
+
license that can be found in the LICENSE file or at
|
|
6
|
+
https://opensource.org/licenses/MIT.
|
|
7
|
+
*/
|
|
8
|
+
import { BackgroundSyncPlugin } from "#lib/background-sync/BackgroundSyncPlugin.js";
|
|
9
|
+
import type { Serwist } from "#lib/serwist.js";
|
|
10
|
+
import { cacheNames as privateCacheNames } from "#utils/cacheNames.js";
|
|
11
|
+
import { MAX_RETENTION_TIME, QUEUE_NAME } from "./constants.js";
|
|
12
|
+
import {
|
|
13
|
+
createAnalyticsJsRoute,
|
|
14
|
+
createCollectRoutes,
|
|
15
|
+
createGtagJsRoute,
|
|
16
|
+
createGtmJsRoute,
|
|
17
|
+
createOnSyncCallback,
|
|
18
|
+
type GoogleAnalyticsOptions,
|
|
19
|
+
} from "./extension.js";
|
|
20
|
+
|
|
21
|
+
export interface GoogleAnalyticsInitializeOptions extends GoogleAnalyticsOptions {
|
|
22
|
+
serwist: Serwist;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Initialize Serwist's offline Google Analytics v3 support.
|
|
27
|
+
*
|
|
28
|
+
* @param options
|
|
29
|
+
*/
|
|
30
|
+
export const initializeGoogleAnalytics = ({ serwist, cacheName, ...options }: GoogleAnalyticsInitializeOptions): void => {
|
|
31
|
+
const resolvedCacheName = privateCacheNames.getGoogleAnalyticsName(cacheName);
|
|
32
|
+
|
|
33
|
+
const bgSyncPlugin = new BackgroundSyncPlugin(QUEUE_NAME, {
|
|
34
|
+
maxRetentionTime: MAX_RETENTION_TIME,
|
|
35
|
+
onSync: createOnSyncCallback(options),
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
const routes = [
|
|
39
|
+
createGtmJsRoute(resolvedCacheName),
|
|
40
|
+
createAnalyticsJsRoute(resolvedCacheName),
|
|
41
|
+
createGtagJsRoute(resolvedCacheName),
|
|
42
|
+
...createCollectRoutes(bgSyncPlugin),
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
for (const route of routes) {
|
|
46
|
+
serwist.registerRoute(route);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type { GoogleAnalyticsOptions } from "./google-analytics/extension.js";
|
|
2
|
+
export { GoogleAnalytics } from "./google-analytics/extension.js";
|
|
3
|
+
export type { GoogleAnalyticsInitializeOptions } from "./google-analytics/initialize.js";
|
|
4
|
+
export { initializeGoogleAnalytics } from "./google-analytics/initialize.js";
|
|
5
|
+
export type { PrecacheEntry, PrecacheExtensionOptions, PrecacheOptions } from "./precache/extension.js";
|
|
6
|
+
export { Precache } from "./precache/extension.js";
|
|
7
|
+
export type { PrecacheFallbackEntry, PrecacheFallbackPluginOptions } from "./precache/plugin-fallback.js";
|
|
8
|
+
export { PrecacheFallbackPlugin } from "./precache/plugin-fallback.js";
|
|
9
|
+
export type { PrecacheRouteOptions } from "./precache/route.js";
|
|
10
|
+
export { PrecacheRoute } from "./precache/route.js";
|
|
11
|
+
export type { PrecacheStrategyOptions } from "./precache/strategy.js";
|
|
12
|
+
export { PrecacheStrategy } from "./precache/strategy.js";
|
|
13
|
+
export { RuntimeCache, type RuntimeCacheOptions } from "./runtime-cache.js";
|