{"id":18458,"library":"jsharmony","title":"jsHarmony","description":"jsHarmony is a Rapid Application Development (RAD) platform for Node.js, focused on database application development. It provides an integrated framework for building server-side applications with automatic model generation, built-in authentication, and support for PostgreSQL and MSSQL via separate driver packages. Current stable version is 1.40.14. Release cadence appears irregular. Key differentiators include a model-driven approach with automatic schema generation and a focus on database-first development compared to more general-purpose Node.js frameworks like Express.","status":"active","version":"1.40.14","language":"javascript","source_language":"en","source_url":"https://github.com/apHarmony/jsharmony","tags":["javascript","RAD","Rapid","Application","Development","Database","TSQL","SQL","Server"],"install":[{"cmd":"npm install jsharmony","lang":"bash","label":"npm"},{"cmd":"yarn add jsharmony","lang":"bash","label":"yarn"},{"cmd":"pnpm add jsharmony","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"PostgreSQL database driver","package":"jsharmony-db-pgsql","optional":true},{"reason":"MSSQL database driver","package":"jsharmony-db-mssql","optional":true}],"imports":[{"note":"CJS only; no ESM exports.","wrong":"import jsHarmony from 'jsharmony';","symbol":"jsHarmony (default)","correct":"const jsHarmony = require('jsharmony');"},{"note":"Auth.Static is accessed as a static property of the jsHarmony constructor, not as a separate import.","wrong":"const { Auth } = require('jsharmony');","symbol":"jsHarmony.Auth.Static","correct":"jsHarmony.Auth.Static([...]);"},{"note":"TypeScript import equals syntax is required for CJS modules.","wrong":"import * as jsHarmony from 'jsharmony';","symbol":"jsHarmony (TypeScript)","correct":"import jsHarmony = require('jsharmony');"}],"quickstart":{"code":"const jsHarmony = require('jsharmony');\nconst pgsqlDBDriver = require('jsharmony-db-pgsql');\nconst jsh = new jsHarmony();\njsh.DBConfig['default'] = {\n  host: 'server.domain.com',\n  database: 'DBNAME',\n  user: 'DBUSER',\n  password: 'DBPASS',\n  _driver: new pgsqlDBDriver()\n};\njsh.Config.server = {\n  http_port: 3000,\n  https_port: 0\n};\njsh.Run();","lang":"javascript","description":"Minimal setup: configure a PostgreSQL database connection and start the jsHarmony server on HTTP port 3000."},"warnings":[{"fix":"Create a 'data' folder in the project root or set jsh.Config.appbasepath to an existing directory before calling jsh.Run().","message":"The 'data' folder must exist in the application root or be configured via jsh.Config.appbasepath.","severity":"breaking","affected_versions":"all"},{"fix":"Wrap authentication setup inside jsh.Init(function(){ ... jsh.Run(); });","message":"Static authentication must be configured in the Init callback, not before.","severity":"gotcha","affected_versions":"all"},{"fix":"Set jsh.Config.server.https_port to 0 to disable HTTPS, or provide valid certificate paths.","message":"The default HTTP port is set via jsh.Config.server.http_port; HTTPS is optional and requires certificate files.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run: npm install jsharmony-db-pgsql --save","cause":"PostgreSQL driver not installed or missing from package.json.","error":"Error: Cannot find module 'jsharmony-db-pgsql'"},{"fix":"Assign to jsh.DBConfig['default'] before jsh.Run(), e.g., jsh.DBConfig['default'] = { ... }","cause":"Database configuration not set before calling jsh.Run().","error":"TypeError: jsh.DBConfig['default'] is undefined"},{"fix":"Create a 'data' directory in the project root or set jsh.Config.appbasepath to a valid path.","cause":"Missing 'data' folder in application root.","error":"Error: ENOENT: no such file or directory, open '.../data/...'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}