{
  "name": "perfect-ws",
  "version": "2.0.0",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "engines": {
    "node": ">=22"
  },
  "scripts": {
    "clean": "node --input-type=module -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true })\"",
    "pretest": "npm run build",
    "test": "npm run test:gc:run && npm run test:main",
    "test:main": "vitest run",
    "build": "npm run clean && tsc --project tsconfig.json && tsc --noEmit -p tsconfig.type-tests.json",
    "build:local": "npm run clean && tsc --project tsconfig.json --sourceMap",
    "prepack": "npm run build",
    "pretest:coverage": "npm run build",
    "test:coverage": "npm run test:gc:run && vitest run --coverage --silent --reporter=dot --testTimeout=30000 --hookTimeout=40000 --maxWorkers=4",
    "pretest:gc": "npm run build",
    "test:gc": "npm run test:gc:run",
    "test:gc:run": "vitest run --config vitest.gc.config.ts --silent --reporter=dot",
    "generate-coverage-badge": "coverage-badges -s coverage/coverage-summary.json -o coverage/badge.svg",
    "test:ui": "vitest --ui",
    "test:package": "node tests/fixtures/package-consumer.mjs && publint",
    "test:browser": "npm --prefix tests/browser test"
  },
  "keywords": [
    "websocket",
    "express",
    "ws",
    "socket",
    "communication",
    "protocol"
  ],
  "author": "Ido S.",
  "license": "MIT",
  "type": "module",
  "description": "Like Express.js for WebSockets",
  "bugs": {
    "url": "https://github.com/ido-pluto/perfect-ws/issues"
  },
  "homepage": "https://github.com/ido-pluto/perfect-ws#readme",
  "funding": {
    "type": "github",
    "url": "https://github.com/ido-pluto/perfect-ws?sponsor=1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ido-pluto/perfect-ws.git"
  },
  "files": [
    "dist/",
    "docs/",
    "package.json",
    "README.md",
    "LICENSE"
  ],
  "exports": {
    ".": {
      "browser": {
        "types": "./dist/browser.d.ts",
        "import": "./dist/browser.js",
        "default": "./dist/browser.js"
      },
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "node": "./dist/index.js",
      "default": "./dist/index.js"
    },
    "./browser": {
      "types": "./dist/browser.d.ts",
      "import": "./dist/browser.js",
      "default": "./dist/browser.js"
    }
  },
  "dependencies": {
    "@types/ws": "^8.18.1",
    "bson": "^7.3.1",
    "ws": "^8.21.2"
  },
  "devDependencies": {
    "@semantic-release/exec": "^7.1.0",
    "@types/node": "^24.7.0",
    "@vitest/coverage-v8": "^3.2.4",
    "@vitest/ui": "^3.2.4",
    "coverage-badges-cli": "^2.2.0",
    "happy-dom": "^19.0.2",
    "publint": "^0.3.17",
    "semantic-release": "^25.0.3",
    "typescript": "^5.9.3",
    "vitest": "^3.2.4",
    "zod": "^4.4.3"
  }
}
