Skip to content

studiowebux/petitedb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Petite DB

JSR

The minimalistic NoSQL in-memory/on-disk database

Report Bug · Request Feature


About

  • Manage data in memory
  • Store and load data securely to/from a JSON file
  • Core operations:
    • Create, update, upsert, delete records
    • Read, Read all and find specific records
    • Snapshot and Clear data
    • Retrieve the raw data using GetData
    • Option to automatically add a _id per record
    • Option to manually save the data to disk
  • Ideal for test and offline applications

Installation and Usage

  1. Install deno: https://deno.com
  2. deno add @studiowebux/petitedb

Example:

import { PetiteDB } from "@studiowebux/petitedb";

const db = new PetiteDB("database.json");

// Collection name: Category
// Record id: shoes
db.create("category", "shoes", { name: "Shoe" });
db.upsert("category", "shoes", { name: "shoes" });
db.update("category", "shoes", { name: "Shoes" });
db.read("category", "shoes");
db.find("category", { name: "Shoes" });
db.delete("category", "shoes");
const db1 = new PetiteDB("autoid.json", true);

db1.upsert("movies", "movie1", { title: "test 1" });
db1.upsert("movies", "movie2", { title: "test 2" });
db1.upsert("movies", "movie3", { title: "test 3" });
console.log(db1.readAll("movies"));

Releases and Github Actions

git tag -a X.Y.Z -m "Version X.Y.Z"
git push origin tags/X.Y.Z

Contributing

  1. Fork the project
  2. Create a Feature Branch
  3. Commit your changes
  4. Push your changes
  5. Create a PR
Working with your local branch

Branch Checkout:

git checkout -b <feature|fix|release|chore|hotfix>/prefix-name

Your branch name must starts with [feature|fix|release|chore|hotfix] and use a / before the name; Use hyphens as separator; The prefix correspond to your Kanban tool id (e.g. abc-123)

Keep your branch synced:

git fetch origin
git rebase origin/master

Commit your changes:

git add .
git commit -m "<feat|ci|test|docs|build|chore|style|refactor|perf|BREAKING CHANGE>: commit message"

Follow this convention commitlint for your commit message structure

Push your changes:

git push origin <feature|fix|release|chore|hotfix>/prefix-name

Examples:

git checkout -b release/v1.15.5
git checkout -b feature/abc-123-something-awesome
git checkout -b hotfix/abc-432-something-bad-to-fix
git commit -m "docs: added awesome documentation"
git commit -m "feat: added new feature"
git commit -m "test: added tests"

License

Distributed under the MIT License. See LICENSE for more information.

Contact

| Buy Me A Coffee | Webux Logo Webux Lab |