npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

turbodepot-node

v8.0.0

Published

General purpose multi storage library (ORM, Logs, Users, Files, Objects)

Downloads

7,134

Readme

One library for all your application storage requirements

TurboDepot gives you total control over your application storage requirements: Anything you may need to store as part of your daily application development is managed in a super easy and centralized way. It is also designed to be cross-language: Several versions for Php, TypeScript, JS (Node) are implemented with exactly the same features, APIs, and classes. Super reusable and cross-language. Learn once, code forever!

Language support

  • Php (7 or more)
  • Javascript or Typescript (on NodeJs)
  • Mysql / MariaDb

We want to increase this list. So! if you want to translate the library to your language of choice, please contact us! We need your help to port this library to as many languages as possible, and more importantly, we need to code the SAME unit tests across all the implemented languages. This is the only way to guarantee that the library delivers exactly the same behavior everywhere.

Features

  • All the library configuration is centralized on a single JSON file (not mandatory)
  • Super easy ORM: Save, read, list, filter, and manipulate application DB objects without caring about writing SQL queries (plain SQL can still be executed when necessary)
  • Database tables and columns are created automatically when new properties are defined on the objects being saved.
  • All the stored database or file system elements are saved in a human-readable way, so you can still easily manipulate them outside of this library at any time
  • Write and read to log files and manage their lifetime and space usage
  • Save, read, list, and manage users, their permissions, tokens login, and security checks
  • Save and read application temporary files
  • Save and read from an easy to use file system cache
  • Operate with the OS terminal with classes that emulate its features
  • Operate with the application main console with classes that emulate its features
  • Easy but still powerful: Tested with massive amounts of stored objects. Heavily optimized under the hood for best performance
  • Multiple depot instances can be managed and configured on the same JSON setup file. Each one with its own isolated storage space
  • Multiple file and database systems are supported
  • Windows and Linux support

Documentation

A detailed code specification is available online. You can check it here

How to use it

  • Php (available as a .phar file)
require '.../turbocommons-php-X.X.X.phar';
require '.../turbodepot-php-X.X.X.phar';

use org\turbodepot\src\main\php\managers\FilesManager;

$filesManager = new FilesManager();
$filesManager->mirrorDirectory('path/to/source/directory', 'path/to/destination/directory');
  • Javascript (NodeJS)
npm install turbodepot-node

const { FilesManager } = require('turbodepot-node');

let filesManager = new FilesManager();
filesManager.mirrorDirectory('path/to/source/directory', 'path/to/destination/directory');

Dependencies

This library only requires the latest turbocommons library version

Support

TurboDepot is 100% free and open-source, but we will be really pleased to receive any help, support, comments, or donations to help us improve this library. If you like it, spread the word!

You can get more info at the official site: https://turboframework.org/en/libs/turbodepot

Donate

Donate