{ "name": "@hirosystems/stacks-blockchain-api", "version": "1.0.0", "main": "index.js", "scripts": { "dev": "cross-env NODE_ENV=development STACKS_BLOCKCHAIN_API_DB=pg STACKS_CHAIN_ID=0x80000000 ts-node-transpile-only src/index.ts", "dev:watch": "cross-env NODE_ENV=development STACKS_BLOCKCHAIN_API_DB=pg nodemon -e ts -x 'ts-node-transpile-only src/index.ts'", "dev:integrated": "npm run devenv:build && concurrently npm:dev npm:devenv:deploy", "dev:follower": "npm run devenv:build && concurrently npm:dev npm:devenv:follower", "test": "cross-env NODE_ENV=development jest --config ./jest.config.js --coverage --runInBand", "test:rosetta": "cross-env NODE_ENV=development jest --config ./jest.config.rosetta.js --coverage --runInBand", "test:rosetta-cli:data": "cross-env NODE_ENV=development STACKS_CHAIN_ID=0x80000000 jest --config ./jest.config.rosetta-cli-data.js --runInBand", "test:rosetta-cli:construction": "cross-env NODE_ENV=development STACKS_CHAIN_ID=0x80000000 jest --config ./jest.config.rosetta-cli-construction.js --runInBand", "test:bns": "cross-env NODE_ENV=development jest --config ./jest.config.bns.js --coverage --runInBand", "test:microblocks": "cross-env NODE_ENV=development jest --config ./jest.config.microblocks.js --coverage --runInBand", "test:tokens": "cross-env NODE_ENV=development jest --config ./jest.config.tokens.js --coverage --runInBand", "test:watch": "cross-env NODE_ENV=development jest --config ./jest.config.js --watch", "test:integration": "npm run devenv:deploy -- -d && cross-env NODE_ENV=development jest --config ./jest.config.js --coverage --no-cache --runInBand; npm run devenv:stop", "test:integration:rosetta": "npm run devenv:deploy -- -d && cross-env NODE_ENV=development jest --config ./jest.config.rosetta.js --coverage --no-cache --runInBand; npm run devenv:stop", "test:integration:bns": "npm run devenv:deploy -- -d && cross-env NODE_ENV=development jest --config ./jest.config.bns.js --coverage --no-cache --runInBand; npm run devenv:stop", "test:integration:microblocks": "npm run devenv:deploy:pg -- -d && cross-env NODE_ENV=development jest --config ./jest.config.microblocks.js --coverage --no-cache --runInBand; npm run devenv:stop:pg", "test:integration:tokens": "npm run devenv:deploy -- -d && cross-env NODE_ENV=development jest --config ./jest.config.tokens.js --coverage --no-cache --runInBand; npm run devenv:stop", "git-info": "echo \"$(git rev-parse --abbrev-ref HEAD)\n$(git log -1 --pretty=format:%h)\n$(git describe --tags --abbrev=0)\" > ./.git-info", "build": "npm run git-info && rimraf ./lib && tsc -p tsconfig.build.json", "build:tests": "tsc -p tsconfig.json", "build:docs": "npm i --prefix client && npm run generate:docs --prefix client && npm i --prefix docs && npm run generate:resolved-spec --prefix docs && npm run generate:docs --prefix docs", "start": "node ./lib/index.js", "lint": "npm run lint:eslint && npm run lint:prettier", "lint:unused-exports": "ts-unused-exports tsconfig.json --ignoreFiles=src/migrations/*", "lint:eslint": "eslint . --ext .js,.jsx,.ts,.tsx -f codeframe", "lint:prettier": "prettier --check src/**/*.{ts,json}", "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx -f codeframe --fix && prettier --write --check src/**/*.{ts,json}", "migrate": "node-pg-migrate -m src/migrations", "devenv:build": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml -f docker/docker-compose.dev.rosetta-cli.yml build --no-cache", "devenv:deploy": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml up", "devenv:deploy:pg": "docker-compose -f docker/docker-compose.dev.postgres.yml up", "devenv:follower": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain-follower.yml up", "devenv:stop": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml down -v -t 0", "devenv:stop:pg": "docker-compose -f docker/docker-compose.dev.postgres.yml kill", "devenv:logs": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml logs -t -f" }, "repository": { "type": "git", "url": "git+https://github.com/hirosystems/stacks-blockchain-api.git" }, "author": "Hiro Systems PBC (https://hiro.so)", "license": "GPL-3.0", "bugs": { "url": "https://github.com/hirosystems/stacks-blockchain-api/issues" }, "homepage": "https://github.com/hirosystems/stacks-blockchain-api#readme", "prettier": "@stacks/prettier-config", "engines": { "node": ">=14" }, "engineStrict": true, "release": { "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", [ "@semantic-release/exec", { "execCwd": "client", "prepareCmd": "npm install" } ], [ "@semantic-release/npm", { "pkgRoot": "./docs" } ], [ "@semantic-release/npm", { "pkgRoot": "./client" } ], "@semantic-release/github", "@semantic-release/changelog", "@semantic-release/git", [ "semantic-release-slack-bot", { "notifyOnSuccess": true, "notifyOnFail": true, "markdownReleaseNotes": true } ] ] }, "commitlint": { "extends": [ "@commitlint/config-conventional" ] }, "husky": { "hooks": { "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" } }, "dependencies": { "@apidevtools/json-schema-ref-parser": "^9.0.7", "@awaitjs/express": "^0.7.2", "@promster/express": "^4.1.12", "@promster/server": "^4.2.13", "@promster/types": "^1.0.6", "@stacks/network": "^1.0.0-beta.12", "@stacks/stacking": "^v2.0.1", "@stacks/transactions": "^v2.0.1", "@types/dockerode": "^2.5.34", "@types/express-list-endpoints": "^4.0.1", "@types/lru-cache": "^5.1.1", "@types/ws": "^7.2.5", "big-integer": "^1.6.48", "bignumber.js": "^9.0.1", "bitcoinjs-lib": "^5.2.0", "bluebird": "^3.7.2", "bn.js": "^4.11.8", "c32check": "^1.1.3", "chokidar": "^3.5.1", "coinselect": "^3.1.12", "compression": "^1.7.4", "cors": "^2.8.5", "cross-env": "^7.0.2", "dockerode": "^3.3.1", "dotenv": "^8.2.0", "dotenv-flow": "^3.2.0", "escape-goat": "^3.0.0", "evt": "^1.10.1", "express": "^4.17.1", "express-list-endpoints": "^5.0.0", "express-winston": "^4.1.0", "getopts": "^2.3.0", "http-proxy-middleware": "^2.0.1", "jsonc-parser": "^3.0.0", "jsonrpc-lite": "^2.1.0", "lru-cache": "^6.0.0", "micro-base58": "^0.5.0", "nock": "^13.1.1", "node-fetch": "^2.6.0", "node-pg-migrate": "^5.9.0", "p-queue": "^6.3.0", "path-to-regexp": "^6.2.0", "pg": "^8.2.1", "pg-copy-streams": "^5.1.1", "pg-cursor": "^2.6.0", "pg-listen": "^1.7.0", "prom-client": "^12.0.0", "rpc-bitcoin": "^2.0.0", "smart-buffer": "^4.1.0", "socket.io": "^4.0.1", "source-map-support": "^0.5.19", "split2": "^3.2.2", "strict-event-emitter-types": "^2.0.0", "ts-unused-exports": "^7.0.3", "typescript": "^4.4.2", "uuid": "^8.0.0", "winston": "^3.2.1", "ws": "^7.4.6", "zone-file": "^2.0.0-beta.3" }, "devDependencies": { "@actions/core": "^1.2.4", "@actions/exec": "^1.0.4", "@actions/github": "^2.2.0", "@actions/io": "^1.0.2", "@commitlint/cli": "^9.1.2", "@commitlint/config-conventional": "^10.0.0", "@stacks/eslint-config": "^1.0.7", "@stacks/prettier-config": "0.0.7", "@types/ajv": "^1.0.0", "@types/bluebird": "^3.5.30", "@types/bn.js": "^4.11.6", "@types/compression": "^1.7.0", "@types/cors": "^2.8.6", "@types/dotenv-flow": "^3.1.0", "@types/express": "^4.17.12", "@types/jest": "^25.1.4", "@types/node": "^14.14.21", "@types/node-fetch": "^2.5.6", "@types/pg": "^7.14.3", "@types/pg-copy-streams": "^1.2.1", "@types/source-map-support": "^0.5.3", "@types/split2": "^2.1.6", "@types/supertest": "^2.0.9", "@types/uuid": "^7.0.3", "@typescript-eslint/eslint-plugin": "^4.22.0", "@typescript-eslint/parser": "^4.31.0", "compare-versions": "^3.6.0", "concurrently": "^5.2.0", "docker-compose": "^0.23.5", "eslint": "^7.25.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-tsdoc": "^0.2.14", "gulp": "^4.0.2", "husky": "^4.2.5", "jest": "^26.6.3", "nodemon": "^2.0.3", "npm-api": "^1.0.0", "pg-connection-string": "^2.5.0", "prettier": "2.2.1", "redoc-cli": "^0.9.12", "rimraf": "^3.0.2", "rpc-websocket-client": "^1.1.4", "socket.io-client": "^4.0.1", "supertest": "^4.0.2", "ts-jest": "^26.5.5", "ts-node": "^9.1.1", "typedoc": "^0.20.30" }, "optionalDependencies": { "bufferutil": "^4.0.3", "utf-8-validate": "^5.0.4" } }