UNPKG

redlock-universal

Version:

Production-ready distributed Redis locks for Node.js with support for both node-redis and ioredis clients

134 lines (133 loc) 3.8 kB
{ "name": "redlock-universal", "version": "0.5.1", "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" ], "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 } }, "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", "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.25.0", "typescript": "^5.2.0", "vitest": "^3.2.4" } }