Neon JavaScript/TypeScript packages
The monorepo for Neon's open-source JavaScript/TypeScript SDKs, libraries, CLIs, and framework plugins. Each folder under packages/ is an independently versioned, separately published package; they share tooling (pnpm workspaces, Biome, tsdown, Vitest, Changesets) but ship on their own cadence.
If you're looking for a single package's docs, see its own README.md under packages/<name>/.
Apps and starters that work with these packages live in neondatabase/examples.
Packages
Neon CLI
Config-as-Code (neon.ts)
API & integrations
Realtime
Auth & data access
neon-new and vite-plugin-neon-new are deprecated. Use Claimable Neon in the Neon CLI: npx neon@latest claim create. The old alias packages (get-db, neondb, vite-plugin-db, @neondatabase/vite-plugin-postgres) still re-export them.
neonctl is not deprecated: it is a supported compatibility package that installs and runs neon.
neon-init is deprecated and no longer built from this repo. Everything it did is the
neon init command, so the command is npx neon init. There is no alias package: it was a
CLI rather than a library, and the replacement is a command on a CLI most users already have.
Repository layout
packages/ # the published SDKs, libraries, CLIs, and plugins (one per folder)
tests/ # test-only tooling that is never published (the live Neon e2e harness)
This is a pnpm workspace. Internal dependencies are linked with workspace:*, so changes to one package are immediately visible to its dependents without republishing.
Development
Contributing to this repo requires Node.js >= 22 and pnpm — pnpm itself needs Node 22.13+, and regenerating the @neon/sdk types needs Node 22.18+. The published packages support Node.js >= 20.19 at runtime (see each package's README and CONTRIBUTING.md). From the repo root:
pnpm install # install all workspaces
pnpm build # build every package (tsc + tsdown)
pnpm test:ci # run the test suites (Vitest)
pnpm lint:ci # lint + format check (Biome)
Scope a command to a single package with a filter, e.g.:
pnpm --filter @neon/env build
pnpm --filter @neon/env test:ci
Releasing
Versioning is driven by Changesets. Add a changeset describing your change (pnpm changeset), and a maintainer applies the version bumps + changelogs (pnpm changeset version) on a release PR. Publishing to npm runs from a separate workflow once that PR lands on main.
License
Every package in this repository is licensed under Apache-2.0.