Registry / database / pixl-server-storage

pixl-server-storage

JSON →
library4.1.0jsnpmunverified

A key/value/list storage component for the pixl-server framework, providing multiple back-end engines including local filesystem, Amazon S3, Redis, SQLite, and hybrid. Version 4.1.0 is current, with regular updates. It introduces chunked linked lists for fast list operations, hash tables with key iteration, transaction system for atomic commits/rollbacks, advisory locking, and full-text search indexing. Designed for simplicity and low memory usage, it stands out by supporting multiple storage back-ends with consistent API and built-in maintenance features like auto-expiration and compaction.

npm install pixl-server-storage
INSTALL
IMPORT
SIG · PIXL-SERVER-STORAG
P
pixl-server-storage
databasejavascriptv4.1.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

StorageComponent
import { StorageComponent } from 'pixl-server-storage'
const StorageComponent = require('pixl-server-storage')
ESM module; CommonJS require is not supported.
pixl-server-storage
import pixlServerStorage from 'pixl-server-storage'
import * as pixlServerStorage from 'pixl-server-storage'
Default export is the StorageComponent class.
StorageComponent type
import { StorageComponent } from 'pixl-server-storage'
For TypeScript, use named import for type.

Initializes the storage component with filesystem engine, stores and fetches a JSON record asynchronously.

import { StorageComponent } from 'pixl-server-storage'; const storage = new StorageComponent({ engine: 'filesystem', engine_path: '/tmp/storage', debug: true }, (err) => { if (err) throw err; console.log('Storage initialized'); }); // Store a record storage.put('user:123', { name: 'Alice', email: 'alice@example.com' }, (err) => { if (err) throw err; console.log('Record stored'); }); // Fetch a record storage.get('user:123', (err, data) => { if (err) throw err; console.log('Fetched:', data); });
Debug
Known issues
breakingVersion 4.x drops support for Node.js < 12. Ensure you are on Node.js 12 or later.
fix
Upgrade Node.js to 12+ or stay on pixl-server-storage@3.x.
affects: >=4.0.0
deprecatedThe 'lower_case_keys' configuration option is deprecated and will be removed in version 5.0.
fix
Manually normalize keys before passing to API.
affects: >=4.0.0
gotchaDefault engine is 'filesystem', which requires an absolute path for 'engine_path'. Relative paths may cause data loss.
fix
Always provide an absolute path for 'engine_path' when using filesystem engine.
affects: >=1.0.0
breakingRedis engine used to support 'redis' package v2, but version 4.x requires 'redis' v4 or above.
fix
Update 'redis' dependency to ^4.0.0 and adjust connection options accordingly.
affects: >=4.0.0
gotchaWhen using Amazon S3 engine, the 'aws-sdk' v3 is not supported; only v2 is compatible.
fix
Install 'aws-sdk' v2 (e.g., 'npm install aws-sdk@2') and configure region/credentials.
affects: >=1.0.0
Errors
Common errors & fixes
Error: ENOENT: no such file or directory, open '/path/to/file'
The filesystem engine cannot find or create the specified path. Path must be writable and exist (or engine_path directory must exist).
fix
Ensure 'engine_path' directory exists and is writable. Use an absolute path.
TypeError: storage.put is not a function
Used CommonJS require or incorrect import. The module is ESM-only.
fix
Use ESM import syntax: import { StorageComponent } from 'pixl-server-storage'.
Error: Invalid engine type: 'mysql'
Unsupported engine type provided in configuration. Engines: 'filesystem', 's3', 'redis', 'sqlite', 'hybrid'.
fix
Set 'engine' to one of the valid options or implement a custom engine plugin.
Error: Redis connection error: connect ECONNREFUSED 127.0.0.1:6379
Redis server is not running or not accessible at the configured host/port.
fix
Start Redis server or configure 'engine_opts' with correct host/port.
Upgrade
Version history
4.1.0latest on npm
Audit
Dependencies
pixl-serverrequiredRequired as core framework for integration within pixl-server standalone mode.
pixl-perfrequiredUsed for performance metrics and logging.
aws-sdkoptionalRequired for Amazon S3 engine support.
redisoptionalRequired for Redis and RedisCluster engine support.
sql.jsoptionalRequired for SQLite engine support.
Agent activity
13 hits · last 30 days
node
12
Resources
pixl-server-storage — npm install pixl-server-storage · libregistry