Skip to content

variableland/env

Repository files navigation

{e} @vlandoss/env

npm version CI changesets

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

Repository

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

Working on it

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 example

Day-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 + docsite

Run 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.

Contributing

Issues, ideas, and PRs welcome. Read CONTRIBUTING.md before opening a PR — it covers the branch / commit / changeset conventions and the release flow.

License

MIT © Variable Land