{
  "name": "penpal",
  "version": "7.0.6",
  "description": "Penpal simplifies communication with iframes, workers, and windows by using promise-based methods on top of postMessage.",
  "author": "Aaron Hardy <aaron@aaronhardy.com>",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/Aaronius/penpal/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Aaronius/penpal.git"
  },
  "keywords": [
    "postMessage",
    "communication",
    "promise",
    "iframe",
    "iframes",
    "worker",
    "workers",
    "web-worker",
    "web-workers",
    "shared-worker",
    "shared-workers",
    "service-worker",
    "service-workers",
    "port",
    "message-port",
    "message-channel",
    "window",
    "windows"
  ],
  "type": "module",
  "types": "./dist/penpal.d.ts",
  "exports": {
    "import": {
      "types": "./dist/penpal.d.ts",
      "default": "./dist/penpal.mjs"
    },
    "require": {
      "types": "./dist/penpal.d.cts",
      "default": "./dist/penpal.cjs"
    }
  },
  "scripts": {
    "build": "tsup --format esm,cjs,iife --dts && tsup --format iife --minify=terser --clean=false",
    "build:analysis": "node scripts/filesize.js dist/penpal.min.js",
    "lint": "eslint --cache --fix",
    "format": "prettier --write \"**/*.{json,ts,js,cjs,md,html}\"",
    "test": "node scripts/test.js",
    "test:watch": "npm run test -- --watch",
    "prepublishOnly": "npm-run-all format lint test build",
    "prepare": "husky install"
  },
  "lint-staged": {
    "**/*": [
      "eslint --cache --fix"
    ],
    "**/*.{json,ts,js,md,html,eslintrc}": [
      "prettier --write"
    ]
  },
  "files": [
    "dist"
  ],
  "devDependencies": {
    "@chiragrupani/karma-chromium-edge-launcher": "^2.4.1",
    "@eslint/js": "^9.17.0",
    "@metahub/karma-rollup-preprocessor": "^6.0.0",
    "@rollup/plugin-typescript": "^12.1.2",
    "@types/jasmine": "^5.1.5",
    "@types/jest": "^29.5.11",
    "connect": "^3.6.6",
    "eslint": "^9.17.0",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-unused-imports": "^4.1.4",
    "expect-type": "^1.0.0",
    "filesize": "^6.1.0",
    "globals": "^15.13.0",
    "husky": "^6.0.0",
    "jasmine-core": "^5.5.0",
    "karma": "^6.4.4",
    "karma-chrome-launcher": "^3.2.0",
    "karma-firefox-launcher": "^2.1.3",
    "karma-jasmine": "^5.1.0",
    "karma-safari-launcher": "^1.0.0",
    "lint-staged": "^15.4.3",
    "npm-run-all": "^4.1.5",
    "prettier": "2.0.4",
    "rimraf": "^3.0.2",
    "serve-static": "^1.16.2",
    "terser": "^5.39.0",
    "tslib": "^2.8.1",
    "tsup": "^8.0.2",
    "typescript": "^5.8.2",
    "typescript-eslint": "^8.28.0"
  }
}
