Files
stacks-blockchain-api/package.json
Rafael Cárdenas 3ff41779f8 feat: refactor pg classes, switch to postgres.js (#1148)
* refactor: split postgres-store into several files

* refactor: inherit all from PgStore

* refactor: start using PgStore everywhere

* refactor: fix test imports

* refactor: restore notifier into PgStore

* refactor: rename to PgWriteStore

* fix: tests and lint

* fix: unused exports

* refactor: pg-store converted

* refactor: pg-write-store

* refactor: use legacy pg for event requests, notifier and migrations

* refactor: update tests

* refactor: tx insert mode

* refactor: first test passing

* refactor: transformed some inserts

* refactor: transform all inserts

* refactor: fix token-tests

* refactor: some more tests fixed

* fix: more tests

* fix: nasty mempool query

* fix: microblock hash test

* fix: events weird test

* fix: api tests all passing

* fix: mb tests

* fix: bns code

* fix: datastore connection tests

* fix: rosetta, bns, token tests

* fix: faucet write db

* fix: write store to api server for faucet

* style: cleanup

* fix: faucet launch

* fix: upgrade postgres

* fix: test launch

* fix: remove type transform

* refactor: go back to buffer fields

* fix: insert numeric as string so values can fit

* refactor: move all types to common.ts

* style: comments

* fix: rosetta cli tests

* fix: undo launch custom

* refactor: bytea type, api tests pass

* fix: pg uri test

* chore: define PgNumeric type

* style: sql object references

* style: clean up tx events query

* style: add explicit PgJsonb type

* feat: dont parse into buffer from pg

* fix: datastore tests

* fix: rosetta tests

* fix: bns tests

* fix: microblock tests

* chore: add nvmrc set to v16.15.0

* chore: update package-lock.json

* chore: restore vscode config

* chore: shorten poll connection name to avoid hitting pg limits

* fix: remove returning statements when not required, use count instead

* fix: nvmrc back to v16

* fix: pool max env config

* refactor: move `PgNotifier` to use postgres lib (#1168)

* refactor: use postgres instead of pg-listen

* chore: remove pg-listen dependency

* fix: update to latest postgres lib

* fix: pool max env config

* fix: re-throw connection errors
2022-05-13 11:28:45 -05:00

204 lines
8.6 KiB
JSON

{
"name": "@hirosystems/stacks-blockchain-api",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"dev": "cross-env NODE_ENV=development STACKS_CHAIN_ID=0x80000000 ts-node-transpile-only src/index.ts",
"dev:watch": "cross-env NODE_ENV=development 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 --coverage --runInBand",
"test:rosetta-cli:construction": "cross-env NODE_ENV=development STACKS_CHAIN_ID=0x80000000 jest --config ./jest.config.rosetta-cli-construction.js --coverage --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",
"generate:git-info": "node ./git-info-generator.mjs",
"build": "npm run generate:git-info && rimraf ./lib && tsc -p tsconfig.build.json",
"build:tests": "tsc -p tsconfig.json",
"build:docs": "npm i --prefix docs && npm run build --prefix docs && npm i --prefix client && npm run generate:docs --prefix client",
"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 unix",
"lint:prettier": "prettier --check src/**/*.{ts,json}",
"lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx -f unix --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 <engineering@hiro.so> (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": ">=16"
},
"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"
]
},
"commitlint": {
"extends": [
"@commitlint/config-conventional"
]
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"dependencies": {
"@apidevtools/json-schema-ref-parser": "9.0.9",
"@promster/express": "6.0.0",
"@promster/server": "6.0.6",
"@promster/types": "3.2.2",
"@stacks/network": "1.2.2",
"@stacks/stacking": "v2.0.1",
"@stacks/transactions": "2.0.1",
"@types/express-list-endpoints": "4.0.1",
"@types/lru-cache": "5.1.1",
"@types/ws": "7.4.7",
"ajv": "6.12.6",
"bignumber.js": "9.0.2",
"bitcoinjs-lib": "5.2.0",
"bluebird": "3.7.2",
"bn.js": "4.12.0",
"c32check": "1.1.3",
"chokidar": "3.5.2",
"coinselect": "3.1.12",
"cors": "2.8.5",
"cross-env": "7.0.3",
"dotenv": "8.6.0",
"dotenv-flow": "3.2.0",
"escape-goat": "3.0.0",
"evt": "1.10.1",
"express": "4.17.2",
"express-list-endpoints": "5.0.0",
"express-winston": "4.2.0",
"getopts": "2.3.0",
"http-proxy-middleware": "2.0.1",
"jsonc-parser": "3.0.0",
"jsonrpc-lite": "2.2.0",
"lru-cache": "6.0.0",
"micro-base58": "0.5.1",
"node-fetch": "2.6.6",
"node-pg-migrate": "6.2.1",
"p-queue": "6.6.2",
"path-to-regexp": "6.2.0",
"pg": "8.7.1",
"pg-copy-streams": "5.1.1",
"pg-cursor": "2.7.1",
"postgres": "github:porsager/postgres#master",
"prom-client": "14.0.1",
"rpc-bitcoin": "2.0.0",
"socket.io": "4.4.0",
"source-map-support": "0.5.21",
"split2": "3.2.2",
"stacks-encoding-native-js": "0.1.0-alpha.9",
"strict-event-emitter-types": "2.0.0",
"ts-unused-exports": "7.0.3",
"typescript": "4.6.2",
"uuid": "8.3.2",
"winston": "3.3.3",
"ws": "7.5.6",
"zone-file": "2.0.0-beta.3"
},
"devDependencies": {
"@actions/core": "1.6.0",
"@actions/exec": "1.1.0",
"@actions/github": "2.2.0",
"@actions/io": "1.1.1",
"@commitlint/cli": "9.1.2",
"@commitlint/config-conventional": "10.0.0",
"@stacks/eslint-config": "1.2.0",
"@stacks/prettier-config": "0.0.10",
"@types/ajv": "1.0.0",
"@types/bluebird": "3.5.36",
"@types/bn.js": "4.11.6",
"@types/cors": "2.8.12",
"@types/dotenv-flow": "3.2.0",
"@types/express": "4.17.13",
"@types/is-ci": "3.0.0",
"@types/jest": "27.4.1",
"@types/node": "16.11.17",
"@types/node-fetch": "2.5.12",
"@types/pg": "7.14.11",
"@types/pg-copy-streams": "1.2.1",
"@types/source-map-support": "0.5.4",
"@types/split2": "2.1.6",
"@types/supertest": "2.0.11",
"@types/uuid": "7.0.5",
"@typescript-eslint/eslint-plugin": "5.15.0",
"@typescript-eslint/parser": "5.15.0",
"concurrently": "6.5.1",
"docker-compose": "0.23.14",
"eslint": "8.11.0",
"eslint-config-prettier": "8.5.0",
"eslint-plugin-prettier": "4.0.0",
"eslint-plugin-tsdoc": "0.2.14",
"husky": "4.3.8",
"is-ci": "3.0.1",
"jest": "27.5.1",
"nock": "13.2.1",
"nodemon": "2.0.15",
"pg-connection-string": "2.5.0",
"prettier": "2.2.1",
"rimraf": "3.0.2",
"rpc-websocket-client": "1.1.4",
"socket.io-client": "4.4.0",
"supertest": "4.0.2",
"ts-jest": "27.1.3",
"ts-node": "10.7.0",
"why-is-node-running": "2.2.0"
},
"optionalDependencies": {
"bufferutil": "4.0.5",
"utf-8-validate": "5.0.7"
}
}