Skip to content

finwo/autolevel

Repository files navigation

autolevel

Automatically use the right abstract-leveldown module for your configuration

Installation

npm install --save autolevel

For a full installation, supporting all types included in the code, run the following:

npm install --save autolevel levelup leveldown mongodown memdown sqldown mssql mysql mysql2 sqlite3 pg pg-query-stream

Why

I was tired of looking for which combination of modules to install every time I started a new project for myself or work using leveldb. This is simply a documented wrapper for common abstract-leveldown adapters, passing options to the used abstract-leveldown module and returning a levelup instance.

Below you'll find which extra dependencies you'd need to connect to certain backends.

Examples

// Load autolevel
const autolevel = require('autolevel');

// Some variables we'll show
var db;

// Autodetect backend using environment variables
db = autolevel();

// Load database from folder, relative to the app root
db = autolevel('dir:data/');

// Load database from folder, absolute path
db = autolevel('dir://data/');

// Use mongodb storage
db = autolevel('mongodb://localhost:27017/database');

// Use authenticated mysql backend
db = autolevel('mysql://username:password@host:3306/database');

Adapters

type schemes/protocols driver Dependencies
plain dir, level, leveldb leveldown levelup, leveldown
mongodb mongo, mongodb mongodown levelup, mongodown
in-memory ram, mem, memory memdown levelup, memdown
mssql mssql sqldown levelup, sqldown, mssql
mysql mysql sqldown levelup, sqldown, mysql
mysql2 mysql2 sqldown levelup, sqldown, mysql2
sqlite3 sqlite, sqlite3 sqldown levelup, sqldown, sqlite3
postgres pg, postgres, postgresql sqldown levelup, sqldown, pg, pg-query-stream

TODO

  • multilevel + auth + manifest support

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published