Nodenamo is a lightweight ORM for DynamoDB that simplifies data modeling and querying using decorators. Version 2.2.0 supports ESM, TypeScript types, and provides a fluent API for CRUD operations, transactions, and table management. Unlike low-level SDKs, it abstracts table schema (hash/range keys, GSI) and automatically maps classes to DynamoDB items. Released under MIT, with periodic updates. Requires Node.js 12+ and AWS SDK v3.
npm install nodenamoNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows full lifecycle: define a class with decorators, create table, insert, get, list, and delete using NodeNamo's fluent API.
Use ES module imports (import { ... } from 'nodenamo') and ensure your project is configured for ESM (e.g., type: module in package.json).Use AWS SDK v3 clients: new NodeNamo({ region: '...' }) instead of old v2 config.Replace ReturnValue.AllOld with 'ALL_OLD' in update queries.
Ensure exactly one property has @DBColumn({ id: true }).Catch ResourceInUseException or check existence before creating.
Change to import statement: import { NodeNamo } from 'nodenamo'Add @DBColumn({ id: true }) to one property in your class.Ensure using update(obj).from(T).returning('ALL_OLD').execute() format.