Beast-ORM is a promise-based ORM for IndexedDB and localStorage in the browser, inspired by Django's ORM. Version 1.1.5 provides auto-incrementing fields, complex filtering with field lookups (gt, gte, lt, lte, not), bulk create/update/delete, and query chaining. It uses a single transaction for multiple requests and registers models against a database name. Key differentiators include a familiar Django-like API, TypeScript support, and plans for SQLite in v2.0.0. Release cadence is irregular as the project is relatively new and maintained by BackdoorTech.
npm install beast-ormNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates creating a model class, registering with IndexedDB, and executing a filtered query.
Use import { models } from 'beast-orm' and access models.Model etc.Use filter() with .execute() for non-unique lookups.
Always await or .execute() filter queries: const users = await User.filter({age:10}).execute();Use 'indexedDB' for production.
No need to fix; just be aware.
Change import to: import { models } from 'beast-orm' and use models.Model.Ensure proper import: import { models } from 'beast-orm' and use models.AutoField inside class definition.Include databaseName in the register options: models.register({databaseName: 'mydb', ...})Use filter() and .execute() instead, or ensure the lookup field is unique.