@vite-hub/kv
v0.0.3
Published
Vite-first key-value storage primitives and integration for ViteHub.
Maintainers
Readme
@vite-hub/kv
@vite-hub/kv gives server code one small-state API for settings, flags, cache entries, and JSON-like records.
Install
pnpm add @vite-hub/kvAdd @upstash/redis when you use the Upstash driver.
Minimal API
// server/api/settings.put.ts
import { kv } from "@vite-hub/kv"
import { defineEventHandler, readBody } from "h3"
export default defineEventHandler(async (event) => {
const [writeError] = await kv.set("settings", await readBody(event))
if (writeError) throw writeError
const [readError, settings] = await kv.get("settings")
if (readError) throw readError
return settings
})// vite.config.ts
import { hubKv } from "@vite-hub/kv/vite"
import { defineConfig } from "vite"
export default defineConfig({
kv: {
driver: "fs-lite",
base: ".data/kv",
},
plugins: [hubKv()],
})Vite Integration
Use hubKv() in Vite to resolve KV config and expose the kv runtime helper to server code.
Providers include local fs-lite, Cloudflare Workers KV, and Upstash Redis. The storage layer is built on unstorage.
KV operations return [error, value]. Provider failures use ViteHubError with code KV_OPERATION_FAILED, operation/store details, and the provider failure in cause. Invalid configuration and unknown named stores still throw before provider execution.
Learn more at vitehub.dev.
