redlock-universal
Version:
Production-ready distributed Redis locks for Node.js with support for both node-redis and ioredis clients
146 lines (145 loc) • 4.04 kB
JSON
{
"name": "redlock-universal",
"version": "0.7.6",
"description": "Production-ready distributed Redis locks for Node.js with support for both node-redis and ioredis clients",
"keywords": [
"redis",
"redlock",
"distributed",
"lock",
"mutex",
"semaphore",
"concurrency",
"microservices",
"node-redis",
"ioredis",
"typescript",
"production",
"clustering",
"synchronization",
"distributed-lock",
"redis-lock",
"async-lock",
"concurrency-control",
"rate-limiting",
"job-queue",
"multi-instance"
],
"author": "Alex Potapenko <alex.potapenko.dev@gmail.com>",
"license": "MIT",
"homepage": "https://github.com/alexpota/redlock-universal#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/alexpota/redlock-universal.git"
},
"bugs": {
"url": "https://github.com/alexpota/redlock-universal/issues"
},
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
},
"files": [
"dist",
"README.md",
"CHANGELOG.md",
"LICENSE",
"SECURITY.md"
],
"engines": {
"node": ">=22.0.0"
},
"scripts": {
"build": "tsup",
"dev": "tsup --watch",
"test": "vitest --run tests/unit",
"test:all": "vitest",
"test:watch": "vitest tests/unit",
"test:coverage": "vitest --run --coverage",
"test:integration": "vitest --run tests/integration tests/e2e",
"test:redis": "vitest --run tests/integration/locks/RedLock.basic.integration.test.ts",
"test:redis:all": "vitest --run tests/integration/locks/RedLock.*.integration.test.ts",
"test:docker": "bash scripts/test-docker.sh",
"benchmark": "vitest --run tests/benchmarks/",
"benchmark:performance": "vitest --run tests/benchmarks/locks.performance.benchmark.test.ts",
"benchmark:competitive": "vitest --run tests/benchmarks/locks.competitive.benchmark.test.ts",
"lint": "eslint src tests --ext .ts",
"lint:fix": "eslint src tests --ext .ts --fix",
"type-check": "tsc --noEmit",
"format": "prettier --write src/**/*.ts tests/**/*.ts",
"format:check": "prettier --check src/**/*.ts tests/**/*.ts",
"clean": "rm -rf dist",
"docs": "typedoc src/index.ts",
"prepare": "husky",
"prepublishOnly": "npm run clean && npm run build && npm test && npm run lint",
"commit": "cz",
"release": "semantic-release"
},
"config": {
"commitizen": {
"path": "cz-conventional-changelog"
}
},
"lint-staged": {
"src/**/*.ts": [
"eslint --fix",
"prettier --write"
],
"tests/**/*.ts": [
"eslint --fix",
"prettier --write"
]
},
"peerDependencies": {
"ioredis": ">=5.0.0",
"redis": ">=4.0.0"
},
"peerDependenciesMeta": {
"redis": {
"optional": true
},
"ioredis": {
"optional": true
}
},
"overrides": {
"tmp": "^0.2.4",
"glob": "^10.5.0"
},
"devDependencies": {
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@semantic-release/changelog": "^6.0.3",
"@types/node": "^20.19.6",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"@vitest/coverage-v8": "^3.2.4",
"audit-ci": "^7.1.0",
"commitizen": "^4.3.1",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^8.50.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-deprecation": "^3.0.0",
"eslint-plugin-prettier": "^5.5.1",
"eslint-plugin-sonarjs": "^3.0.4",
"husky": "^9.1.7",
"ioredis": "^5.3.0",
"lint-staged": "^16.1.2",
"prettier": "^3.0.0",
"redis": "^4.7.0",
"redis-semaphore": "^5.6.2",
"redlock": "^5.0.0-beta.2",
"semantic-release": "^24.2.7",
"tsup": "^8.0.0",
"typedoc": "^0.28.13",
"typescript": "^5.2.0",
"vitest": "^3.2.4"
}
}