{
  "name": "@undercroft/pulse-frame",
  "description": "Low-level WebSocket framing library implementing RFC 6455. Supports payload masking, control frames, and binary/text handling.",
  "version": "1.0.2",
  "author": "Michael Goodwin <mikejg101@icloud.com>",
  "license": "MIT",
  "homepage": "https://github.com/undercroftlabs/pulse-frame",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "repository": {
    "type": "git",
    "url": "git@github.com:undercroftlabs/pulse-frame.git"
  },
  "bugs": {
    "url": "https://github.com/undercroftlabs/pulse-frame/issues"
  },
  "publishConfig": {
    "access": "public"
  },
  "files": [
    "dist"
  ],
  "keywords": [
    "websocket",
    "frame",
    "ws",
    "rfc6455",
    "protocol",
    "binary",
    "payload",
    "masking",
    "unmask",
    "deflate",
    "websocket-frame",
    "nodejs",
    "typescript",
    "encoder",
    "decoder",
    "buffer",
    "packet",
    "transport"
  ],
  "scripts": {
    "_postinstall": "husky install",
    "prepublishOnly": "npx uct prepare",
    "postpublish": "npx uct postpublish",
    "package": "npx uct package",
    "preflight": "npx uct preflight",
    "build": "npx rimraf ./dist && npx uct build",
    "test": "jest --no-cache --runInBand",
    "coverage": "jest --coverage --no-cache --runInBand",
    "test:junit": "cross-env JEST_JUNIT_CLASSNAME={filepath} jest --reporters=jest-junit",
    "test:ci": "cross-env JEST_JUNIT_CLASSNAME={filepath} jest --coverage --no-cache --runInBand --reporters=default --reporters=jest-junit",
    "check": "npx uct check"
  },
  "jest-junit": {
    "outputDirectory": "./reports",
    "outputName": "junit.xml"
  },
  "devDependencies": {
    "@codecov/rollup-plugin": "^1.9.0",
    "@commitlint/cli": "^19.8.0",
    "@commitlint/config-conventional": "^13.1.0",
    "@rollup/plugin-commonjs": "^28.0.3",
    "@rollup/plugin-node-resolve": "^16.0.1",
    "@rollup/plugin-terser": "^0.4.4",
    "@size-limit/preset-small-lib": "^11.2.0",
    "@swc/core": "^1.11.20",
    "@types/intersect": "^1.0.0",
    "@types/jest": "^27.0.1",
    "@types/jsdom": "^21.1.7",
    "@types/semver": "^7.5.0",
    "@typescript-eslint/eslint-plugin": "^4.31.1",
    "@typescript-eslint/parser": "^4.31.1",
    "@undercroft/lib-tools": "^1.0.1",
    "cross-env": "^7.0.3",
    "depcheck": "^1.4.3",
    "eslint": "^7.32.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-jsdoc": "^44.2.5",
    "eslint-plugin-no-underscore": "^0.2.1",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-sonarjs": "^0.19.0",
    "husky": "^7.0.2",
    "intersect": "^1.0.1",
    "jest": "^27.2.0",
    "jest-junit": "^16.0.0",
    "jsdom": "^26.1.0",
    "license-compatibility-checker": "^0.3.0",
    "pinst": "^2.1.6",
    "prettier": "^2.4.0",
    "rimraf": "^6.0.1",
    "rollup-plugin-polyfill-node": "^0.13.0",
    "semver": "^7.5.1",
    "size-limit": "^11.2.0",
    "ts-jest": "^27.0.5",
    "ts-loader": "^9.2.5",
    "ts-node": "^10.9.1",
    "tsup": "^8.4.0",
    "tsx": "^4.19.3",
    "typescript": "^4.9.5"
  }
}
