# bookman

> BookmanDB is a very easy to use and easily editable database module that allows you to create unlimited amount of unique database files!

Latest version **4.1.1** (published 2026-01-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install bookman
pnpm add bookman
yarn add bookman
bun add bookman
```

## Health

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

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

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 4.1.1 |
| Published | 2026-01-26 |
| First published | 2020-03-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 20.7 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 8 |
| Author | Barış DEMİRCİ |
| Maintainers | barbarbar338 |
| Keywords | db, database, file, sync, save, bookman, quick, json, fast |

## Links

- npm: https://www.npmjs.com/package/bookman
- Repository: https://github.com/barbarbar338/bookman
- Homepage: https://github.com/barbarbar338/bookman#readme
- Issues: https://github.com/barbarbar338/bookman/issues
- npm.io page: https://npm.io/package/bookman

## Dependencies (4)

- [lodash.get](https://npm.io/package/lodash.get.md) ^4.4.2
- [lodash.has](https://npm.io/package/lodash.has.md) ^4.5.2
- [lodash.set](https://npm.io/package/lodash.set.md) ^4.3.2
- [lodash.unset](https://npm.io/package/lodash.unset.md) ^4.5.2

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 4.1.1 (latest) — 2026-01-26
- 4.1.0 — 2026-01-25
- 4.0.0 — 2022-07-19
- 3.3.3 — 2022-07-10
- 3.3.2 — 2021-05-18
- 3.3.1 — 2021-05-17
- 3.3.0 — 2021-05-17
- 3.2.1 — 2021-04-18
- 3.2.0 — 2021-01-21
- 3.1.0 — 2020-12-24
- 3.0.2 — 2020-12-19
- 3.0.1 — 2020-12-19
- 3.0.0 — 2020-12-19
- 2.0.1 — 2020-05-18
- 2.0.0 — 2020-05-03
- … 5 more at https://npm.io/package/bookman/versions

## README

[![stars](https://img.shields.io/github/stars/barbarbar338/bookman?color=yellow&logo=github&style=for-the-badge)](https://github.com/barbarbar338/bookman)
[![license](https://img.shields.io/github/license/barbarbar338/bookman?logo=github&style=for-the-badge)](https://github.com/barbarbar338/bookman)
[![supportServer](https://img.shields.io/discord/711995199945179187?color=7289DA&label=Support&logo=discord&style=for-the-badge)](https://discord.gg/BjEJFwh)
[![forks](https://img.shields.io/github/forks/barbarbar338/bookman?color=green&logo=github&style=for-the-badge)](https://github.com/barbarbar338/bookman)
[![issues](https://img.shields.io/github/issues/barbarbar338/bookman?color=red&logo=github&style=for-the-badge)](https://github.com/barbarbar338/bookman)

<p align="center">
  <img src="https://raw.githubusercontent.com/barbarbar338/readme-template/main/icon.png" alt="Logo" width="160" height="160" />
  <h3 align="center">BookmanDB</h3>

  <p align="center">
    An Easy-To-Use JSON Database
    <br />
    <a href="https://discord.gg/BjEJFwh"><strong>Get support »</strong></a>
    <br />
    <br />
    <a href="https://github.com/barbarbar338/bookman/issues">Report Bug</a>
    ·
    <a href="https://github.com/barbarbar338/bookman/issues">Request Feature</a>
    ·
    <a href="https://338.rocks">Contact</a>
  </p>
</p>

# ✨ BookmanDB: An Easy-To-Use JSON Database

-   <b>BookmanDB</b> is a very easy to use and easily editable JSON database module that allows you to create unlimited amount of unique database files!
-   <b>BookmanDB</b> also saves your data in a json file so you can access and edit simple files at any time.

# 📦 Installation

-   Using yarn: `yarn add bookman`
-   Using npm: `npm i bookman`

# 🤓 Usage

```js
/* BookmanDB Files */
const { Database } = require("bookman");

const db = new Database(); // Leave empty for defaults or pass a BookmanOptions type object for customisation

/* Setting a value in the database */
db.set("just.a.long.data.name", "Bookman is cool!"); // => "Bookman is cool!"
db.set("just.a.long.array", []); // => []
db.set("just.a.long.number", 1); // => 1

/* Getting a value in the database */
db.get("just.a.long.data"); // => { name: "Bookman is cool!" }
db.fetch("just.a.long.number"); // => 1

/* Check if data created */
db.has("just.a.long"); // => true
db.has("just.a.long.name"); // => false

/* Add specified data */
db.add("just.a.long.number", 1); // => 2
db.add("just.a.long.number", 5); // => 7

/* Subtract specified data */
db.subtract("just.a.long.number", 1); // => 6
db.subtract("just.a.long.number", 3); // => 3

/* Push specified data */
db.push("just.a.long.array", 2); // => [2]
db.push("just.a.long.array", null); // => [2, null, 3, "str1", {}]
db.push("just.a.long.array", 3); // => [2, null, 3]
db.push("just.a.long.array", "str1"); // => [2, null, 3, "str1"]
db.push("just.a.long.array", {}); // => [2, null, 3, "str1", {}]

/* Pop specified data */
db.pop("just.a.long.array"); // => [2, null, 3, "str1"]

/* Shift specified data */
db.shift("just.a.long.array"); // => [null, 3, "str1"]

/* Unshift specified data */
db.unshift("just.a.long.array", 5); // => [5, null, 3, "str1"]

/* Mapping data */
db.map(); // =>  { just: { a: { long: [Object] } } }

/* Deleting a value in the database */
db.delete("just.a.long"); // => { just: { a: { long: [Object] } } } has been deleted

/* Destroying database */
db.destroy(); // true
```

# 📄 License

Copyright © 2021 [Barış DEMİRCİ](https://github.com/barbarbar338).

Distributed under the [MIT](https://mit-license.org/) License. See `LICENSE` for more information.

# 🧦 Contributing

Feel free to use GitHub's features.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/my-feature`)
3. Run prettier and eslint (`npm run format && npm run lint`)
4. Commit your Changes (`git commit -m 'my awesome feature my-feature'`)
5. Push to the Branch (`git push origin feature/my-feature`)
6. Open a Pull Request

# 🔥 Show your support

Give a ⭐️ if this project helped you!

# 📞 Contact

-   Website: https://338.rocks
-   Mail: hi@338.rocks
-   Discord: https://discord.gg/BjEJFwh
-   Instagram: https://www.instagram.com/barisdemircix

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