Registry / database / jsharmony-db

jsharmony-db

JSON →
library1.14.2jsnpmunverified

jsHarmony Database Core library providing an ORM-like interface for database operations, focusing on SQL Server with support for schema definition, CRUD operations, and stored procedures. The current stable version is 1.14.2, released with periodic updates. Key differentiators include a flexible type system (DB.types) for column definitions, built-in connection pooling, and compatibility with jsHarmony framework. Unlike general ORMs, it emphasizes direct SQL control and integration with jsHarmony's application structure. It also provides utilities for database metadata scanning and migration.

npm install jsharmony-db
INSTALL
IMPORT
SIG · JSHARMONY-DB
J
jsharmony-db
databasejavascriptv1.14.2
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

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

DB
const DB = require('jsharmony-db')
import DB from 'jsharmony-db'
This package is CJS-only, not ESM. Use require().
DB.types
DB.types.BigInt
require('jsharmony-db').types.BigInt
Access types via the DB object. There is no separate export for types.
DB.Connection
const conn = new DB.Connection(config)
new DB.ConnectionPool(config)
DB.Connection is the class for establishing database connections. Do not use DB.ConnectionPool (undocumented).
DB.Query
const query = new DB.Query(conn).sql('SELECT 1')
DB.query('SELECT 1')
Query requires a connection instance; there is no static query method.

Establishes a SQL Server connection, runs a parameterized SELECT query, logs the first result, and closes the connection.

const DB = require('jsharmony-db'); const config = { server: 'localhost', database: 'testdb', user: 'sa', password: process.env.DB_PASSWORD ?? '', port: 1433 }; const conn = new DB.Connection(config); conn.open(function(err) { if (err) { console.error(err); return; } const query = new DB.Query(conn); query.sql('SELECT * FROM Users WHERE id = @id') .param('id', 1) .execute(function(err, results) { if (err) { console.error(err); return; } console.log('User:', results[0]); conn.close(); }); });
Debug
Known issues
breakingFrom version 1.9.0, DB.Connection no longer supports synchronous .open() without a callback.
fix
Always provide a callback (function(err) { ... }) to .open(). Remove any .openSync() usage.
affects: >=1.9.0
breakingDB.ConnectionPool was removed in version 1.5.0; use DB.Connection directly.
fix
Replace new DB.ConnectionPool(config) with new DB.Connection(config).
affects: >=1.5.0
deprecatedDB.types.NChar and DB.types.NText are deprecated since 1.12.0. Prefer NVarChar.
fix
Use DB.types.NVarChar(DB.types.MAX) for large strings.
affects: >=1.12.0
gotchaWhen using parameters, the @param syntax is required. Do not use ? or $1 placeholders.
fix
Always use @paramName in SQL strings and .param('paramName', value).
affects: >=0.0.0
gotchaDB.Connection does not automatically retry on connection failure. It returns error string directly.
fix
Implement retry logic manually or use a connection pool manager.
affects: >=0.0.0
Errors
Common errors & fixes
TypeError: DB.Connection is not a constructor
Incorrect import or older version installed.
fix
Ensure you are using const DB = require('jsharmony-db'); and version >=1.0.0. Try npm install jsharmony-db@latest.
Cannot read property 'BigInt' of undefined
Accessing types on a different object, not on the DB object.
fix
Use DB.types.BigInt, not types.BigInt alone.
Error: Callback is required for open
Using .open() without a callback in version >=1.9.0.
fix
Call conn.open(function(err) { ... }).
RequestError: Must declare the scalar variable "@param"
Parameter in SQL does not match .param() call, or parameter is missing.
fix
Verify that every @param in SQL has a corresponding .param('param', value).
Upgrade
Version history
1.14.2latest on npm
Audit
Dependencies
mssqlrequiredProvides SQL Server connectivity and driver. jsharmony-db wraps mssql for query execution.
Agent activity
12 hits · last 30 days
node
12
Resources
jsharmony-db — npm install jsharmony-db · libregistry