{
  "name": "performance-helpers",
  "version": "2.3.0",
  "description": "Performance toolbox",
  "keywords": [
    "node",
    "javascript",
    "performance",
    "workers",
    "cache",
    "buffer",
    "logger",
    "pool",
    "batch",
    "eventbus",
    "microtask",
    "macrotask",
    "scheduler",
    "utilities",
    "helpers",
    "parallel",
    "concurrency",
    "throttle",
    "debounce",
    "memoize",
    "lru",
    "ttl"
  ],
  "homepage": "https://abelvm.github.io/performance-helpers/",
  "bugs": {
    "url": "https://github.com/AbelVM/performance-helpers/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/AbelVM/performance-helpers.git"
  },
  "license": "MIT",
  "author": "Abel V\u00e1zquez Montoro",
  "type": "module",
  "main": "dist/performance-helpers.cjs",
  "module": "src/index.js",
  "types": "types/index.d.ts",
  "files": [
    "dist",
    "src",
    "types",
    "guides",
    "examples",
    "assets",
    "README.md",
    "LICENSE.md",
    "package.json"
  ],
  "sideEffects": false,
  "exports": {
    ".": {
      "types": "./types/index.d.ts",
      "import": "./src/index.js",
      "require": "./dist/performance-helpers.cjs",
      "default": "./src/index.js"
    },
    "./powerAdaptiveProposal": {
      "types": "./types/helpers/powerAdaptiveProposal.d.ts",
      "import": "./src/helpers/powerAdaptiveProposal.js",
      "default": "./src/helpers/powerAdaptiveProposal.js"
    },
    "./powerBackpressure": {
      "types": "./types/helpers/powerBackpressure.d.ts",
      "import": "./src/helpers/powerBackpressure.js",
      "default": "./src/helpers/powerBackpressure.js"
    },
    "./powerTaskGroup": {
      "types": "./types/helpers/powerTaskGroup.d.ts",
      "import": "./src/helpers/powerTaskGroup.js",
      "default": "./src/helpers/powerTaskGroup.js"
    },
    "./powerBroadcastBus": {
      "types": "./types/helpers/powerBroadcastBus.d.ts",
      "import": "./src/helpers/powerBroadcastBus.js",
      "default": "./src/helpers/powerBroadcastBus.js"
    },
    "./powerApdex": {
      "types": "./types/helpers/powerApdex.d.ts",
      "import": "./src/helpers/powerApdex.js",
      "default": "./src/helpers/powerApdex.js"
    },
    "./powerBatch": {
      "types": "./types/helpers/powerBatch.d.ts",
      "import": "./src/helpers/powerBatch.js",
      "default": "./src/helpers/powerBatch.js"
    },
    "./powerBrownout": {
      "types": "./types/helpers/powerBrownout.d.ts",
      "import": "./src/helpers/powerBrownout.js",
      "default": "./src/helpers/powerBrownout.js"
    },
    "./powerBuffer": {
      "types": "./types/helpers/powerBuffer.d.ts",
      "import": "./src/helpers/powerBuffer.js",
      "default": "./src/helpers/powerBuffer.js"
    },
    "./powerBulkhead": {
      "types": "./types/helpers/powerBulkhead.d.ts",
      "import": "./src/helpers/powerBulkhead.js",
      "default": "./src/helpers/powerBulkhead.js"
    },
    "./powerCache": {
      "types": "./types/helpers/powerCache.d.ts",
      "import": "./src/helpers/powerCache.js",
      "default": "./src/helpers/powerCache.js"
    },
    "./powerChunking": {
      "types": "./types/helpers/powerChunking.d.ts",
      "import": "./src/helpers/powerChunking.js",
      "default": "./src/helpers/powerChunking.js"
    },
    "./powerCircuit": {
      "types": "./types/helpers/powerCircuit.d.ts",
      "import": "./src/helpers/powerCircuit.js",
      "default": "./src/helpers/powerCircuit.js"
    },
    "./powerCron": {
      "types": "./types/helpers/powerCron.d.ts",
      "import": "./src/helpers/powerCron.js",
      "default": "./src/helpers/powerCron.js"
    },
    "./powerDeadline": {
      "types": "./types/helpers/powerDeadline.d.ts",
      "import": "./src/helpers/powerDeadline.js",
      "default": "./src/helpers/powerDeadline.js"
    },
    "./powerDefer": {
      "types": "./types/helpers/powerDefer.d.ts",
      "import": "./src/helpers/powerDefer.js",
      "default": "./src/helpers/powerDefer.js"
    },
    "./powerEventBus": {
      "types": "./types/helpers/powerEventBus.d.ts",
      "import": "./src/helpers/powerEventBus.js",
      "default": "./src/helpers/powerEventBus.js"
    },
    "./powerEventLoopMonitor": {
      "types": "./types/helpers/powerEventLoopMonitor.d.ts",
      "import": "./src/helpers/powerEventLoopMonitor.js",
      "default": "./src/helpers/powerEventLoopMonitor.js"
    },
    "./powerGCRA": {
      "types": "./types/helpers/powerGCRA.d.ts",
      "import": "./src/helpers/powerGCRA.js",
      "default": "./src/helpers/powerGCRA.js"
    },
    "./powerMessageCodec": {
      "types": "./types/helpers/powerMessageCodec.d.ts",
      "import": "./src/helpers/powerMessageCodec.js",
      "default": "./src/helpers/powerMessageCodec.js"
    },
    "./powerMessagePort": {
      "types": "./types/helpers/powerMessagePort.d.ts",
      "import": "./src/helpers/powerMessagePort.js",
      "default": "./src/helpers/powerMessagePort.js"
    },
    "./powerRealtimeHub": {
      "types": "./types/helpers/powerRealtimeHub.d.ts",
      "import": "./src/helpers/powerRealtimeHub.js",
      "default": "./src/helpers/powerRealtimeHub.js"
    },
    "./powerWebSocketClient": {
      "types": "./types/helpers/powerWebSocketClient.d.ts",
      "import": "./src/helpers/powerWebSocketClient.js",
      "default": "./src/helpers/powerWebSocketClient.js"
    },
    "./powerWebTransportClient": {
      "types": "./types/helpers/powerWebTransportClient.d.ts",
      "import": "./src/helpers/powerWebTransportClient.js",
      "default": "./src/helpers/powerWebTransportClient.js"
    },
    "./powerSocketAdapter": {
      "types": "./types/helpers/powerSocketAdapter.d.ts",
      "import": "./src/helpers/powerSocketAdapter.js",
      "default": "./src/helpers/powerSocketAdapter.js"
    },
    "./powerRTCChannel": {
      "types": "./types/helpers/powerRTCChannel.d.ts",
      "import": "./src/helpers/powerRTCChannel.js",
      "default": "./src/helpers/powerRTCChannel.js"
    },
    "./powerSseAdapter": {
      "types": "./types/helpers/powerSseAdapter.d.ts",
      "import": "./src/helpers/powerSseAdapter.js",
      "default": "./src/helpers/powerSseAdapter.js"
    },
    "./powerDatagramChannel": {
      "types": "./types/helpers/powerDatagramChannel.d.ts",
      "import": "./src/helpers/powerDatagramChannel.js",
      "default": "./src/helpers/powerDatagramChannel.js"
    },
    "./powerHistogram": {
      "types": "./types/helpers/powerHistogram.d.ts",
      "import": "./src/helpers/powerHistogram.js",
      "default": "./src/helpers/powerHistogram.js"
    },
    "./powerLatch": {
      "types": "./types/helpers/powerLatch.d.ts",
      "import": "./src/helpers/powerLatch.js",
      "default": "./src/helpers/powerLatch.js"
    },
    "./powerLogger": {
      "types": "./types/helpers/powerLogger.d.ts",
      "import": "./src/helpers/powerLogger.js",
      "default": "./src/helpers/powerLogger.js"
    },
    "./powerObserver": {
      "types": "./types/helpers/powerObserver.d.ts",
      "import": "./src/helpers/powerObserver.js",
      "default": "./src/helpers/powerObserver.js"
    },
    "./powerOperationContext": {
      "types": "./types/helpers/powerOperationContext.d.ts",
      "import": "./src/helpers/powerOperationContext.js",
      "default": "./src/helpers/powerOperationContext.js"
    },
    "./powerPermitGate": {
      "types": "./types/helpers/powerPermitGate.d.ts",
      "import": "./src/helpers/powerPermitGate.js",
      "default": "./src/helpers/powerPermitGate.js"
    },
    "./powerPool": {
      "types": "./types/helpers/powerPool.d.ts",
      "import": "./src/helpers/powerPool.js",
      "default": "./src/helpers/powerPool.js"
    },
    "./powerQueue": {
      "types": "./types/helpers/powerQueue.d.ts",
      "import": "./src/helpers/powerQueue.js",
      "default": "./src/helpers/powerQueue.js"
    },
    "./powerRateLimit": {
      "types": "./types/helpers/powerRateLimit.d.ts",
      "import": "./src/helpers/powerRateLimit.js",
      "default": "./src/helpers/powerRateLimit.js"
    },
    "./powerRetry": {
      "types": "./types/helpers/powerRetry.d.ts",
      "import": "./src/helpers/powerRetry.js",
      "default": "./src/helpers/powerRetry.js"
    },
    "./powerScheduler": {
      "types": "./types/helpers/powerScheduler.d.ts",
      "import": "./src/helpers/powerScheduler.js",
      "default": "./src/helpers/powerScheduler.js"
    },
    "./powerSemaphore": {
      "types": "./types/helpers/powerSemaphore.d.ts",
      "import": "./src/helpers/powerSemaphore.js",
      "default": "./src/helpers/powerSemaphore.js"
    },
    "./powerCrossLock": {
      "types": "./types/helpers/powerCrossLock.d.ts",
      "import": "./src/helpers/powerCrossLock.js",
      "default": "./src/helpers/powerCrossLock.js"
    },
    "./powerServo": {
      "types": "./types/helpers/powerServo.d.ts",
      "import": "./src/helpers/powerServo.js",
      "default": "./src/helpers/powerServo.js"
    },
    "./powerSlidingWindow": {
      "types": "./types/helpers/powerSlidingWindow.d.ts",
      "import": "./src/helpers/powerSlidingWindow.js",
      "default": "./src/helpers/powerSlidingWindow.js"
    },
    "./powerSubscriberSet": {
      "types": "./types/helpers/powerSubscriberSet.d.ts",
      "import": "./src/helpers/powerSubscriberSet.js",
      "default": "./src/helpers/powerSubscriberSet.js"
    },
    "./powerThrottle": {
      "types": "./types/helpers/powerThrottle.d.ts",
      "import": "./src/helpers/powerThrottle.js",
      "default": "./src/helpers/powerThrottle.js"
    },
    "./WorkerAgnostic": {
      "types": "./types/helpers/WorkerAgnostic.d.ts",
      "import": "./src/helpers/WorkerAgnostic.js",
      "default": "./src/helpers/WorkerAgnostic.js"
    },
    "./powerTTLMap": {
      "types": "./types/helpers/powerTTLMap.d.ts",
      "import": "./src/helpers/powerTTLMap.js",
      "default": "./src/helpers/powerTTLMap.js"
    },
    "./powerWebTransportAdapter": {
      "types": "./types/helpers/powerWebTransportAdapter.d.ts",
      "import": "./src/helpers/powerWebTransportAdapter.js",
      "default": "./src/helpers/powerWebTransportAdapter.js"
    },
    "./metrics": {
      "types": "./types/helpers/metrics.d.ts",
      "import": "./src/helpers/metrics.js",
      "default": "./src/helpers/metrics.js"
    },
    "./now": {
      "types": "./types/utils/now.d.ts",
      "import": "./src/utils/now.js",
      "default": "./src/utils/now.js"
    },
    "./errors": {
      "types": "./types/utils/errors.d.ts",
      "import": "./src/utils/errors.js",
      "default": "./src/utils/errors.js"
    },
    "./package.json": "./package.json",
    "./powerPriorityQueue": {
      "types": "./types/helpers/powerPriorityQueue.d.ts",
      "import": "./src/helpers/powerPriorityQueue.js",
      "default": "./src/helpers/powerPriorityQueue.js"
    },
    "./powerDeduplication": {
      "types": "./types/helpers/powerDeduplication.d.ts",
      "import": "./src/helpers/powerDeduplication.js",
      "default": "./src/helpers/powerDeduplication.js"
    },
    "./powerHeartbeat": {
      "types": "./types/helpers/powerHeartbeat.d.ts",
      "import": "./src/helpers/powerHeartbeat.js",
      "default": "./src/helpers/powerHeartbeat.js"
    },
    "./powerSequencer": {
      "types": "./types/helpers/powerSequencer.d.ts",
      "import": "./src/helpers/powerSequencer.js",
      "default": "./src/helpers/powerSequencer.js"
    },
    "./powerFlowControl": {
      "types": "./types/helpers/powerFlowControl.d.ts",
      "import": "./src/helpers/powerFlowControl.js",
      "default": "./src/helpers/powerFlowControl.js"
    },
    "./powerFlowController": {
      "types": "./types/helpers/powerFlowController.d.ts",
      "import": "./src/helpers/powerFlowController.js",
      "default": "./src/helpers/powerFlowController.js"
    }
  },
  "scripts": {
    "build": "vite build",
    "test": "vitest run",
    "lock:sync": "npm ci --dry-run --ignore-scripts",
    "lint": "eslint \"src/**/*.{js,cjs,mjs}\" \"test/**/*.js\" \"bench/**/*.js\" \"scripts/**/*.{js,cjs,mjs}\" \"examples/**/*.mjs\"",
    "lint:fix": "eslint --fix \"src/**/*.{js,cjs,mjs}\" \"test/**/*.js\" \"bench/**/*.js\" \"scripts/**/*.{js,cjs,mjs}\"",
    "format": "prettier --write \"src/**/*.{js,cjs,mjs}\" \"test/**/*.js\" \"bench/**/*.js\" \"scripts/**/*.{js,cjs,mjs}\" \"*.md\"",
    "prepare": "husky",
    "test:coverage": "vitest run --coverage --reporter=verbose",
    "typecheck": "tsc --noEmit --project tsconfig.check.json",
    "audit:exports": "node scripts/static-audit-exports.cjs",
    "docs": "typedoc",
    "bench": "node --expose-gc bench/run.js",
    "bench:pool": "node --expose-gc bench/run.js pool",
    "bench:cache": "node --expose-gc bench/run.js cache",
    "bench:baseline": "node --expose-gc bench/baseline.js record",
    "bench:gate": "node --expose-gc bench/baseline.js check",
    "bench:baseline:show": "node bench/baseline.js show",
    "example": "node scripts/run-example.mjs",
    "types:generate": "tsc --project tsconfig.json --emitDeclarationOnly --declaration --allowJs --outDir types --declarationMap false && node scripts/strip-internal-types.mjs",
    "build:full": "npm run lint:fix && npm run format && npm run types:generate && npm run bench && npm run build && npm run test && npm run docs",
    "types:drift": "git diff --quiet -- types || { echo 'types/ differs from the index \u2014 run `npm run types:generate`:'; git status --porcelain -- types; exit 1; }; U=$(git ls-files --others --exclude-standard -- types); if [ -n \"$U\" ]; then echo 'types/ has declarations that are not tracked \u2014 run `npm run types:generate` and add them:'; echo \"$U\"; exit 1; fi",
    "docs:drift": "npm run docs || { echo 'docs: `npm run docs` failed \u2014 see the typedoc error above:'; exit 1; }; git diff --quiet -- docs || { echo 'docs/ differs from the index \u2014 run `npm run docs`:'; git status --porcelain -- docs; exit 1; }; U=$(git ls-files --others --exclude-standard -- docs); if [ -n \"$U\" ]; then echo \"docs/ has pages that are not tracked \u2014 run `npm run docs` and add them:\"; echo \"$U\"; exit 1; fi",
    "check:bundle": "node scripts/check-bundle-exports.mjs",
    "check:barrel": "node scripts/check-barrel.mjs",
    "check:bench-list": "node scripts/check-bench-list.mjs",
    "check:node-floor": "node scripts/check-node-floor.mjs",
    "docs:claims": "node scripts/docs-claims.mjs",
    "mutants:servo": "node scripts/mutant-check.mjs",
    "typecheck:ratchet": "node scripts/typecheck-ratchet.cjs",
    "review:check": "node scripts/review-row.mjs --check",
    "verify": "node scripts/verify.mjs",
    "prepublishOnly": "npm run verify",
    "changeset": "changeset",
    "changeset:status": "changeset status",
    "release:version": "changeset version && npm run types:generate && git add -A",
    "release:publish": "changeset publish",
    "test:types": "tsc --noEmit --project tsconfig.types.json"
  },
  "engines": {
    "node": ">=22.12.0"
  },
  "devDependencies": {
    "@changesets/cli": "3.0.3",
    "@eslint/js": "^10.0.1",
    "@types/node": "^24.19.1",
    "@vitest/coverage-v8": "^5.0.3",
    "@vitest/web-worker": "^5.0.3",
    "eslint": "^10.12.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.6",
    "fast-check": "^4.10.2",
    "globals": "^17.13.0",
    "husky": "9.1.7",
    "lint-staged": "17.6.0",
    "prettier": "^3.9.9",
    "terser": "^5.51.2",
    "typedoc": "^0.28.20",
    "typedoc-plugin-markdown": "^4.13.1",
    "typescript": "^6.0.3",
    "vite": "^8.3.2",
    "vitest": "^5.0.3"
  },
  "lint-staged": {
    "*.{js,cjs,mjs}": [
      "prettier --write",
      "eslint --fix"
    ],
    "!docs/**": [],
    "*.{json,md,yml,yaml}": [
      "prettier --write"
    ]
  }
}
