mirror of
https://github.com/lingble/safe-redis-leader.git
synced 2025-10-28 11:12:36 +00:00
fix: build
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
node_modules
|
||||
.vscode
|
||||
**/.DS_Store
|
||||
**/.DS_Store
|
||||
dist
|
||||
25
package-lock.json
generated
25
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "ts-safe-redis-leader",
|
||||
"version": "0.0.1",
|
||||
"version": "0.0.3",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ts-safe-redis-leader",
|
||||
"version": "0.0.1",
|
||||
"version": "0.0.3",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ioredis": "^4.27.6"
|
||||
@@ -27,7 +27,8 @@
|
||||
"jest": "^27.0.6",
|
||||
"lodash": "^4.17.21",
|
||||
"ts-jest": "^27.0.3",
|
||||
"typescript": "^4.3.5"
|
||||
"typescript": "^4.3.5",
|
||||
"uglify-js": "^3.13.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
@@ -6090,6 +6091,18 @@
|
||||
"node": ">=4.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/uglify-js": {
|
||||
"version": "3.13.10",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz",
|
||||
"integrity": "sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"uglifyjs": "bin/uglifyjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/unbox-primitive": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
|
||||
@@ -10985,6 +10998,12 @@
|
||||
"integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==",
|
||||
"dev": true
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "3.13.10",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz",
|
||||
"integrity": "sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==",
|
||||
"dev": true
|
||||
},
|
||||
"unbox-primitive": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
|
||||
|
||||
@@ -2,12 +2,13 @@
|
||||
"name": "ts-safe-redis-leader",
|
||||
"version": "0.0.3",
|
||||
"description": "Redis leader election implementation that does not have any race conditions in Typescript",
|
||||
"main": "src/index.js",
|
||||
"main": "dist/safeRedisLeader.js",
|
||||
"scripts": {
|
||||
"eslint": "eslint '{src,apps,libs,test}/**/*.ts' --fix",
|
||||
"test:debug": "node --inspect=0.0.0.0:9229 node_modules/.bin/jest --config ./test/jest-e2e.json --runInBand",
|
||||
"test": "node_modules/.bin/jest --config ./test/jest-e2e.json",
|
||||
"prepublish": "npm run eslint && npm run test"
|
||||
"prepublishOnly": "npm run eslint && npm run test && npm run build",
|
||||
"build": "tsc"
|
||||
},
|
||||
"author": "Marc Gagnon",
|
||||
"license": "MIT",
|
||||
@@ -44,6 +45,7 @@
|
||||
"jest": "^27.0.6",
|
||||
"lodash": "^4.17.21",
|
||||
"ts-jest": "^27.0.3",
|
||||
"typescript": "^4.3.5"
|
||||
"typescript": "^4.3.5",
|
||||
"uglify-js": "^3.13.10"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ export async function atomicGetIsEqualDelete(
|
||||
id: string,
|
||||
): Promise<boolean> {
|
||||
if (!asyncRedis.getIsEqualDelete) {
|
||||
const file = await readFile(`${__dirname}/index.lua`, "utf8");
|
||||
const file = await readFile(`${__dirname}/../luas/atomicGetIsEqualDelete.lua`, "utf8");
|
||||
|
||||
asyncRedis.defineCommand("getIsEqualDelete", {
|
||||
numberOfKeys: 1,
|
||||
@@ -15,7 +15,7 @@ export async function atomicGetIsEqualSetPExpire(
|
||||
ms: number,
|
||||
): Promise<boolean> {
|
||||
if (!asyncRedis.getIsEqualSetPExpire) {
|
||||
const file = await readFile(`${__dirname}/index.lua`, "utf8");
|
||||
const file = await readFile(`${__dirname}/../luas/atomicGetIsEqualSetPExpire.lua`, "utf8");
|
||||
|
||||
asyncRedis.defineCommand("getIsEqualSetPExpire", {
|
||||
numberOfKeys: 1,
|
||||
@@ -1,6 +1,6 @@
|
||||
/* eslint-disable no-async-promise-executor */
|
||||
import { EmitterEnum, SafeRedisLeader } from "../src";
|
||||
import { EmitterEnum, SafeRedisLeader } from "../src/safeRedisLeader";
|
||||
|
||||
/* eslint-disable no-async-promise-executor */
|
||||
export async function waitForElection(safeLeader: SafeRedisLeader): Promise<boolean> {
|
||||
return new Promise<boolean>(async (resolve) => {
|
||||
safeLeader.on(EmitterEnum.ELECTED, async () => {
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import * as Redis from "ioredis";
|
||||
import Redis from "ioredis";
|
||||
|
||||
import { SafeRedisLeader } from "../src";
|
||||
import { SafeRedisLeader } from "../src/safeRedisLeader";
|
||||
import { getLeaderIndex, sleep, waitForElection } from "./helper";
|
||||
|
||||
/* eslint-disable no-await-in-loop */
|
||||
jest.setTimeout(1000 * 15);
|
||||
|
||||
describe("SafeRedisLeader", () => {
|
||||
let redisClients: Redis.Redis[] = [];
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"declaration": true,
|
||||
"removeComments": true,
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"target": "es2017",
|
||||
"sourceMap": true,
|
||||
"target": "es5",
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"outDir": "./dist",
|
||||
"baseUrl": "./",
|
||||
"incremental": true,
|
||||
"skipLibCheck": true
|
||||
}
|
||||
"lib": ["ES6", "DOM"],
|
||||
"typeRoots": ["node_modules/@types"],
|
||||
"esModuleInterop": true
|
||||
},
|
||||
"exclude": ["./node_modules", "./dist", "./test"],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user