Contract-first environment configuration with typed schemas — runtime-agnostic core (Node, Bun, Deno, browser, Workers, Edge) with opt-in adapters for Node, Vite, and React (SSR).
pnpm add @vlandoss/env📚 env.oss.variable.land — full docs
This is the monorepo. Three things live here:
| Path | What it is |
|---|---|
package/ |
The @vlandoss/env library — published to npm |
docsite/ |
The Fumadocs site behind env.oss.variable.land, on Cloudflare Workers |
examples/ |
9 runtime-isolated demos (Node, Bun, Deno, Workers, Edge, Vite SPA, SSR) — each one is a real consumer of the published tarball |
The whole thing is orchestrated with mise. Get the runtimes, install, run the e2e suites:
mise install # installs node + pnpm; bun/deno added on demand by examples
mise run setup # root deps + pack the library + install every example + Playwright browsers
mise run test:e2e # runs the e2e suite of every exampleDay-to-day:
mise run docsite # docs site dev server
mise run lib:test # unit tests for @vlandoss/env
mise run lib:build # build @vlandoss/env
mise run check # JS & TS check across package + docsiteRun mise tasks for the full list.
For everything else — the per-task reference, the per-example layout, how to iterate on the library while seeing changes in the examples, troubleshooting — see DEVELOPMENT.md.
Issues, ideas, and PRs welcome. Read CONTRIBUTING.md before opening a PR — it covers the branch / commit / changeset conventions and the release flow.
MIT © Variable Land