Registry / security / abacl-redis

abacl-redis

JSON →
library2.0.5jsnpmunverified

A Redis storage driver for ABACL (Attribute-Based Access Control) library, enabling policy persistence in Redis. Current stable version is 2.0.5. Requires Node.js >=20.x.x and peer dependencies abacl >=8.x.x and ioredis >=5.x.x. Supports Redis connection via ioredis instance or RedisOptions. Key differentiator: lightweight driver specifically for ABACL, allowing lazy initialization. Release cadence is occasional; primarily maintenance.

npm install abacl-redis
INSTALL
IMPORT
SIG · ABACL-REDIS
A
abacl-redis
securityjavascriptv2.0.5
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

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

RedisDriver
import { RedisDriver } from 'abacl-redis'
const RedisDriver = require('abacl-redis')
ESM-only package; CommonJS require not supported. TypeScript types included.
default import
import { RedisDriver } from 'abacl-redis'
import RedisDriver from 'abacl-redis'
No default export; use named import only.
RedisDriver class
import { RedisDriver } from 'abacl-redis'
import { RedisDriver as driver } from 'abacl-redis'
Main export is a class. The static build() method creates an instance.

Demonstrates importing RedisDriver and using it with ABACL's AccessControl via the build() static method.

import { RedisDriver } from 'abacl-redis'; import { AccessControl } from 'abacl'; const ac = new AccessControl([], { driver: RedisDriver.build({ host: 'localhost', port: 6379 }) }); // Alternatively, lazy initialization: // const ac = new AccessControl([], { driver: () => RedisDriver.build({ host: 'localhost', port: 6379 }) }); console.log('AccessControl configured with Redis driver');
Debug
Known issues
gotchaThe build() factory returns an instance, not a class. Calling new RedisDriver() may fail.
fix
Use RedisDriver.build(options) to create a driver instance.
affects: >=1.0.0
deprecatedPassing raw ioredis instance directly is deprecated; use RedisDriver.build() with RedisOptions instead.
fix
const driver = RedisDriver.build({ host: 'localhost', port: 6379 });
affects: >=2.0.0
breakingRequires Node.js >=20.x.x. Older Node versions will throw an error.
fix
Upgrade Node.js to version 20 or higher.
affects: >=2.0.0
gotchaThe driver expects peer dependency abacl >=8.x.x. Using older abacl versions will cause runtime errors.
fix
Ensure abacl >=8.0.0 is installed.
affects: >=2.0.0
gotchaRedis options passed to build() must be compatible with ioredis. Invalid options may cause connection failures.
fix
Refer to ioredis documentation for valid options.
affects: >=1.0.0
Errors
Common errors & fixes
ERR_REQUIRE_ESM: require() of ES Module not supported.
Using CommonJS require() to import ESM-only package.
fix
Use import statement in an ES module context or dynamic import().
TypeError: RedisDriver is not a constructor
Trying to instantiate RedisDriver with 'new' keyword.
fix
Use RedisDriver.build(options) instead.
Cannot find module 'ioredis'
Missing peer dependency ioredis.
fix
Install ioredis: npm install ioredis
Cannot find module 'abacl'
Missing peer dependency abacl.
fix
Install abacl: npm install abacl
Upgrade
Version history
2.0.5latest on npm
Audit
Dependencies
abaclrequiredPeer dependency required for integration
ioredisrequiredPeer dependency for Redis client
Agent activity
64 hits · last 30 days
node
56
Perplexity
1
OpenAI (training)
1
Resources
abacl-redis — npm install abacl-redis · libregistry