Files
orca/config/build-plugins/vite-cache-retention.ts
T
OrcaWinandOrcaWin b3dfd54827 perf(build): skip unnecessary work and reclaim Vite caches (#29479)
* perf(build): remove unnecessary development and config work

* feat(dev): reclaim inactive worktree Vite caches

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-16 00:56:30 -07:00

23 lines
691 B
TypeScript

import { resolve } from 'node:path'
import type { Plugin } from 'vite'
import { retainViteCache } from '../scripts/vite-cache-activity.mjs'
export function createViteCacheRetentionPlugin(cacheRoot = resolve('.cache/vite')): Plugin {
return {
name: 'orca-vite-cache-retention',
apply: 'serve',
async configureServer(server) {
const release = await retainViteCache(cacheRoot)
const close = server.close.bind(server)
// Keep ownership until Vite has stopped its optimizer and outstanding requests.
server.close = async (...args) => {
try {
await close(...args)
} finally {
await release()
}
}
}
}
}