Skip to content

Repository files navigation

CommonX

Infrastructure utilities library for Bun and Node.js.

Installation

bun add commonxjs
# or
npm install commonxjs

Modules

Logger

Lazy-initialized logging with pluggable backends.

import{createLogger}from"commonxjs/logger";constlogger=createLogger("my-app");logger.info("Hello, world!");logger.debug("Debug message",{userId: "123"});

SQLite

Unified SQLite abstraction that works with both Bun (bun:sqlite) and Node.js 22+ (node:sqlite).

import{openDatabase}from"commonxjs/sqlite";constdb=openDatabase("./data/app.db");db.exec("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)");conststmt=db.prepare("INSERT INTO users (name) VALUES (?)");stmt.run("Alice");constusers=db.prepare("SELECT * FROM users").all();console.log(users);db.close();

Path

Cross-runtime path utilities.

import{getModuleDir,getPackageRoot,getMonorepoRoot}from"commonxjs/path";// Get current module directory (__dirname equivalent)const__dirname=getModuleDir(import.meta);// Get package root (where package.json is)constpkgRoot=getPackageRoot(import.meta);// Get monorepo rootconstmonoRoot=getMonorepoRoot(import.meta);

ID

ID generation utilities.

import{generateId,generateRequestId}from"commonxjs/id";constmsgId=generateId("msg");// => "msg_1704067200000_a1b2c3"constreqId=generateRequestId();// => "req_1704067200000_x7y8z9"

Requirements

  • Node.js 22+ or Bun
  • For SQLite: Bun (uses bun:sqlite) or Node.js 22+ (uses node:sqlite)

License

MIT

About

Deepractice Common Utities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages