{ "name": "nostream", "version": "2.1.0", "description": "A Nostr relay written in Typescript.", "supportedNips": [ 1, 2, 4, 9, 11, 12, 15, 16, 20, 22, 28, 33, 40 ], "supportedNipExtensions": [ "11a" ], "main": "src/index.ts", "scripts": { "dev": "node -r ts-node/register src/index.ts", "clean": "rimraf ./{dist,.nyc_output,.test-reports,.coverage}", "build": "tsc --project tsconfig.build.json", "prestart": "npm run build", "start": "cd dist && node src/index.js", "build:check": "npm run build -- --noEmit", "lint": "eslint --ext .ts ./src ./test", "lint:report": "eslint -o .lint-reports/eslint.json -f json --ext .ts ./src ./test", "lint:fix": "npm run lint -- --fix", "db:migrate": "knex migrate:latest", "db:migrate:rollback": "knex migrate:rollback", "db:seed": "knex seed:run", "pretest:unit": "mkdir -p .test-reports/unit", "test:unit": "mocha 'test/**/*.spec.ts'", "test:unit:watch": "npm run test:unit -- --min --watch --watch-files src/**/*,test/**/*", "cover:unit": "nyc --report-dir .coverage/unit npm run test:unit", "docker:build": "docker build -t nostream .", "pretest:integration": "mkdir -p .test-reports/integration", "test:integration": "cucumber-js", "cover:integration": "nyc --report-dir .coverage/integration npm run test:integration -- -p cover", "docker:compose:start": "./scripts/start", "docker:compose:stop": "./scripts/stop", "docker:compose:clean": "./scripts/clean", "tor:docker:compose:start": "./scripts/start_with_tor", "tor:hostname": "./scripts/print_tor_hostname", "tor:docker:compose:stop": "./scripts/stop", "docker:integration:run": "docker compose -f ./test/integration/docker-compose.yml run --rm tests", "docker:test:integration": "npm run docker:integration:run -- npm run test:integration", "docker:cover:integration": "npm run docker:integration:run -- npm run cover:integration", "postdocker:integration:run": "docker compose -f ./test/integration/docker-compose.yml down", "prepare": "husky install || exit 0" }, "repository": { "type": "git", "url": "git+https://github.com/cameri/nostream.git" }, "keywords": [ "nostr", "relay", "typescript" ], "author": "Ricardo Arturo Cabral Mejía (npub1qqqqqqyz0la2jjl752yv8h7wgs3v098mh9nztd4nr6gynaef6uqqt0n47m)", "license": "MIT", "bugs": { "url": "https://github.com/cameri/nostream/issues" }, "homepage": "https://github.com/cameri/nostream#readme", "devDependencies": { "@commitlint/cli": "17.2.0", "@commitlint/config-conventional": "17.2.0", "@cucumber/cucumber": "10.2.1", "@cucumber/pretty-formatter": "1.0.0", "@semantic-release/commit-analyzer": "9.0.2", "@semantic-release/git": "10.0.1", "@semantic-release/github": "8.0.6", "@semantic-release/npm": "9.0.1", "@semantic-release/release-notes-generator": "10.0.3", "@types/chai": "^4.3.1", "@types/chai-as-promised": "^7.1.5", "@types/debug": "4.1.7", "@types/express": "4.17.15", "@types/js-yaml": "4.0.5", "@types/mocha": "^9.1.1", "@types/node": "18.11.18", "@types/pg": "^8.6.5", "@types/ramda": "^0.28.13", "@types/sinon": "^10.0.11", "@types/sinon-chai": "^3.2.8", "@types/ws": "^8.5.12", "@typescript-eslint/eslint-plugin": "^5.19.0", "@typescript-eslint/parser": "^5.19.0", "chai": "^4.3.6", "chai-as-promised": "^7.1.1", "conventional-changelog-conventionalcommits": "5.0.0", "cz-conventional-changelog": "3.3.0", "eslint": "^8.13.0", "husky": "8.0.2", "mocha": "^9.2.2", "mochawesome": "^7.1.3", "nyc": "^15.1.0", "rimraf": "^3.0.2", "semantic-release": "19.0.5", "semantic-release-telegram": "1.6.0", "sinon": "15.0.1", "sinon-chai": "^3.7.0", "source-map-support": "^0.5.21", "ts-node": "10.9.1", "ts-node-dev": "^1.1.8", "typescript": "4.6.4", "uuid": "^8.3.2" }, "dependencies": { "@noble/secp256k1": "1.7.1", "axios": "^1.7.7", "bech32": "2.0.0", "body-parser": "1.20.1", "debug": "4.3.4", "dinero.js": "2.0.0-alpha.13", "dotenv": "16.0.3", "express": "4.18.2", "helmet": "6.0.1", "joi": "17.7.0", "js-yaml": "4.1.0", "knex": "2.4.2", "pg": "8.9.0", "pg-query-stream": "4.3.0", "ramda": "0.28.0", "redis": "4.5.1", "rxjs": "7.8.0", "tor-control-ts": "^1.0.0", "ws": "^8.18.0" }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } } }