{ "name": "mempool-frontend", "version": "3.4-dev", "description": "Bitcoin mempool visualizer and blockchain explorer backend", "license": "GNU Affero General Public License v3.0", "homepage": "https://mempool.space", "repository": { "type": "git", "url": "git+https://github.com/mempool/mempool" }, "bugs": { "url": "https://github.com/mempool/mempool/issues" }, "keywords": [ "bitcoin", "mempool", "blockchain", "explorer", "liquid" ], "main": "index.ts", "scripts": { "ng": "./node_modules/@angular/cli/bin/ng.js", "tsc": "./node_modules/typescript/bin/tsc", "i18n-extract-from-source": "npm run ng -- extract-i18n --out-file ./src/locale/messages.xlf", "i18n-pull-from-transifex": "tx pull -a --minimum-perc 1 --force", "serve": "npm run generate-themes && npm run generate-config && npm run ng -- serve -c local", "serve:local-prod": "npm run generate-themes && npm run generate-config && npm run ng -- serve -c local-prod", "serve:parameterized": "npm run generate-themes && npm run generate-config && npm run ng -- serve -c parameterized", "start": "npm run generate-themes && npm run generate-config && npm run sync-assets-dev && npm run ng -- serve -c local", "start:parameterized": "npm run generate-themes && npm run generate-config && npm run sync-assets-dev && npm run ng -- serve -c parameterized", "start:local-esplora": "npm run generate-themes && npm run generate-config && npm run sync-assets-dev && npm run ng -- serve -c local-esplora", "start:local-prod": "npm run generate-themes && npm run generate-config && npm run sync-assets-dev && npm run ng -- serve -c local-prod", "start:mixed": "npm run generate-themes && npm run generate-config && npm run sync-assets-dev && npm run ng -- serve -c mixed", "build": "npm run generate-themes && npm run generate-config && npm run ng -- build --configuration production --localize && npm run sync-assets-dev && npm run sync-assets", "generate-themes": "node generate-themes.js", "copy-themes": "node generate-themes.js copy", "sync-assets": "npm run copy-themes && rsync -av ./src/resources ./dist/mempool/browser && node sync-assets.js 'dist/mempool/browser/resources/'", "sync-assets-dev": "node sync-assets.js 'src/resources/'", "generate-config": "node generate-config.js", "test": "npm run ng -- test", "lint": "./node_modules/.bin/eslint . --ext .ts", "lint:fix": "./node_modules/.bin/eslint . --ext .ts --fix", "prettier": "prettier --write \"src/app/**/*.{js,json,css,scss,less,md,ts,html,component.html}\"", "e2e": "npm run generate-config && npm run ng -- e2e", "e2e:ci": "npm run cypress:run:ci", "dev:ssr": "npm run generate-config && ng run mempool:serve-ssr", "serve:ssr": "npm run generate-config && node server.run.js", "build:ssr": "npm run build && ng run mempool:server:production && ./node_modules/typescript/bin/tsc server.run.ts", "config:defaults:mempool": "node update-config.js TESTNET_ENABLED=true TESTNET4_ENABLED=true SIGNET_ENABLED=true LIQUID_ENABLED=true LIQUID_TESTNET_ENABLED=true ITEMS_PER_PAGE=25 BASE_MODULE=mempool BLOCK_WEIGHT_UNITS=4000000 && npm run generate-config", "config:defaults:liquid": "node update-config.js TESTNET_ENABLED=true TESTNET4_ENABLED=true SIGNET_ENABLED=true LIQUID_ENABLED=true LIQUID_TESTNET_ENABLED=true ITEMS_PER_PAGE=25 BASE_MODULE=liquid BLOCK_WEIGHT_UNITS=300000 && npm run generate-config", "prerender": "npm run ng -- run mempool:prerender", "cypress:open": "cypress open", "cypress:run": "cypress run", "cypress:run:record": "cypress run --record", "cypress:open:ci": "node update-config.js TESTNET_ENABLED=true TESTNET4_ENABLED=true SIGNET_ENABLED=true LIQUID_ENABLED=true ITEMS_PER_PAGE=25 && npm run generate-config && start-server-and-test serve:local-prod 4200 cypress:open", "cypress:run:ci": "node update-config.js TESTNET_ENABLED=true TESTNET4_ENABLED=true SIGNET_ENABLED=true LIQUID_ENABLED=true ITEMS_PER_PAGE=25 && npm run generate-config && start-server-and-test serve:local-prod 4200 cypress:run:record", "cypress:open:ci:parameterized": "node update-config.js TESTNET_ENABLED=true TESTNET4_ENABLED=true SIGNET_ENABLED=true LIQUID_ENABLED=true ITEMS_PER_PAGE=25 && npm run generate-config && start-server-and-test serve:parameterized 4200 cypress:open", "cypress:run:ci:parameterized": "node update-config.js TESTNET_ENABLED=true TESTNET4_ENABLED=true SIGNET_ENABLED=true LIQUID_ENABLED=true ITEMS_PER_PAGE=25 && npm run generate-config && start-server-and-test serve:parameterized 4200 cypress:run:record" }, "dependencies": { "@angular-devkit/build-angular": "^20.3.25", "@angular/animations": "^20.3.25", "@angular/cli": "^20.3.25", "@angular/common": "^20.3.25", "@angular/compiler": "^20.3.25", "@angular/core": "^20.3.25", "@angular/forms": "^20.3.25", "@angular/localize": "^20.3.25", "@angular/platform-browser": "^20.3.25", "@angular/platform-browser-dynamic": "^20.3.25", "@angular/platform-server": "^20.3.25", "@angular/router": "^20.3.25", "@angular/ssr": "^20.3.25", "@fortawesome/angular-fontawesome": "^3.0.0", "@fortawesome/fontawesome-common-types": "~6.7.2", "@fortawesome/fontawesome-svg-core": "~6.7.2", "@fortawesome/free-solid-svg-icons": "~6.7.2", "@ng-bootstrap/ng-bootstrap": "^19.0.0", "@types/qrcode": "~1.5.0", "@noble/secp256k1": "^3.1.0", "bootstrap": "~5.3.8", "clipboard": "^2.0.11", "domino": "^2.1.6", "echarts": "~6.1.0", "ngx-echarts": "~20.0.2", "ngx-infinite-scroll": "^20.0.0", "qrcode": "1.5.1", "rxjs": "~7.8.1", "tslib": "~2.8.0", "zone.js": "~0.15.1" }, "devDependencies": { "@angular/compiler-cli": "^20.3.25", "@angular/language-service": "^20.3.25", "@types/node": "^24.9.2", "@typescript-eslint/eslint-plugin": "^8.46.2", "@typescript-eslint/parser": "^8.46.2", "eslint": "^9.39.0", "browser-sync": "^3.0.3", "http-proxy-middleware": "~2.0.6", "prettier": "^3.0.0", "source-map-support": "^0.5.21", "ts-node": "~10.9.1", "typescript": "~5.8.3" }, "optionalDependencies": { "@cypress/schematic": "^2.5.0", "cypress": "^15.16.0", "cypress-fail-on-console-error": "~5.1.1", "cypress-wait-until": "^3.0.1", "mock-socket": "~9.3.1", "start-server-and-test": "~2.1.2" }, "overrides": { "tar": "^7.5.5" }, "scarfSettings": { "enabled": false } }