@vite-hub/env
v0.0.1
Published
Safe build and runtime environment variables for Vite and Nitro.
Maintainers
Readme
@vite-hub/env
@vite-hub/env declares environment values once, then generates typed public and server env access.
Install
pnpm add @vite-hub/envMinimal API
// vite.config.ts
import { env, envVite } from "@vite-hub/env/vite"
import { defineConfig } from "vite"
export default defineConfig({
plugins: [envVite({ prefix: "VITEHUB_" })],
env: {
public: {
appName: env({ default: "ViteHub App", mode: "build" }),
},
},
})// nitro.config.ts
import { env, envNitro } from "@vite-hub/env/nitro"
import { defineNitroConfig } from "nitro/config"
export default defineNitroConfig({
modules: [envNitro()],
env: {
auth: {
token: env({ secret: true }),
},
},
})// server/api/config.get.ts
import { useServerEnv } from "#vitehub/env/server"
import { defineEventHandler } from "h3"
export default defineEventHandler((event) => {
const env = useServerEnv(event)
return {
hasAuthToken: Boolean(env.auth.token.unseal()),
}
})Vite and Nitro
Vite handles public/build env and generates #vitehub/env/public. Nitro handles server/runtime env, secret values, and #vitehub/env/server. Cloudflare secrets can be marked as required during Nitro setup.
Learn more at vitehub.dev.
