# @emage-me/firestorm

> Firestore ORM

Latest version **0.15.3** (published 2026-03-23) · ISC license · 0 weekly downloads

## Install

```sh
npm install @emage-me/firestorm
pnpm add @emage-me/firestorm
yarn add @emage-me/firestorm
bun add @emage-me/firestorm
```

## Health

**Score 60/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; has provenance; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.15.3 |
| Published | 2026-03-23 |
| First published | 2021-11-26 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 111.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 2 |
| Author | Thibaud05 |
| Maintainers | thibaud_granier |
| Keywords | firebase, firestore, ORM |

## Links

- npm: https://www.npmjs.com/package/@emage-me/firestorm
- Repository: https://github.com/emage-me/firestorm
- Homepage: https://github.com/emage-me/firestorm#readme
- Issues: https://github.com/emage-me/firestorm/issues
- npm.io page: https://npm.io/package/@emage-me/firestorm

## Dependencies (3)

- [lodash.clonedeep](https://npm.io/package/lodash.clonedeep.md) ^4.5.0
- [reflect-metadata](https://npm.io/package/reflect-metadata.md) ^0.1.13
- [@firebase/firestore-types](https://npm.io/package/@firebase/firestore-types.md) ^2.5.1

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 0.15.3 (latest) — 2026-03-23
- 0.15.1 — 2025-02-07
- 0.15.0 — 2025-01-27
- 0.14.1 — 2024-03-15
- 0.14.0 — 2024-02-22
- 0.13.1 — 2024-02-21
- 0.13.0 — 2024-02-12
- 0.12.5 — 2024-02-08
- 0.11.0 — 2023-06-06
- 0.10.3 — 2023-02-24
- 0.10.2 — 2023-01-06
- 0.10.1 — 2022-12-22
- 0.10.0 — 2022-12-16
- 0.9.5 — 2022-12-09
- 0.9.4 — 2022-11-29
- … 26 more at https://npm.io/package/@emage-me/firestorm/versions

## README

# FireODM
The best way for build object oriented code backend with Firestore

FireODM is an Typescript ODM for Google Firestore database, it use the activeRecord patern
It was only working with firebase-admin for backend

- [Setup](./docs/setup.md)
- Data structure : [Collection](./docs/collection.md) | [SubCollection](./docs/subCollection.md) | [SubObject](./docs/subObject.md)

- Data manipulation : [CRUD](./CRUD.md) | [Fetch](./docs/fetch.md) | [Queries](./docs/query.md)
- [API references](./docs/api.md)

## Main features
- Use Objects
- Full Typescript
- In memory mockup for easy testing

## Example

### Find a document ID
```javascript
const user = await User.find('42')
```

### Create a new document
```javascript
const user = new User({ firstName: 'Jack'})
await user.save()
```

### Make a query
```javascript
await User.query()
  .where('lastName','==','jack')
  .orderBy('age','asc')
  .limit(2)
  .get()
```

### Define a collection
```javascript
class User extends Collection {
  static collectionName: string = 'user'
  @field('') firstName: string
  @field('') lastName: string
}
```

### Use in memory mockup
```javascript
// no firebase emulator needed
process.env.FIRESTORM_MOCKED = 'true'

// clear all in memory data
firestorm.data = {}
```

---
_Source: https://npm.io/package/@emage-me/firestorm · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
