{
  "name": "framebus",
  "description": "Framebus allows you to easily send messages across frames (and iframes) with a simple bus.",
  "repository": {
    "type": "git",
    "url": "git://github.com/braintree/framebus.git"
  },
  "homepage": "https://github.com/braintree/framebus",
  "version": "6.1.0",
  "main": "dist/index.js",
  "files": [
    "dist/"
  ],
  "scripts": {
    "prepublishOnly": "npm run build",
    "prebuild": "prettier --write .",
    "build": "tsc --declaration",
    "lint": "eslint --ext js,ts .",
    "pretest": "npm run lint",
    "test:unit": "jest spec/unit/",
    "pretest:functional": "gulp functional:prep && npx playwright install --with-deps",
    "test:functional": "npm run playwright:local",
    "test": "npm run test:unit && npm run test:functional",
    "clean:playwright": "find ./ -type f \\( -name \"local.log\" -or -name \"browserstack.err\" \\) -delete && find ./ -depth -not -path \"*/node_modules/*\" \\( -name \"log\" -or -name \"playwright-report\" -or -name \"test-results\" \\) -type d -exec rm -rf \"{}\" \\;",
    "preplaywright": "npm run pretest:functional",
    "playwright": "npx playwright test --config=spec/functional/playwright/playwright.browserstack.config.ts",
    "postplaywright": "npm run clean:playwright",
    "playwright:local": "npm run preplaywright && npx playwright test --config=spec/functional/playwright/playwright.local.ts && npm run postplaywright",
    "playwright:local:headed": "npm run preplaywright && npx playwright test --config=spec/functional/playwright/playwright.local.ts --headed && npm run postplaywright",
    "prestart": "npm run pretest:functional",
    "start": "./bin/www",
    "prepare": "husky",
    "commit": "cz"
  },
  "license": "MIT",
  "author": "braintree <code@getbraintree.com>",
  "dependencies": {
    "@braintree/uuid": "^2.0.0"
  },
  "devDependencies": {
    "@commitlint/cli": "^20.5.0",
    "@commitlint/config-conventional": "^20.5.0",
    "@playwright/test": "1.60.0",
    "@types/jest": "^29.5.14",
    "async": "^3.2.6",
    "browserify": "^17.0.1",
    "browserstack-local": "^1.5.13",
    "browserstack-node-sdk": "^1.52.0",
    "commitizen": "^4.3.1",
    "cz-customizable": "^7.5.4",
    "del": "^8.0.1",
    "dotenv": "^17.4.2",
    "ejs": "^3.1.10",
    "eslint": "^8.56.0",
    "eslint-config-braintree": "6.0.0-typescript-prep-rc.2",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-prettier": "^5.0.0",
    "express": "^4.20.1",
    "gulp": "^5.0.1",
    "gulp-cli": "^3.1.0",
    "gulp-concat": "^2.4.2",
    "gulp-remove-code": "^3.0.4",
    "gulp-size": "^3.0.0",
    "gulp-streamify": "^1.0.2",
    "gulp-uglify": "^3.0.2",
    "husky": "^9.1.7",
    "jest": "^29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "morgan": "^1.10.0",
    "playwright": "1.60.0",
    "prettier": "^3.7.4",
    "ts-jest": "^29.0.5",
    "tsify": "^5.0.4",
    "typescript": "5.3.3",
    "vinyl-buffer": "^1.0.1",
    "vinyl-source-stream": "^2.0.0"
  },
  "jest": {
    "testPathIgnorePatterns": [
      "<rootDir>/spec/functional/playwright/*"
    ],
    "testEnvironment": "jsdom",
    "preset": "ts-jest",
    "restoreMocks": true,
    "resetMocks": true,
    "collectCoverage": true,
    "collectCoverageFrom": [
      "src/**/*.ts"
    ],
    "coverageThreshold": {
      "global": {
        "lines": 80,
        "statements": 80,
        "branches": 80,
        "functions": 80
      }
    }
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-customizable"
    }
  }
}
