{
  "name": "tabs-broadcast",
  "amdName": "tabs-broadcast",
  "version": "4.2.2",
  "description": "Tiny zero-dependency TypeScript library for inter-tab communication over the BroadcastChannel API, with primary-tab (leader) election via Web Locks.",
  "main": "dist/tabs-broadcast.umd.js",
  "module": "dist/tabs-broadcast.es.js",
  "types": "dist/index.d.ts",
  "unpkg": "dist/tabs-broadcast.umd.js",
  "jsdelivr": "dist/tabs-broadcast.umd.js",
  "type": "module",
  "workspaces": [
    "packages/*"
  ],
  "engines": {
    "node": ">=18"
  },
  "scripts": {
    "dev": "vite",
    "build": "vite build && npm run types:check",
    "postbuild": "node scripts/postbuild.mjs",
    "types:check": "tsc --noEmit",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage",
    "test:types": "tsc --noEmit -p tsconfig.typecheck.json",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
    "format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
    "check:pkg": "publint",
    "prepublishOnly": "npm run build && npm test"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Rovniy/tabs-broadcast.git"
  },
  "sideEffects": false,
  "exports": {
    ".": {
      "import": {
        "types": "./dist/index.d.ts",
        "default": "./dist/tabs-broadcast.es.js"
      },
      "require": {
        "types": "./dist/index.d.cts",
        "default": "./dist/tabs-broadcast.umd.js"
      }
    }
  },
  "files": [
    "dist",
    "README.md",
    "CHANGELOG.md",
    "LICENSE"
  ],
  "keywords": [
    "events",
    "eventemitter",
    "pubsub",
    "broadcast",
    "broadcastchannel",
    "tabs",
    "multi-tab",
    "cross-tab",
    "tab-sync",
    "communication",
    "leader-election",
    "primary-tab",
    "web-locks",
    "micro-frontend",
    "typescript"
  ],
  "author": "Andrei (Ravy) Rovnyi <contact@ravy.pro>",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/Rovniy/tabs-broadcast/issues"
  },
  "homepage": "https://ravy.pro/tools/tabs-broadcast",
  "devDependencies": {
    "@vitest/coverage-v8": "^2.1.9",
    "eslint": "^9.39.4",
    "eslint-config-prettier": "^9.1.2",
    "happy-dom": "^15.11.7",
    "prettier": "^3.8.3",
    "publint": "^0.2.12",
    "rollup-plugin-terser": "^7.0.2",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.60.0",
    "vite": "^6.3.3",
    "vite-plugin-dts": "^4.5.4",
    "vitest": "^2.1.9"
  }
}
