{"_id":"@astronautlabs/webrtc","_rev":"9-31361576dd3fdae1934c7541ce2d637e","name":"@astronautlabs/webrtc","dist-tags":{"latest":"0.6.1"},"versions":{"0.5.0":{"name":"@astronautlabs/webrtc","version":"0.5.0","keywords":["webrtc","p2p","peer"],"author":{"url":"http://blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},"license":"BSD-2-Clause","_id":"@astronautlabs/webrtc@0.5.0","maintainers":[{"name":"rezonant","email":"wilahti@gmail.com"}],"contributors":[{"url":"blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},{"name":"Eric Rescorla","email":"ekr@rtfm.org"},{"name":"Pasquale Boemio","email":"boemianrapsodi@gmail.com"},{"name":"Damon Oehlman","email":"damon@fluxant.com"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi"},{"name":"Alex Londeree","email":"alex.londeree@gmail.com"},{"name":"Jesús Leganés Combarro \"piranna\"","email":"piranna@gmail.com"},{"name":"Dario Andrei","email":"wouldgo84@gmail.com"},{"name":"Matt Porritt","email":"mattp@catalyst-au.net"},{"name":"Mark Andrus Roberts","email":"markandrusroberts@gmail.com"},{"name":"Arno Klein","email":"klaronix@aklein.net"},{"name":"Manu Raghavan","email":"manu@voxology.co"},{"name":"Ross Kukulinski","email":"ross@getyodlr.com"},{"name":"Jeppe Ryskov Larsen","email":"jeppe@bjergsted.dk"},{"name":"Nazar Mokrynskyi","email":"nazar@mokrynskyi.com"},{"name":"Nicholas Johnston","email":"nickjoh@protonmail.ch"},{"name":"William Lahti","email":"liam@astronautlabs.com"}],"homepage":"https://github.com/node-webrtc/node-webrtc","bugs":{"url":"https://github.com/node-webrtc/node-webrtc/issues"},"dist":{"shasum":"701a8ea6216079980eb1afb95c84a43d9ddf87ca","tarball":"https://registry.npmjs.org/@astronautlabs/webrtc/-/webrtc-0.5.0.tgz","fileCount":949,"integrity":"sha512-p/oLifONvKXh3rpK2uqUWntzbYzz/s9VD/+Hpw77659eGm7cMrdApHOUut/e+uYVax3Yk+C495hwBuRP0PQw4g==","signatures":[{"sig":"MEUCIFGBOUs64IgSUxF8Xp8yH9jmjlD13OgGCRw+MJEMf/Q1AiEAs9H3PYfPE9uk0nAI3kcZVMp2ulRh4dNp5vkUG+5oO3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23380230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCFbQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpvgw//TQl0xVYNRWiourTUEHFvAlil5mlkg5QBRHuf74XUT2AO0j+5\r\nCdYXpm8l7viYc/0ttXzMSERQvng6cgO3H3RnfgnmMtVNF5QXAKv0i4w7dA3n\r\nN/ZL4W74yjd8iimdB+fAeSaWSRKdsLRtF1/PGnDCBdbrfvK6PTPkpur+dLaQ\r\nHtnPhFMrC/vbdBkhpTaXB3Vd6rBGD1chSv/FMdwIVgXX0KDuH5qMWYV0Lgzb\r\n4VVSvAFjt06Vuk5DaDo3ObDL1Yf0rfvu3c8etNDNvzsrEpqeluacl5BrljaI\r\ntxCS+8ostaBnqdso/BnbUZI0eChCE5MhhRg0FVFOpOe78Reyaq1qJoeewRdB\r\ny2ysWHgKLoHvzr9rh1fzs4HWNB5WkJl2BwrWNqzOEj5JnOb/j0dRNEADKwqJ\r\n2R6SGa6Y3yeeBt7sTNP24UbJU79lvKdGcrtii//Dl9TydxLA0VWPKBedIzRh\r\np+y6CSh8ewFmTWNoeUl+p7O7w9QtL+WDk2vggzXB8183yVdSLS3Oq2zpPmao\r\nRlagzZBt8Vxd+6vzpe3dJM7YNphamoNO/55N+uHtKdtfq3G78XPbxegPC7KW\r\ntYb36cK/DgYhV9icBCZqRWL4FjMTw+VCNT4ZFZz4MKYYAPZy7XVlHJ5/A36+\r\nrUzEE9ZK9XwaFT6UPv+X1y9YpDgoWP28Lig=\r\n=yWqc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/nodejs/index.js","binary":{"host":"https://webrtc.astrocdn.com","module_name":"wrtc","module_path":"./build/{configuration}/","remote_path":"./{module_name}/v{version}/{configuration}/","package_name":"{platform}-{arch}.tar.gz"},"browser":"dist/browser/index.js","engines":{"node":"^14.0.0 || ^16.0.0 || ^18.0.0 || ^19.0.0"},"gitHead":"77ffba5e16b0f46b297cb4d3ce71a580486a0a0d","scripts":{"lint":"eslint lib/*.js lib/**/*.js test/*.js test/**/*.js karma/*.js scripts/*.js","test":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/test.js","build":"tsc -b","install":"node scripts/download-prebuilt-or-build-from-source.js","test:cpp":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/cpp-test.js","test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js","wpt:init":"git submodule update --init --recursive","wpt:test":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js","test:vgdb":"npm run build && cd build/external/libwebrtc/build/Debug && vgdb --args node ../../../../../dist/nodejs/test/test.js","wpt:reset":"rimraf ./web-platform-tests && npm run wpt:init","test:debug":"npm run build && node --expose-gc --enable-source-maps --trace-exit --inspect-brk dist/nodejs/test/test.js --verbose","wpt:update":"git submodule update --recursive --remote --force && cd web-platform-tests && python wpt.py manifest --path ../lib/nodejs/test/web-platform-tests/wpt-manifest.json","test:verbose":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose","wpt:test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/web-platform-tests/run-wpts.js","test:browsers":"cross-env BROWSER=chrome node scripts/karma.js && cross-env BROWSER=firefox node scripts/karma.js","test:electron":"electron test/electron","publish-binary":"node scripts/publish.js","wpt:test:debug":"npm run build && node --inspect-brk dist/nodejs/test/web-platform-tests/run-wpts.js","install-example":"node scripts/install-example.js","test:gdb:verbose":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js --verbose","test:debug:native":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose --native-debug","native:build:clean":"ncmake clean","native:build:debug":"ncmake build --debug -j 12","native:build:release":"ncmake build -j 12","wpt:test:debug:native":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js --native-debug","native:build:configure":"ncmake configure","native:build:configure:debug":"ncmake configure --debug"},"_npmUser":{"name":"rezonant","email":"wilahti@gmail.com"},"repository":{"url":"git+ssh://git@github.com/node-webrtc/node-webrtc.git","type":"git"},"_npmVersion":"6.14.17","description":"Standards-compliant WebRTC implementation for Node","directories":{},"_nodeVersion":"14.20.0","dependencies":{"nan":"^2.3.2","libyuv":"^0.1.3","bindings":"^1.5.0","node-cmake":"2.3.2","domexception":"^1.0.1","node-addon-api":"^5.0.0","segfault-handler":"^1.3.0","@mapbox/node-pre-gyp":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"q":"^1.5.1","ws":"^5.2.0","chai":"^4.3.6","tape":"^4.9.1","temp":"^0.9.0","jsdom":"^15.0.0","karma":"^4.0.1","mocha":"^5.2.0","which":"^2.0.2","eslint":"^4.14.0","razmin":"^1.2.0","rimraf":"^2.6.2","semver":"^5.5.0","aws-sdk":"^2.2.10","express":"^4.16.2","js-yaml":"^3.13.0","request":"^2.88.0","zone.js":"^0.11.8","minimist":"1.2.5","tap-spec":"^5.0.0","cross-env":"^5.1.4","karma-tap":"^4.1.4","minimatch":"^3.0.4","@fidm/x509":"^1.2.1","node-fetch":"^2.5.0","typescript":"^4.7.4","@types/chai":"^4.3.1","@types/node":"^18.6.3","simple-peer":"~9.7.0","@types/which":"^2.0.1","recursive-copy":"^2.0.10","server-destroy":"^1.0.1","karma-browserify":"^5.1.2","mocha-sugar-free":"^1.4.0","@types/simple-peer":"^9.11.4","browserify-middleware":"^8.1.1","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","request-promise-native":"^1.0.5","karma-tap-pretty-reporter":"^4.1.0"},"bundleDependencies":["@mapbox/node-pre-gyp"],"optionalDependencies":{"domexception":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webrtc_0.5.0_1661490895753_0.023426782985497496","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"@astronautlabs/webrtc","version":"0.5.1","keywords":["webrtc","p2p","peer"],"author":{"url":"http://blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},"license":"BSD-2-Clause","_id":"@astronautlabs/webrtc@0.5.1","maintainers":[{"name":"rezonant","email":"wilahti@gmail.com"}],"contributors":[{"url":"blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},{"name":"Eric Rescorla","email":"ekr@rtfm.org"},{"name":"Pasquale Boemio","email":"boemianrapsodi@gmail.com"},{"name":"Damon Oehlman","email":"damon@fluxant.com"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi"},{"name":"Alex Londeree","email":"alex.londeree@gmail.com"},{"name":"Jesús Leganés Combarro \"piranna\"","email":"piranna@gmail.com"},{"name":"Dario Andrei","email":"wouldgo84@gmail.com"},{"name":"Matt Porritt","email":"mattp@catalyst-au.net"},{"name":"Mark Andrus Roberts","email":"markandrusroberts@gmail.com"},{"name":"Arno Klein","email":"klaronix@aklein.net"},{"name":"Manu Raghavan","email":"manu@voxology.co"},{"name":"Ross Kukulinski","email":"ross@getyodlr.com"},{"name":"Jeppe Ryskov Larsen","email":"jeppe@bjergsted.dk"},{"name":"Nazar Mokrynskyi","email":"nazar@mokrynskyi.com"},{"name":"Nicholas Johnston","email":"nickjoh@protonmail.ch"},{"name":"William Lahti","email":"liam@astronautlabs.com"}],"homepage":"https://github.com/astronautlabs/webrtc","bugs":{"url":"https://github.com/astronautlabs/webrtc/issues"},"dist":{"shasum":"1ef4a346cb3bd3dd3df9d4c1a2073c6f17594289","tarball":"https://registry.npmjs.org/@astronautlabs/webrtc/-/webrtc-0.5.1.tgz","fileCount":949,"integrity":"sha512-oZP8oNdbLpixK/gn8xvgCPwVo93ae/N9eYrLX/Gi/an0UpPRZz1G9++YoT8iByJHn2gzuR1E2d0u7AUq9VA8+A==","signatures":[{"sig":"MEYCIQDEo0BWQLji97KauSm7Vi9JxHDXO/lLgiBN+rEX/RmNQwIhAIEFOWb/mO0HGuyiKson14xEXu03+a4ck/sIQwjOaEf6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23384919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCGR3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpcGw/+OOaf0yKcEKquOvswu9D52ZxJPqYCl9KMOC7hyALD+dr74Tz6\r\nQ/Z5Q2mUC7SZtCFFW0QXvd1xy3rKNle3EctkawgldcKCibm//fL1mZRdOwjt\r\nN+KoSKrSepanfyZwZGP0LEOGJCRyMjKOwriNR+l5xguxYZnwlyN6c6HMsCeR\r\nHi+Et9knOU0bkFOKdl5IKxAt4RE3uLNPkoy4wRdmwgW/L/r9mheZnSuLCp3H\r\nkqmYbhkW1xsYLSM5479/Oh2FVJKzAo99S6U6p+CxSOEOl8kjfxDoxxF42RvN\r\njuxIdizw3nLYOvw1mXV2edoqmPA//d020xS6sO/a1dNsuw6OVJj9Pru/CxYJ\r\n09a+HetCz99IEJrdTmRmkUbjQlcP8Su+u3dGA0JdEOZ9K8hQuP67treuahWM\r\n2i4tpRyrEx6L7jDzjzQINSMBRfNvvoqjr9rN3GbzrWWHMcGHh9VQKTZ6S4KD\r\nACX0Lh0b6l6v29FBNcLMi8kdv2FDLuGTbBfGMwYN/IhKs4m4N/xtWpO6kARX\r\nkDt1Bz6XwBcnUDfyoTFfbaWBxYqy4Eyaq7nsfdIC9XtVTj7iU5QZtmDvUyfo\r\ntWvzEURPlkFel6dTvGpX7oYq6GpEAMHwW+xdKVTD+weQx1fbZr4ViQlBv85/\r\n240ApAqAQVWaD+lQRukZ9jR6ErhLMof5uWs=\r\n=0e3j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/nodejs/index.js","binary":{"host":"https://webrtc.astrocdn.com","module_name":"wrtc","module_path":"./build/{configuration}/","remote_path":"./{module_name}/v{version}/{configuration}/","package_name":"{platform}-{arch}.tar.gz"},"browser":"dist/browser/index.js","engines":{"node":"^14.0.0 || ^16.0.0 || ^18.0.0 || ^19.0.0"},"gitHead":"9cd46703e150faa313bb9d00c044380adf0d968a","scripts":{"lint":"eslint lib/*.js lib/**/*.js test/*.js test/**/*.js karma/*.js scripts/*.js","test":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/test.js","build":"tsc -b","install":"node scripts/download-prebuilt-or-build-from-source.js","test:cpp":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/cpp-test.js","test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js","wpt:init":"git submodule update --init --recursive","wpt:test":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js","test:vgdb":"npm run build && cd build/external/libwebrtc/build/Debug && vgdb --args node ../../../../../dist/nodejs/test/test.js","wpt:reset":"rimraf ./web-platform-tests && npm run wpt:init","test:debug":"npm run build && node --expose-gc --enable-source-maps --trace-exit --inspect-brk dist/nodejs/test/test.js --verbose","wpt:update":"git submodule update --recursive --remote --force && cd web-platform-tests && python wpt.py manifest --path ../lib/nodejs/test/web-platform-tests/wpt-manifest.json","test:verbose":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose","wpt:test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/web-platform-tests/run-wpts.js","test:browsers":"cross-env BROWSER=chrome node scripts/karma.js && cross-env BROWSER=firefox node scripts/karma.js","test:electron":"electron test/electron","publish-binary":"node scripts/publish.js","wpt:test:debug":"npm run build && node --inspect-brk dist/nodejs/test/web-platform-tests/run-wpts.js","install-example":"node scripts/install-example.js","test:gdb:verbose":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js --verbose","test:debug:native":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose --native-debug","native:build:clean":"ncmake clean","native:build:debug":"ncmake build --debug -j 12","native:build:release":"ncmake build -j 12","wpt:test:debug:native":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js --native-debug","native:build:configure":"ncmake configure","native:build:configure:debug":"ncmake configure --debug"},"_npmUser":{"name":"rezonant","email":"wilahti@gmail.com"},"repository":{"url":"git+https://github.com/astronautlabs/webrtc.git","type":"git"},"_npmVersion":"6.14.17","description":"Standards-compliant WebRTC implementation for Node","directories":{},"_nodeVersion":"14.20.0","dependencies":{"nan":"^2.3.2","libyuv":"^0.1.3","bindings":"^1.5.0","node-cmake":"2.3.2","domexception":"^1.0.1","node-addon-api":"^5.0.0","segfault-handler":"^1.3.0","@mapbox/node-pre-gyp":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"q":"^1.5.1","ws":"^5.2.0","chai":"^4.3.6","tape":"^4.9.1","temp":"^0.9.0","jsdom":"^15.0.0","karma":"^4.0.1","mocha":"^5.2.0","which":"^2.0.2","eslint":"^4.14.0","razmin":"^1.2.0","rimraf":"^2.6.2","semver":"^5.5.0","aws-sdk":"^2.2.10","express":"^4.16.2","js-yaml":"^3.13.0","request":"^2.88.0","zone.js":"^0.11.8","minimist":"1.2.5","tap-spec":"^5.0.0","cross-env":"^5.1.4","karma-tap":"^4.1.4","minimatch":"^3.0.4","@fidm/x509":"^1.2.1","node-fetch":"^2.5.0","typescript":"^4.7.4","@types/chai":"^4.3.1","@types/node":"^18.6.3","simple-peer":"~9.7.0","@types/which":"^2.0.1","recursive-copy":"^2.0.10","server-destroy":"^1.0.1","karma-browserify":"^5.1.2","mocha-sugar-free":"^1.4.0","@types/simple-peer":"^9.11.4","browserify-middleware":"^8.1.1","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","request-promise-native":"^1.0.5","karma-tap-pretty-reporter":"^4.1.0"},"bundleDependencies":["@mapbox/node-pre-gyp"],"optionalDependencies":{"domexception":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webrtc_0.5.1_1661494390982_0.9775219073671289","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"@astronautlabs/webrtc","version":"0.5.2","keywords":["webrtc","p2p","peer"],"author":{"url":"http://blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},"license":"BSD-2-Clause","_id":"@astronautlabs/webrtc@0.5.2","maintainers":[{"name":"rezonant","email":"wilahti@gmail.com"}],"contributors":[{"url":"blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},{"name":"Eric Rescorla","email":"ekr@rtfm.org"},{"name":"Pasquale Boemio","email":"boemianrapsodi@gmail.com"},{"name":"Damon Oehlman","email":"damon@fluxant.com"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi"},{"name":"Alex Londeree","email":"alex.londeree@gmail.com"},{"name":"Jesús Leganés Combarro \"piranna\"","email":"piranna@gmail.com"},{"name":"Dario Andrei","email":"wouldgo84@gmail.com"},{"name":"Matt Porritt","email":"mattp@catalyst-au.net"},{"name":"Mark Andrus Roberts","email":"markandrusroberts@gmail.com"},{"name":"Arno Klein","email":"klaronix@aklein.net"},{"name":"Manu Raghavan","email":"manu@voxology.co"},{"name":"Ross Kukulinski","email":"ross@getyodlr.com"},{"name":"Jeppe Ryskov Larsen","email":"jeppe@bjergsted.dk"},{"name":"Nazar Mokrynskyi","email":"nazar@mokrynskyi.com"},{"name":"Nicholas Johnston","email":"nickjoh@protonmail.ch"},{"name":"William Lahti","email":"liam@astronautlabs.com"}],"homepage":"https://github.com/astronautlabs/webrtc","bugs":{"url":"https://github.com/astronautlabs/webrtc/issues"},"dist":{"shasum":"b6de5414e116d986ba42b8d92e74a0fd99c555ed","tarball":"https://registry.npmjs.org/@astronautlabs/webrtc/-/webrtc-0.5.2.tgz","fileCount":480,"integrity":"sha512-/o1vne3cVRRiN0OwHivCa5Y5pQUe1imBFsAywebNtJ26VamLtHVRZAZhODXXhMXeyQuaBULwoO3hZkVHX+C22g==","signatures":[{"sig":"MEUCIQCoaUoz9lttBamuJ9b+hPfZMPv0SL/hl6M7/oWfRFXbgAIgE4bM+b0vU9BxS6h6ba5jFKmqEpWzljND+Hr+RcVQ9uI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21436159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCrxYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqhxg/9FWTbb9vBbrRkfPE9Zt5f0djm/mfEk8fLOy2J2ElU+fJfow6Y\r\nHr+P8ou8mj4ywuz0HvkqTdjh+Qxz8toDdjP6a2X/Z53Qwaw3/mubHTGJaYUm\r\noLYo4JUTVwslEi2Fgxcl+/9aQrXAbQlx2Zcgzun3EVQSgbViH+EsfljHM5iE\r\nmqWzDKFxCPe5/v9xxxxetHvzyAURqNZ/RUGEh7nyIETjBYNds6zXVcWFowq7\r\nomj8UJ8RP5asjLnFyBN8B3G3rrQat/DHAuiPtlN0L/9XtKGcJu8WcOHM6Sbx\r\n07ujFb9bUx66Lh9u9s8DOVhCSnY801qr4AaM5+grF1ldlYCL8NZvJvfHJiRJ\r\n/oxcD36FfzaTk/kiE3nh8nxZ7Pz7i9Dg9dxlndhixZjg0O8/Bv4Fc+Ipm+4T\r\nJckrzbtzderuQE/J5coOz0auKxpAy0abjhQ7CuNBzqh+GJxAErO1Jk6VbxnF\r\nCNba445M4HaE/tT4jNuDupsVlstlz2lLsMWE3EVTv4gzFW1DlG1uZr4GnJjN\r\nb7FjQfWBtaCemLJPiCLLboD/0fTZSgHY0G5Ton4p50/Yf9ezpdKwOmJpyxFV\r\n09ZI1mUZIT3XUjABU5PjP8kDkobXHqaUjixspzCfZNsTs7kJGi45LKowMvcY\r\nNDQlIYlNQTrGq/QGaX8ZWmYz/CevhyF4peM=\r\n=h18u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/nodejs/index.js","twine":{"moduleName":"wrtc","distributionUrl":"https://webrtc.astrocdn.com"},"browser":"dist/browser/index.js","engines":{"node":"^14.0.0 || ^16.0.0 || ^18.0.0 || ^19.0.0"},"gitHead":"979c7e04ba2ac807d71930fefb6646f3a3a4fdd2","scripts":{"lint":"eslint lib/*.js lib/**/*.js test/*.js test/**/*.js karma/*.js scripts/*.js","test":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/test.js","build":"tsc -b","clean":"ncmake clean","install":"twine install","test:cpp":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/cpp-test.js","test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js","wpt:init":"git submodule update --init --recursive","wpt:test":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js","configure":"ncmake configure","test:vgdb":"npm run build && cd build/external/libwebrtc/build/Debug && vgdb --args node ../../../../../dist/nodejs/test/test.js","wpt:reset":"rimraf ./web-platform-tests && npm run wpt:init","test:debug":"npm run build && node --expose-gc --enable-source-maps --trace-exit --inspect-brk dist/nodejs/test/test.js --verbose","wpt:update":"git submodule update --recursive --remote --force && cd web-platform-tests && python wpt.py manifest --path ../lib/nodejs/test/web-platform-tests/wpt-manifest.json","build:native":"node scripts/build-from-source.js","test:verbose":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose","wpt:test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/web-platform-tests/run-wpts.js","test:browsers":"cross-env BROWSER=chrome node scripts/karma.js && cross-env BROWSER=firefox node scripts/karma.js","test:electron":"electron test/electron","publish:binary":"twine publish","wpt:test:debug":"npm run build && node --inspect-brk dist/nodejs/test/web-platform-tests/run-wpts.js","configure:debug":"ncmake configure --debug","install-example":"node scripts/install-example.js","test:gdb:verbose":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js --verbose","test:debug:native":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose --native-debug","build:native:debug":"npm run configure:debug && ncmake build --debug -j 12","build:native:release":"npm run configure && ncmake build -j 12","wpt:test:debug:native":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js --native-debug"},"_npmUser":{"name":"rezonant","email":"wilahti@gmail.com"},"repository":{"url":"git+https://github.com/astronautlabs/webrtc.git","type":"git"},"_npmVersion":"6.14.17","description":"Standards-compliant WebRTC implementation for Node","directories":{},"_nodeVersion":"14.20.0","dependencies":{"nan":"^2.3.2","libyuv":"^0.1.3","bindings":"^1.5.0","node-cmake":"2.3.2","domexception":"^1.0.1","node-addon-api":"^5.0.0","segfault-handler":"^1.3.0","@astronautlabs/twine":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"q":"^1.5.1","ws":"^5.2.0","chai":"^4.3.6","tape":"^4.9.1","temp":"^0.9.0","jsdom":"^16.5.0","karma":"^6.3.16","mocha":"^5.2.0","which":"^2.0.2","dotenv":"^16.0.1","eslint":"^4.14.0","razmin":"^1.2.0","rimraf":"^2.6.2","semver":"^5.5.0","aws-sdk":"^2.2.10","express":"^4.16.2","js-yaml":"^3.13.0","request":"^2.88.0","zone.js":"^0.11.8","minimist":"1.2.6","tap-spec":"^5.0.0","cross-env":"^5.1.4","karma-tap":"^4.1.4","minimatch":"^3.0.4","@fidm/x509":"^1.2.1","node-fetch":"^2.5.0","typescript":"^4.7.4","@types/chai":"^4.3.1","@types/node":"^18.6.3","simple-peer":"~9.7.0","@types/which":"^2.0.1","recursive-copy":"^2.0.10","server-destroy":"^1.0.1","karma-browserify":"^5.1.2","mocha-sugar-free":"^1.4.0","@types/simple-peer":"^9.11.4","browserify-middleware":"^8.1.1","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","request-promise-native":"^1.0.5","karma-tap-pretty-reporter":"^4.1.0"},"optionalDependencies":{"domexception":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webrtc_0.5.2_1661647960177_0.5143719880824147","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"@astronautlabs/webrtc","version":"0.5.3","keywords":["webrtc","p2p","peer"],"author":{"url":"http://blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},"license":"BSD-2-Clause","_id":"@astronautlabs/webrtc@0.5.3","maintainers":[{"name":"rezonant","email":"wilahti@gmail.com"}],"contributors":[{"url":"blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},{"name":"Eric Rescorla","email":"ekr@rtfm.org"},{"name":"Pasquale Boemio","email":"boemianrapsodi@gmail.com"},{"name":"Damon Oehlman","email":"damon@fluxant.com"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi"},{"name":"Alex Londeree","email":"alex.londeree@gmail.com"},{"name":"Jesús Leganés Combarro \"piranna\"","email":"piranna@gmail.com"},{"name":"Dario Andrei","email":"wouldgo84@gmail.com"},{"name":"Matt Porritt","email":"mattp@catalyst-au.net"},{"name":"Mark Andrus Roberts","email":"markandrusroberts@gmail.com"},{"name":"Arno Klein","email":"klaronix@aklein.net"},{"name":"Manu Raghavan","email":"manu@voxology.co"},{"name":"Ross Kukulinski","email":"ross@getyodlr.com"},{"name":"Jeppe Ryskov Larsen","email":"jeppe@bjergsted.dk"},{"name":"Nazar Mokrynskyi","email":"nazar@mokrynskyi.com"},{"name":"Nicholas Johnston","email":"nickjoh@protonmail.ch"},{"name":"William Lahti","email":"liam@astronautlabs.com"}],"homepage":"https://github.com/astronautlabs/webrtc","bugs":{"url":"https://github.com/astronautlabs/webrtc/issues"},"dist":{"shasum":"218ed6ee6b27736e924caa38ef57b54c7c4bb571","tarball":"https://registry.npmjs.org/@astronautlabs/webrtc/-/webrtc-0.5.3.tgz","fileCount":443,"integrity":"sha512-XaMjnQ0bFNZw05PTvg8w+wLAn7RHJlAIwW1A7eeXKwQ3j6dSoWe6GjstfzbN6tzs5rszXnLK6Wh7gJvZ2Xn+6A==","signatures":[{"sig":"MEUCIFP4ct8sMe/eK6pB2QMiLncBu0JiDTl81V+4j3IlfghTAiEA7ueQRq9EhzW3djt0lCH8T3CWHt9F0H5kBa3cMUjoCKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":902657},"main":"dist/nodejs/index.js","twine":{"moduleName":"wrtc","distributionUrl":"https://webrtc.astrocdn.com"},"types":"./dist/nodejs/index.d.ts","browser":"dist/browser/index.js","engines":{"node":"^14.0.0 || ^16.0.0 || ^18.0.0 || ^19.0.0"},"gitHead":"6846e9bf6d4f2f274a4bbcab8151df0cf022fc3e","scripts":{"lint":"eslint lib/*.js lib/**/*.js test/*.js test/**/*.js karma/*.js scripts/*.js","test":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/test.js","build":"tsc -b","clean":"ncmake clean","install":"twine install","test:cpp":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/cpp-test.js","test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js","wpt:init":"git submodule update --init --recursive","wpt:test":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js","configure":"ncmake configure","test:vgdb":"npm run build && cd build/external/libwebrtc/build/Debug && vgdb --args node ../../../../../dist/nodejs/test/test.js","wpt:reset":"rimraf ./web-platform-tests && npm run wpt:init","test:debug":"npm run build && node --expose-gc --enable-source-maps --trace-exit --inspect-brk dist/nodejs/test/test.js --verbose","wpt:update":"git submodule update --recursive --remote --force && cd web-platform-tests && python wpt.py manifest --path ../lib/nodejs/test/web-platform-tests/wpt-manifest.json","build:native":"node scripts/build-from-source.js","test:verbose":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose","wpt:test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/web-platform-tests/run-wpts.js","test:browsers":"cross-env BROWSER=chrome node scripts/karma.js && cross-env BROWSER=firefox node scripts/karma.js","test:electron":"electron test/electron","publish:binary":"twine publish","wpt:test:debug":"npm run build && node --inspect-brk dist/nodejs/test/web-platform-tests/run-wpts.js","configure:debug":"ncmake configure --debug","install-example":"node scripts/install-example.js","test:gdb:verbose":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js --verbose","test:debug:native":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose --native-debug","build:native:debug":"npm run configure:debug && ncmake build --debug -j 12","build:native:release":"npm run configure && ncmake build -j 12","wpt:test:debug:native":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js --native-debug"},"_npmUser":{"name":"rezonant","email":"wilahti@gmail.com"},"repository":{"url":"git+https://github.com/astronautlabs/webrtc.git","type":"git"},"_npmVersion":"11.9.0","description":"Standards-compliant WebRTC implementation for Node","directories":{},"_nodeVersion":"20.19.4","dependencies":{"nan":"^2.26.2","libyuv":"^0.1.5","bindings":"^1.5.0","node-cmake":"2.5.1","node-addon-api":"^5.0.0","@astronautlabs/twine":"^1.1.3","@astronautlabs/segfault-handler":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"q":"^1.5.1","ws":"^5.2.0","chai":"^4.3.6","tape":"^4.9.1","temp":"^0.9.0","jsdom":"^16.5.0","karma":"^6.3.16","mocha":"^5.2.0","which":"^2.0.2","dotenv":"^16.0.1","eslint":"^4.14.0","razmin":"^1.2.0","rimraf":"^2.6.2","semver":"^5.5.0","aws-sdk":"^2.2.10","express":"^4.16.2","js-yaml":"^3.13.0","request":"^2.88.0","zone.js":"^0.11.8","@types/q":"^1.5.8","minimist":"1.2.6","tap-spec":"^5.0.0","cross-env":"^5.1.4","karma-tap":"^4.1.4","minimatch":"^10.2.5","@fidm/x509":"^1.2.1","node-fetch":"^2.5.0","typescript":"^4.7.4","@types/chai":"^4.3.1","@types/node":"^18.6.3","simple-peer":"~9.7.0","@types/jsdom":"^16.2.10","@types/which":"^2.0.1","@types/js-yaml":"^4.0.9","recursive-copy":"^2.0.10","server-destroy":"^1.0.1","karma-browserify":"^5.1.2","mocha-sugar-free":"^1.4.0","@types/simple-peer":"^9.11.4","browserify-middleware":"^8.1.1","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","request-promise-native":"^1.0.5","@types/mocha-sugar-free":"^1.4.8","karma-tap-pretty-reporter":"^4.1.0","@types/request-promise-native":"^1.0.21"},"optionalDependencies":{"domexception":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webrtc_0.5.3_1777502125300_0.9028243501570754","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@astronautlabs/webrtc","version":"0.5.4","keywords":["webrtc","p2p","peer"],"author":{"url":"http://blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},"license":"BSD-2-Clause","_id":"@astronautlabs/webrtc@0.5.4","maintainers":[{"name":"rezonant","email":"wilahti@gmail.com"}],"contributors":[{"url":"blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},{"name":"Eric Rescorla","email":"ekr@rtfm.org"},{"name":"Pasquale Boemio","email":"boemianrapsodi@gmail.com"},{"name":"Damon Oehlman","email":"damon@fluxant.com"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi"},{"name":"Alex Londeree","email":"alex.londeree@gmail.com"},{"name":"Jesús Leganés Combarro \"piranna\"","email":"piranna@gmail.com"},{"name":"Dario Andrei","email":"wouldgo84@gmail.com"},{"name":"Matt Porritt","email":"mattp@catalyst-au.net"},{"name":"Mark Andrus Roberts","email":"markandrusroberts@gmail.com"},{"name":"Arno Klein","email":"klaronix@aklein.net"},{"name":"Manu Raghavan","email":"manu@voxology.co"},{"name":"Ross Kukulinski","email":"ross@getyodlr.com"},{"name":"Jeppe Ryskov Larsen","email":"jeppe@bjergsted.dk"},{"name":"Nazar Mokrynskyi","email":"nazar@mokrynskyi.com"},{"name":"Nicholas Johnston","email":"nickjoh@protonmail.ch"},{"name":"William Lahti","email":"liam@astronautlabs.com"}],"homepage":"https://github.com/astronautlabs/webrtc","bugs":{"url":"https://github.com/astronautlabs/webrtc/issues"},"dist":{"shasum":"782068e1ca03092ad56043b37993e0ae983f48f2","tarball":"https://registry.npmjs.org/@astronautlabs/webrtc/-/webrtc-0.5.4.tgz","fileCount":443,"integrity":"sha512-iyKJn0ES+IXQoIESTchvvCeJhvk7hDsD1wsOuhypiam6P+C/A91ZwUnjTUOA1tuBuf0zo5x9ojkMLGiEltsBvg==","signatures":[{"sig":"MEQCIGCwUwWU2mDmDnExoN6Dp3KG8U7AarEoukfyA0MytQMQAiAFRGvAHcv1rAfX+RCW3CIQG1xo+Gozlce4CYNzbGNjZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":902775},"main":"dist/nodejs/index.js","twine":{"moduleName":"wrtc","distributionUrl":"https://webrtc.astrocdn.com"},"types":"./dist/nodejs/index.d.ts","browser":"dist/browser/index.js","engines":{"node":"^14.0.0 || ^16.0.0 || ^18.0.0 || ^19.0.0"},"gitHead":"badaae6a8e87624f9bebb3f2cf5c36e7bf9e8f9f","scripts":{"lint":"eslint lib/*.js lib/**/*.js test/*.js test/**/*.js karma/*.js scripts/*.js","test":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/test.js","build":"tsc -b","clean":"ncmake clean","install":"twine install","test:cpp":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/cpp-test.js","test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js","wpt:init":"git submodule update --init --recursive","wpt:test":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js","configure":"ncmake configure","test:vgdb":"npm run build && cd build/external/libwebrtc/build/Debug && vgdb --args node ../../../../../dist/nodejs/test/test.js","wpt:reset":"rimraf ./web-platform-tests && npm run wpt:init","test:debug":"npm run build && node --expose-gc --enable-source-maps --trace-exit --inspect-brk dist/nodejs/test/test.js --verbose","wpt:update":"git submodule update --recursive --remote --force && cd web-platform-tests && python wpt.py manifest --path ../lib/nodejs/test/web-platform-tests/wpt-manifest.json","build:native":"node scripts/build-from-source.js","test:verbose":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose","wpt:test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/web-platform-tests/run-wpts.js","test:browsers":"cross-env BROWSER=chrome node scripts/karma.js && cross-env BROWSER=firefox node scripts/karma.js","test:electron":"electron test/electron","publish:binary":"twine publish","wpt:test:debug":"npm run build && node --inspect-brk dist/nodejs/test/web-platform-tests/run-wpts.js","configure:debug":"ncmake configure --debug","install-example":"node scripts/install-example.js","test:gdb:verbose":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js --verbose","test:debug:native":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose --native-debug","build:native:debug":"npm run configure:debug && ncmake build --debug -j 12","build:native:release":"npm run configure && ncmake build -j 12","wpt:test:debug:native":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js --native-debug"},"_npmUser":{"name":"rezonant","email":"wilahti@gmail.com"},"repository":{"url":"git+https://github.com/astronautlabs/webrtc.git","type":"git"},"_npmVersion":"11.9.0","description":"Standards-compliant WebRTC implementation for Node","directories":{},"_nodeVersion":"20.19.4","dependencies":{"nan":"^2.26.2","libyuv":"^0.1.5","bindings":"^1.5.0","node-cmake":"2.5.1","node-addon-api":"^5.0.0","@astronautlabs/twine":"^1.1.3","@astronautlabs/segfault-handler":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"q":"^1.5.1","ws":"^5.2.0","chai":"^4.3.6","tape":"^4.9.1","temp":"^0.9.0","jsdom":"^16.5.0","karma":"^6.3.16","mocha":"^5.2.0","which":"^2.0.2","dotenv":"^16.0.1","eslint":"^4.14.0","razmin":"^1.2.0","rimraf":"^2.6.2","semver":"^5.5.0","aws-sdk":"^2.2.10","express":"^4.16.2","js-yaml":"^3.13.0","request":"^2.88.0","zone.js":"^0.11.8","@types/q":"^1.5.8","minimist":"1.2.6","tap-spec":"^5.0.0","cross-env":"^5.1.4","karma-tap":"^4.1.4","minimatch":"^10.2.5","@fidm/x509":"^1.2.1","node-fetch":"^2.5.0","typescript":"^4.7.4","@types/chai":"^4.3.1","@types/node":"^18.6.3","simple-peer":"~9.7.0","@types/jsdom":"^16.2.10","@types/which":"^2.0.1","@types/js-yaml":"^4.0.9","recursive-copy":"^2.0.10","server-destroy":"^1.0.1","karma-browserify":"^5.1.2","mocha-sugar-free":"^1.4.0","@types/simple-peer":"^9.11.4","browserify-middleware":"^8.1.1","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","request-promise-native":"^1.0.5","@types/mocha-sugar-free":"^1.4.8","karma-tap-pretty-reporter":"^4.1.0","@types/request-promise-native":"^1.0.21"},"optionalDependencies":{"domexception":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webrtc_0.5.4_1777578920537_0.5061448861181441","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@astronautlabs/webrtc","version":"0.5.5","keywords":["webrtc","p2p","peer"],"author":{"url":"http://blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},"license":"BSD-2-Clause","_id":"@astronautlabs/webrtc@0.5.5","maintainers":[{"name":"rezonant","email":"wilahti@gmail.com"}],"contributors":[{"url":"blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},{"name":"Eric Rescorla","email":"ekr@rtfm.org"},{"name":"Pasquale Boemio","email":"boemianrapsodi@gmail.com"},{"name":"Damon Oehlman","email":"damon@fluxant.com"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi"},{"name":"Alex Londeree","email":"alex.londeree@gmail.com"},{"name":"Jesús Leganés Combarro \"piranna\"","email":"piranna@gmail.com"},{"name":"Dario Andrei","email":"wouldgo84@gmail.com"},{"name":"Matt Porritt","email":"mattp@catalyst-au.net"},{"name":"Mark Andrus Roberts","email":"markandrusroberts@gmail.com"},{"name":"Arno Klein","email":"klaronix@aklein.net"},{"name":"Manu Raghavan","email":"manu@voxology.co"},{"name":"Ross Kukulinski","email":"ross@getyodlr.com"},{"name":"Jeppe Ryskov Larsen","email":"jeppe@bjergsted.dk"},{"name":"Nazar Mokrynskyi","email":"nazar@mokrynskyi.com"},{"name":"Nicholas Johnston","email":"nickjoh@protonmail.ch"},{"name":"William Lahti","email":"liam@astronautlabs.com"}],"homepage":"https://github.com/astronautlabs/webrtc","bugs":{"url":"https://github.com/astronautlabs/webrtc/issues"},"dist":{"shasum":"dc0465eda129e4710c011c7215225e9d9e5f6d27","tarball":"https://registry.npmjs.org/@astronautlabs/webrtc/-/webrtc-0.5.5.tgz","fileCount":443,"integrity":"sha512-PY0/TFtk+lJgv8gX/4+B99jmDBZ1BFjCng2sCIVRdNahE+ImSo6fyo3PWQFC1JmO4cB92XRDiA0yJofE7VbK4g==","signatures":[{"sig":"MEUCIEiutIt33EPh+88T3cC7w0AiBx4qpgXeI7o4iW7d2BwFAiEAzbiUtG+ZRYFjq558Ikco8YqOtGwNPSRWEH3ZyQkJ5BI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":902977},"main":"dist/nodejs/index.js","twine":{"moduleName":"wrtc","distributionUrl":"https://webrtc.astrocdn.com"},"types":"./dist/nodejs/index.d.ts","browser":"dist/browser/index.js","engines":{"node":"^14.0.0 || ^16.0.0 || ^18.0.0 || ^19.0.0"},"gitHead":"95c5be045472ebf3e63a2d8e68671630929b04f1","scripts":{"lint":"eslint lib/*.js lib/**/*.js test/*.js test/**/*.js karma/*.js scripts/*.js","test":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/test.js","build":"tsc -b","clean":"ncmake clean","install":"twine install","test:cpp":"npm run build && node --expose-gc --enable-source-maps dist/nodejs/test/cpp-test.js","test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js","wpt:init":"git submodule update --init --recursive","wpt:test":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js","configure":"ncmake configure","test:vgdb":"npm run build && cd build/external/libwebrtc/build/Debug && vgdb --args node ../../../../../dist/nodejs/test/test.js","wpt:reset":"rimraf ./web-platform-tests && npm run wpt:init","test:debug":"npm run build && node --expose-gc --enable-source-maps --trace-exit --inspect-brk dist/nodejs/test/test.js --verbose","wpt:update":"git submodule update --recursive --remote --force && cd web-platform-tests && python wpt.py manifest --path ../lib/nodejs/test/web-platform-tests/wpt-manifest.json","build:native":"node scripts/build-from-source.js","test:verbose":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose","wpt:test:gdb":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/web-platform-tests/run-wpts.js","test:browsers":"cross-env BROWSER=chrome node scripts/karma.js && cross-env BROWSER=firefox node scripts/karma.js","test:electron":"electron test/electron","prepublishOnly":"npm run test","publish:binary":"twine publish","wpt:test:debug":"npm run build && node --inspect-brk dist/nodejs/test/web-platform-tests/run-wpts.js","configure:debug":"ncmake configure --debug","install-example":"node scripts/install-example.js","test:gdb:verbose":"npm run build && cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/test.js --verbose","test:debug:native":"npm run build && node --expose-gc --enable-source-maps --trace-exit dist/nodejs/test/test.js --verbose --native-debug","build:native:debug":"npm run configure:debug && ncmake build --debug -j 12","build:native:release":"npm run configure && ncmake build -j 12","wpt:test:debug:native":"npm run build && node dist/nodejs/test/web-platform-tests/run-wpts.js --native-debug"},"_npmUser":{"name":"rezonant","email":"wilahti@gmail.com"},"repository":{"url":"git+https://github.com/astronautlabs/webrtc.git","type":"git"},"_npmVersion":"11.9.0","description":"Standards-compliant WebRTC implementation for Node","directories":{},"_nodeVersion":"20.19.4","dependencies":{"nan":"^2.26.2","libyuv":"^0.1.5","bindings":"^1.5.0","node-cmake":"2.5.1","node-addon-api":"^5.0.0","@astronautlabs/twine":"^1.1.3","@astronautlabs/segfault-handler":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"q":"^1.5.1","ws":"^5.2.0","chai":"^4.3.6","tape":"^4.9.1","temp":"^0.9.0","jsdom":"^16.5.0","karma":"^6.3.16","mocha":"^5.2.0","which":"^2.0.2","dotenv":"^16.0.1","eslint":"^4.14.0","razmin":"^1.2.0","rimraf":"^2.6.2","semver":"^5.5.0","aws-sdk":"^2.2.10","express":"^4.16.2","js-yaml":"^3.13.0","request":"^2.88.0","zone.js":"^0.11.8","@types/q":"^1.5.8","minimist":"1.2.6","tap-spec":"^5.0.0","cross-env":"^5.1.4","karma-tap":"^4.1.4","minimatch":"^10.2.5","@fidm/x509":"^1.2.1","node-fetch":"^2.5.0","typescript":"^4.7.4","@types/chai":"^4.3.1","@types/node":"^18.6.3","simple-peer":"~9.7.0","@types/jsdom":"^16.2.10","@types/which":"^2.0.1","@types/js-yaml":"^4.0.9","recursive-copy":"^2.0.10","server-destroy":"^1.0.1","karma-browserify":"^5.1.2","mocha-sugar-free":"^1.4.0","@types/simple-peer":"^9.11.4","browserify-middleware":"^8.1.1","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","request-promise-native":"^1.0.5","@types/mocha-sugar-free":"^1.4.8","karma-tap-pretty-reporter":"^4.1.0","@types/request-promise-native":"^1.0.21"},"optionalDependencies":{"domexception":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webrtc_0.5.5_1777579411660_0.24412681668383596","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@astronautlabs/webrtc","version":"0.6.0","keywords":["webrtc","p2p","peer"],"author":{"url":"http://blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},"license":"BSD-2-Clause","_id":"@astronautlabs/webrtc@0.6.0","maintainers":[{"name":"rezonant","email":"wilahti@gmail.com"}],"contributors":[{"url":"blog.modeswitch.org","name":"Alan K","email":"ack@modeswitch.org"},{"name":"Eric Rescorla","email":"ekr@rtfm.org"},{"name":"Pasquale Boemio","email":"boemianrapsodi@gmail.com"},{"name":"Damon Oehlman","email":"damon@fluxant.com"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi"},{"name":"Alex Londeree","email":"alex.londeree@gmail.com"},{"name":"Jesús Leganés Combarro \"piranna\"","email":"piranna@gmail.com"},{"name":"Dario Andrei","email":"wouldgo84@gmail.com"},{"name":"Matt Porritt","email":"mattp@catalyst-au.net"},{"name":"Mark Andrus Roberts","email":"markandrusroberts@gmail.com"},{"name":"Arno Klein","email":"klaronix@aklein.net"},{"name":"Manu Raghavan","email":"manu@voxology.co"},{"name":"Ross Kukulinski","email":"ross@getyodlr.com"},{"name":"Jeppe Ryskov Larsen","email":"jeppe@bjergsted.dk"},{"name":"Nazar Mokrynskyi","email":"nazar@mokrynskyi.com"},{"name":"Nicholas Johnston","email":"nickjoh@protonmail.ch"},{"name":"William Lahti","email":"liam@astronautlabs.com"}],"homepage":"https://github.com/astronautlabs/webrtc","bugs":{"url":"https://github.com/astronautlabs/webrtc/issues"},"dist":{"shasum":"bce0ecf3dc8135311df3822c741793ec740bf9e1","tarball":"https://registry.npmjs.org/@astronautlabs/webrtc/-/webrtc-0.6.0.tgz","fileCount":236,"integrity":"sha512-HE7WqQQZdhrluS9wg+Kt2vNtdbU17n6J7Ys0uezvxFvGO+Jz2zmRPHLGKVbt+nA7CMVwl//RYW3E8MveRwxUUw==","signatures":[{"sig":"MEUCIQCFovk7Uh0yMflKH++GIVNrTXouEQLI5USjOCCsLEKJZQIgfpfFPqaqEgaeZVttjamMDT4y2V2Q8AMGyb8ls+k/3Bw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":690870},"main":"dist/nodejs/index.js","twine":{"moduleName":"wrtc","distributionUrl":"https://webrtc.astrocdn.com"},"types":"./dist/nodejs/index.d.ts","browser":"dist/browser/index.js","engines":{"node":">=18.0.0"},"gitHead":"907c5054202c02c1fc7b880f50b3a38d32703346","scripts":{"test":"node --expose-gc node_modules/jest/bin/jest.js --showSeed","build":"npm run build:native && npm run build:tsc","install":"twine install","test:cpp":"node --expose-gc --enable-source-maps dist/nodejs/test/cpp-test.js","test:gdb":"gdb -ex run --args node --expose-gc node_modules/jest/bin/jest.js --showSeed --runInBand","test:wtf":"wtfnode --expose-gc node_modules/jest/bin/jest.js --showSeed","wpt:init":"git submodule update --init --recursive","wpt:test":"node dist/nodejs/test/web-platform-tests/run-wpts.js","build:tsc":"tsc -b","test:vgdb":"cd build/external/libwebrtc/build/Debug && vgdb --args node node_modules/jest/bin/jest.js","wpt:reset":"rimraf ./web-platform-tests && npm run wpt:init","wpt:update":"git submodule update --recursive --remote --force && cd web-platform-tests && python wpt.py manifest --path ../lib/nodejs/test/web-platform-tests/wpt-manifest.json","build:native":"npm run build:native:libwebrtc && npm run build:native:addon","test:browser":"ts-node test/browser/test.ts","wpt:test:gdb":"cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/web-platform-tests/run-wpts.js","test:electron":"electron dist/nodejs/test/electron/index.js","prepublishOnly":"npm run test","publish:binary":"twine publish","wpt:test:debug":"node --inspect-brk dist/nodejs/test/web-platform-tests/run-wpts.js","build:ci-docker":"npm run build:ci-docker:build && npm run build:ci-docker:push","test:gdb:verbose":"LOG=1 DEBUG=simple-peer,webrtc NODE_WEBRTC_LOGGING=1 gdb -ex run --args node --expose-gc node_modules/jest/bin/jest.js --showSeed","build:native:addon":"ts-node scripts/build-addon.ts","build:native:debug":"npm run build:native:libwebrtc:debug && npm run build:native:addon:debug","build:ci-docker:push":"docker push astronautlabs/ci-webrtc:latest","build:ci-docker:build":"docker build . -t astronautlabs/ci-webrtc:latest","wpt:test:debug:native":"node dist/nodejs/test/web-platform-tests/run-wpts.js --native-debug","build:native:libwebrtc":"ts-node scripts/build-webrtc.ts","build:native:addon:debug":"ts-node scripts/build-addon.ts Debug","build:native:libwebrtc:debug":"ts-node scripts/build-webrtc.ts Debug"},"_npmUser":{"name":"rezonant","email":"wilahti@gmail.com"},"repository":{"url":"git+https://github.com/astronautlabs/webrtc.git","type":"git"},"_npmVersion":"10.9.8","description":"Standards-compliant WebRTC implementation for Node","directories":{},"_nodeVersion":"22.23.1","allowScripts":{"canvas@3.2.3":true,"libyuv@0.2.2":true,"esbuild@0.27.7":true,"electron@43.1.1":true,"puppeteer@24.43.1":true,"unrs-resolver@1.12.2":true},"dependencies":{"nan":"^2.26.2","libyuv":"^0.2.2","bindings":"^1.5.0","cmake-js":"^8.0.0","node-addon-api":"^8.9.0","@astronautlabs/twine":"^1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"q":"^1.5.1","ws":"^8.21.0","chai":"^4.3.6","glob":"^13.0.6","jest":"^30.4.2","debug":"^4.4.3","jsdom":"^29.1.1","tslib":"^2.8.1","which":"^2.0.2","canvas":"^3.2.3","dotenv":"^16.0.1","eslint":"^4.14.0","mkdirp":"^3.0.1","rimraf":"^6.1.3","aws-sdk":"^2.2.10","js-yaml":"^3.13.0","ts-jest":"^29.4.11","ts-node":"^10.9.2","wtfnode":"^0.10.1","@types/q":"^1.5.8","electron":"^43.1.1","@types/ws":"^8.18.1","minimatch":"^10.2.5","@fidm/x509":"^1.2.1","typescript":"^5.9.3","@types/chai":"^4.3.1","@types/jest":"^30.0.0","@types/node":"^20","simple-peer":"~9.11.1","@types/debug":"^4.1.13","@types/jsdom":"^28.0.3","@types/which":"^2.0.1","@types/mkdirp":"^2.0.0","@types/js-yaml":"^4.0.9","server-destroy":"^1.0.1","@web/test-runner":"^0.20.2","@types/simple-peer":"^9.11.4","@types/server-destroy":"^1.0.4","browserify-middleware":"^8.1.1","@web/dev-server-rollup":"^0.6.4","@rollup/plugin-commonjs":"^29.0.0","@types/mocha-sugar-free":"^1.4.8","@web/dev-server-esbuild":"^1.0.4","@web/test-runner-puppeteer":"^0.18.0","@rollup/plugin-node-resolve":"^16.0.3","rollup-plugin-node-polyfills":"^0.2.1"},"optionalDependencies":{"domexception":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webrtc_0.6.0_1785183905943_0.6859687006845565","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@astronautlabs/webrtc","description":"Standards-compliant WebRTC implementation for Node","keywords":["webrtc","p2p","peer"],"publishConfig":{"access":"public"},"version":"0.6.1","maintainers":[{"name":"rezonant","email":"wilahti@gmail.com"}],"author":{"name":"Alan K","email":"ack@modeswitch.org","url":"http://blog.modeswitch.org"},"homepage":"https://github.com/astronautlabs/webrtc","bugs":{"url":"https://github.com/astronautlabs/webrtc/issues"},"license":"BSD-2-Clause","repository":{"type":"git","url":"git+https://github.com/astronautlabs/webrtc.git"},"main":"dist/nodejs/index.js","browser":"dist/browser/index.js","twine":{"distributionUrl":"https://webrtc.astrocdn.com","moduleName":"wrtc"},"engines":{"node":">=18.0.0"},"dependencies":{"@astronautlabs/twine":"^1.1.5","bindings":"^1.5.0","cmake-js":"^8.0.0","libyuv":"^0.2.2","nan":"^2.26.2","node-addon-api":"^8.9.0"},"optionalDependencies":{"domexception":"^1.0.1"},"devDependencies":{"@fidm/x509":"^1.2.1","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.3","@types/chai":"^4.3.1","@types/debug":"^4.1.13","@types/jest":"^30.0.0","@types/js-yaml":"^4.0.9","@types/jsdom":"^28.0.3","@types/mkdirp":"^2.0.0","@types/mocha-sugar-free":"^1.4.8","@types/node":"^20","@types/q":"^1.5.8","@types/server-destroy":"^1.0.4","@types/simple-peer":"^9.11.4","@types/which":"^2.0.1","@types/ws":"^8.18.1","@web/dev-server-esbuild":"^1.0.4","@web/dev-server-rollup":"^0.6.4","@web/test-runner":"^0.20.2","@web/test-runner-puppeteer":"^0.18.0","aws-sdk":"^2.2.10","browserify-middleware":"^8.1.1","canvas":"^3.2.3","chai":"^4.3.6","debug":"^4.4.3","dotenv":"^16.0.1","electron":"^43.1.1","eslint":"^4.14.0","glob":"^13.0.6","jest":"^30.4.2","js-yaml":"^3.13.0","jsdom":"^29.1.1","minimatch":"^10.2.5","mkdirp":"^3.0.1","q":"^1.5.1","rimraf":"^6.1.3","rollup-plugin-node-polyfills":"^0.2.1","server-destroy":"^1.0.1","simple-peer":"~9.11.1","ts-jest":"^29.4.11","ts-node":"^10.9.2","tslib":"^2.8.1","typescript":"^5.9.3","which":"^2.0.2","ws":"^8.21.0","wtfnode":"^0.10.1"},"scripts":{"install":"twine install","build":"npm run build:native && npm run build:tsc","build:tsc":"tsc -b","build:native":"npm run build:native:libwebrtc && npm run build:native:addon","build:native:debug":"npm run build:native:libwebrtc:debug && npm run build:native:addon:debug","build:native:libwebrtc":"ts-node scripts/build-webrtc.ts","build:native:libwebrtc:debug":"ts-node scripts/build-webrtc.ts Debug","build:native:addon":"ts-node scripts/build-addon.ts","build:native:addon:debug":"ts-node scripts/build-addon.ts Debug","build:ci-docker":"npm run build:ci-docker:build && npm run build:ci-docker:push","build:ci-docker:build":"docker build . -t astronautlabs/ci-webrtc:latest","build:ci-docker:push":"docker push astronautlabs/ci-webrtc:latest","publish:binary":"twine publish","prepublishOnly":"npm run test","test":"node --expose-gc node_modules/jest/bin/jest.js --showSeed","test:gdb":"gdb -ex run --args node --expose-gc node_modules/jest/bin/jest.js --showSeed --runInBand","test:gdb:verbose":"LOG=1 DEBUG=simple-peer,webrtc NODE_WEBRTC_LOGGING=1 gdb -ex run --args node --expose-gc node_modules/jest/bin/jest.js --showSeed","test:wtf":"wtfnode --expose-gc node_modules/jest/bin/jest.js --showSeed","test:cpp":"node --expose-gc --enable-source-maps dist/nodejs/test/cpp-test.js","test:vgdb":"cd build/external/libwebrtc/build/Debug && vgdb --args node node_modules/jest/bin/jest.js","test:browser":"ts-node test/browser/test.ts","test:electron":"electron dist/nodejs/test/electron/index.js","wpt:init":"git submodule update --init --recursive","wpt:reset":"rimraf ./web-platform-tests && npm run wpt:init","wpt:test":"node dist/nodejs/test/web-platform-tests/run-wpts.js","wpt:test:debug":"node --inspect-brk dist/nodejs/test/web-platform-tests/run-wpts.js","wpt:test:debug:native":"node dist/nodejs/test/web-platform-tests/run-wpts.js --native-debug","wpt:test:gdb":"cd build/external/libwebrtc/build/Debug && gdb --args node ../../../../../dist/nodejs/test/web-platform-tests/run-wpts.js","wpt:update":"git submodule update --recursive --remote --force && cd web-platform-tests && python wpt.py manifest --path ../lib/nodejs/test/web-platform-tests/wpt-manifest.json"},"allowScripts":{"canvas@3.2.3":true,"electron@43.1.1":true,"esbuild@0.27.7":true,"libyuv@0.2.2":true,"puppeteer@24.43.1":true,"unrs-resolver@1.12.2":true},"_id":"@astronautlabs/webrtc@0.6.1","contributors":[{"name":"Alan K","email":"ack@modeswitch.org","url":"blog.modeswitch.org"},{"name":"Eric Rescorla","email":"ekr@rtfm.org"},{"name":"Pasquale Boemio","email":"boemianrapsodi@gmail.com"},{"name":"Damon Oehlman","email":"damon@fluxant.com"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi"},{"name":"Alex Londeree","email":"alex.londeree@gmail.com"},{"name":"Jesús Leganés Combarro \"piranna\"","email":"piranna@gmail.com"},{"name":"Dario Andrei","email":"wouldgo84@gmail.com"},{"name":"Matt Porritt","email":"mattp@catalyst-au.net"},{"name":"Mark Andrus Roberts","email":"markandrusroberts@gmail.com"},{"name":"Arno Klein","email":"klaronix@aklein.net"},{"name":"Manu Raghavan","email":"manu@voxology.co"},{"name":"Ross Kukulinski","email":"ross@getyodlr.com"},{"name":"Jeppe Ryskov Larsen","email":"jeppe@bjergsted.dk"},{"name":"Nazar Mokrynskyi","email":"nazar@mokrynskyi.com"},{"name":"Nicholas Johnston","email":"nickjoh@protonmail.ch"},{"name":"William Lahti","email":"liam@astronautlabs.com"}],"gitHead":"938b92c0d15aa75511ccea500784ff6e18be0069","types":"./dist/nodejs/index.d.ts","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-hWdK8Ierfnx/OuQwpwvxp3HZp5DaFwXPT1yXfO6lwWRpNb0P0fkS5VRWwZbjTGc5rvFHKACNQ3feS4r2aY8rkQ==","shasum":"6ace26a78a1fd72c261d91a0d05f34fc2cf0348d","tarball":"https://registry.npmjs.org/@astronautlabs/webrtc/-/webrtc-0.6.1.tgz","fileCount":248,"unpackedSize":733478,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGVsCJYYY717bYzcoSdfg7PryfvEJGp04JAlDNyuhO1/AiEA5ZybI0drc0xRbVUKgbVXmY0m/cATOn0+cbtgdDovg6M="}]},"_npmUser":{"name":"rezonant","email":"wilahti@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/webrtc_0.6.1_1786046739380_0.9861037893640745"},"_hasShrinkwrap":false}},"time":{"created":"2022-08-26T05:14:55.752Z","modified":"2026-08-06T20:05:39.812Z","0.5.0":"2022-08-26T05:14:56.088Z","0.5.1":"2022-08-26T06:13:11.255Z","0.5.2":"2022-08-28T00:52:40.567Z","0.5.3":"2026-04-29T22:35:25.521Z","0.5.4":"2026-04-30T19:55:20.753Z","0.5.5":"2026-04-30T20:03:31.855Z","0.6.0":"2026-07-27T20:25:06.108Z","0.6.1":"2026-08-06T20:05:39.576Z"},"bugs":{"url":"https://github.com/astronautlabs/webrtc/issues"},"author":{"name":"Alan K","email":"ack@modeswitch.org","url":"http://blog.modeswitch.org"},"license":"BSD-2-Clause","homepage":"https://github.com/astronautlabs/webrtc","keywords":["webrtc","p2p","peer"],"repository":{"type":"git","url":"git+https://github.com/astronautlabs/webrtc.git"},"description":"Standards-compliant WebRTC implementation for Node","contributors":[{"name":"Alan K","email":"ack@modeswitch.org","url":"blog.modeswitch.org"},{"name":"Eric Rescorla","email":"ekr@rtfm.org"},{"name":"Pasquale Boemio","email":"boemianrapsodi@gmail.com"},{"name":"Damon Oehlman","email":"damon@fluxant.com"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi"},{"name":"Alex Londeree","email":"alex.londeree@gmail.com"},{"name":"Jesús Leganés Combarro \"piranna\"","email":"piranna@gmail.com"},{"name":"Dario Andrei","email":"wouldgo84@gmail.com"},{"name":"Matt Porritt","email":"mattp@catalyst-au.net"},{"name":"Mark Andrus Roberts","email":"markandrusroberts@gmail.com"},{"name":"Arno Klein","email":"klaronix@aklein.net"},{"name":"Manu Raghavan","email":"manu@voxology.co"},{"name":"Ross Kukulinski","email":"ross@getyodlr.com"},{"name":"Jeppe Ryskov Larsen","email":"jeppe@bjergsted.dk"},{"name":"Nazar Mokrynskyi","email":"nazar@mokrynskyi.com"},{"name":"Nicholas Johnston","email":"nickjoh@protonmail.ch"},{"name":"William Lahti","email":"liam@astronautlabs.com"}],"maintainers":[{"name":"rezonant","email":"wilahti@gmail.com"}],"readme":"# @/webrtc\r\n\r\n> 🚧 **Beta**  \r\n> This library is in a beta state. It is not yet ready for production use.\r\n\r\n> 📺 Part of the [**Astronaut Labs Broadcast Suite**](https://github.com/astronautlabs/broadcast)\r\n\r\n> Originally published as [`wrtc`](https://github.com/node-webrtc/node-webrtc), forked primarily for use in\r\n> [Astronaut Labs Broadcast Stack](https://github.com/astronautlabs/broadcast). Feel free to use for your own purposes\r\n> as well.\r\n\r\n[![NPM](https://img.shields.io/npm/v/@astronautlabs/webrtc.svg)](https://www.npmjs.com/package/@astronautlabs/webrtc) [![Build Status](https://circleci.com/gh/astronautlabs/webrtc/tree/main.svg?style=shield)](https://circleci.com/gh/astronautlabs/webrtc)\r\n\r\nNode.js implementation of WebRTC API using [Chromium WebRTC M150](https://groups.google.com/g/discuss-webrtc/c/Uv73mZiOH6c/m/_gmJtzcIBAAJ). This project aims for spec-compliance and is tested using the W3C's [web-platform-tests](https://github.com/web-platform-tests/wpt) project. A number of [nonstandard APIs](docs/nonstandard-apis.md) for testing are also included.\r\n\r\n# Install\r\n\r\n```\r\nnpm install @astronautlabs/webrtc\r\n```\r\n\r\nInstalling from NPM downloads a prebuilt binary for your operating system × architecture. Set the `TARGET_ARCH` environment variable to \"arm\" or \"arm64\" to download for armv7l or arm64, respectively. Linux and macOS users can also set the `DEBUG` environment variable to download debug builds.\r\n\r\nYou can also [build from source](docs/build-from-source.md).\r\n\r\n# Supported Platforms\r\n\r\nSupports [Node API v9](https://nodejs.org/api/n-api.html#node-api-version-matrix) (Node.js 18+)\r\n\r\nFor the following platforms:\r\n- Linux\r\n- macOS\r\n- Windows\r\n\r\nOn the following architectures:\r\n- x64\r\n- arm64 \r\n\r\nBuild validation is not yet in place for all of these platforms. \r\n\r\n# Troubleshooting\r\n\r\n## Node.js `>= 26.0.0 && < 26.3.0` on Windows\r\n\r\nNode.js has started building with ClangCL, which triggers the bundled node-gyp to try to build normal `.gyp` addons like \r\n`libyuv` (which is a dependency of `@/webrtc`) using ClangCL, but simultaneously passes MSVC specific arguments such as \r\n`/ltcg:incremental` which causes the `libyuv` build to fail on `npm install`. \r\n\r\nSolution: Either upgrade Node.js to 26.3 or later, or install a `node-gyp@10.3` or later. \r\n\r\nIt is not in our interest to produce a workaround on our end for this short series of Node.js builds which are not in \r\nthe LTS branch, especially when there are easy workarounds by upgrading Node.js or `node-gyp`.\r\n\r\n# Developers\r\n\r\nThis section has notes about how to be productive working with this codebase including building it from source.\r\n\r\n## Build Tools & Prerequisites\r\n\r\nLinux:\r\n- `python` 3.10.12+\r\n- `llvm`/`clang` 22+  \r\n  If you use LLVM's Apt repository, ensure you have unprefixed versions of at least `clang`, `clang++` and `llvm-ar`:\r\n  ```bash\r\n  sudo ln -s `which clang-22` /usr/local/bin/clang\r\n  sudo ln -s `which clang++-22` /usr/local/bin/clang++\r\n  sudo ln -s `which llvm-ar-22` /usr/local/bin/llvm-ar\r\n  ```\r\n- `cmake` 3.22.1+\r\n- `ninja` 1.10.1+\r\n- `libnspr4`/`libnss3` (if you want to run the browser tests)\r\n\r\nWindows:\r\n- Python3\r\n- Make sure long path support is enabled\r\n    - Set `HKLM\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\\LongPathsEnable` to `1`\r\n    - `git config --global core.longpaths true`\r\n    - `git config core.longpaths true`\r\n- Install VS 2026 [Community edition is fine]\r\n- Install Windows 10 or 11 SDK\r\n- Install LLVM 22 or newer (from https://llvm.org/)\r\n- Install cmake 4.4 or later\r\n\r\n\r\n## Build Commands\r\n\r\n- `npm run build` - Compile everything\r\n- `npm run build:native` - Compile libwebrtc and the Node.js addon in release mode\r\n- `npm run build:native:debug` - Compile libwebrtc and Node.js addon in debug mode\r\n- `npm run build:native:webrtc` - Compile libwebrtc in release mode. Note this can take a long time without a strong system, and the results are aggressively cached. If you make changes to the libwebrtc revision (see `scripts/build-webrtc.ts`) or anything else, you should delete `build/external/webrtc` to start fresh. \r\n- `npm run build:tsc` - Compiles the Typescript sources into Javascript\r\n\r\n## IDEs\r\n\r\n### Visual Studio Code + clangd\r\n\r\nThis project will generate `build/compile_commands.json` when you use a developer build (`npm run build:dev`). The \r\n`clangd` VS Code extension will pick this up out of the box, providing excellent intellisense for the project.\r\n\r\n### CLion\r\n\r\nThis should work out of the box, except you need to make sure your node binary is available to CLion, which might not \r\nbe the case if you are using NVM and have added its shell integration in .bashrc or .bash_profile instead of .profile. \r\nAlso CLion has an option (default enabled in newer versions) to use the shell when executing commands, you would need \r\nthat turned on. None of this applies if your Node is installed at the system level.\r\n\r\nWhile CLion should more or less work, you are likely to have a better dev experience with VSC and clangd. \r\n\r\n## Debugging CI Core Dumps\r\n\r\nIn the event of test failure, the `test` job will collect any core dumps and deposit them as CircleCI Artifacts. You can \r\nthen download the core dumps and debug them using `gdb`.\r\n\r\nYou can download the Debug binary from the `build` job that spawned the corresponding `test` job. Place it in your \r\nworkspace as `build/Debug/wrtc.node`.\r\n\r\nYou'll also need to be running the exact same version of Node.js in order for the symbols to line up. \r\n\r\n```bash\r\nnvm install <node-version-that-crashed>\r\nnvm use <node-version-that-crashed>\r\n```\r\n\r\nTo load a dump and get its backtrace:\r\n```bash\r\n$ gdb $(which node) core-dump-filename\r\n(gdb) set solib-search-path build/Debug/\r\n(gdb) bt\r\n```\r\n\r\nIf you have the wrong Node.js version (or if the build of that version is incompatible with the one from CI), or if you\r\nforget to set the solib-search-path to look in build/Debug, all but the Node.js symbols will be unknown (`??` in GDB).\r\n\r\n# Required Reading\r\n\r\nReferences\r\n- [RTP: A Transport Protocol for Real-Time Applications](https://datatracker.ietf.org/doc/html/rfc3550) (IETF RFC 3550)\r\n- [Unified Plan](https://datatracker.ietf.org/doc/html/draft-roach-mmusic-unified-plan-00#section-2)\r\n- [Plan B](https://datatracker.ietf.org/doc/html/draft-uberti-rtcweb-plan-00)\r\n- [RTCRtpTransceiver](https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpTransceiver) (MDN)\r\n- [Negotiating Media Multiplexing Using the Session Description Protocol](https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-sdp-bundle-negotiation-54#section-18) (\"BUNDLE\" IETF I-D)\r\n\r\nEditorial\r\n- [The evolution of WebRTC 1.0.](https://blog.mozilla.org/webrtc/the-evolution-of-webrtc/) (Mozilla)\r\n- [Exploring RTCRtpTransceiver.](https://blog.mozilla.org/webrtc/rtcrtptransceiver-explored/) (Mozilla)\r\n- [Webrtc with transceivers](https://niccoloterreri.com/webrtc-with-transceivers) (nterreri)\r\n","readmeFilename":"README.md"}