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.
Files changed (335) hide show
  1. package/dist/chunks/waitUntil.js +141 -134
  2. package/dist/index.d.ts +22 -49
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.internal.d.ts +16 -16
  5. package/dist/index.internal.d.ts.map +1 -1
  6. package/dist/index.internal.js +25 -3
  7. package/dist/index.js +2231 -452
  8. package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncPlugin.d.ts +2 -2
  9. package/dist/lib/background-sync/BackgroundSyncPlugin.d.ts.map +1 -0
  10. package/dist/lib/background-sync/BackgroundSyncQueue.d.ts.map +1 -0
  11. package/dist/lib/background-sync/BackgroundSyncQueueDb.d.ts.map +1 -0
  12. package/dist/lib/background-sync/BackgroundSyncQueueStore.d.ts.map +1 -0
  13. package/dist/lib/{backgroundSync → background-sync}/StorableRequest.d.ts +1 -1
  14. package/dist/lib/background-sync/StorableRequest.d.ts.map +1 -0
  15. package/dist/lib/background-sync/index.d.ts +6 -0
  16. package/dist/lib/background-sync/index.d.ts.map +1 -0
  17. package/dist/lib/{broadcastUpdate → broadcast-update}/BroadcastCacheUpdate.d.ts +1 -1
  18. package/dist/lib/broadcast-update/BroadcastCacheUpdate.d.ts.map +1 -0
  19. package/dist/lib/{broadcastUpdate → broadcast-update}/BroadcastUpdatePlugin.d.ts +2 -2
  20. package/dist/lib/broadcast-update/BroadcastUpdatePlugin.d.ts.map +1 -0
  21. package/dist/lib/broadcast-update/constants.d.ts.map +1 -0
  22. package/dist/lib/broadcast-update/index.d.ts +6 -0
  23. package/dist/lib/broadcast-update/index.d.ts.map +1 -0
  24. package/dist/lib/broadcast-update/responsesAreSame.d.ts.map +1 -0
  25. package/dist/lib/{broadcastUpdate → broadcast-update}/types.d.ts +1 -1
  26. package/dist/lib/broadcast-update/types.d.ts.map +1 -0
  27. package/dist/{cacheNames.d.ts → lib/cache-name.d.ts} +1 -1
  28. package/dist/lib/cache-name.d.ts.map +1 -0
  29. package/dist/lib/cacheable-response/CacheableResponse.d.ts.map +1 -0
  30. package/dist/lib/{cacheableResponse → cacheable-response}/CacheableResponsePlugin.d.ts +3 -3
  31. package/dist/lib/cacheable-response/CacheableResponsePlugin.d.ts.map +1 -0
  32. package/dist/lib/cacheable-response/index.d.ts +4 -0
  33. package/dist/lib/cacheable-response/index.d.ts.map +1 -0
  34. package/dist/{constants.d.ts → lib/constants.d.ts} +1 -1
  35. package/dist/lib/constants.d.ts.map +1 -0
  36. package/dist/lib/core.d.ts +62 -0
  37. package/dist/lib/core.d.ts.map +1 -0
  38. package/dist/lib/expiration/ExpirationPlugin.d.ts +2 -2
  39. package/dist/lib/expiration/ExpirationPlugin.d.ts.map +1 -1
  40. package/dist/lib/expiration/index.d.ts +4 -0
  41. package/dist/lib/expiration/index.d.ts.map +1 -0
  42. package/dist/lib/extension.d.ts +30 -0
  43. package/dist/lib/extension.d.ts.map +1 -0
  44. package/dist/lib/extensions/google-analytics/constants.d.ts.map +1 -0
  45. package/dist/lib/extensions/google-analytics/extension.d.ts +79 -0
  46. package/dist/lib/extensions/google-analytics/extension.d.ts.map +1 -0
  47. package/dist/lib/extensions/google-analytics/index.d.ts +2 -0
  48. package/dist/lib/extensions/google-analytics/index.d.ts.map +1 -0
  49. package/dist/lib/extensions/google-analytics/initialize.d.ts +12 -0
  50. package/dist/lib/extensions/google-analytics/initialize.d.ts.map +1 -0
  51. package/dist/lib/extensions/index.d.ts +14 -0
  52. package/dist/lib/extensions/index.d.ts.map +1 -0
  53. package/dist/{legacy/PrecacheController.d.ts → lib/extensions/precache/extension.d.ts} +56 -66
  54. package/dist/lib/extensions/precache/extension.d.ts.map +1 -0
  55. package/dist/lib/extensions/precache/options.d.ts +26 -0
  56. package/dist/lib/extensions/precache/options.d.ts.map +1 -0
  57. package/dist/lib/extensions/precache/plugin-cache-key.d.ts +16 -0
  58. package/dist/lib/extensions/precache/plugin-cache-key.d.ts.map +1 -0
  59. package/dist/lib/{precaching/PrecacheFallbackPlugin.d.ts → extensions/precache/plugin-fallback.d.ts} +4 -4
  60. package/dist/lib/extensions/precache/plugin-fallback.d.ts.map +1 -0
  61. package/dist/lib/extensions/precache/plugin-install-report.d.ts +14 -0
  62. package/dist/lib/extensions/precache/plugin-install-report.d.ts.map +1 -0
  63. package/dist/lib/extensions/precache/route.d.ts +42 -0
  64. package/dist/lib/extensions/precache/route.d.ts.map +1 -0
  65. package/dist/lib/{strategies/PrecacheStrategy.d.ts → extensions/precache/strategy.d.ts} +7 -7
  66. package/dist/lib/extensions/precache/strategy.d.ts.map +1 -0
  67. package/dist/lib/extensions/runtime-cache.d.ts +71 -0
  68. package/dist/lib/extensions/runtime-cache.d.ts.map +1 -0
  69. package/dist/lib/functions/handlers.d.ts +60 -0
  70. package/dist/lib/functions/handlers.d.ts.map +1 -0
  71. package/dist/lib/functions/router.d.ts +60 -0
  72. package/dist/lib/functions/router.d.ts.map +1 -0
  73. package/dist/{navigationPreload.d.ts → lib/navigation-preload.d.ts} +1 -1
  74. package/dist/lib/navigation-preload.d.ts.map +1 -0
  75. package/dist/lib/{rangeRequests → range-requests}/RangeRequestsPlugin.d.ts +3 -3
  76. package/dist/lib/range-requests/RangeRequestsPlugin.d.ts.map +1 -0
  77. package/dist/lib/range-requests/createPartialResponse.d.ts.map +1 -0
  78. package/dist/lib/range-requests/index.d.ts +3 -0
  79. package/dist/lib/range-requests/index.d.ts.map +1 -0
  80. package/dist/lib/range-requests/utils/calculateEffectiveBoundaries.d.ts.map +1 -0
  81. package/dist/lib/range-requests/utils/parseRangeHeader.d.ts.map +1 -0
  82. package/dist/lib/route.d.ts +106 -0
  83. package/dist/lib/route.d.ts.map +1 -0
  84. package/dist/{Serwist.d.ts → lib/serwist.d.ts} +71 -62
  85. package/dist/lib/serwist.d.ts.map +1 -0
  86. package/dist/lib/strategies/NetworkFirst.d.ts.map +1 -1
  87. package/dist/lib/strategies/StaleWhileRevalidate.d.ts.map +1 -1
  88. package/dist/lib/strategies/Strategy.d.ts +3 -3
  89. package/dist/lib/strategies/Strategy.d.ts.map +1 -1
  90. package/dist/lib/strategies/StrategyHandler.d.ts +4 -4
  91. package/dist/lib/strategies/StrategyHandler.d.ts.map +1 -1
  92. package/dist/lib/strategies/index.d.ts +11 -0
  93. package/dist/lib/strategies/index.d.ts.map +1 -0
  94. package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts +2 -2
  95. package/dist/lib/strategies/plugins/cacheOkAndOpaquePlugin.d.ts.map +1 -1
  96. package/dist/{types.d.ts → lib/types.d.ts} +7 -65
  97. package/dist/lib/types.d.ts.map +1 -0
  98. package/dist/{copyResponse.d.ts → lib/utils.d.ts} +22 -1
  99. package/dist/lib/utils.d.ts.map +1 -0
  100. package/dist/models/messages/messageGenerator.d.ts +1 -1
  101. package/dist/models/messages/messageGenerator.d.ts.map +1 -1
  102. package/dist/utils/SerwistError.d.ts +2 -2
  103. package/dist/utils/SerwistError.d.ts.map +1 -1
  104. package/dist/utils/assert.d.ts +1 -1
  105. package/dist/utils/assert.d.ts.map +1 -1
  106. package/dist/utils/createCacheKey.d.ts +1 -1
  107. package/dist/utils/createCacheKey.d.ts.map +1 -1
  108. package/dist/utils/generateURLVariations.d.ts +1 -1
  109. package/dist/utils/generateURLVariations.d.ts.map +1 -1
  110. package/dist/utils/logger.d.ts +1 -1
  111. package/dist/utils/logger.d.ts.map +1 -1
  112. package/dist/utils/normalizeHandler.d.ts +1 -1
  113. package/dist/utils/normalizeHandler.d.ts.map +1 -1
  114. package/dist/utils/parseRoute.d.ts +3 -3
  115. package/dist/utils/parseRoute.d.ts.map +1 -1
  116. package/dist/utils/pluginUtils.d.ts +2 -2
  117. package/dist/utils/pluginUtils.d.ts.map +1 -1
  118. package/package.json +28 -11
  119. package/src/index.internal.ts +16 -16
  120. package/src/index.ts +100 -107
  121. package/src/lib/{backgroundSync → background-sync}/BackgroundSyncPlugin.ts +2 -2
  122. package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueue.ts +4 -4
  123. package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueueStore.ts +1 -1
  124. package/src/lib/{backgroundSync → background-sync}/StorableRequest.ts +2 -2
  125. package/src/lib/background-sync/index.ts +5 -0
  126. package/src/lib/{broadcastUpdate → broadcast-update}/BroadcastCacheUpdate.ts +5 -5
  127. package/src/lib/{broadcastUpdate → broadcast-update}/BroadcastUpdatePlugin.ts +2 -2
  128. package/src/lib/broadcast-update/index.ts +5 -0
  129. package/src/lib/{broadcastUpdate → broadcast-update}/responsesAreSame.ts +2 -2
  130. package/src/lib/{broadcastUpdate → broadcast-update}/types.ts +1 -1
  131. package/src/{cacheNames.ts → lib/cache-name.ts} +1 -1
  132. package/src/lib/{cacheableResponse → cacheable-response}/CacheableResponse.ts +4 -4
  133. package/src/lib/{cacheableResponse → cacheable-response}/CacheableResponsePlugin.ts +3 -3
  134. package/src/lib/cacheable-response/index.ts +3 -0
  135. package/src/lib/core.ts +128 -0
  136. package/src/lib/expiration/CacheExpiration.ts +3 -3
  137. package/src/lib/expiration/ExpirationPlugin.ts +9 -10
  138. package/src/lib/expiration/index.ts +3 -0
  139. package/src/lib/extension.ts +37 -0
  140. package/src/lib/{googleAnalytics/initializeGoogleAnalytics.ts → extensions/google-analytics/extension.ts} +42 -48
  141. package/src/lib/extensions/google-analytics/index.ts +0 -0
  142. package/src/lib/extensions/google-analytics/initialize.ts +48 -0
  143. package/src/lib/extensions/index.ts +13 -0
  144. package/src/lib/extensions/precache/extension.ts +306 -0
  145. package/src/lib/extensions/precache/options.ts +49 -0
  146. package/src/{legacy/utils/PrecacheCacheKeyPlugin.ts → lib/extensions/precache/plugin-cache-key.ts} +7 -8
  147. package/src/lib/{precaching/PrecacheFallbackPlugin.ts → extensions/precache/plugin-fallback.ts} +19 -8
  148. package/src/{utils/PrecacheInstallReportPlugin.ts → lib/extensions/precache/plugin-install-report.ts} +5 -5
  149. package/src/lib/extensions/precache/route.ts +72 -0
  150. package/src/lib/{strategies/PrecacheStrategy.ts → extensions/precache/strategy.ts} +12 -12
  151. package/src/lib/extensions/runtime-cache.ts +126 -0
  152. package/src/lib/functions/handlers.ts +149 -0
  153. package/src/lib/functions/router.ts +314 -0
  154. package/src/{navigationPreload.ts → lib/navigation-preload.ts} +1 -1
  155. package/src/lib/{rangeRequests → range-requests}/RangeRequestsPlugin.ts +3 -3
  156. package/src/lib/{rangeRequests → range-requests}/createPartialResponse.ts +3 -3
  157. package/src/lib/range-requests/index.ts +2 -0
  158. package/src/lib/{rangeRequests → range-requests}/utils/calculateEffectiveBoundaries.ts +2 -2
  159. package/src/lib/{rangeRequests → range-requests}/utils/parseRangeHeader.ts +2 -2
  160. package/src/lib/route.ts +234 -0
  161. package/src/lib/serwist.ts +443 -0
  162. package/src/lib/strategies/CacheFirst.ts +3 -3
  163. package/src/lib/strategies/CacheOnly.ts +3 -3
  164. package/src/lib/strategies/NetworkFirst.ts +4 -4
  165. package/src/lib/strategies/NetworkOnly.ts +4 -4
  166. package/src/lib/strategies/StaleWhileRevalidate.ts +4 -4
  167. package/src/lib/strategies/Strategy.ts +7 -7
  168. package/src/lib/strategies/StrategyHandler.ts +18 -18
  169. package/src/lib/strategies/index.ts +10 -0
  170. package/src/lib/strategies/plugins/cacheOkAndOpaquePlugin.ts +2 -2
  171. package/src/lib/strategies/utils/messages.ts +2 -2
  172. package/src/{types.ts → lib/types.ts} +17 -70
  173. package/src/lib/utils.ts +137 -0
  174. package/src/models/messages/messageGenerator.ts +1 -1
  175. package/src/models/messages/messages.ts +3 -3
  176. package/src/utils/SerwistError.ts +3 -3
  177. package/src/utils/assert.ts +1 -1
  178. package/src/utils/createCacheKey.ts +1 -2
  179. package/src/utils/executeQuotaErrorCallbacks.ts +1 -1
  180. package/src/utils/generateURLVariations.ts +1 -1
  181. package/src/utils/logger.ts +1 -1
  182. package/src/utils/normalizeHandler.ts +1 -1
  183. package/src/utils/parseRoute.ts +4 -5
  184. package/src/utils/pluginUtils.ts +2 -2
  185. package/dist/NavigationRoute.d.ts +0 -56
  186. package/dist/NavigationRoute.d.ts.map +0 -1
  187. package/dist/PrecacheRoute.d.ts +0 -16
  188. package/dist/PrecacheRoute.d.ts.map +0 -1
  189. package/dist/RegExpRoute.d.ts +0 -24
  190. package/dist/RegExpRoute.d.ts.map +0 -1
  191. package/dist/Route.d.ts +0 -33
  192. package/dist/Route.d.ts.map +0 -1
  193. package/dist/Serwist.d.ts.map +0 -1
  194. package/dist/cacheNames.d.ts.map +0 -1
  195. package/dist/chunks/printInstallDetails.js +0 -1601
  196. package/dist/chunks/resultingClientExists.js +0 -32
  197. package/dist/constants.d.ts.map +0 -1
  198. package/dist/copyResponse.d.ts.map +0 -1
  199. package/dist/disableDevLogs.d.ts +0 -7
  200. package/dist/disableDevLogs.d.ts.map +0 -1
  201. package/dist/index.legacy.d.ts +0 -28
  202. package/dist/index.legacy.d.ts.map +0 -1
  203. package/dist/index.legacy.js +0 -790
  204. package/dist/legacy/PrecacheController.d.ts.map +0 -1
  205. package/dist/legacy/PrecacheFallbackPlugin.d.ts +0 -61
  206. package/dist/legacy/PrecacheFallbackPlugin.d.ts.map +0 -1
  207. package/dist/legacy/PrecacheRoute.d.ts +0 -19
  208. package/dist/legacy/PrecacheRoute.d.ts.map +0 -1
  209. package/dist/legacy/Router.d.ts +0 -151
  210. package/dist/legacy/Router.d.ts.map +0 -1
  211. package/dist/legacy/addPlugins.d.ts +0 -9
  212. package/dist/legacy/addPlugins.d.ts.map +0 -1
  213. package/dist/legacy/addRoute.d.ts +0 -14
  214. package/dist/legacy/addRoute.d.ts.map +0 -1
  215. package/dist/legacy/constants.d.ts.map +0 -1
  216. package/dist/legacy/createHandlerBoundToURL.d.ts +0 -17
  217. package/dist/legacy/createHandlerBoundToURL.d.ts.map +0 -1
  218. package/dist/legacy/fallbacks.d.ts +0 -59
  219. package/dist/legacy/fallbacks.d.ts.map +0 -1
  220. package/dist/legacy/getCacheKeyForURL.d.ts +0 -20
  221. package/dist/legacy/getCacheKeyForURL.d.ts.map +0 -1
  222. package/dist/legacy/handlePrecaching.d.ts +0 -54
  223. package/dist/legacy/handlePrecaching.d.ts.map +0 -1
  224. package/dist/legacy/initializeGoogleAnalytics.d.ts +0 -38
  225. package/dist/legacy/initializeGoogleAnalytics.d.ts.map +0 -1
  226. package/dist/legacy/installSerwist.d.ts +0 -81
  227. package/dist/legacy/installSerwist.d.ts.map +0 -1
  228. package/dist/legacy/matchPrecache.d.ts +0 -15
  229. package/dist/legacy/matchPrecache.d.ts.map +0 -1
  230. package/dist/legacy/precache.d.ts +0 -20
  231. package/dist/legacy/precache.d.ts.map +0 -1
  232. package/dist/legacy/precacheAndRoute.d.ts +0 -14
  233. package/dist/legacy/precacheAndRoute.d.ts.map +0 -1
  234. package/dist/legacy/registerRoute.d.ts +0 -16
  235. package/dist/legacy/registerRoute.d.ts.map +0 -1
  236. package/dist/legacy/registerRuntimeCaching.d.ts +0 -11
  237. package/dist/legacy/registerRuntimeCaching.d.ts.map +0 -1
  238. package/dist/legacy/setCatchHandler.d.ts +0 -10
  239. package/dist/legacy/setCatchHandler.d.ts.map +0 -1
  240. package/dist/legacy/setDefaultHandler.d.ts +0 -13
  241. package/dist/legacy/setDefaultHandler.d.ts.map +0 -1
  242. package/dist/legacy/singletonPrecacheController.d.ts +0 -34
  243. package/dist/legacy/singletonPrecacheController.d.ts.map +0 -1
  244. package/dist/legacy/singletonRouter.d.ts +0 -41
  245. package/dist/legacy/singletonRouter.d.ts.map +0 -1
  246. package/dist/legacy/unregisterRoute.d.ts +0 -9
  247. package/dist/legacy/unregisterRoute.d.ts.map +0 -1
  248. package/dist/legacy/utils/PrecacheCacheKeyPlugin.d.ts +0 -16
  249. package/dist/legacy/utils/PrecacheCacheKeyPlugin.d.ts.map +0 -1
  250. package/dist/legacy/utils/getCacheKeyForURL.d.ts +0 -14
  251. package/dist/legacy/utils/getCacheKeyForURL.d.ts.map +0 -1
  252. package/dist/lib/backgroundSync/BackgroundSyncPlugin.d.ts.map +0 -1
  253. package/dist/lib/backgroundSync/BackgroundSyncQueue.d.ts.map +0 -1
  254. package/dist/lib/backgroundSync/BackgroundSyncQueueDb.d.ts.map +0 -1
  255. package/dist/lib/backgroundSync/BackgroundSyncQueueStore.d.ts.map +0 -1
  256. package/dist/lib/backgroundSync/StorableRequest.d.ts.map +0 -1
  257. package/dist/lib/broadcastUpdate/BroadcastCacheUpdate.d.ts.map +0 -1
  258. package/dist/lib/broadcastUpdate/BroadcastUpdatePlugin.d.ts.map +0 -1
  259. package/dist/lib/broadcastUpdate/constants.d.ts.map +0 -1
  260. package/dist/lib/broadcastUpdate/responsesAreSame.d.ts.map +0 -1
  261. package/dist/lib/broadcastUpdate/types.d.ts.map +0 -1
  262. package/dist/lib/cacheableResponse/CacheableResponse.d.ts.map +0 -1
  263. package/dist/lib/cacheableResponse/CacheableResponsePlugin.d.ts.map +0 -1
  264. package/dist/lib/googleAnalytics/constants.d.ts +0 -10
  265. package/dist/lib/googleAnalytics/constants.d.ts.map +0 -1
  266. package/dist/lib/googleAnalytics/initializeGoogleAnalytics.d.ts +0 -30
  267. package/dist/lib/googleAnalytics/initializeGoogleAnalytics.d.ts.map +0 -1
  268. package/dist/lib/precaching/PrecacheFallbackPlugin.d.ts.map +0 -1
  269. package/dist/lib/rangeRequests/RangeRequestsPlugin.d.ts.map +0 -1
  270. package/dist/lib/rangeRequests/createPartialResponse.d.ts.map +0 -1
  271. package/dist/lib/rangeRequests/utils/calculateEffectiveBoundaries.d.ts.map +0 -1
  272. package/dist/lib/rangeRequests/utils/parseRangeHeader.d.ts.map +0 -1
  273. package/dist/lib/strategies/PrecacheStrategy.d.ts.map +0 -1
  274. package/dist/navigationPreload.d.ts.map +0 -1
  275. package/dist/registerQuotaErrorCallback.d.ts +0 -8
  276. package/dist/registerQuotaErrorCallback.d.ts.map +0 -1
  277. package/dist/setCacheNameDetails.d.ts +0 -9
  278. package/dist/setCacheNameDetails.d.ts.map +0 -1
  279. package/dist/types.d.ts.map +0 -1
  280. package/dist/utils/PrecacheCacheKeyPlugin.d.ts +0 -16
  281. package/dist/utils/PrecacheCacheKeyPlugin.d.ts.map +0 -1
  282. package/dist/utils/PrecacheInstallReportPlugin.d.ts +0 -14
  283. package/dist/utils/PrecacheInstallReportPlugin.d.ts.map +0 -1
  284. package/dist/utils/parsePrecacheOptions.d.ts +0 -26
  285. package/dist/utils/parsePrecacheOptions.d.ts.map +0 -1
  286. package/src/NavigationRoute.ts +0 -118
  287. package/src/PrecacheRoute.ts +0 -45
  288. package/src/RegExpRoute.ts +0 -74
  289. package/src/Route.ts +0 -67
  290. package/src/Serwist.ts +0 -867
  291. package/src/copyResponse.ts +0 -58
  292. package/src/disableDevLogs.ts +0 -10
  293. package/src/index.legacy.ts +0 -62
  294. package/src/legacy/PrecacheController.ts +0 -337
  295. package/src/legacy/PrecacheFallbackPlugin.ts +0 -92
  296. package/src/legacy/PrecacheRoute.ts +0 -48
  297. package/src/legacy/Router.ts +0 -484
  298. package/src/legacy/addPlugins.ts +0 -21
  299. package/src/legacy/addRoute.ts +0 -27
  300. package/src/legacy/createHandlerBoundToURL.ts +0 -30
  301. package/src/legacy/fallbacks.ts +0 -94
  302. package/src/legacy/getCacheKeyForURL.ts +0 -32
  303. package/src/legacy/handlePrecaching.ts +0 -86
  304. package/src/legacy/initializeGoogleAnalytics.ts +0 -218
  305. package/src/legacy/installSerwist.ts +0 -170
  306. package/src/legacy/matchPrecache.ts +0 -27
  307. package/src/legacy/precache.ts +0 -33
  308. package/src/legacy/precacheAndRoute.ts +0 -27
  309. package/src/legacy/registerRoute.ts +0 -28
  310. package/src/legacy/registerRuntimeCaching.ts +0 -17
  311. package/src/legacy/setCatchHandler.ts +0 -21
  312. package/src/legacy/setDefaultHandler.ts +0 -24
  313. package/src/legacy/singletonPrecacheController.ts +0 -53
  314. package/src/legacy/singletonRouter.ts +0 -70
  315. package/src/legacy/unregisterRoute.ts +0 -13
  316. package/src/legacy/utils/getCacheKeyForURL.ts +0 -36
  317. package/src/lib/googleAnalytics/constants.ts +0 -22
  318. package/src/registerQuotaErrorCallback.ts +0 -34
  319. package/src/setCacheNameDetails.ts +0 -53
  320. package/src/utils/PrecacheCacheKeyPlugin.ts +0 -33
  321. package/src/utils/parsePrecacheOptions.ts +0 -47
  322. /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueue.d.ts +0 -0
  323. /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueueDb.d.ts +0 -0
  324. /package/dist/lib/{backgroundSync → background-sync}/BackgroundSyncQueueStore.d.ts +0 -0
  325. /package/dist/lib/{broadcastUpdate → broadcast-update}/constants.d.ts +0 -0
  326. /package/dist/lib/{broadcastUpdate → broadcast-update}/responsesAreSame.d.ts +0 -0
  327. /package/dist/lib/{cacheableResponse → cacheable-response}/CacheableResponse.d.ts +0 -0
  328. /package/dist/{legacy → lib/extensions/google-analytics}/constants.d.ts +0 -0
  329. /package/dist/lib/{rangeRequests → range-requests}/createPartialResponse.d.ts +0 -0
  330. /package/dist/lib/{rangeRequests → range-requests}/utils/calculateEffectiveBoundaries.d.ts +0 -0
  331. /package/dist/lib/{rangeRequests → range-requests}/utils/parseRangeHeader.d.ts +0 -0
  332. /package/src/lib/{backgroundSync → background-sync}/BackgroundSyncQueueDb.ts +0 -0
  333. /package/src/lib/{broadcastUpdate → broadcast-update}/constants.ts +0 -0
  334. /package/src/{constants.ts → lib/constants.ts} +0 -0
  335. /package/src/{legacy → lib/extensions/google-analytics}/constants.ts +0 -0
