@jsonjoy.com/reactive-rpc
Version:
Reactive-RPC is a library for building reactive APIs over WebSocket, HTTP, and other RPCs.
129 lines (128 loc) • 4.24 kB
JSON
{
"name": "@jsonjoy.com/reactive-rpc",
"private": false,
"publishConfig": {
"access": "public"
},
"version": "2.5.0",
"description": "Reactive-RPC is a library for building reactive APIs over WebSocket, HTTP, and other RPCs.",
"author": {
"name": "streamich",
"url": "https://github.com/streamich"
},
"homepage": "https://github.com/jsonjoy-com/reactive-rpc",
"repository": "jsonjoy-com/reactive-rpc",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/streamich"
},
"keywords": [
"reactive",
"rpc",
"reactive-rpc",
"typed",
"fast",
"json",
"cbor",
"json",
"MessagePack"
],
"engines": {
"node": ">=10.0"
},
"main": "lib/index.js",
"types": "lib/index.d.ts",
"typings": "lib/index.d.ts",
"files": [
"LICENSE",
"lib/"
],
"license": "Apache-2.0",
"scripts": {
"format": "biome format ./src",
"format:fix": "biome format --write ./src",
"lint": "biome lint ./src",
"lint:fix": "biome lint --apply ./src",
"clean": "rimraf lib typedocs coverage gh-pages yarn-error.log db dist",
"build": "tsc --project tsconfig.build.json --module commonjs --target es2020 --outDir lib",
"jest": "node -r ts-node/register ./node_modules/.bin/jest",
"test": "jest --maxWorkers 7",
"test:ci": "yarn jest --maxWorkers 3 --no-cache",
"test:e2e": "node -r ts-node/register/transpile-only src/__tests__/e2e/run.ts",
"test:e2e:jest:sample-api": "TEST_E2E=1 jest --maxWorkers 1 --no-cache src/__tests__/e2e/sample-api/",
"test:e2e:jest:json-crdt-server": "TEST_E2E=1 jest --maxWorkers 1 --no-cache src/__tests__/e2e/json-crdt-server/",
"demo:e2e:sample-api:http1": "ts-node src/__demos__/sample-api/main-http1.ts",
"demo:e2e:sample-api:uws": "ts-node src/__demos__/sample-api/main-uws.ts",
"demo:e2e:json-crdt-server:http1": "ts-node src/__demos__/json-crdt-server/main-http1.ts",
"demo:e2e:json-crdt-server:uws": "ts-node src/__demos__/json-crdt-server/main-uws.ts",
"demo:ui:json": "webpack serve --config ./src/__demos__/ui-json/webpack.config.js",
"demo:ui:text": "webpack serve --config ./src/__demos__/ui-text/webpack.config.js",
"start:json-crdt-server:http1": "NODE_ENV=production PORT=80 JSON_CRDT_STORE=level pm2 start lib/__demos__/json-crdt-server/main-http1.js",
"start": "ts-node src/__demos__/json-crdt-server/main-http1",
"coverage": "yarn test --collectCoverage",
"typedoc": "typedoc",
"build:pages": "rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage",
"deploy:pages": "gh-pages -d gh-pages",
"publish-coverage-and-typedocs": "yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages"
},
"peerDependencies": {
"rxjs": "7",
"tslib": "2"
},
"peerDependenciesMeta": {
"rxjs": {
"optional": true
}
},
"dependencies": {
"@jsonjoy.com/jit-router": "^1.0.1",
"@jsonjoy.com/json-pack": "^1.2.0",
"@jsonjoy.com/util": "^1.6.0",
"abstract-level": "^2.0.0",
"classic-level": "^1.4.1",
"fs-zoo": "^1.1.0",
"memory-level": "^1.0.0",
"rpc-error": "^1.1.0",
"rx-use": "^1.8.2",
"sonic-forest": "^1.2.0",
"thingies": "^2.5.0"
},
"devDependencies": {
"@biomejs/biome": "^1.9.3",
"@types/benchmark": "^2.1.5",
"@types/jest": "^29.5.12",
"@types/react": "^18.3.8",
"@types/react-dom": "^18.3.0",
"@types/ws": "^8.5.10",
"benchmark": "^2.1.4",
"jest": "^29.7.0",
"json-joy": "^17.0.0",
"rimraf": "^5.0.5",
"rxjs": "^7.8.1",
"ts-jest": "^29.1.2",
"ts-loader": "^9.5.1",
"ts-node": "^10.9.2",
"tslib": "^2.6.2",
"typedoc": "^0.25.13",
"typescript": "^5.4.5",
"uWebSockets.js": "uNetworking/uWebSockets.js#v20.44.0",
"webpack": "^5.94.0",
"websocket": "^1.0.34",
"ws": "^8.16.0"
},
"jest": {
"verbose": true,
"testEnvironmentOptions": {
"url": "http://localhost/"
},
"moduleFileExtensions": [
"ts",
"js"
],
"transform": {
"^.+\\.ts$": "ts-jest"
},
"transformIgnorePatterns": [],
"testRegex": ".*/(__tests__|__jest__|demo)/.*\\.(test|spec)\\.ts$"
}
}