fix: build

This commit is contained in:
Marc G
2021-07-15 16:52:03 +00:00
parent f44a45ec04
commit 1f920e2d8d
11 changed files with 43 additions and 25 deletions

3
.gitignore vendored
View File

@@ -1,3 +1,4 @@
node_modules
.vscode
**/.DS_Store
**/.DS_Store
dist

25
package-lock.json generated
View File

@@ -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",

View File

@@ -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"
}
}

View File

@@ -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,

View File

@@ -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,

View File

@@ -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 () => {

View File

@@ -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[] = [];

View File

@@ -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"],
}