@@ -6,13 +6,13 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import { SerwistError } from "../../utils/SerwistError.js";
10
- import { assert } from "../../utils/assert.js";
11
- import { logger } from "../../utils/logger.js";
9
+ import { assert } from "#utils/assert.js";
10
+ import { logger } from "#utils/logger.js";
11
+ import { SerwistError } from "#utils/SerwistError.js";
12
+ import { cacheOkAndOpaquePlugin } from "./plugins/cacheOkAndOpaquePlugin.js";
12
13
  import type { StrategyOptions } from "./Strategy.js";
13
14
  import { Strategy } from "./Strategy.js";
14
15
  import type { StrategyHandler } from "./StrategyHandler.js";
15
- import { cacheOkAndOpaquePlugin } from "./plugins/cacheOkAndOpaquePlugin.js";
16
16
  import { messages } from "./utils/messages.js";
17
17
 
18
18
  export interface NetworkFirstOptions extends StrategyOptions {
@@ -6,10 +6,10 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import { SerwistError } from "../../utils/SerwistError.js";
10
- import { assert } from "../../utils/assert.js";
11
- import { logger } from "../../utils/logger.js";
12
- import { timeout } from "../../utils/timeout.js";
9
+ import { assert } from "#utils/assert.js";
10
+ import { logger } from "#utils/logger.js";
11
+ import { SerwistError } from "#utils/SerwistError.js";
12
+ import { timeout } from "#utils/timeout.js";
13
13
  import type { StrategyOptions } from "./Strategy.js";
14
14
  import { Strategy } from "./Strategy.js";
15
15
  import type { StrategyHandler } from "./StrategyHandler.js";
@@ -6,13 +6,13 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import { SerwistError } from "../../utils/SerwistError.js";
10
- import { assert } from "../../utils/assert.js";
11
- import { logger } from "../../utils/logger.js";
9
+ import { assert } from "#utils/assert.js";
10
+ import { logger } from "#utils/logger.js";
11
+ import { SerwistError } from "#utils/SerwistError.js";
12
+ import { cacheOkAndOpaquePlugin } from "./plugins/cacheOkAndOpaquePlugin.js";
12
13
  import type { StrategyOptions } from "./Strategy.js";
13
14
  import { Strategy } from "./Strategy.js";
14
15
  import type { StrategyHandler } from "./StrategyHandler.js";
15
- import { cacheOkAndOpaquePlugin } from "./plugins/cacheOkAndOpaquePlugin.js";
16
16
  import { messages } from "./utils/messages.js";
17
17
 
18
18
  /**
@@ -6,11 +6,11 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { HandlerCallbackOptions, RouteHandlerObject, SerwistPlugin } from "../../types.js";
10
- import { SerwistError } from "../../utils/SerwistError.js";
11
- import { cacheNames as privateCacheNames } from "../../utils/cacheNames.js";
12
- import { getFriendlyURL } from "../../utils/getFriendlyURL.js";
13
- import { logger } from "../../utils/logger.js";
9
+ import type { HandlerCallbackOptions, RouteHandlerObject, StrategyPlugin } 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";
13
+ import { SerwistError } from "#utils/SerwistError.js";
14
14
  import { StrategyHandler } from "./StrategyHandler.js";
15
15
 
16
16
  export interface StrategyOptions {
@@ -21,7 +21,7 @@ export interface StrategyOptions {
21
21
  /**
22
22
  * [Plugins](https://serwist.pages.dev/docs/serwist/runtime-caching/plugins) to use in conjunction with this caching strategy.
23
23
  */
24
- plugins?: SerwistPlugin[];
24
+ plugins?: StrategyPlugin[];
25
25
  /**
26
26
  * Options passed to [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796) `fetch()` calls made by
27
27
  * this strategy.
@@ -42,7 +42,7 @@ export interface StrategyOptions {
42
42
  */
43
43
  export abstract class Strategy implements RouteHandlerObject {
44
44
  cacheName: string;
45
- plugins: SerwistPlugin[];
45
+ plugins: StrategyPlugin[];
46
46
  fetchOptions?: RequestInit;
47
47
  matchOptions?: CacheQueryOptions;
48
48
 
@@ -6,17 +6,17 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { HandlerCallbackOptions, MapLikeObject, SerwistPlugin, SerwistPluginCallbackParam } from "../../types.js";
10
- import { Deferred } from "../../utils/Deferred.js";
11
- import { SerwistError } from "../../utils/SerwistError.js";
12
- import { assert } from "../../utils/assert.js";
13
- import { cacheMatchIgnoreParams } from "../../utils/cacheMatchIgnoreParams.js";
14
- import { executeQuotaErrorCallbacks } from "../../utils/executeQuotaErrorCallbacks.js";
15
- import { getFriendlyURL } from "../../utils/getFriendlyURL.js";
16
- import { logger } from "../../utils/logger.js";
17
- import { timeout } from "../../utils/timeout.js";
9
+ import type { Route } from "#lib/route.js";
10
+ import type { HandlerCallbackOptions, MapLikeObject, StrategyPlugin, StrategyPluginCallbackParam } from "#lib/types.js";
11
+ import { assert } from "#utils/assert.js";
12
+ import { cacheMatchIgnoreParams } from "#utils/cacheMatchIgnoreParams.js";
13
+ import { Deferred } from "#utils/Deferred.js";
14
+ import { executeQuotaErrorCallbacks } from "#utils/executeQuotaErrorCallbacks.js";
15
+ import { getFriendlyURL } from "#utils/getFriendlyURL.js";
16
+ import { logger } from "#utils/logger.js";
17
+ import { SerwistError } from "#utils/SerwistError.js";
18
+ import { timeout } from "#utils/timeout.js";
18
19
  import type { Strategy } from "./Strategy.js";
19
- import type { Route } from "../../Route.js";
20
20
 
21
21
  function toRequest(input: RequestInfo) {
22
22
  return typeof input === "string" ? new Request(input) : input;
@@ -59,8 +59,8 @@ export class StrategyHandler {
59
59
  private readonly _strategy: Strategy;
60
60
  private readonly _handlerDeferred: Deferred<any>;
61
61
  private readonly _extendLifetimePromises: Promise<any>[];
62
- private readonly _plugins: SerwistPlugin[];
63
- private readonly _pluginStateMap: Map<SerwistPlugin, MapLikeObject>;
62
+ private readonly _plugins: StrategyPlugin[];
63
+ private readonly _pluginStateMap: Map<StrategyPlugin, MapLikeObject>;
64
64
 
65
65
  /**
66
66
  * Creates a new instance associated with the passed strategy and event
@@ -405,7 +405,7 @@ export class StrategyHandler {
405
405
  * @param name The name of the callback to check for.
406
406
  * @returns
407
407
  */
408
- hasCallback<C extends keyof SerwistPlugin>(name: C): boolean {
408
+ hasCallback<C extends keyof StrategyPlugin>(name: C): boolean {
409
409
  for (const plugin of this._strategy.plugins) {
410
410
  if (name in plugin) {
411
411
  return true;
@@ -426,10 +426,10 @@ export class StrategyHandler {
426
426
  * @param param The object to pass as the first (and only) param when executing each callback. This object will be merged with the
427
427
  * current plugin state prior to callback execution.
428
428
  */
429
- async runCallbacks<C extends keyof NonNullable<SerwistPlugin>>(name: C, param: Omit<SerwistPluginCallbackParam[C], "state">): Promise<void> {
429
+ async runCallbacks<C extends keyof NonNullable<StrategyPlugin>>(name: C, param: Omit<StrategyPluginCallbackParam[C], "state">): Promise<void> {
430
430
  for (const callback of this.iterateCallbacks(name)) {
431
431
  // TODO(philipwalton): not sure why `any` is needed. It seems like
432
- // this should work with `as SerwistPluginCallbackParam[C]`.
432
+ // this should work with `as StrategyPluginCallbackParam[C]`.
433
433
  await callback(param as any);
434
434
  }
435
435
  }
@@ -440,18 +440,18 @@ export class StrategyHandler {
440
440
  * @param name The name fo the callback to run
441
441
  * @returns
442
442
  */
443
- *iterateCallbacks<C extends keyof SerwistPlugin>(name: C): Generator<NonNullable<SerwistPlugin[C]>> {
443
+ *iterateCallbacks<C extends keyof StrategyPlugin>(name: C): Generator<NonNullable<StrategyPlugin[C]>> {
444
444
  for (const plugin of this._strategy.plugins) {
445
445
  if (typeof plugin[name] === "function") {
446
446
  const state = this._pluginStateMap.get(plugin);
447
- const statefulCallback = (param: Omit<SerwistPluginCallbackParam[C], "state">) => {
447
+ const statefulCallback = (param: Omit<StrategyPluginCallbackParam[C], "state">) => {
448
448
  const statefulParam = { ...param, state };
449
449
 
450
450
  // TODO(philipwalton): not sure why `any` is needed. It seems like
451
451
  // this should work with `as WorkboxPluginCallbackParam[C]`.
452
452
  return plugin[name]!(statefulParam as any);
453
453
  };
454
- yield statefulCallback as NonNullable<SerwistPlugin[C]>;
454
+ yield statefulCallback as NonNullable<StrategyPlugin[C]>;
455
455
  }
456
456
  }
457
457
  }
@@ -0,0 +1,10 @@
1
+ export { CacheFirst } from "./CacheFirst.js";
2
+ export { CacheOnly } from "./CacheOnly.js";
3
+ export type { NetworkFirstOptions } from "./NetworkFirst.js";
4
+ export { NetworkFirst } from "./NetworkFirst.js";
5
+ export type { NetworkOnlyOptions } from "./NetworkOnly.js";
6
+ export { NetworkOnly } from "./NetworkOnly.js";
7
+ export { StaleWhileRevalidate } from "./StaleWhileRevalidate.js";
8
+ export type { StrategyOptions } from "./Strategy.js";
9
+ export { Strategy } from "./Strategy.js";
10
+ export { StrategyHandler } from "./StrategyHandler.js";
@@ -6,9 +6,9 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { SerwistPlugin } from "../../../types.js";
9
+ import type { StrategyPlugin } from "#lib/types.js";
10
10
 
11
- export const cacheOkAndOpaquePlugin: SerwistPlugin = {
11
+ export const cacheOkAndOpaquePlugin: StrategyPlugin = {
12
12
  /**
13
13
  * Returns a valid response (to allow caching) if the status is 200 (OK) or
14
14
  * 0 (opaque).
@@ -6,8 +6,8 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import { getFriendlyURL } from "../../../utils/getFriendlyURL.js";
10
- import { logger } from "../../../utils/logger.js";
9
+ import { getFriendlyURL } from "#utils/getFriendlyURL.js";
10
+ import { logger } from "#utils/logger.js";
11
11
 
12
12
  export const messages = {
13
13
  strategyStart: (strategyName: string, request: Request): string => `Using ${strategyName} to respond to '${getFriendlyURL(request.url)}'`,
@@ -1,8 +1,8 @@
1
- import type { MaybePromise } from "@serwist/utils";
1
+ import type { MaybePromise, Prettify } from "@serwist/utils";
2
+ import type { PrecacheEntry, PrecacheExtensionOptions, PrecacheOptions, PrecacheRouteOptions } from "#lib/extensions/index.js";
2
3
  import type { HTTPMethod } from "./constants.js";
3
- import type { PrecacheStrategyOptions } from "./lib/strategies/PrecacheStrategy.js";
4
- import type { Route } from "./Route.js";
5
- import type { Serwist } from "./Serwist.js";
4
+ import type { Route } from "./route.js";
5
+ import type { Serwist } from "./serwist.js";
6
6
 
7
7
  export type { MaybePromise as PromiseOrNot };
8
8
 
@@ -75,7 +75,7 @@ export interface ManualHandlerCallbackOptions {
75
75
  params?: never;
76
76
  }
77
77
 
78
- export type HandlerCallbackOptions = RouteHandlerCallbackOptions | ManualHandlerCallbackOptions;
78
+ export type HandlerCallbackOptions = Prettify<RouteHandlerCallbackOptions | ManualHandlerCallbackOptions>;
79
79
 
80
80
  /**
81
81
  * The "handler" callback is invoked whenever a request is matched to a
@@ -111,7 +111,7 @@ export interface RouteHandlerObject {
111
111
  * Either a {@linkcode RouteHandlerCallback} or a {@linkcode RouteHandlerObject}.
112
112
  * Most APIs that accept route handlers take either.
113
113
  */
114
- export type RouteHandler = RouteHandlerCallback | RouteHandlerObject;
114
+ export type RouteHandler = RouteHandlerCallback | Prettify<RouteHandlerObject>;
115
115
 
116
116
  export interface HandlerWillStartCallbackParam {
117
117
  request: Request;
@@ -257,7 +257,7 @@ export type HandlerDidCompleteCallback = (param: HandlerDidCompleteCallbackParam
257
257
  * An object with optional lifecycle callback properties for the fetch and
258
258
  * cache operations.
259
259
  */
260
- export declare interface SerwistPlugin {
260
+ export interface StrategyPlugin {
261
261
  cacheDidUpdate?: CacheDidUpdateCallback;
262
262
  cachedResponseWillBeUsed?: CachedResponseWillBeUsedCallback;
263
263
  cacheKeyWillBeUsed?: CacheKeyWillBeUsedCallback;
@@ -272,7 +272,7 @@ export declare interface SerwistPlugin {
272
272
  requestWillFetch?: RequestWillFetchCallback;
273
273
  }
274
274
 
275
- export interface SerwistPluginCallbackParam {
275
+ export interface StrategyPluginCallbackParam {
276
276
  cacheDidUpdate: CacheDidUpdateCallbackParam;
277
277
  cachedResponseWillBeUsed: CachedResponseWillBeUsedCallbackParam;
278
278
  cacheKeyWillBeUsed: CacheKeyWillBeUsedCallbackParam;
@@ -332,66 +332,13 @@ export interface CleanupResult {
332
332
  deletedCacheRequests: string[];
333
333
  }
334
334
 
335
- export declare interface PrecacheEntry {
336
- integrity?: string;
337
- url: string;
338
- revision?: string | null;
339
- }
340
-
341
- export interface PrecacheRouteOptions {
342
- /**
343
- * Tells Serwist to check the precache for an entry whose URL is the request URL appended
344
- * with the specified value. Only applies if the request URL ends with "/".
345
- *
346
- * @default "index.html"
347
- */
348
- directoryIndex?: string | null;
349
- /**
350
- * An array of `RegExp` objects matching search params that should be removed when looking
351
- * for a precache match.
352
- */
353
- ignoreURLParametersMatching?: RegExp[];
354
- /**
355
- * Tells Serwist to check the precache for an entry whose URL is the request URL appended
356
- * with ".html".
357
- *
358
- * @default true
359
- */
360
- cleanURLs?: boolean;
361
- /**
362
- * A function that should take a URL and return an array of alternative URLs that should
363
- * be checked for precache matches.
364
- */
365
- urlManipulation?: UrlManipulation;
366
- }
367
-
368
- export interface PrecacheOptions extends PrecacheStrategyOptions, PrecacheRouteOptions {
369
- /**
370
- * Whether outdated caches should be removed.
371
- *
372
- * @default false
373
- */
374
- cleanupOutdatedCaches?: boolean;
375
- /**
376
- * The number of precache requests that should be made concurrently.
377
- *
378
- * @default 10
379
- */
380
- concurrency?: number;
381
- /**
382
- * An URL that should point to a HTML file with which navigation requests for URLs that aren't
383
- * precached will be fulfilled.
384
- */
385
- navigateFallback?: string;
386
- /**
387
- * URLs that should be allowed to use the `navigateFallback` handler.
388
- */
389
- navigateFallbackAllowlist?: RegExp[];
390
- /**
391
- * URLs that should not be allowed to use the `navigateFallback` handler. This takes precedence
392
- * over `navigateFallbackAllowlist`.
393
- */
394
- navigateFallbackDenylist?: RegExp[];
395
- }
396
-
397
335
  export type UrlManipulation = ({ url }: { url: URL }) => URL[];
336
+
337
+ export type {
338
+ StrategyPlugin as SerwistPlugin,
339
+ StrategyPluginCallbackParam as SerwistPluginCallbackParam,
340
+ PrecacheEntry,
341
+ PrecacheRouteOptions,
342
+ PrecacheExtensionOptions,
343
+ PrecacheOptions,
344
+ };
@@ -0,0 +1,137 @@
1
+ /*
2
+ Copyright 2019 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 { assert } from "#utils/assert.js";
9
+ import type { PartialCacheNameDetails } from "#utils/cacheNames.js";
10
+ import { cacheNames } from "#utils/cacheNames.js";
11
+ import { canConstructResponseFromBodyStream } from "#utils/canConstructResponseFromBodyStream.js";
12
+ import { logger } from "#utils/logger.js";
13
+ import { SerwistError } from "#utils/SerwistError.js";
14
+ import { quotaErrorCallbacks } from "../models/quotaErrorCallbacks.js";
15
+
16
+ declare const self: ServiceWorkerGlobalScope;
17
+
18
+ /**
19
+ * Disables Serwist's logging in development mode.
20
+ *
21
+ * @see https://serwist.pages.dev/docs/serwist/core/disable-dev-logs
22
+ */
23
+ export const disableDevLogs = (): void => {
24
+ self.__WB_DISABLE_DEV_LOGS = true;
25
+ };
26
+
27
+ /**
28
+ * Modifies the default cache names used by Serwist packages.
29
+ * Cache names are generated as `<prefix>-<Cache Name>-<suffix>`.
30
+ *
31
+ * @param details
32
+ */
33
+ export const setCacheNameDetails = (details: PartialCacheNameDetails): void => {
34
+ if (process.env.NODE_ENV !== "production") {
35
+ for (const key of Object.keys(details)) {
36
+ assert!.isType(details[key], "string", {
37
+ moduleName: "@serwist/core",
38
+ funcName: "setCacheNameDetails",
39
+ paramName: `details.${key}`,
40
+ });
41
+ }
42
+
43
+ if (details.precache?.length === 0) {
44
+ throw new SerwistError("invalid-cache-name", {
45
+ cacheNameId: "precache",
46
+ value: details.precache,
47
+ });
48
+ }
49
+
50
+ if (details.runtime?.length === 0) {
51
+ throw new SerwistError("invalid-cache-name", {
52
+ cacheNameId: "runtime",
53
+ value: details.runtime,
54
+ });
55
+ }
56
+
57
+ if (details.googleAnalytics?.length === 0) {
58
+ throw new SerwistError("invalid-cache-name", {
59
+ cacheNameId: "googleAnalytics",
60
+ value: details.googleAnalytics,
61
+ });
62
+ }
63
+ }
64
+
65
+ cacheNames.updateDetails(details);
66
+ };
67
+
68
+ /**
69
+ * Adds a function to the set of quotaErrorCallbacks that will be executed if
70
+ * there's a quota error.
71
+ *
72
+ * @param callback
73
+ */
74
+ // biome-ignore lint/complexity/noBannedTypes: Can't change Function type
75
+ export const registerQuotaErrorCallback = (callback: Function): void => {
76
+ if (process.env.NODE_ENV !== "production") {
77
+ assert!.isType(callback, "function", {
78
+ moduleName: "@serwist/core",
79
+ funcName: "register",
80
+ paramName: "callback",
81
+ });
82
+ }
83
+
84
+ quotaErrorCallbacks.add(callback);
85
+
86
+ if (process.env.NODE_ENV !== "production") {
87
+ logger.log("Registered a callback to respond to quota errors.", callback);
88
+ }
89
+ };
90
+
91
+ /**
92
+ * Allows developers to copy a response and modify its `headers`, `status`,
93
+ * or `statusText` values (the [valid options](https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#options)
94
+ * when constructing a `Response` object).
95
+ * To modify these values, pass a function as the second argument. That
96
+ * function will be invoked with the options of the initial `Response` object.
97
+ * The return value of this function will be used as the options for the new `Response` object.
98
+ * To change the values either modify the passed parameter(s) and return it or return a totally
99
+ * new object.
100
+ *
101
+ * This method is intentionally limited to same-origin responses, regardless of
102
+ * whether CORS was used or not.
103
+ *
104
+ * @param response The initial response.
105
+ * @param modifier The function used to modify the options of the `Response` object.
106
+ */
107
+ export const copyResponse = async (response: Response, modifier?: (responseInit: ResponseInit) => ResponseInit): Promise<Response> => {
108
+ let origin = null;
109
+ // If response.url isn't set, assume it's cross-origin and keep origin null.
110
+ if (response.url) {
111
+ const responseURL = new URL(response.url);
112
+ origin = responseURL.origin;
113
+ }
114
+
115
+ if (origin !== self.location.origin) {
116
+ throw new SerwistError("cross-origin-copy-response", { origin });
117
+ }
118
+
119
+ const clonedResponse = response.clone();
120
+
121
+ // Create a fresh `ResponseInit` object by cloning the headers.
122
+ const responseInit: ResponseInit = {
123
+ headers: new Headers(clonedResponse.headers),
124
+ status: clonedResponse.status,
125
+ statusText: clonedResponse.statusText,
126
+ };
127
+
128
+ // Apply any user modifications.
129
+ const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;
130
+
131
+ // Create the new response from the body stream and `ResponseInit`
132
+ // modifications. Note: not all browsers support the Response.body stream,
133
+ // so fall back to reading the entire body into memory as a blob.
134
+ const body = canConstructResponseFromBodyStream() ? clonedResponse.body : await clonedResponse.blob();
135
+
136
+ return new Response(body, modifiedResponseInit);
137
+ };
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { MapLikeObject } from "../../types.js";
9
+ import type { MapLikeObject } from "#lib/types.js";
10
10
  import { type MessageKey, messages } from "./messages.js";
11
11
 
12
12
  const fallback = (code: string, ...args: any[]) => {
@@ -64,7 +64,7 @@ export const messages = {
64
64
  },
65
65
 
66
66
  "add-to-cache-list-unexpected-type": ({ entry }) => {
67
- return `An unexpected entry was passed to 'serwist.Serwist.addToPrecacheList()' The entry '${JSON.stringify(
67
+ return `An unexpected entry was passed to 'serwist.Serwist.precache.addToCacheList()' The entry '${JSON.stringify(
68
68
  entry,
69
69
  )}' isn't supported. You must supply an array of strings with one or more characters, objects with a url property or Request objects.`;
70
70
  },
@@ -74,7 +74,7 @@ export const messages = {
74
74
  throw new Error("Unexpected input to " + `'add-to-cache-list-duplicate-entries' error.`);
75
75
  }
76
76
 
77
- return `Two of the entries passed to 'serwist.Serwist.addToPrecacheList()' had the URL ${firstEntry} but different revision details. Serwist is unable to cache and version the asset correctly. Please remove one of the entries.`;
77
+ return `Two of the entries passed to 'serwist.Serwist.precache.addToCacheList()' had the URL ${firstEntry} but different revision details. Serwist is unable to cache and version the asset correctly. Please remove one of the entries.`;
78
78
  },
79
79
 
80
80
  "plugin-error-request-will-fetch": ({ thrownErrorMessage }) => {
@@ -210,7 +210,7 @@ export const messages = {
210
210
  },
211
211
 
212
212
  "add-to-cache-list-conflicting-integrities": ({ url }) => {
213
- return `Two of the entries passed to 'serwist.Serwist.addToPrecacheList()' had the URL ${url} with different integrity values. Please remove one of them.`;
213
+ return `Two of the entries passed to 'serwist.Serwist.precache.addToCacheList()' had the URL ${url} with different integrity values. Please remove one of them.`;
214
214
  },
215
215
 
216
216
  "missing-precache-entry": ({ cacheName, url }) => {
@@ -6,9 +6,9 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import { messageGenerator } from "../models/messages/messageGenerator.js";
10
- import type { MessageKey } from "../models/messages/messages.js";
11
- import type { MapLikeObject } from "../types.js";
9
+ import type { MapLikeObject } from "#lib/types.js";
10
+ import { messageGenerator } from "#models/messages/messageGenerator.js";
11
+ import type { MessageKey } from "#models/messages/messages.js";
12
12
 
13
13
  /**
14
14
  * Serwist errors should be thrown with this class.
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { MapLikeObject } from "../types.js";
9
+ import type { MapLikeObject } from "#lib/types.js";
10
10
  import { SerwistError } from "./SerwistError.js";
11
11
 
12
12
  /*
@@ -6,10 +6,9 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
+ import type { PrecacheEntry } from "#lib/types.js";
9
10
  import { SerwistError } from "./SerwistError.js";
10
11
 
11
- import type { PrecacheEntry } from "../types.js";
12
-
13
12
  interface CacheKey {
14
13
  cacheKey: string;
15
14
  url: string;
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import { quotaErrorCallbacks } from "../models/quotaErrorCallbacks.js";
9
+ import { quotaErrorCallbacks } from "#models/quotaErrorCallbacks.js";
10
10
  import { logger } from "./logger.js";
11
11
 
12
12
  /**
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { PrecacheRouteOptions } from "../types.js";
9
+ import type { PrecacheRouteOptions } from "#lib/types.js";
10
10
  import { removeIgnoredSearchParams } from "./removeIgnoredSearchParams.js";
11
11
 
12
12
  /**
@@ -24,7 +24,7 @@ declare global {
24
24
  * before using it.
25
25
  */
26
26
  export const logger =
27
- process.env.NODE_ENV === "production" || typeof self === "undefined"
27
+ process.env.NODE_ENV === "production" || typeof self === "undefined" || (import.meta as any).env?.SSR /** Check for SSR */
28
28
  ? null!
29
29
  : (() => {
30
30
  // Don't overwrite this value if it's already set.
@@ -6,7 +6,7 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { RouteHandler, RouteHandlerObject } from "../types.js";
9
+ import type { RouteHandler, RouteHandlerObject } from "#lib/types.js";
10
10
  import { assert } from "./assert.js";
11
11
 
12
12
  /**
@@ -1,9 +1,8 @@
1
- import { RegExpRoute } from "../RegExpRoute.js";
2
- import { Route } from "../Route.js";
3
- import type { HTTPMethod } from "../constants.js";
4
- import type { RouteHandler, RouteMatchCallback } from "../types.js";
5
- import { SerwistError } from "./SerwistError.js";
1
+ import type { HTTPMethod } from "#lib/constants.js";
2
+ import { RegExpRoute, Route } from "#lib/route.js";
3
+ import type { RouteHandler, RouteMatchCallback } from "#lib/types.js";
6
4
  import { logger } from "./logger.js";
5
+ import { SerwistError } from "./SerwistError.js";
7
6
 
8
7
  /**
9
8
  * Parses a `RegExp`, string, or function with a caching strategy into a {@linkcode Route}. This is for
@@ -6,10 +6,10 @@
6
6
  https://opensource.org/licenses/MIT.
7
7
  */
8
8
 
9
- import type { SerwistPlugin } from "../types.js";
9
+ import type { StrategyPlugin } from "#lib/types.js";
10
10
 
11
11
  export const pluginUtils = {
12
- filter: (plugins: SerwistPlugin[], callbackName: string): SerwistPlugin[] => {
12
+ filter: (plugins: StrategyPlugin[], callbackName: string): StrategyPlugin[] => {
13
13
  return plugins.filter((plugin) => callbackName in plugin);
14
14
  },
15
15
  };