{
    "name": "@tainguyentt/broadcast-channel",
    "version": "6.1.3",
    "description": "A BroadcastChannel that works in New Browsers, Old Browsers, WebWorkers",
    "exports": {
        ".": {
            "node": {
                "import": "./dist/esnode/index.js",
                "default": "./dist/es5node/index.js"
            },
            "browser": {
                "import": "./dist/esbrowser/index.js",
                "default": "./dist/lib/index.es5.js"
            }
        },
        "./package.json": "./package.json"
    },
    "homepage": "https://github.com/pubkey/broadcast-channel#readme",
    "keywords": [
        "broadcast-channel",
        "broadcastchannel",
        "broadcast",
        "polyfill",
        "localstorage",
        "indexeddb",
        "postMessage",
        "crosstab"
    ],
    "repository": {
        "type": "git",
        "url": "git+https://github.com/pubkey/broadcast-channel.git"
    },
    "author": "pubkey",
    "license": "MIT",
    "bugs": {
        "url": "https://github.com/pubkey/broadcast-channel/issues"
    },
    "main": "./dist/es5node/index.js",
    "module": "./dist/esnode/index.js",
    "browser": "./dist/lib/index.es5.js",
    "sideEffects": false,
    "types": "./types/index.d.ts",
    "scripts": {
        "test": "echo \"RUN ALL:\" && npm run test:browser && npm run test:e2e",
        "test:node": "npm run build:es5node && mocha ./test/index.test.js -b --timeout 6000 --exit",
        "test:node:loop": "npm run test:node && npm run test:node:loop",
        "test:browser": "npm run build && karma start ./config/karma.conf.js --single-run",
        "test:e2e": "concurrently \"npm run docs:serve\" \"sleep 20 && testcafe -b && testcafe chrome -e test/e2e.test.js --hostname localhost\" --kill-others --success first",
        "test:typings": "npm run build && mocha ./test/typings.test.js -b --timeout 12000 --exit",
        "test:performance": "npm run build && mocha ./test/performance.test.js -b --timeout 24000 --exit",
        "test:simple": "npm run build && node ./test_tmp/simple.test.js",
        "test:electron": "(cd ./test-electron && npm run test)",
        "size:prewebpack": "npm run build && cross-env NODE_ENV=build webpack --config ./config/webpack.config.js",
        "size:webpack": "npm run size:prewebpack && echo \"Build-Size Webpack (minified+gzip):\" && gzip-size --raw ./test_tmp/webpack.bundle.js",
        "size:browserify": "npm run build && rimraf test_tmp/browserify.js && browserify --no-builtins dist/lib/browserify.index.js > test_tmp/browserify.js && uglifyjs --compress --mangle --output test_tmp/browserify.min.js -- test_tmp/browserify.js && echo \"Build-Size browserify (minified+gzip):\" && gzip-size --raw test_tmp/browserify.min.js",
        "size:rollup": "npm run build && rollup --config ./config/rollup.config.js && echo \"Build-Size Rollup (minified+gzip):\" && gzip-size --raw ./test_tmp/rollup.bundle.js",
        "lint": "eslint src test --cache",
        "clear": "rimraf -rf ./dist && rimraf -rf ./gen",
        "build:es6node": "rimraf -rf dist/esnode && cross-env NODE_ENV=es6 babel src --out-dir dist/esnode",
        "build:es6browser": "rimraf -rf dist/esbrowser && cross-env NODE_ENV=es6 babel src --out-dir dist/esbrowser && grep -rl NodeMethod dist/esbrowser/ | xargs sed -i '' 's/.*NodeMethod.*//'",
        "build:es5node": "cross-env NODE_ENV=es5 babel src --out-dir dist/es5node",
        "build:es5browser": "cross-env NODE_ENV=es5 babel src --out-dir dist/lib && grep -rl NodeMethod dist/lib/ | xargs sed -i '' 's/.*NodeMethod.*//'",
        "build:test": "cross-env NODE_ENV=es5 babel test --out-dir test_tmp",
        "build:index": "browserify test_tmp/scripts/index.js > docs/index.js",
        "build:browser": "browserify test_tmp/scripts/e2e.js > docs/e2e.js",
        "build:worker": "browserify test_tmp/scripts/worker.js > docs/worker.js",
        "build:iframe": "browserify test_tmp/scripts/iframe.js > docs/iframe.js",
        "build:lib-browser": "browserify dist/lib/browserify.index.js > dist/lib/browser.js",
        "build:lib-browser:min": "uglifyjs --compress --mangle --output dist/lib/browser.min.js -- dist/lib/browser.js",
        "build": "npm run clear && concurrently \"npm run build:es6node\" \"npm run build:es6browser\" \"npm run build:es5node\" \"npm run build:es5browser\" \"npm run build:test\" && concurrently \"npm run build:index\" \"npm run build:browser\" \"npm run build:worker\" \"npm run build:iframe\" && npm run build:lib-browser && npm run build:lib-browser:min",
        "build:min": "uglifyjs --compress --mangle --output dist/lib/browserify.min.js -- dist/lib/browserify.index.js",
        "docs:only": "http-server ./docs --silent",
        "docs:serve": "npm run build && echo \"Open http://localhost:8080/\" && npm run docs:only"
    },
    "pre-commit": [
        "lint"
    ],
    "dependencies": {
        "@babel/runtime": "^7.17.9",
        "@tainguyentt/broadcast-channel": "^6.1.2",
        "@toruslabs/eccrypto": "^1.1.8",
        "@toruslabs/metadata-helpers": "^3.0.0",
        "bowser": "^2.11.0",
        "keccak": "^3.0.2",
        "loglevel": "^1.8.0",
        "oblivious-set": "1.1.1",
        "socket.io-client": "^4.5.1",
        "unload": "^2.3.1"
    },
    "devDependencies": {
        "@babel/cli": "7.17.10",
        "@babel/core": "7.17.12",
        "@babel/plugin-proposal-object-rest-spread": "7.17.12",
        "@babel/plugin-transform-member-expression-literals": "7.16.7",
        "@babel/plugin-transform-property-literals": "7.16.7",
        "@babel/plugin-transform-runtime": "7.17.12",
        "@babel/polyfill": "7.12.1",
        "@babel/preset-env": "7.17.12",
        "@babel/types": "7.17.12",
        "@rollup/plugin-node-resolve": "13.3.0",
        "@types/core-js": "2.5.5",
        "assert": "2.0.0",
        "async-test-util": "2.0.0",
        "browserify": "17.0.0",
        "child-process-promise": "2.2.1",
        "clone": "2.1.2",
        "concurrently": "7.2.0",
        "convert-hrtime": "5.0.0",
        "copyfiles": "2.4.1",
        "cross-env": "7.0.3",
        "eslint": "8.15.0",
        "gzip-size-cli": "5.1.0",
        "http-server": "14.1.0",
        "jest": "27.5.1",
        "karma": "6.3.20",
        "karma-babel-preprocessor": "8.0.2",
        "karma-browserify": "8.1.0",
        "karma-chrome-launcher": "3.1.1",
        "karma-coverage": "2.2.0",
        "karma-detect-browsers": "2.3.3",
        "karma-edge-launcher": "0.4.2",
        "karma-firefox-launcher": "2.1.2",
        "karma-ie-launcher": "1.0.0",
        "karma-mocha": "2.0.1",
        "karma-opera-launcher": "1.0.0",
        "karma-safari-launcher": "1.0.0",
        "mocha": "9.2.2",
        "pre-commit": "1.2.2",
        "random-int": "3.0.0",
        "random-token": "0.0.8",
        "rimraf": "^3.0.2",
        "rollup": "2.73.0",
        "rollup-plugin-terser": "7.0.2",
        "testcafe": "1.18.6",
        "ts-node": "10.7.0",
        "typescript": "4.6.4",
        "uglify-js": "3.15.5",
        "watchify": "4.0.0",
        "webpack": "5.72.1",
        "webpack-cli": "4.9.2"
    }
}
