Skip to content

Commit 906e068

Browse files
committed
fix minor issues
1 parent 631353f commit 906e068

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

packages/ssr-daisyui/app/features/image-service/routes/image-resize.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,21 @@
11
import { type LoaderFunctionArgs } from 'react-router'
22

33
import { processImageUrl } from '~/features/image-service/services/process-image-url.ts'
4-
import { logger } from '~/lib/logger.ts'
54

65
import {
76
getCachedImage,
87
getCacheKey,
9-
purgeCache,
8+
purgeCacheOnStartup,
109
setCachedImage,
1110
} from '../services/image/cache.server.ts'
1211
import { fetchImage } from '../services/image/fetch.server.ts'
1312
import { parseImageParams, transformImage } from '../services/image/transform.server.ts'
1413

15-
// Purge cache once on server startup in development
16-
if (process.env.NODE_ENV === 'development') {
17-
logger.debug('Purging image cache on server startup (development mode)')
18-
purgeCache().catch((error) => {
19-
logger.error('Failed to purge image cache on startup:', error)
20-
})
21-
}
22-
2314
export async function loader({ request }: LoaderFunctionArgs) {
15+
// Purge cache once on server startup in development
16+
if (process.env.NODE_ENV === 'development') {
17+
purgeCacheOnStartup()
18+
}
2419
const url = new URL(request.url)
2520
const src = processImageUrl(url.searchParams.get('src') || '')
2621

packages/ssr-daisyui/app/features/image-service/services/image/cache.server.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@ import fs from 'fs/promises'
33
import path from 'path'
44

55
import { CACHE_DIR } from '~/features/image-service/config.server.ts'
6+
import { logger } from '~/lib/logger.ts'
67

78
import { type ImageTransformOptions } from './types'
89

10+
// Track if we've already purged the cache this session
11+
let cacheAlreadyPurged = false
12+
913
export async function deleteCachedImage(cacheKey: string): Promise<boolean> {
1014
try {
1115
const cachePath = path.join(CACHE_DIR, `${cacheKey}.bin`)
@@ -108,6 +112,16 @@ export async function purgeCache(maxAge?: number): Promise<{ deleted: number; er
108112
return { deleted, errors }
109113
}
110114

115+
export function purgeCacheOnStartup(): void {
116+
if (!cacheAlreadyPurged) {
117+
cacheAlreadyPurged = true
118+
logger.debug('Purging image cache on server startup (development mode)')
119+
purgeCache().catch((error) => {
120+
logger.error('Failed to purge image cache on startup:', error)
121+
})
122+
}
123+
}
124+
111125
export async function setCachedImage(cacheKey: string, buffer: Buffer): Promise<void> {
112126
try {
113127
await fs.mkdir(CACHE_DIR, { recursive: true })

0 commit comments

Comments
 (0)