38 lines
956 B
TypeScript
38 lines
956 B
TypeScript
import type { BuildOptions } from 'esbuild'
|
|
|
|
export type AstroServiceWorkerPreset = {
|
|
activate?: (options: { event: ExtendableEvent; cacheName: string }) => void
|
|
install?: (options: {
|
|
event: ExtendableEvent
|
|
routes: string[]
|
|
cacheName: string
|
|
}) => void
|
|
fetch?: (options: { event: FetchEvent; cacheName: string }) => void
|
|
}
|
|
|
|
export type AstroServiceWorkerConfig = {
|
|
path?: string
|
|
presets?: AstroServiceWorkerPreset[]
|
|
assetCachePrefix?: string
|
|
assetCacheVersionID?: string
|
|
customRoutes?: string[]
|
|
excludeRoutes?: string[]
|
|
logAssets?: true
|
|
esbuild?: BuildOptions
|
|
registrationHooks?: {
|
|
installing?: () => void
|
|
waiting?: () => void
|
|
active?: () => void
|
|
error?: (error: Error) => void
|
|
unsupported?: () => void
|
|
afterRegistration?: () => void
|
|
}
|
|
experimental?: {
|
|
strategy?: {
|
|
fetchFn: () => void
|
|
installFn: () => void
|
|
activateFn: () => void
|
|
waitFn: () => void
|
|
}
|
|
}
|
|
}
|