8000 fix: invalidate cache on new package releases · nuxt/fonts@ee9678a · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Commit ee9678a

Browse files
committed
fix: invalidate cache on new package releases
1 parent d32069a commit ee9678a

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/cache.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { createStorage } from 'unstorage'
22
import fsDriver from 'unstorage/drivers/fs'
33

44
import type { Awaitable } from './types'
5+
import { version } from '../package.json'
56

67
export const cacheBase = 'node_modules/.cache/nuxt/fonts/meta'
78

@@ -14,11 +15,11 @@ export async function cachedData<T = unknown> (key: string, fetcher: () => Await
1415
onError?: (err: any) => Awaitable<T>
1516
ttl?: number
1617
}) {
17-
const cached = await storage.getItem<null | { expires: number, data: T }>(key)
18-
if (!cached || cached.expires < Date.now()) {
18+
const cached = await storage.getItem<null | { expires: number, version: string, data: T }>(key)
19+
if (!cached || cached.version !== version || cached.expires < Date.now()) {
1920
try {
2021
const data = await fetcher()
21-
await storage.setItem(key, { expires: Date.now() + (options?.ttl || 1000 * 60 * 60 * 24 * 7), data })
22+
await storage.setItem(key, { expires: Date.now() + (options?.ttl || 1000 * 60 * 60 * 24 * 7), version, data })
2223
return data
2324
} catch (err) {
2425
if (options?.onError) { return options.onError(err) }

0 commit comments

Comments
 (0)
0