Registry / database / wilkques-database

wilkques-database

JSON →
library1.0.2jsnpmunverified

A modern, type-safe Node.js database query builder with a fluent API supporting MySQL, PostgreSQL, and SQLite. Current stable version is 1.0.2. It provides a unified interface across databases, automatic parameterized queries for SQL injection protection, and advanced features like subqueries, transactions, atomic operations, and batch operations. Compared to alternatives like Knex.js, it emphasizes a PHP-inspired API (based on wilkques/database) with conditional expressions (CASE WHEN, IF-ELSE) and compatibility with Node.js 18+. The package ships TypeScript types and requires separate installation of database drivers (mysql2, pg, better-sqlite3). Release cadence appears infrequent; no recent commits as of metadata.

npm install wilkques-database
INSTALL
IMPORT
SIG · WILKQUES-DATABASE
W
wilkques-database
databasejavascriptv1.0.2
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 (Database)
import Database from '@wilkques/database'
const Database = require('@wilkques/database')
Package is ESM-only. CommonJS require() will fail unless using .default property: const Database = require('@wilkques/database').default;
Database
import { Database } from '@wilkques/database'
Named export also available; use import { Database, Builder } from '@wilkques/database'.
Builder
import { Builder } from '@wilkques/database'
Builder class is exported as a named export; not available as default.

Shows basic usage of Database.connect with SQLite, schema creation, insert, fluent query with where clause, and connection cleanup.

import Database from '@wilkques/database'; // Connect to SQLite (no password needed, driver installed separately) const db = await Database.connect({ driver: 'sqlite', database: ':memory:' }); // Create table and insert await db.schema().createTable('users', (table) => { table.increments('id'); table.string('name'); table.string('email').unique(); }); await db.table('users').insert({ name: 'Alice', email: 'alice@example.com' }); // Query const users = await db .table('users') .select('id', 'name', 'email') .where('name', 'Alice') .get(); console.log(users); // Close connection db.end();
Debug
Known issues
gotchaDriver packages must be installed separately; the base package does not include them.
fix
Install required driver: npm install mysql2 (for MySQL), pg (for PostgreSQL), or better-sqlite3 (for SQLite).
affects: >=1.0.0
gotchaSQLite driver is better-sqlite3, NOT the 'sqlite3' package listed in peer deps. Use better-sqlite3 for synchronous operations.
fix
Install better-sqlite3: npm install better-sqlite3
affects: >=1.0.0
gotchaDatabase.connect() is async and must be awaited.
fix
Use: const db = await Database.connect({...})
affects: >=1.0.0
breakingPackage renamed from 'wilkques-database' (npm 1.0.2) to '@wilkques/database' in later versions (or vice versa). Check documentation for exact package name.
fix
Use the correct package name: '@wilkques/database'.
affects: >=1.0.0
gotchaNode.js version >=18.0.0 required; engines field enforces this.
fix
Upgrade Node.js to v18+.
affects: >=1.0.0
Errors
Common errors & fixes
Error: Cannot find module 'mysql2'
Required MySQL driver not installed.
fix
Install mysql2: npm install mysql2
Error: Cannot find module 'better-sqlite3'
Required SQLite driver not installed.
fix
Install better-sqlite3: npm install better-sqlite3
TypeError: Cannot destructure property 'Database' of ...
Attempting to use CommonJS require without accessing .default.
fix
Use import instead, or: const Database = require('@wilkques/database').default;
Database.connect is not a function
Possibly imported wrong symbol or used import incorrectly.
fix
Use default import: import Database from '@wilkques/database';
Upgrade
Version history
1.0.2latest on npm
Audit
Dependencies
mysql2optionalRequired MySQL driver
pgoptionalRequired PostgreSQL driver
better-sqlite3optionalRequired SQLite driver
Agent activity
23 hits · last 30 days
node
20
Meta
2
OpenAI (training)
1
Resources
wilkques-database — npm install wilkques-database · libregistry