s3-orm (v2.1.2) is an experimental Object-Relational Mapping (ORM) library that uses AWS S3 as its storage backend. It provides decorator-based schema definition (@Entity, @Column) with support for indexes, queries (including comparisons like $gte), and CRUD operations. Useful for low-cost, massively scalable storage for slowly-changing data (e.g., CMS content). Released irregularly as an experiment. Unlike traditional ORMs (e.g., Sequelize, Mongoose), it uses S3's key-value store instead of a relational or document DB. Ships TypeScript types. There is no active development; use with caution in production.
npm install s3-ormNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Defines a Person model with @Entity/@Column, connects to S3, saves a document, and queries using $gte operator.
Consider using DynamoDB or a SQL database for production workloads.
Batch writes manually or use a proper database designed for high throughput.
Design your application to tolerate eventual consistency, or use S3 features like read-after-write for new objects.
Call Stash.connect() with your config before any model operations.
Use `import { Model } from 's3-orm'` or `const { Model } = require('s3-orm')` (not .default).Call `Stash.connect(config)` at app startup before any model operations.
Provide a valid column definition, e.g., @Column({ type: 'string' }) or @Column() for default string type.