mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 17:37:40 +00:00
* refactor(tooling): organize test runtime and maintenance owners * test(tooling): preserve relocated runtime fixture dependency edges * refactor(tooling): preserve xterm routing owner checks * ci(tooling): include routing owner in sparse checkout * test(tooling): preserve copied workflow dependency closures * fix(tooling): normalize hashed JSON assets in release parity * fix(tooling): distinguish asset aliases from literal references * fix(tooling): frame normalized asset reference payloads * fix(tooling): normalize decoded JSON asset references * refactor(tooling): organize build, CI and release owners * fix(tooling): align moved generator and workflow path contracts * fix(tooling): update generated plugin bundle owner banners * test(tooling): create relocated mobile verifier fixture directories * test(tooling): copy headless detector dependency closure * test(tooling): align native batch policy fixtures with owner path * fix(tooling): link moved reliability command to historical evidence * fix(tooling): preserve nested sandbox owners and canonical guide source * fix(tooling): target release version owners in checkout fixture
23 lines
708 B
TypeScript
23 lines
708 B
TypeScript
import { resolve } from 'node:path'
|
|
import type { Plugin } from 'vite'
|
|
import { retainViteCache } from '../scripts/worktree-storage/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()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|