{"_id":"libp2p-mplex","_rev":"4634483","name":"libp2p-mplex","description":"JavaScript implementation of https://github.com/libp2p/mplex","dist-tags":{"latest":"0.10.7"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"time":{"modified":"2026-04-10T19:08:25.000Z","created":"2018-02-19T09:13:34.824Z","1.0.0":"2022-02-14T16:39:20.966Z","0.10.7":"2022-01-14T09:14:13.717Z","0.10.6":"2022-01-14T09:05:35.395Z","0.10.5":"2021-12-07T09:12:39.411Z","0.10.4":"2021-07-08T12:43:52.079Z","0.10.3":"2021-04-16T07:45:20.011Z","0.10.2":"2021-01-29T08:44:10.682Z","0.10.1":"2020-10-22T11:22:31.572Z","0.10.0":"2020-08-11T16:54:08.660Z","0.9.5":"2020-03-18T15:25:11.450Z","0.9.4":"2020-02-13T15:36:12.331Z","0.9.3":"2019-11-28T13:10:02.831Z","0.9.2":"2019-10-28T15:02:03.613Z","0.9.1":"2019-09-23T16:25:46.818Z","0.9.0":"2019-09-18T07:41:52.390Z","0.8.5":"2019-03-18T11:54:49.833Z","0.8.4":"2018-11-15T09:53:53.220Z","0.8.3":"2018-11-08T13:21:49.763Z","0.8.2":"2018-10-01T14:52:09.311Z","0.8.1":"2018-10-01T10:29:27.566Z","0.8.0":"2018-06-19T12:40:25.574Z","0.7.0":"2018-04-05T16:41:17.748Z","0.6.0":"2018-02-19T09:13:34.824Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"versions":{"1.0.0":{"name":"libp2p-mplex","version":"1.0.0","description":"JavaScript implementation of https://github.com/libp2p/mplex","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"keywords":["IPFS","connection","duplex","libp2p","mplex","multiplex","muxer","stream"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"import":"./dist/src/index.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check","build":"tsc","pretest":"npm run build","test":"aegir test -f ./dist/test","test:chrome":"npm run test -- -t browser --cov","test:chrome-webworker":"npm run test -- -t webworker","test:firefox":"npm run test -- -t browser -- --browser firefox","test:firefox-webworker":"npm run test -- -t webworker -- --browser firefox","test:node":"npm run test -- -t node --cov","test:electron-main":"npm run test -- -t electron-main","release":"semantic-release"},"dependencies":{"@libp2p/logger":"^1.0.3","@libp2p/tracked-map":"^1.0.1","abortable-iterator":"^4.0.2","any-signal":"^3.0.0","err-code":"^3.0.1","it-pipe":"^2.0.3","it-pushable":"^2.0.1","it-stream-types":"^1.0.4","uint8arraylist":"^1.2.0","varint":"^6.0.0"},"devDependencies":{"@libp2p/interface-compliance-tests":"^1.0.7","@libp2p/interfaces":"^1.1.1","@types/varint":"^6.0.0","aegir":"^36.1.3","cborg":"^1.2.1","iso-random-stream":"^2.0.0","it-all":"^1.0.6","it-drain":"^1.0.5","it-foreach":"^0.1.1","it-map":"^1.0.6","p-defer":"^4.0.0","random-int":"^3.0.0","uint8arrays":"^3.0.0"},"gitHead":"e1eeba748dd339937f46d580664451835872daef","_id":"libp2p-mplex@1.0.0","_nodeVersion":"16.13.2","_npmVersion":"7.24.2","dist":{"shasum":"d8ad07786ff69367ba073e634bf5d2f88f92cab6","size":19994,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-1.0.0.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_1.0.0_1644856760602_0.5535021885058287"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-14T16:39:28.481Z","publish_time":1644856760966,"_cnpm_publish_time":1644856760966},"0.10.7":{"name":"libp2p-mplex","version":"0.10.7","description":"JavaScript implementation of https://github.com/libp2p/mplex","main":"src/index.js","release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","test":"aegir test","test:chrome":"npm run test -- -t browser --cov","test:chrome-webworker":"npm run test -- -t webworker","test:firefox":"npm run test -- -t browser -- --browser firefox","test:firefox-webworker":"npm run test -- -t webworker -- --browser firefox","test:node":"npm run test -- -t node --cov","test:electron-main":"npm run test -- -t electron-main","release":"semantic-release"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^36.1.3","cborg":"^1.2.1","iso-random-stream":"^2.0.0","libp2p-interfaces":"^2.0.8","libp2p-interfaces-compliance-tests":"^2.0.9","p-defer":"^3.0.0","random-int":"^2.0.0","streaming-iterables":"^6.0.0","uint8arrays":"^3.0.0"},"dependencies":{"abortable-iterator":"^3.0.2","bl":"^5.0.0","debug":"^4.3.1","err-code":"^3.0.1","it-pipe":"^1.1.0","it-pushable":"^1.4.1","varint":"^6.0.0"},"browser":{"./src/coder/encode.js":"./src/coder/encode.browser.js","libp2p-tcp":false},"gitHead":"fc7e3a817e931b486c4a4dd61927374cb931f08c","_id":"libp2p-mplex@0.10.7","_nodeVersion":"16.13.2","_npmVersion":"7.24.2","dist":{"shasum":"2d62e85087964f9cf973173042e40f72b7ca0398","size":24976,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.10.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.10.7.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.10.7_1642151653553_0.5321789816187739"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-14T09:18:48.532Z","publish_time":1642151653717,"_cnpm_publish_time":1642151653717},"0.10.6":{"name":"libp2p-mplex","version":"0.10.6","description":"JavaScript implementation of https://github.com/libp2p/mplex","main":"src/index.js","release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","test":"aegir test","test:chrome":"npm run test -- -t browser --cov","test:chrome-webworker":"npm run test -- -t webworker","test:firefox":"npm run test -- -t browser -- --browser firefox","test:firefox-webworker":"npm run test -- -t webworker -- --browser firefox","test:node":"npm run test -- -t node --cov","test:electron-main":"npm run test -- -t electron-main","release":"semantic-release"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^36.1.3","cborg":"^1.2.1","iso-random-stream":"^2.0.0","libp2p-interfaces":"^2.0.8","libp2p-interfaces-compliance-tests":"^2.0.9","p-defer":"^3.0.0","random-int":"^2.0.0","streaming-iterables":"^6.0.0","uint8arrays":"^3.0.0"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.2","bl":"^5.0.0","debug":"^4.3.1","err-code":"^3.0.1","it-pipe":"^1.1.0","it-pushable":"^1.4.1","varint":"^6.0.0"},"browser":{"./src/coder/encode.js":"./src/coder/encode.browser.js","libp2p-tcp":false},"gitHead":"abd87bfe901e6dce5c6e23680e24abfab1badd43","_id":"libp2p-mplex@0.10.6","_nodeVersion":"16.13.2","_npmVersion":"7.24.2","dist":{"shasum":"bde8a53afb947a37fc45c3ff481c0f20df95201f","size":25067,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.10.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.10.6.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.10.6_1642151135231_0.09862279227865178"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-14T09:09:29.214Z","publish_time":1642151135395,"_cnpm_publish_time":1642151135395},"0.10.5":{"name":"libp2p-mplex","version":"0.10.5","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","browser":{"./src/coder/encode.js":"./src/coder/encode.browser.js","libp2p-tcp":false},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^33.1.0","cborg":"^1.2.1","iso-random-stream":"^2.0.0","libp2p-interfaces":"^1.0.0","libp2p-interfaces-compliance-tests":"^1.0.0","p-defer":"^3.0.0","random-int":"^2.0.0","streaming-iterables":"^6.0.0","uint8arrays":"^2.0.5"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^5.0.0","debug":"^4.3.1","err-code":"^3.0.1","it-pipe":"^1.1.0","it-pushable":"^1.4.1","varint":"^6.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"tuyennhv","email":"vutuyen2636@gmail.com"}],"gitHead":"a24d2b7a1e01f069589dcc77057c39c1ceacc9d8","_id":"libp2p-mplex@0.10.5","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"05603689cf27844b637e483e1df2c24d2dfd0dab","size":25002,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.10.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.10.5.tgz"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.10.5_1638868359212_0.03017790356868777"},"_hasShrinkwrap":false,"publish_time":1638868359411,"_cnpm_publish_time":1638868359411,"_cnpmcore_publish_time":"2021-12-16T10:32:34.570Z"},"0.10.4":{"name":"libp2p-mplex","version":"0.10.4","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","browser":{"./src/coder/encode.js":"./src/coder/encode.browser.js","libp2p-tcp":false},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^33.1.0","cborg":"^1.2.1","iso-random-stream":"^2.0.0","libp2p-interfaces":"^1.0.0","libp2p-interfaces-compliance-tests":"^1.0.0","p-defer":"^3.0.0","random-int":"^2.0.0","streaming-iterables":"^6.0.0","uint8arrays":"^2.0.5"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^5.0.0","debug":"^4.3.1","err-code":"^3.0.1","it-pipe":"^1.1.0","it-pushable":"^1.4.1","varint":"^6.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"}],"gitHead":"68925e65c16a0ef90ffbc64efa387290928187e4","_id":"libp2p-mplex@0.10.4","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"shasum":"9f216ce481e94c748b4dc415e4555fdd8b09a9e4","size":24989,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.10.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.10.4.tgz"},"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.10.4_1625748231940_0.02115877460333704"},"_hasShrinkwrap":false,"publish_time":1625748232079,"_cnpm_publish_time":1625748232079,"_cnpmcore_publish_time":"2021-12-16T10:32:34.838Z"},"0.10.3":{"name":"libp2p-mplex","version":"0.10.3","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","browser":{"./src/coder/encode.js":"./src/coder/encode.browser.js","libp2p-tcp":false},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^33.1.0","cborg":"^1.2.1","iso-random-stream":"^2.0.0","libp2p-interfaces":"^0.10.0","p-defer":"^3.0.0","random-int":"^2.0.0","streaming-iterables":"^5.0.4","uint8arrays":"^2.0.5"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^5.0.0","debug":"^4.3.1","err-code":"^3.0.1","it-pipe":"^1.1.0","it-pushable":"^1.4.1","varint":"^6.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"}],"gitHead":"669369b81ad6170703723de78c79f1aae850c084","_id":"libp2p-mplex@0.10.3","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"dde26361125f2e3450f771bbf403f6cce5bab291","size":26890,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.10.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.10.3.tgz"},"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.10.3_1618559119846_0.8663128057007576"},"_hasShrinkwrap":false,"publish_time":1618559120011,"_cnpm_publish_time":1618559120011,"_cnpmcore_publish_time":"2021-12-16T10:32:35.127Z"},"0.10.2":{"name":"libp2p-mplex","version":"0.10.2","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","browser":{"./src/coder/encode.js":"./src/coder/encode.browser.js"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^30.3.0","libp2p-interfaces":"^0.8.3","p-defer":"^3.0.0","random-bytes":"^1.0.0","random-int":"^2.0.0","streaming-iterables":"^5.0.4","uint8arrays":"^2.0.5"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^4.0.0","debug":"^4.3.1","err-code":"^2.0.3","it-pipe":"^1.1.0","it-pushable":"^1.4.1","varint":"^6.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"}],"gitHead":"0aeae8b15bccfe2919a0fecfb5e0cf5543827c70","_id":"libp2p-mplex@0.10.2","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"shasum":"99f1381b43258269bab2425ff5ebd500512cacb4","size":10437,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.10.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.10.2.tgz"},"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.10.2_1611909850505_0.5012427592748405"},"_hasShrinkwrap":false,"publish_time":1611909850682,"_cnpm_publish_time":1611909850682,"_cnpmcore_publish_time":"2021-12-16T10:32:35.369Z"},"0.10.1":{"name":"libp2p-mplex","version":"0.10.1","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","browser":{"./src/coder/encode.js":"./src/coder/encode.browser.js"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^28.0.0","interface-stream-muxer":"^0.8.0","p-defer":"^3.0.0","random-bytes":"^1.0.0","random-int":"^2.0.0","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^4.0.0","debug":"^4.1.1","err-code":"^2.0.3","it-pipe":"^1.0.1","it-pushable":"^1.3.1","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"}],"gitHead":"156118a7c792c52a8a000fb09488af0b0fb952ee","_id":"libp2p-mplex@0.10.1","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"shasum":"9f8f276230bd00805f0138591582d42a69343817","size":25724,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.10.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.10.1.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmUser":{"name":"jacobheun","email":"jacobheun@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.10.1_1603365751464_0.838285756608321"},"_hasShrinkwrap":false,"publish_time":1603365751572,"_cnpm_publish_time":1603365751572,"_cnpmcore_publish_time":"2021-12-16T10:32:35.670Z"},"0.10.0":{"name":"libp2p-mplex","version":"0.10.0","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","browser":{"./src/coder/encode.js":"./src/coder/encode.browser.js"},"scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^25.0.0","interface-stream-muxer":"^0.8.0","p-defer":"^3.0.0","random-bytes":"^1.0.0","random-int":"^2.0.0","streaming-iterables":"^5.0.2","uint8arrays":"^1.1.0"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^4.0.0","debug":"^4.1.1","it-pipe":"^1.0.1","it-pushable":"^1.3.1","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"}],"gitHead":"a9559cd32d6a8f380b21a54c3df41f1e68cd870f","_id":"libp2p-mplex@0.10.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"shasum":"c57c95fdd1ce5031d20a09e42be386883cb444e1","size":25304,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.10.0.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmUser":{"name":"jacobheun","email":"jacobheun@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.10.0_1597164848563_0.7575595671334299"},"_hasShrinkwrap":false,"publish_time":1597164848660,"_cnpm_publish_time":1597164848660,"_cnpmcore_publish_time":"2021-12-16T10:32:35.949Z"},"0.9.5":{"name":"libp2p-mplex","version":"0.9.5","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^21.2.0","chai":"^4.2.0","dirty-chai":"^2.0.1","interface-stream-muxer":"^0.8.0","p-defer":"^3.0.0","random-bytes":"^1.0.0","random-int":"^2.0.0","streaming-iterables":"^4.1.0"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^4.0.0","buffer":"^5.5.0","debug":"^4.1.1","it-pipe":"^1.0.1","it-pushable":"^1.3.1","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Hugo Dias","email":"hugomrdias@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"}],"gitHead":"24841e399afec7a539767a7baffc893d034d0113","_id":"libp2p-mplex@0.9.5","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"shasum":"47cb8a426e9792ce89e92f24dc3485735aa15be0","size":146389,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.9.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.9.5.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.9.5_1584545111255_0.6974972873920748"},"_hasShrinkwrap":false,"publish_time":1584545111450,"_cnpm_publish_time":1584545111450,"_cnpmcore_publish_time":"2021-12-16T10:32:36.689Z"},"0.9.4":{"name":"libp2p-mplex","version":"0.9.4","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^20.0.0","chai":"^4.2.0","dirty-chai":"^2.0.1","interface-stream-muxer":"^0.8.0","p-defer":"^3.0.0","random-bytes":"^1.0.0","random-int":"^2.0.0","streaming-iterables":"^4.1.0"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^4.0.0","debug":"^4.1.1","it-pipe":"^1.0.1","it-pushable":"^1.3.1","varint":"^5.0.0"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"3767713cddc89028a5c6174c7a43c8351782b98d","_id":"libp2p-mplex@0.9.4","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"shasum":"bdbc2cf1c165eb8a16e8d65756c827b443f3f914","size":152556,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.9.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.9.4.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmUser":{"name":"jacobheun","email":"jacobheun@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.9.4_1581608172108_0.8889406500231063"},"_hasShrinkwrap":false,"publish_time":1581608172331,"_cnpm_publish_time":1581608172331,"_cnpmcore_publish_time":"2021-12-16T10:32:37.697Z"},"0.9.3":{"name":"libp2p-mplex","version":"0.9.3","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^20.0.0","chai":"^4.2.0","dirty-chai":"^2.0.1","interface-stream-muxer":"^0.8.0","p-defer":"^3.0.0","random-bytes":"^1.0.0","random-int":"^2.0.0","streaming-iterables":"^4.1.0"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^4.0.0","debug":"^4.1.1","it-pipe":"^1.0.1","it-pushable":"^1.3.1","varint":"^5.0.0"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"d9956ea20ae614a4b1b2a9e6bce389575d205469","_id":"libp2p-mplex@0.9.3","_nodeVersion":"10.15.1","_npmVersion":"6.11.3","dist":{"shasum":"8d996969a6cbb5ec26e8dba85581d66468ff6ca9","size":310625,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.9.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.9.3.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.9.3_1574946602663_0.6512268087206416"},"_hasShrinkwrap":false,"publish_time":1574946602831,"_cnpm_publish_time":1574946602831,"_cnpmcore_publish_time":"2021-12-16T10:32:39.173Z"},"0.9.2":{"name":"libp2p-mplex","version":"0.9.2","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^20.0.0","chai":"^4.2.0","dirty-chai":"^2.0.1","interface-stream-muxer":"^0.8.0","p-defer":"^3.0.0","random-bytes":"^1.0.0","random-int":"^2.0.0","streaming-iterables":"^4.1.0"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^3.0.0","bl":"^4.0.0","debug":"^4.1.1","it-pipe":"^1.0.1","it-pushable":"^1.3.1","varint":"^5.0.0"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"ce6a2363b3ec97059b5145f542d087d901f14e58","_id":"libp2p-mplex@0.9.2","_nodeVersion":"10.15.1","_npmVersion":"6.11.3","dist":{"shasum":"d7e30221b01b1b2fe82527311510a556d38f7c8d","size":309784,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.9.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.9.2.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.9.2_1572274923415_0.8063989960803726"},"_hasShrinkwrap":false,"publish_time":1572274923613,"_cnpm_publish_time":1572274923613,"_cnpmcore_publish_time":"2021-12-16T10:32:40.363Z"},"0.9.1":{"name":"libp2p-mplex","version":"0.9.1","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^20.0.0","chai":"^4.2.0","dirty-chai":"^2.0.1","interface-stream-muxer":"^0.8.0","p-defer":"^3.0.0","random-bytes":"^1.0.0","random-int":"^2.0.0","streaming-iterables":"^4.1.0"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^2.1.0","bl":"^4.0.0","debug":"^4.1.1","it-pipe":"^1.0.1","it-pushable":"^1.3.1","varint":"^5.0.0"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"f45bbd35b98ece54814557d430809e487df829c3","_id":"libp2p-mplex@0.9.1","_nodeVersion":"10.15.1","_npmVersion":"6.11.3","dist":{"shasum":"554c8c4306700ea5dfa24bc51501ae6fd56d7cdc","size":309461,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.9.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.9.1.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.9.1_1569255946611_0.42173742898603295"},"_hasShrinkwrap":false,"publish_time":1569255946818,"_cnpm_publish_time":1569255946818,"_cnpmcore_publish_time":"2021-12-16T10:32:41.135Z"},"0.9.0":{"name":"libp2p-mplex","version":"0.9.0","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","coverage":"nyc --reporter=text --reporter=lcov npm run test:node","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["multiplex","mplex","stream","muxer","connection","duplex","libp2p","IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^20.0.0","chai":"^4.2.0","dirty-chai":"^2.0.1","interface-stream-muxer":"^0.7.0","p-defer":"^3.0.0","random-bytes":"^1.0.0","random-int":"^2.0.0"},"dependencies":{"abort-controller":"^3.0.0","abortable-iterator":"^2.1.0","async-iterator-to-pull-stream":"^1.3.0","bl":"^3.0.0","debug":"^4.1.1","interface-connection":"~0.3.3","it-pipe":"^1.0.1","it-pushable":"^1.3.1","pull-stream":"^3.6.9","varint":"^5.0.0"},"contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"2a90b889344f32b41b86952845631f768626dc7b","_id":"libp2p-mplex@0.9.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"shasum":"2a0412f6dc152619d4093cbab45198d792e19b69","size":307066,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.9.0.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.9.0_1568792512239_0.4105192951145318"},"_hasShrinkwrap":false,"publish_time":1568792512390,"_cnpm_publish_time":1568792512390,"_cnpmcore_publish_time":"2021-12-16T10:32:42.104Z"},"0.8.5":{"name":"libp2p-mplex","version":"0.8.5","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^18.1.0","chai":"^4.2.0","chai-checkmark":"^1.0.1","dirty-chai":"^2.0.1","interface-stream-muxer":"~0.6.0","libp2p-tcp":"~0.13.0","libp2p-websockets":"~0.12.2","multiaddr":"^6.0.4","pull-pair":"^1.1.0","through2":"^2.0.3"},"dependencies":{"async":"^2.6.2","chunky":"0.0.0","concat-stream":"^1.6.2","debug":"^4.1.0","interface-connection":"~0.3.3","pull-catch":"^1.0.1","pull-stream":"^3.6.9","pull-stream-to-stream":"^1.3.4","pump":"^3.0.0","readable-stream":"^3.1.1","stream-to-pull-stream":"^1.7.2","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"4eb4d1e55430288e14b959db32c68ddb06fd86ac","_id":"libp2p-mplex@0.8.5","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"shasum":"a81a10f009c3cccd97f66da11c5f950a6ca37de7","size":366352,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.8.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.8.5.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.8.5_1552910089681_0.8886467015917692"},"_hasShrinkwrap":false,"publish_time":1552910089833,"_cnpm_publish_time":1552910089833,"_cnpmcore_publish_time":"2021-12-16T10:32:42.886Z"},"0.8.4":{"name":"libp2p-mplex","version":"0.8.4","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^17.0.1","chai":"^4.2.0","chai-checkmark":"^1.0.1","dirty-chai":"^2.0.1","interface-stream-muxer":"~0.5.9","libp2p-tcp":"~0.13.0","libp2p-websockets":"~0.12.0","pull-pair":"^1.1.0","through2":"^2.0.3"},"dependencies":{"async":"^2.6.1","chunky":"0.0.0","concat-stream":"^1.6.2","debug":"^4.1.0","duplexify":"^3.6.0","interface-connection":"~0.3.2","pull-catch":"^1.0.0","pull-stream":"^3.6.9","pull-stream-to-stream":"^1.3.4","pump":"^3.0.0","readable-stream":"^3.0.6","stream-to-pull-stream":"^1.7.2","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"aa977c077266bef8383ca2aeaefcdcc12b11fe3e","_id":"libp2p-mplex@0.8.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"shasum":"969cc8bd6cd914a0958ea232de03e9fa4328bde6","size":12633,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.8.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.8.4.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.8.4_1542275633124_0.5796389925230259"},"_hasShrinkwrap":false,"publish_time":1542275633220,"_cnpm_publish_time":1542275633220,"_cnpmcore_publish_time":"2021-12-16T10:32:43.521Z"},"0.8.3":{"name":"libp2p-mplex","version":"0.8.3","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^15.2.0","chai":"^4.2.0","dirty-chai":"^2.0.1","interface-stream-muxer":"~0.5.9","libp2p-tcp":"~0.13.0","libp2p-websockets":"~0.12.0","pull-pair":"^1.1.0"},"dependencies":{"async":"^2.6.1","chunky":"0.0.0","concat-stream":"^1.6.2","debug":"^3.1.0","duplexify":"^3.6.0","interface-connection":"~0.3.2","pull-catch":"^1.0.0","pull-stream":"^3.6.9","pull-stream-to-stream":"^1.3.4","pump":"^3.0.0","readable-stream":"^3.0.3","stream-to-pull-stream":"^1.7.2","through2":"^2.0.3","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"2d2c3333e332ee4737cc12ff25b529e76726211b","_id":"libp2p-mplex@0.8.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"shasum":"088e844457330e4faf1bd27324533bf04734c6b8","size":12270,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.8.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.8.3.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.8.3_1541683309618_0.5087189198247402"},"_hasShrinkwrap":false,"publish_time":1541683309763,"_cnpm_publish_time":1541683309763,"_cnpmcore_publish_time":"2021-12-16T10:32:43.690Z"},"0.8.2":{"name":"libp2p-mplex","version":"0.8.2","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^15.2.0","chai":"^4.2.0","dirty-chai":"^2.0.1","interface-stream-muxer":"~0.5.9","libp2p-tcp":"~0.13.0","libp2p-websockets":"~0.12.0","pull-pair":"^1.1.0"},"dependencies":{"async":"^2.6.1","chunky":"0.0.0","concat-stream":"^1.6.2","debug":"^3.1.0","duplexify":"^3.6.0","interface-connection":"~0.3.2","pull-catch":"^1.0.0","pull-stream":"^3.6.9","pull-stream-to-stream":"^1.3.4","pump":"^3.0.0","readable-stream":"^3.0.3","stream-to-pull-stream":"^1.7.2","through2":"^2.0.3","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"4e7dda6a1abab84e9bebe76b747402b8ab06e97e","_id":"libp2p-mplex@0.8.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"shasum":"8ee0520446ce7f9918e6b51721474a753e529e94","size":12190,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.8.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.8.2.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.8.2_1538405529149_0.052481563005885024"},"_hasShrinkwrap":false,"publish_time":1538405529311,"_cnpm_publish_time":1538405529311,"_cnpmcore_publish_time":"2021-12-16T10:32:43.939Z"},"0.8.1":{"name":"libp2p-mplex","version":"0.8.1","description":"JavaScript implementation of https://github.com/libp2p/mplex","leadMaintainer":"Vasco Santos <vasco.santos@moxy.studio>","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["IPFS"],"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^15.2.0","chai":"^4.1.2","dirty-chai":"^2.0.1","interface-stream-muxer":"~0.5.9","libp2p-tcp":"~0.12.0","libp2p-websockets":"~0.12.0","pull-pair":"^1.1.0"},"dependencies":{"async":"^2.6.1","chunky":"0.0.0","concat-stream":"^1.6.2","debug":"^3.1.0","duplexify":"^3.6.0","interface-connection":"~0.3.2","pull-catch":"^1.0.0","pull-stream":"^3.6.8","pull-stream-to-stream":"^1.3.4","pump":"^3.0.0","readable-stream":"^2.3.6","stream-to-pull-stream":"^1.7.2","through2":"^2.0.3","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"c25a6dcabfc49787df2164fac4227454232fb1de","_id":"libp2p-mplex@0.8.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"vascosantos","email":"vasco.santos@moxy.studio"},"dist":{"shasum":"77c4dc24ee0a4bffd803a7ad5de0b07f71bb8b03","size":12100,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.8.1.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.8.1_1538389767448_0.34374213993801606"},"_hasShrinkwrap":false,"publish_time":1538389767566,"_cnpm_publish_time":1538389767566,"_cnpmcore_publish_time":"2021-12-16T10:32:44.266Z"},"0.8.0":{"name":"libp2p-mplex","version":"0.8.0","description":"JavaScript implementation of https://github.com/libp2p/mplex","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["IPFS"],"author":{"name":"David Dias","email":"daviddias@ipfs.io"},"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^14.0.0","chai":"^4.1.2","dirty-chai":"^2.0.1","interface-stream-muxer":"~0.5.9","libp2p-tcp":"~0.12.0","libp2p-websockets":"~0.12.0","pre-commit":"^1.2.2","pull-pair":"^1.1.0"},"dependencies":{"async":"^2.6.1","chunky":"0.0.0","concat-stream":"^1.6.2","debug":"^3.1.0","duplexify":"^3.6.0","interface-connection":"~0.3.2","pull-catch":"^1.0.0","pull-stream":"^3.6.8","pull-stream-to-stream":"^1.3.4","pump":"^3.0.0","readable-stream":"^2.3.6","stream-to-pull-stream":"^1.7.2","through2":"^2.0.3","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Pedro Teixeira","email":"pedro@protocol.ai"},{"name":"Pius Nyakoojo","email":"piusnyakoojo@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Steven Allen","email":"steven@stebalien.com"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"544ab29bd4fa9a2d4de40c4481b22f2faa197d4e","_id":"libp2p-mplex@0.8.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"daviddias","email":"mail@daviddias.me"},"dist":{"shasum":"2f647b247659e0189c0ca2b0528e4db7a6d79528","size":11988,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.8.0.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.8.0_1529412025411_0.21455147671165387"},"_hasShrinkwrap":false,"publish_time":1529412025574,"_cnpm_publish_time":1529412025574,"_cnpmcore_publish_time":"2021-12-16T10:32:44.515Z"},"0.7.0":{"name":"libp2p-mplex","version":"0.7.0","description":"JavaScript implementation of https://github.com/libp2p/mplex","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["IPFS"],"author":{"name":"David Dias","email":"daviddias@ipfs.io"},"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^13.0.6","chai":"^4.1.2","dirty-chai":"^2.0.1","interface-stream-muxer":"~0.5.9","libp2p-tcp":"^0.12.0","libp2p-websockets":"~0.11.0","pre-commit":"^1.2.2","pull-pair":"^1.1.0"},"dependencies":{"async":"^2.6.0","chunky":"0.0.0","concat-stream":"^1.6.2","debug":"^3.1.0","duplexify":"^3.5.4","pull-catch":"^1.0.0","pull-stream":"^3.6.7","pull-stream-to-stream":"^1.3.4","pump":"^3.0.0","readable-stream":"^2.3.6","stream-to-pull-stream":"^1.7.2","through2":"^2.0.3","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"7587717a9e8a48d3b5c582153e8badcd16fc3329","_id":"libp2p-mplex@0.7.0","_npmVersion":"5.8.0","_nodeVersion":"9.4.0","_npmUser":{"name":"daviddias","email":"daviddias.p@gmail.com"},"dist":{"shasum":"0f915e1ba3cec69e66297b7973110f1bfa9ba5e4","size":11507,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.7.0.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.7.0_1522946477649_0.7849485802952829"},"_hasShrinkwrap":false,"publish_time":1522946477748,"_cnpm_publish_time":1522946477748,"_cnpmcore_publish_time":"2021-12-16T10:32:44.736Z"},"0.6.0":{"name":"libp2p-mplex","version":"0.6.0","description":"JavaScript implementation of https://github.com/libp2p/mplex","main":"src/index.js","scripts":{"lint":"aegir lint","build":"aegir build","test":"aegir test -t node -t browser","test:node":"aegir test -t node","test:browser":"aegir test -t browser","release":"aegir release -t node -t browser","release-minor":"aegir release --type minor -t node -t browser","release-major":"aegir release --type major -t node -t browser","coverage":"aegir coverage","coverage-publish":"aegir coverage --provider coveralls"},"repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-mplex.git"},"keywords":["IPFS"],"author":{"name":"David Dias","email":"daviddias@ipfs.io"},"license":"MIT","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","devDependencies":{"aegir":"^13.0.1","chai":"^4.1.2","dirty-chai":"^2.0.1","interface-stream-muxer":"~0.5.9","libp2p-tcp":"^0.11.5","libp2p-websockets":"~0.10.4","pre-commit":"^1.2.2","pull-pair":"^1.1.0"},"dependencies":{"async":"^2.6.0","chunky":"0.0.0","concat-stream":"^1.6.0","debug":"^3.1.0","duplexify":"^3.5.3","pull-catch":"^1.0.0","pull-stream":"^3.6.1","pull-stream-to-stream":"^1.3.4","pump":"^3.0.0","readable-stream":"^2.3.4","stream-to-pull-stream":"^1.7.2","through2":"^2.0.3","varint":"^5.0.0"},"contributors":[{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Dmitriy Ryajov","email":"dryajov@gmail.com"},{"name":"Francisco Baio Dias","email":"xicombd@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Stephen Whitmore","email":"stephen.whitmore@gmail.com"},{"name":"Victor Bjelkholm","email":"victorbjelkholm@gmail.com"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"}],"gitHead":"dfa190f17491a200995bc5d84c2482021e4e7164","_id":"libp2p-mplex@0.6.0","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"daviddias","email":"daviddias.p@gmail.com"},"dist":{"shasum":"fcd9fe652aad04a743a366d31983ab9a71658af6","size":11505,"noattachment":false,"key":"/libp2p-mplex/-/libp2p-mplex-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/libp2p-mplex/download/libp2p-mplex-0.6.0.tgz"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"jacobheun","email":""},{"name":"vascosantos","email":"santos.vasco10@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libp2p-mplex_0.6.0_1519031614780_0.3759095512754185"},"_hasShrinkwrap":false,"publish_time":1519031614824,"_cnpm_publish_time":1519031614824,"_cnpmcore_publish_time":"2021-12-16T10:32:45.519Z"}},"readme":"# js-libp2p-mplex\n\n[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://protocol.ai)\n[![](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![](https://img.shields.io/badge/freenode-%23libp2p-yellow.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23libp2p)\n[![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io)\n[![](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-mplex.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-mplex)\n[![Build Status](https://github.com/libp2p/js-libp2p-mplex/actions/workflows/js-test-and-release.yml/badge.svg?branch=main)](https://github.com/libp2p/js-libp2p-mplex/actions/workflows/js-test-and-release.yml)\n[![Dependency Status](https://david-dm.org/libp2p/js-libp2p-mplex.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-mplex)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)\n![](https://img.shields.io/badge/npm-%3E%3D6.0.0-orange.svg?style=flat-square)\n![](https://img.shields.io/badge/Node.js-%3E%3D10.0.0-orange.svg?style=flat-square)\n\n> JavaScript implementation of [mplex](https://github.com/libp2p/specs/tree/master/mplex).\n\n[![](https://github.com/libp2p/interface-stream-muxer/raw/master/img/badge.png)](https://github.com/libp2p/interface-stream-muxer)\n\n## Install\n\n```sh\nnpm install libp2p-mplex\n```\n\n## Usage\n\n```js\nconst Mplex = require('libp2p-mplex')\nconst pipe = require('it-pipe')\n\nconst muxer = new Mplex({\n  onStream: stream => { // Receive a duplex stream from the remote\n    // ...receive data from the remote and optionally send data back\n  },\n  onStreamEnd: stream => {\n    // ...handle any tracking you may need of stream closures\n  }\n})\n\npipe(conn, muxer, conn) // conn is duplex connection to another peer\n\nconst stream = muxer.newStream() // Create a new duplex stream to the remote\n\n// Use the duplex stream to send some data to the remote...\npipe([1, 2, 3], stream)\n```\n\n## API\n\n### `const muxer = new Mplex([options])`\n\nCreate a new _duplex_ stream that can be piped together with a connection in order to allow multiplexed communications.\n\ne.g.\n\n```js\nconst Mplex = require('libp2p-mplex')\nconst pipe = require('it-pipe')\n\n// Create a duplex muxer\nconst muxer = new Mplex()\n\n// Use the muxer in a pipeline\npipe(conn, muxer, conn) // conn is duplex connection to another peer\n```\n\n`options` is an optional `Object` that may have the following properties:\n\n* `onStream` - A function called when receiving a new stream from the remote. e.g.\n    ```js\n    // Receive a new stream on the muxed connection\n    const onStream = stream => {\n      // Read from this stream and write back to it (echo server)\n      pipe(\n        stream,\n        source => (async function * () {\n          for await (const data of source) yield data\n        })(),\n        stream\n      )\n    }\n    const muxer = new Mplex({ onStream })\n    // ...\n    ```\n    **Note:** The `onStream` function can be passed in place of the `options` object. i.e.\n    ```js\n    new Mplex(stream => { /* ... */ })\n    ```\n* `onStreamEnd` - A function called when a stream ends\n    ```js\n    // Receive a notification when a stream ends\n    const onStreamEnd = stream => {\n      // Manage any tracking changes, etc\n    }\n    const muxer = new Mplex({ onStreamEnd })\n    // ...\n    ```\n* `signal` - An [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) which can be used to abort the muxer, _including_ all of it's multiplexed connections. e.g.\n    ```js\n    const controller = new AbortController()\n    const muxer = new Mplex({ signal: controller.signal })\n\n    pipe(conn, muxer, conn)\n\n    controller.abort()\n    ```\n* `maxMsgSize` - The maximum size in bytes the data field of multiplexed messages may contain (default 1MB)\n\n### `muxer.onStream`\n\nUse this property as an alternative to passing `onStream` as an option to the `Mplex` constructor.\n\n### `muxer.onStreamEnd`\n\nUse this property as an alternative to passing `onStreamEnd` as an option to the `Mplex` constructor.\n\n### `muxer.streams`\n\nReturns an `Array` of streams that are currently open. Closed streams will not be returned.\n\n### `const stream = muxer.newStream([options])`\n\nInitiate a new stream with the remote. Returns a [duplex stream](https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it).\n\ne.g.\n\n```js\n// Create a new stream on the muxed connection\nconst stream = muxer.newStream()\n\n// Use this new stream like any other duplex stream:\npipe([1, 2, 3], stream, consume)\n```\n\nIn addition to `sink` and `source` properties, this stream also has the following API, that will **normally _not_ be used by stream consumers**.\n\n#### `stream.close()`\n\nCloses the stream for **reading**. If iterating over the source of this stream in a `for await of` loop, it will return (exit the loop) after any buffered data has been consumed.\n\nThis function is called automatically by the muxer when it receives a `CLOSE` message from the remote.\n\nThe source will return normally, the sink will continue to consume.\n\n#### `stream.abort([err])`\n\nCloses the stream for **reading** _and_ **writing**. This should be called when a _local error_ has occurred.\n\nNote, if called without an error any buffered data in the source can still be consumed and the stream will end normally.\n\nThis will cause a `RESET` message to be sent to the remote, _unless_ the sink has already ended.\n\nThe sink will return and the source will throw if an error is passed or return normally if not.\n\n#### `stream.reset()`\n\nCloses the stream _immediately_ for **reading** _and_ **writing**. This should be called when a _remote error_ has occurred.\n\nThis function is called automatically by the muxer when it receives a `RESET` message from the remote.\n\nThe sink will return and the source will throw.\n\n#### `stream.timeline`\n\nReturns an `object` with `close` and `open` times of the stream.\n\n#### `stream.id`\n\nReturns a `string` with an identifier unique to **this** muxer. Identifiers are not unique across muxers.\n\n## Contribute\n\nThe libp2p implementation in JavaScript is a work in progress. As such, there are a few things you can do right now to help out:\n\n - Go through the modules and **check out existing issues**. This is especially useful for modules in active development. Some knowledge of IPFS/libp2p may be required, as well as the infrastructure behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically.\n - **Perform code reviews**. More eyes will help a) speed the project along b) ensure quality and c) reduce possible future bugs.\n - **Add tests**. There can never be enough tests.\n\n## License\n\n[MIT](LICENSE) © Protocol Labs\n","_attachments":{},"homepage":"https://github.com/libp2p/js-libp2p-mplex#readme","bugs":{"url":"https://github.com/libp2p/js-libp2p-mplex/issues"},"license":"MIT"}