Registry / database / durcno

durcno

JSON →
library1.0.0-alpha.0jsnpmunverified

Durcno is a TypeScript-native PostgreSQL query builder, migration manager, and type-safe database client designed for modern Node.js (v25.8.0+). Currently in alpha (v1.0.0-alpha.0), it requires Zod v4 as a peer dependency for runtime schema validation. It differentiates itself by leveraging Zod to infer TypeScript types directly from your database schema, enabling fully type-safe queries without code generation. Its migration system integrates with the query builder, allowing schema changes to be defined in the same DSL. Key differentiators include future-looking syntax, ESM-only, and deep TypeScript integration. Frequent alpha releases may introduce breaking changes.

npm install durcno
INSTALL
IMPORT
SIG · DURCNO
D
durcno
databasejavascriptv1.0.0-alpha.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
✓ import durcno from 'durcno'
✗ const durcno = require('durcno')
Durcno is ESM-only; CommonJS require throws. The default export is the main client instance.
sql
✓ import { sql } from 'durcno'
✗ import { sql } from 'durcno' (if incorrectly spelled as 'SQL')
The tagged template literal function for building queries. Type-safe with Zod.
migrate
✓ import { migrate } from 'durcno'
Migration manager; used programmatically or via CLI. Requires Node >=25.8.

Shows how to create a database client, define a Zod schema, run a query with type inference, and parse the result.

import durcno, { sql } from 'durcno'; import { z } from 'zod'; const db = durcno({ connectionString: process.env.DATABASE_URL ?? '', }); const UserSchema = z.object({ id: z.number(), name: z.string(), email: z.string().email(), }); async function main() { const users = await db.query(sql`SELECT * FROM users WHERE id = ${1}`); const parsed = UserSchema.array().parse(users); console.log(parsed); } main().catch(console.error);
Debug
Known issues
breakingDurcno requires Node.js >=25.8.0; older Node versions will throw an unsupported engine error.
fix
Upgrade Node to v25.8.0 or later (e.g., use nvm or volta).
affects: <1.0.0
gotchaDurcno is ESM-only; CommonJS require() will fail with ERR_REQUIRE_ESM.
fix
Ensure your project is configured for ESM (type: 'module' in package.json) or use dynamic import() from CJS.
affects: >=0.0.0
deprecatedPre-1.0 alpha APIs may change without notice; do not use in production.
fix
Pin to a specific alpha version and test upgrades carefully.
affects: <1.0.0
gotchaZod v4 is a peer dependency; installing a different version may cause runtime type errors.
fix
Install zod@^4.3.6 explicitly in your project.
affects: >=0.0.0
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/durcno/index.mjs not supported.
Trying to require() a package that is ESM-only.
fix
Use import instead of require, or use dynamic import('durcno') from a CommonJS module.
TypeError: durcno is not a function
Importing the default export incorrectly (e.g., using named import instead of default).
fix
Use import durcno from 'durcno' (default import).
Error: Cannot find module 'zod'
Missing peer dependency zod.
fix
Run npm install zod@^4.3.6.
Upgrade
Version history
1.0.0-alpha.0latest on npm
Audit
Dependencies
zodrequiredPeer dependency required for type inference and runtime validation
Agent activity
14 hits · last 30 days
node
14
Resources
packagedurcno ↗
durcno — npm install durcno · libregistry