UNPKG

epd

Version:

Enhanced peer dependency resolution for npm, yarn, and pnpm

35 lines 1.05 kB
import { existsSync, mkdirSync } from 'fs'; import { readFile, writeFile } from 'fs/promises'; import { join } from 'path'; import { homedir } from 'os'; const CACHE_DIR = join(homedir(), '.epd', 'cache'); export class Cache { static ensureCacheDir() { if (!existsSync(CACHE_DIR)) { mkdirSync(CACHE_DIR, { recursive: true }); } } static async get(key) { try { this.ensureCacheDir(); const data = await readFile(join(CACHE_DIR, `${key}.json`), 'utf-8'); const parsed = JSON.parse(data); if (parsed.expires > Date.now()) { return parsed.data; } } catch (e) { } return null; } static async set(key, data, ttl = 3600000) { try { this.ensureCacheDir(); await writeFile(join(CACHE_DIR, `${key}.json`), JSON.stringify({ data, expires: Date.now() + ttl })); } catch (e) { } } } //# sourceMappingURL=cache.js.map