{"id":18283,"library":"dubnium","title":"Dubnium","description":"Dubnium is a powerful local database for Node.js (v4.2.0, latest stable). It provides a simple API to create, read, update, and delete records stored as files on disk. Designed for small to medium projects where a full database server is unnecessary. Supports both CommonJS and ECMAScript modules. Active development on GitHub with regular releases. Key differentiator: lightweight zero-dependency solution with synchronous and async operations.","status":"active","version":"4.2.0","language":"javascript","source_language":"en","source_url":"https://github.com/coolstone-tech/dubnium","tags":["javascript","db","dubnium","data","database","backend","cli","elementscript","middleware"],"install":[{"cmd":"npm install dubnium","lang":"bash","label":"npm"},{"cmd":"yarn add dubnium","lang":"bash","label":"yarn"},{"cmd":"pnpm add dubnium","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Default export; named import will fail.","wrong":"const { Dubnium } = require('dubnium')","symbol":"Dubnium","correct":"import Dubnium from 'dubnium'"},{"note":"CommonJS requires default export via require; variable name matters only locally.","wrong":"const dubnium = require('dubnium')","symbol":"Dubnium (CommonJS)","correct":"const Dubnium = require('dubnium')"},{"note":"Instance methods are async.","wrong":"const db = new dubnium.Dubnium('data', '.json')","symbol":"db.create / db.read / db.get","correct":"import Dubnium from 'dubnium'; const db = new Dubnium('data', '.json'); await db.create('user', { name: 'Alice' })"}],"quickstart":{"code":"import Dubnium from 'dubnium';\n\nconst db = new Dubnium('./data', '.json');\n\nasync function main() {\n  // Create a record\n  await db.create('user', { name: 'Alice', age: 30 });\n\n  // Read the same record\n  const record = await db.read('user');\n  console.log('Record:', record);\n\n  // Modify data\n  await db.get('user').write({ name: 'Alice', age: 31 });\n\n  // Delete the record\n  await db.get('user').delete();\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Initialize a local database, create a record, read it, modify, and delete."},"warnings":[{"fix":"Always start with '.': new Dubnium('dir', '.json')","message":"File extension must include dot (e.g., '.json') — omitting dot may cause files without extension.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use db.delete('tag') directly.","message":"The `delete` method on a record instance is deprecated in v4; use `await db.delete('tag')` instead.","severity":"deprecated","affected_versions":">=4.0.0"},{"fix":"Wrap in try/catch or check existence first with db.has('tag') if available.","message":"Reading a non-existent tag throws an error — no null/undefined return.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Ensure parent directory exists and is writable.","message":"Directory is created automatically but may fail if parent directory doesn't exist or permissions are wrong.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use `import Dubnium from 'dubnium'` (no curly braces).","cause":"ESM import using named import instead of default import.","error":"TypeError: Dubnium is not a constructor"},{"fix":"Create directory manually or ensure write permissions.","cause":"Database directory does not exist or is not writable.","error":"Error: ENOENT: no such file or directory, open './data/...'"},{"fix":"Check if record exists before calling delete, or use `db.delete('tag')` directly.","cause":"Calling `.delete()` on a record that does not exist (read returned undefined).","error":"TypeError: Cannot read properties of undefined (reading 'delete')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}