node-datachannel 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/.github/workflows/build-linux.yml +10 -10
  2. package/.github/workflows/build-mac-m1.yml +5 -5
  3. package/.github/workflows/build-mac-x64.yml +5 -5
  4. package/.github/workflows/build-win.yml +11 -8
  5. package/.github/workflows/lint.yml +1 -1
  6. package/.github/workflows/npm-publish-manual.yml +1 -1
  7. package/{.prettierrc.js → .prettierrc.cjs} +1 -0
  8. package/BULDING.md +7 -3
  9. package/CMakeLists.txt +12 -22
  10. package/README.md +37 -33
  11. package/cmake/toolchain/arm64.cmake +1 -1
  12. package/examples/client-server/README.md +22 -0
  13. package/examples/client-server/client-benchmark.js +11 -6
  14. package/examples/client-server/client-periodic.js +5 -6
  15. package/examples/client-server/client.js +4 -5
  16. package/examples/client-server/package-lock.json +311 -260
  17. package/examples/client-server/package.json +15 -14
  18. package/examples/client-server/signaling-server.js +1 -2
  19. package/examples/electron-demo/README.md +58 -0
  20. package/examples/electron-demo/forge.config.js +49 -0
  21. package/examples/electron-demo/package-lock.json +16032 -0
  22. package/examples/electron-demo/package.json +43 -0
  23. package/examples/electron-demo/src/index.css +7 -0
  24. package/examples/electron-demo/src/index.html +29 -0
  25. package/examples/electron-demo/src/main.js +53 -0
  26. package/examples/electron-demo/src/node-datachannel.js +123 -0
  27. package/examples/electron-demo/src/preload.js +28 -0
  28. package/examples/electron-demo/src/renderer.js +58 -0
  29. package/examples/electron-demo/webpack.main.config.js +11 -0
  30. package/examples/electron-demo/webpack.renderer.config.js +13 -0
  31. package/examples/electron-demo/webpack.rules.js +35 -0
  32. package/examples/media/README.md +3 -3
  33. package/examples/media/media.js +3 -4
  34. package/examples/simple-peer-usage/main.js +28 -0
  35. package/examples/simple-peer-usage/package-lock.json +317 -0
  36. package/examples/simple-peer-usage/package.json +16 -0
  37. package/lib/datachannel-stream.js +3 -4
  38. package/lib/index.d.ts +12 -4
  39. package/lib/index.js +37 -3
  40. package/package.json +81 -68
  41. package/polyfill/Events.d.ts +9 -0
  42. package/polyfill/Events.js +27 -0
  43. package/polyfill/README.md +41 -0
  44. package/polyfill/RTCCertificate.d.ts +7 -0
  45. package/polyfill/RTCCertificate.js +17 -0
  46. package/polyfill/RTCDataChannel.d.ts +35 -0
  47. package/polyfill/RTCDataChannel.js +175 -0
  48. package/polyfill/RTCDtlsTransport.d.ts +10 -0
  49. package/polyfill/RTCDtlsTransport.js +47 -0
  50. package/polyfill/RTCIceCandidate.d.ts +20 -0
  51. package/polyfill/RTCIceCandidate.js +126 -0
  52. package/polyfill/RTCIceTransport.d.ts +18 -0
  53. package/polyfill/RTCIceTransport.js +82 -0
  54. package/polyfill/RTCPeerConnection.d.ts +50 -0
  55. package/polyfill/RTCPeerConnection.js +371 -0
  56. package/polyfill/RTCSctpTransport.d.ts +10 -0
  57. package/polyfill/RTCSctpTransport.js +53 -0
  58. package/polyfill/RTCSessionDescription.d.ts +7 -0
  59. package/polyfill/RTCSessionDescription.js +37 -0
  60. package/polyfill/index.d.ts +14 -0
  61. package/polyfill/index.js +14 -0
  62. package/src/data-channel-wrapper.cpp +47 -6
  63. package/src/main.cpp +5 -5
  64. package/src/peer-connection-wrapper.cpp +191 -9
  65. package/src/peer-connection-wrapper.h +6 -0
  66. package/src/rtc-wrapper.cpp +14 -9
  67. package/src/thread-safe-callback.cpp +4 -10
  68. package/src/thread-safe-callback.h +3 -12
  69. package/test/connectivity.js +9 -4
  70. package/test/polyfill-connectivity.js +90 -0
  71. package/test/test.js +2 -2
  72. package/test/wpt.js +50 -0
  73. package/examples/README.md +0 -21
  74. package/node_modules/ansi-regex/index.js +0 -4
  75. package/node_modules/ansi-regex/license +0 -21
  76. package/node_modules/ansi-regex/package.json +0 -111
  77. package/node_modules/ansi-regex/readme.md +0 -39
  78. package/node_modules/aproba/LICENSE +0 -14
  79. package/node_modules/aproba/README.md +0 -94
  80. package/node_modules/aproba/index.js +0 -105
  81. package/node_modules/aproba/package.json +0 -65
  82. package/node_modules/base64-js/LICENSE +0 -21
  83. package/node_modules/base64-js/README.md +0 -34
  84. package/node_modules/base64-js/base64js.min.js +0 -1
  85. package/node_modules/base64-js/index.d.ts +0 -3
  86. package/node_modules/base64-js/index.js +0 -150
  87. package/node_modules/base64-js/package.json +0 -78
  88. package/node_modules/buffer/AUTHORS.md +0 -70
  89. package/node_modules/buffer/LICENSE +0 -21
  90. package/node_modules/buffer/README.md +0 -410
  91. package/node_modules/buffer/index.d.ts +0 -186
  92. package/node_modules/buffer/index.js +0 -1817
  93. package/node_modules/buffer/package.json +0 -130
  94. package/node_modules/chownr/LICENSE +0 -15
  95. package/node_modules/chownr/README.md +0 -3
  96. package/node_modules/chownr/chownr.js +0 -167
  97. package/node_modules/chownr/package.json +0 -66
  98. package/node_modules/code-point-at/index.js +0 -32
  99. package/node_modules/code-point-at/license +0 -21
  100. package/node_modules/code-point-at/package.json +0 -73
  101. package/node_modules/code-point-at/readme.md +0 -32
  102. package/node_modules/console-control-strings/LICENSE +0 -13
  103. package/node_modules/console-control-strings/README.md +0 -145
  104. package/node_modules/console-control-strings/README.md~ +0 -140
  105. package/node_modules/console-control-strings/index.js +0 -125
  106. package/node_modules/console-control-strings/package.json +0 -64
  107. package/node_modules/core-util-is/LICENSE +0 -19
  108. package/node_modules/core-util-is/README.md +0 -3
  109. package/node_modules/core-util-is/float.patch +0 -604
  110. package/node_modules/core-util-is/lib/util.js +0 -107
  111. package/node_modules/core-util-is/package.json +0 -70
  112. package/node_modules/core-util-is/test.js +0 -68
  113. package/node_modules/decompress-response/index.d.ts +0 -22
  114. package/node_modules/decompress-response/index.js +0 -58
  115. package/node_modules/decompress-response/license +0 -9
  116. package/node_modules/decompress-response/package.json +0 -91
  117. package/node_modules/decompress-response/readme.md +0 -48
  118. package/node_modules/deep-extend/CHANGELOG.md +0 -46
  119. package/node_modules/deep-extend/LICENSE +0 -20
  120. package/node_modules/deep-extend/README.md +0 -91
  121. package/node_modules/deep-extend/index.js +0 -1
  122. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  123. package/node_modules/deep-extend/package.json +0 -95
  124. package/node_modules/delegates/.npmignore +0 -1
  125. package/node_modules/delegates/History.md +0 -22
  126. package/node_modules/delegates/License +0 -20
  127. package/node_modules/delegates/Makefile +0 -8
  128. package/node_modules/delegates/Readme.md +0 -94
  129. package/node_modules/delegates/index.js +0 -121
  130. package/node_modules/delegates/package.json +0 -53
  131. package/node_modules/delegates/test/index.js +0 -94
  132. package/node_modules/detect-libc/LICENSE +0 -201
  133. package/node_modules/detect-libc/README.md +0 -160
  134. package/node_modules/detect-libc/index.d.ts +0 -11
  135. package/node_modules/detect-libc/lib/detect-libc.js +0 -178
  136. package/node_modules/detect-libc/lib/process.js +0 -16
  137. package/node_modules/detect-libc/package.json +0 -75
  138. package/node_modules/end-of-stream/LICENSE +0 -21
  139. package/node_modules/end-of-stream/README.md +0 -54
  140. package/node_modules/end-of-stream/index.js +0 -94
  141. package/node_modules/end-of-stream/package.json +0 -69
  142. package/node_modules/expand-template/.travis.yml +0 -6
  143. package/node_modules/expand-template/LICENSE +0 -21
  144. package/node_modules/expand-template/README.md +0 -43
  145. package/node_modules/expand-template/index.js +0 -26
  146. package/node_modules/expand-template/package.json +0 -63
  147. package/node_modules/expand-template/test.js +0 -67
  148. package/node_modules/fs-constants/LICENSE +0 -21
  149. package/node_modules/fs-constants/README.md +0 -26
  150. package/node_modules/fs-constants/browser.js +0 -1
  151. package/node_modules/fs-constants/index.js +0 -1
  152. package/node_modules/fs-constants/package.json +0 -50
  153. package/node_modules/github-from-package/.travis.yml +0 -4
  154. package/node_modules/github-from-package/LICENSE +0 -18
  155. package/node_modules/github-from-package/example/package.json +0 -8
  156. package/node_modules/github-from-package/example/url.js +0 -3
  157. package/node_modules/github-from-package/index.js +0 -17
  158. package/node_modules/github-from-package/package.json +0 -62
  159. package/node_modules/github-from-package/readme.markdown +0 -53
  160. package/node_modules/github-from-package/test/a.json +0 -8
  161. package/node_modules/github-from-package/test/b.json +0 -5
  162. package/node_modules/github-from-package/test/c.json +0 -5
  163. package/node_modules/github-from-package/test/d.json +0 -7
  164. package/node_modules/github-from-package/test/e.json +0 -5
  165. package/node_modules/github-from-package/test/url.js +0 -19
  166. package/node_modules/has-unicode/LICENSE +0 -14
  167. package/node_modules/has-unicode/README.md +0 -43
  168. package/node_modules/has-unicode/index.js +0 -16
  169. package/node_modules/has-unicode/package.json +0 -62
  170. package/node_modules/ieee754/LICENSE +0 -11
  171. package/node_modules/ieee754/README.md +0 -51
  172. package/node_modules/ieee754/index.d.ts +0 -10
  173. package/node_modules/ieee754/index.js +0 -85
  174. package/node_modules/ieee754/package.json +0 -87
  175. package/node_modules/inherits/LICENSE +0 -16
  176. package/node_modules/inherits/README.md +0 -42
  177. package/node_modules/inherits/inherits.js +0 -9
  178. package/node_modules/inherits/inherits_browser.js +0 -27
  179. package/node_modules/inherits/package.json +0 -78
  180. package/node_modules/ini/LICENSE +0 -15
  181. package/node_modules/ini/README.md +0 -102
  182. package/node_modules/ini/ini.js +0 -206
  183. package/node_modules/ini/package.json +0 -69
  184. package/node_modules/is-fullwidth-code-point/index.js +0 -46
  185. package/node_modules/is-fullwidth-code-point/license +0 -21
  186. package/node_modules/is-fullwidth-code-point/package.json +0 -80
  187. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  188. package/node_modules/isarray/.npmignore +0 -1
  189. package/node_modules/isarray/.travis.yml +0 -4
  190. package/node_modules/isarray/Makefile +0 -6
  191. package/node_modules/isarray/README.md +0 -60
  192. package/node_modules/isarray/component.json +0 -19
  193. package/node_modules/isarray/index.js +0 -5
  194. package/node_modules/isarray/package.json +0 -77
  195. package/node_modules/isarray/test.js +0 -20
  196. package/node_modules/lru-cache/LICENSE +0 -15
  197. package/node_modules/lru-cache/README.md +0 -166
  198. package/node_modules/lru-cache/index.js +0 -334
  199. package/node_modules/lru-cache/node_modules/yallist/LICENSE +0 -15
  200. package/node_modules/lru-cache/node_modules/yallist/README.md +0 -204
  201. package/node_modules/lru-cache/node_modules/yallist/iterator.js +0 -8
  202. package/node_modules/lru-cache/node_modules/yallist/package.json +0 -65
  203. package/node_modules/lru-cache/node_modules/yallist/yallist.js +0 -426
  204. package/node_modules/lru-cache/package.json +0 -73
  205. package/node_modules/mimic-response/index.d.ts +0 -17
  206. package/node_modules/mimic-response/index.js +0 -77
  207. package/node_modules/mimic-response/license +0 -9
  208. package/node_modules/mimic-response/package.json +0 -77
  209. package/node_modules/mimic-response/readme.md +0 -78
  210. package/node_modules/minimist/.travis.yml +0 -8
  211. package/node_modules/minimist/LICENSE +0 -18
  212. package/node_modules/minimist/example/parse.js +0 -2
  213. package/node_modules/minimist/index.js +0 -249
  214. package/node_modules/minimist/package.json +0 -79
  215. package/node_modules/minimist/readme.markdown +0 -98
  216. package/node_modules/minimist/test/all_bool.js +0 -32
  217. package/node_modules/minimist/test/bool.js +0 -178
  218. package/node_modules/minimist/test/dash.js +0 -31
  219. package/node_modules/minimist/test/default_bool.js +0 -35
  220. package/node_modules/minimist/test/dotted.js +0 -22
  221. package/node_modules/minimist/test/kv_short.js +0 -16
  222. package/node_modules/minimist/test/long.js +0 -31
  223. package/node_modules/minimist/test/num.js +0 -36
  224. package/node_modules/minimist/test/parse.js +0 -197
  225. package/node_modules/minimist/test/parse_modified.js +0 -9
  226. package/node_modules/minimist/test/proto.js +0 -60
  227. package/node_modules/minimist/test/short.js +0 -67
  228. package/node_modules/minimist/test/stop_early.js +0 -15
  229. package/node_modules/minimist/test/unknown.js +0 -102
  230. package/node_modules/minimist/test/whitespace.js +0 -8
  231. package/node_modules/mkdirp-classic/LICENSE +0 -21
  232. package/node_modules/mkdirp-classic/README.md +0 -18
  233. package/node_modules/mkdirp-classic/index.js +0 -98
  234. package/node_modules/mkdirp-classic/package.json +0 -50
  235. package/node_modules/napi-build-utils/LICENSE +0 -21
  236. package/node_modules/napi-build-utils/README.md +0 -48
  237. package/node_modules/napi-build-utils/index.js +0 -213
  238. package/node_modules/napi-build-utils/index.md +0 -81
  239. package/node_modules/napi-build-utils/package.json +0 -72
  240. package/node_modules/node-abi/.circleci/config.yml +0 -63
  241. package/node_modules/node-abi/.github/workflows/update-abi.yml +0 -41
  242. package/node_modules/node-abi/.releaserc.json +0 -9
  243. package/node_modules/node-abi/CODE_OF_CONDUCT.md +0 -73
  244. package/node_modules/node-abi/CONTRIBUTING.md +0 -53
  245. package/node_modules/node-abi/LICENSE +0 -21
  246. package/node_modules/node-abi/README.md +0 -50
  247. package/node_modules/node-abi/abi_registry.json +0 -186
  248. package/node_modules/node-abi/index.js +0 -179
  249. package/node_modules/node-abi/node_modules/semver/LICENSE +0 -15
  250. package/node_modules/node-abi/node_modules/semver/README.md +0 -568
  251. package/node_modules/node-abi/node_modules/semver/bin/semver.js +0 -183
  252. package/node_modules/node-abi/node_modules/semver/classes/comparator.js +0 -136
  253. package/node_modules/node-abi/node_modules/semver/classes/index.js +0 -5
  254. package/node_modules/node-abi/node_modules/semver/classes/range.js +0 -519
  255. package/node_modules/node-abi/node_modules/semver/classes/semver.js +0 -287
  256. package/node_modules/node-abi/node_modules/semver/functions/clean.js +0 -6
  257. package/node_modules/node-abi/node_modules/semver/functions/cmp.js +0 -52
  258. package/node_modules/node-abi/node_modules/semver/functions/coerce.js +0 -52
  259. package/node_modules/node-abi/node_modules/semver/functions/compare-build.js +0 -7
  260. package/node_modules/node-abi/node_modules/semver/functions/compare-loose.js +0 -3
  261. package/node_modules/node-abi/node_modules/semver/functions/compare.js +0 -5
  262. package/node_modules/node-abi/node_modules/semver/functions/diff.js +0 -23
  263. package/node_modules/node-abi/node_modules/semver/functions/eq.js +0 -3
  264. package/node_modules/node-abi/node_modules/semver/functions/gt.js +0 -3
  265. package/node_modules/node-abi/node_modules/semver/functions/gte.js +0 -3
  266. package/node_modules/node-abi/node_modules/semver/functions/inc.js +0 -18
  267. package/node_modules/node-abi/node_modules/semver/functions/lt.js +0 -3
  268. package/node_modules/node-abi/node_modules/semver/functions/lte.js +0 -3
  269. package/node_modules/node-abi/node_modules/semver/functions/major.js +0 -3
  270. package/node_modules/node-abi/node_modules/semver/functions/minor.js +0 -3
  271. package/node_modules/node-abi/node_modules/semver/functions/neq.js +0 -3
  272. package/node_modules/node-abi/node_modules/semver/functions/parse.js +0 -33
  273. package/node_modules/node-abi/node_modules/semver/functions/patch.js +0 -3
  274. package/node_modules/node-abi/node_modules/semver/functions/prerelease.js +0 -6
  275. package/node_modules/node-abi/node_modules/semver/functions/rcompare.js +0 -3
  276. package/node_modules/node-abi/node_modules/semver/functions/rsort.js +0 -3
  277. package/node_modules/node-abi/node_modules/semver/functions/satisfies.js +0 -10
  278. package/node_modules/node-abi/node_modules/semver/functions/sort.js +0 -3
  279. package/node_modules/node-abi/node_modules/semver/functions/valid.js +0 -6
  280. package/node_modules/node-abi/node_modules/semver/index.js +0 -48
  281. package/node_modules/node-abi/node_modules/semver/internal/constants.js +0 -17
  282. package/node_modules/node-abi/node_modules/semver/internal/debug.js +0 -9
  283. package/node_modules/node-abi/node_modules/semver/internal/identifiers.js +0 -23
  284. package/node_modules/node-abi/node_modules/semver/internal/parse-options.js +0 -11
  285. package/node_modules/node-abi/node_modules/semver/internal/re.js +0 -182
  286. package/node_modules/node-abi/node_modules/semver/package.json +0 -109
  287. package/node_modules/node-abi/node_modules/semver/preload.js +0 -2
  288. package/node_modules/node-abi/node_modules/semver/range.bnf +0 -16
  289. package/node_modules/node-abi/node_modules/semver/ranges/gtr.js +0 -4
  290. package/node_modules/node-abi/node_modules/semver/ranges/intersects.js +0 -7
  291. package/node_modules/node-abi/node_modules/semver/ranges/ltr.js +0 -4
  292. package/node_modules/node-abi/node_modules/semver/ranges/max-satisfying.js +0 -25
  293. package/node_modules/node-abi/node_modules/semver/ranges/min-satisfying.js +0 -24
  294. package/node_modules/node-abi/node_modules/semver/ranges/min-version.js +0 -61
  295. package/node_modules/node-abi/node_modules/semver/ranges/outside.js +0 -80
  296. package/node_modules/node-abi/node_modules/semver/ranges/simplify.js +0 -47
  297. package/node_modules/node-abi/node_modules/semver/ranges/subset.js +0 -244
  298. package/node_modules/node-abi/node_modules/semver/ranges/to-comparators.js +0 -8
  299. package/node_modules/node-abi/node_modules/semver/ranges/valid.js +0 -11
  300. package/node_modules/node-abi/package.json +0 -72
  301. package/node_modules/node-abi/scripts/update-abi-registry.js +0 -119
  302. package/node_modules/node-abi/test/index.js +0 -166
  303. package/node_modules/npmlog/CHANGELOG.md +0 -49
  304. package/node_modules/npmlog/LICENSE +0 -15
  305. package/node_modules/npmlog/README.md +0 -216
  306. package/node_modules/npmlog/log.js +0 -309
  307. package/node_modules/npmlog/node_modules/are-we-there-yet/CHANGES.md +0 -37
  308. package/node_modules/npmlog/node_modules/are-we-there-yet/LICENSE +0 -5
  309. package/node_modules/npmlog/node_modules/are-we-there-yet/README.md +0 -195
  310. package/node_modules/npmlog/node_modules/are-we-there-yet/index.js +0 -4
  311. package/node_modules/npmlog/node_modules/are-we-there-yet/package.json +0 -66
  312. package/node_modules/npmlog/node_modules/are-we-there-yet/tracker-base.js +0 -11
  313. package/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js +0 -107
  314. package/node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js +0 -36
  315. package/node_modules/npmlog/node_modules/are-we-there-yet/tracker.js +0 -30
  316. package/node_modules/npmlog/node_modules/gauge/CHANGELOG.md +0 -160
  317. package/node_modules/npmlog/node_modules/gauge/LICENSE +0 -13
  318. package/node_modules/npmlog/node_modules/gauge/README.md +0 -399
  319. package/node_modules/npmlog/node_modules/gauge/base-theme.js +0 -14
  320. package/node_modules/npmlog/node_modules/gauge/error.js +0 -24
  321. package/node_modules/npmlog/node_modules/gauge/has-color.js +0 -12
  322. package/node_modules/npmlog/node_modules/gauge/index.js +0 -233
  323. package/node_modules/npmlog/node_modules/gauge/package.json +0 -94
  324. package/node_modules/npmlog/node_modules/gauge/plumbing.js +0 -48
  325. package/node_modules/npmlog/node_modules/gauge/process.js +0 -3
  326. package/node_modules/npmlog/node_modules/gauge/progress-bar.js +0 -35
  327. package/node_modules/npmlog/node_modules/gauge/render-template.js +0 -181
  328. package/node_modules/npmlog/node_modules/gauge/set-immediate.js +0 -7
  329. package/node_modules/npmlog/node_modules/gauge/set-interval.js +0 -3
  330. package/node_modules/npmlog/node_modules/gauge/spin.js +0 -5
  331. package/node_modules/npmlog/node_modules/gauge/template-item.js +0 -73
  332. package/node_modules/npmlog/node_modules/gauge/theme-set.js +0 -115
  333. package/node_modules/npmlog/node_modules/gauge/themes.js +0 -54
  334. package/node_modules/npmlog/node_modules/gauge/wide-truncate.js +0 -25
  335. package/node_modules/npmlog/package.json +0 -78
  336. package/node_modules/number-is-nan/index.js +0 -4
  337. package/node_modules/number-is-nan/license +0 -21
  338. package/node_modules/number-is-nan/package.json +0 -70
  339. package/node_modules/number-is-nan/readme.md +0 -28
  340. package/node_modules/object-assign/index.js +0 -90
  341. package/node_modules/object-assign/license +0 -21
  342. package/node_modules/object-assign/package.json +0 -77
  343. package/node_modules/object-assign/readme.md +0 -61
  344. package/node_modules/once/LICENSE +0 -15
  345. package/node_modules/once/README.md +0 -79
  346. package/node_modules/once/once.js +0 -42
  347. package/node_modules/once/package.json +0 -74
  348. package/node_modules/prebuild-install/CHANGELOG.md +0 -98
  349. package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  350. package/node_modules/prebuild-install/LICENSE +0 -21
  351. package/node_modules/prebuild-install/README.md +0 -159
  352. package/node_modules/prebuild-install/asset.js +0 -44
  353. package/node_modules/prebuild-install/bin.js +0 -78
  354. package/node_modules/prebuild-install/download.js +0 -142
  355. package/node_modules/prebuild-install/error.js +0 -14
  356. package/node_modules/prebuild-install/help.txt +0 -16
  357. package/node_modules/prebuild-install/index.js +0 -1
  358. package/node_modules/prebuild-install/log.js +0 -25
  359. package/node_modules/prebuild-install/package.json +0 -129
  360. package/node_modules/prebuild-install/proxy.js +0 -35
  361. package/node_modules/prebuild-install/rc.js +0 -60
  362. package/node_modules/prebuild-install/util.js +0 -143
  363. package/node_modules/process-nextick-args/index.js +0 -45
  364. package/node_modules/process-nextick-args/license.md +0 -19
  365. package/node_modules/process-nextick-args/package.json +0 -53
  366. package/node_modules/process-nextick-args/readme.md +0 -18
  367. package/node_modules/pump/.travis.yml +0 -5
  368. package/node_modules/pump/LICENSE +0 -21
  369. package/node_modules/pump/README.md +0 -65
  370. package/node_modules/pump/index.js +0 -82
  371. package/node_modules/pump/package.json +0 -63
  372. package/node_modules/pump/test-browser.js +0 -66
  373. package/node_modules/pump/test-node.js +0 -53
  374. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  375. package/node_modules/rc/LICENSE.BSD +0 -26
  376. package/node_modules/rc/LICENSE.MIT +0 -24
  377. package/node_modules/rc/README.md +0 -227
  378. package/node_modules/rc/browser.js +0 -7
  379. package/node_modules/rc/cli.js +0 -4
  380. package/node_modules/rc/index.js +0 -53
  381. package/node_modules/rc/lib/utils.js +0 -104
  382. package/node_modules/rc/package.json +0 -70
  383. package/node_modules/rc/test/ini.js +0 -16
  384. package/node_modules/rc/test/nested-env-vars.js +0 -50
  385. package/node_modules/rc/test/test.js +0 -59
  386. package/node_modules/readable-stream/.travis.yml +0 -34
  387. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  388. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  389. package/node_modules/readable-stream/LICENSE +0 -47
  390. package/node_modules/readable-stream/README.md +0 -58
  391. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  392. package/node_modules/readable-stream/duplex-browser.js +0 -1
  393. package/node_modules/readable-stream/duplex.js +0 -1
  394. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  395. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  396. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  397. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  398. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  399. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  400. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  401. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  402. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  403. package/node_modules/readable-stream/package.json +0 -87
  404. package/node_modules/readable-stream/passthrough.js +0 -1
  405. package/node_modules/readable-stream/readable-browser.js +0 -7
  406. package/node_modules/readable-stream/readable.js +0 -19
  407. package/node_modules/readable-stream/transform.js +0 -1
  408. package/node_modules/readable-stream/writable-browser.js +0 -1
  409. package/node_modules/readable-stream/writable.js +0 -8
  410. package/node_modules/safe-buffer/LICENSE +0 -21
  411. package/node_modules/safe-buffer/README.md +0 -584
  412. package/node_modules/safe-buffer/index.d.ts +0 -187
  413. package/node_modules/safe-buffer/index.js +0 -62
  414. package/node_modules/safe-buffer/package.json +0 -70
  415. package/node_modules/set-blocking/CHANGELOG.md +0 -26
  416. package/node_modules/set-blocking/LICENSE.txt +0 -14
  417. package/node_modules/set-blocking/README.md +0 -31
  418. package/node_modules/set-blocking/index.js +0 -7
  419. package/node_modules/set-blocking/package.json +0 -73
  420. package/node_modules/signal-exit/CHANGELOG.md +0 -35
  421. package/node_modules/signal-exit/LICENSE.txt +0 -16
  422. package/node_modules/signal-exit/README.md +0 -39
  423. package/node_modules/signal-exit/index.js +0 -163
  424. package/node_modules/signal-exit/package.json +0 -71
  425. package/node_modules/signal-exit/signals.js +0 -53
  426. package/node_modules/simple-concat/.travis.yml +0 -3
  427. package/node_modules/simple-concat/LICENSE +0 -20
  428. package/node_modules/simple-concat/README.md +0 -44
  429. package/node_modules/simple-concat/index.js +0 -15
  430. package/node_modules/simple-concat/package.json +0 -75
  431. package/node_modules/simple-concat/test/basic.js +0 -41
  432. package/node_modules/simple-get/.github/dependabot.yml +0 -15
  433. package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  434. package/node_modules/simple-get/LICENSE +0 -20
  435. package/node_modules/simple-get/README.md +0 -333
  436. package/node_modules/simple-get/index.js +0 -108
  437. package/node_modules/simple-get/package.json +0 -95
  438. package/node_modules/string-width/index.js +0 -37
  439. package/node_modules/string-width/license +0 -21
  440. package/node_modules/string-width/package.json +0 -95
  441. package/node_modules/string-width/readme.md +0 -42
  442. package/node_modules/string_decoder/.travis.yml +0 -50
  443. package/node_modules/string_decoder/LICENSE +0 -48
  444. package/node_modules/string_decoder/README.md +0 -47
  445. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  446. package/node_modules/string_decoder/package.json +0 -64
  447. package/node_modules/strip-ansi/index.js +0 -6
  448. package/node_modules/strip-ansi/license +0 -21
  449. package/node_modules/strip-ansi/package.json +0 -107
  450. package/node_modules/strip-ansi/readme.md +0 -33
  451. package/node_modules/strip-json-comments/index.js +0 -70
  452. package/node_modules/strip-json-comments/license +0 -21
  453. package/node_modules/strip-json-comments/package.json +0 -77
  454. package/node_modules/strip-json-comments/readme.md +0 -64
  455. package/node_modules/tar-fs/.travis.yml +0 -6
  456. package/node_modules/tar-fs/LICENSE +0 -21
  457. package/node_modules/tar-fs/README.md +0 -165
  458. package/node_modules/tar-fs/index.js +0 -351
  459. package/node_modules/tar-fs/package.json +0 -71
  460. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  461. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  462. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  463. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  464. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  465. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  466. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  467. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  468. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  469. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  470. package/node_modules/tar-fs/test/index.js +0 -346
  471. package/node_modules/tar-stream/LICENSE +0 -21
  472. package/node_modules/tar-stream/README.md +0 -168
  473. package/node_modules/tar-stream/extract.js +0 -257
  474. package/node_modules/tar-stream/headers.js +0 -293
  475. package/node_modules/tar-stream/index.js +0 -2
  476. package/node_modules/tar-stream/node_modules/bl/.travis.yml +0 -17
  477. package/node_modules/tar-stream/node_modules/bl/BufferList.js +0 -396
  478. package/node_modules/tar-stream/node_modules/bl/LICENSE.md +0 -13
  479. package/node_modules/tar-stream/node_modules/bl/README.md +0 -247
  480. package/node_modules/tar-stream/node_modules/bl/bl.js +0 -84
  481. package/node_modules/tar-stream/node_modules/bl/package.json +0 -68
  482. package/node_modules/tar-stream/node_modules/bl/test/convert.js +0 -21
  483. package/node_modules/tar-stream/node_modules/bl/test/indexOf.js +0 -492
  484. package/node_modules/tar-stream/node_modules/bl/test/isBufferList.js +0 -32
  485. package/node_modules/tar-stream/node_modules/bl/test/test.js +0 -869
  486. package/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  487. package/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md +0 -136
  488. package/node_modules/tar-stream/node_modules/readable-stream/LICENSE +0 -47
  489. package/node_modules/tar-stream/node_modules/readable-stream/README.md +0 -106
  490. package/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js +0 -127
  491. package/node_modules/tar-stream/node_modules/readable-stream/errors.js +0 -116
  492. package/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js +0 -17
  493. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js +0 -139
  494. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js +0 -39
  495. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js +0 -1124
  496. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js +0 -201
  497. package/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js +0 -697
  498. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -207
  499. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -210
  500. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -105
  501. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -104
  502. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  503. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js +0 -64
  504. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -97
  505. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js +0 -27
  506. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  507. package/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  508. package/node_modules/tar-stream/node_modules/readable-stream/package.json +0 -101
  509. package/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js +0 -9
  510. package/node_modules/tar-stream/node_modules/readable-stream/readable.js +0 -16
  511. package/node_modules/tar-stream/pack.js +0 -255
  512. package/node_modules/tar-stream/package.json +0 -95
  513. package/node_modules/tar-stream/sandbox.js +0 -11
  514. package/node_modules/tunnel-agent/LICENSE +0 -55
  515. package/node_modules/tunnel-agent/README.md +0 -4
  516. package/node_modules/tunnel-agent/index.js +0 -244
  517. package/node_modules/tunnel-agent/package.json +0 -59
  518. package/node_modules/util-deprecate/History.md +0 -16
  519. package/node_modules/util-deprecate/LICENSE +0 -24
  520. package/node_modules/util-deprecate/README.md +0 -53
  521. package/node_modules/util-deprecate/browser.js +0 -67
  522. package/node_modules/util-deprecate/node.js +0 -6
  523. package/node_modules/util-deprecate/package.json +0 -62
  524. package/node_modules/wide-align/LICENSE +0 -14
  525. package/node_modules/wide-align/README.md +0 -47
  526. package/node_modules/wide-align/align.js +0 -65
  527. package/node_modules/wide-align/package.json +0 -69
  528. package/node_modules/wrappy/LICENSE +0 -15
  529. package/node_modules/wrappy/README.md +0 -36
  530. package/node_modules/wrappy/package.json +0 -62
  531. package/node_modules/wrappy/wrappy.js +0 -33
  532. /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -2,9 +2,9 @@ name: Build - Linux
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
- push:
6
- tags:
7
- - v*
5
+ # push:
6
+ # tags:
7
+ # - v*
8
8
 
9
9
  env:
10
10
  ACTIONS_ALLOW_UNSECURE_COMMANDS: true
@@ -14,7 +14,7 @@ jobs:
14
14
  runs-on: ubuntu-20.04
15
15
  strategy:
16
16
  matrix:
17
- node-version: [10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x, 19.x, 20.x]
17
+ node-version: [ 16.x]
18
18
 
19
19
  steps:
20
20
  - uses: actions/checkout@v2
@@ -31,7 +31,7 @@ jobs:
31
31
  env:
32
32
  CI: true
33
33
  - name: Upload
34
- run: node_modules/.bin/prebuild --upload -u ${{ secrets.GITHUB_TOKEN }}
34
+ run: node_modules/.bin/prebuild -r napi --upload -u ${{ secrets.GITHUB_TOKEN }}
35
35
  env:
36
36
  CI: true
37
37
 
@@ -40,7 +40,7 @@ jobs:
40
40
 
41
41
  strategy:
42
42
  matrix:
43
- node-version: [10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x, 19.x, 20.x]
43
+ node-version: [16.x]
44
44
  steps:
45
45
  - uses: actions/checkout@v2
46
46
  - name: Prepare Cross Compile
@@ -59,7 +59,7 @@ jobs:
59
59
  - name: Build & Upload
60
60
  run: |
61
61
  npm install --ignore-scripts
62
- node_modules/.bin/prebuild --backend cmake-js --arch arm --upload -u ${{ secrets.GITHUB_TOKEN }} -- --CDCMAKE_TOOLCHAIN_FILE:FILEPATH=./cmake/toolchain/armv7.cmake
62
+ node_modules/.bin/prebuild -r napi --backend cmake-js --arch arm --upload -u ${{ secrets.GITHUB_TOKEN }} -- --CDCMAKE_TOOLCHAIN_FILE:FILEPATH=./cmake/toolchain/armv7.cmake
63
63
  env:
64
64
  CI: true
65
65
 
@@ -68,7 +68,7 @@ jobs:
68
68
 
69
69
  strategy:
70
70
  matrix:
71
- node-version: [10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x, 19.x, 20.x]
71
+ node-version: [16.x]
72
72
  steps:
73
73
  - uses: actions/checkout@v2
74
74
  - name: Prepare Cross Compile
@@ -87,7 +87,7 @@ jobs:
87
87
  - name: Build & Upload
88
88
  run: |
89
89
  npm install --ignore-scripts
90
- node_modules/.bin/prebuild --backend cmake-js --arch arm64 --upload -u ${{ secrets.GITHUB_TOKEN }} -- --CDCMAKE_TOOLCHAIN_FILE:FILEPATH=./cmake/toolchain/arm64.cmake
90
+ node_modules/.bin/prebuild -r napi --backend cmake-js --arch arm64 --upload -u ${{ secrets.GITHUB_TOKEN }} -- --CDCMAKE_TOOLCHAIN_FILE:FILEPATH=./cmake/toolchain/arm64.cmake
91
91
  env:
92
92
  CI: true
93
93
 
@@ -101,7 +101,7 @@ jobs:
101
101
  # - name: Set up Node.js
102
102
  # uses: actions/setup-node@v1
103
103
  # with:
104
- # node-version: 12.x
104
+ # node-version: 16.x
105
105
  # registry-url: "https://registry.npmjs.org"
106
106
  # - name: Publish
107
107
  # run: |
@@ -2,9 +2,9 @@ name: Build - Mac M1
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
- push:
6
- tags:
7
- - v*
5
+ # push:
6
+ # tags:
7
+ # - v*
8
8
 
9
9
  env:
10
10
  ACTIONS_ALLOW_UNSECURE_COMMANDS: true
@@ -14,7 +14,7 @@ jobs:
14
14
  runs-on: macos-11
15
15
  strategy:
16
16
  matrix:
17
- node-version: [10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x, 19.x, 20.x]
17
+ node-version: [16.x]
18
18
 
19
19
  steps:
20
20
  - uses: actions/checkout@v3
@@ -30,7 +30,7 @@ jobs:
30
30
  - name: Build
31
31
  run: |
32
32
  npm install --ignore-scripts
33
- node_modules/.bin/prebuild --backend cmake-js --arch arm64 --upload -u ${{ secrets.GITHUB_TOKEN }} -- --CDCMAKE_OSX_ARCHITECTURES="arm64"
33
+ node_modules/.bin/prebuild -r napi --backend cmake-js --arch arm64 --upload -u ${{ secrets.GITHUB_TOKEN }} -- --CDCMAKE_OSX_ARCHITECTURES="arm64"
34
34
  env:
35
35
  CI: true
36
36
  OPENSSL_ROOT_DIR: /tmp/opt/R/arm64
@@ -2,9 +2,9 @@ name: Build - Mac x64
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
- push:
6
- tags:
7
- - v*
5
+ # push:
6
+ # tags:
7
+ # - v*
8
8
 
9
9
  env:
10
10
  ACTIONS_ALLOW_UNSECURE_COMMANDS: true
@@ -14,7 +14,7 @@ jobs:
14
14
  runs-on: macos-11
15
15
  strategy:
16
16
  matrix:
17
- node-version: [10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x, 19.x, 20.x]
17
+ node-version: [16.x]
18
18
 
19
19
  steps:
20
20
  - uses: actions/checkout@v2
@@ -35,6 +35,6 @@ jobs:
35
35
  env:
36
36
  CI: true
37
37
  - name: Upload
38
- run: node_modules/.bin/prebuild --upload -u ${{ secrets.GITHUB_TOKEN }}
38
+ run: node_modules/.bin/prebuild -r napi --upload -u ${{ secrets.GITHUB_TOKEN }}
39
39
  env:
40
40
  CI: true
@@ -2,9 +2,9 @@ name: Build - Win
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
- push:
6
- tags:
7
- - v*
5
+ # push:
6
+ # tags:
7
+ # - v*
8
8
 
9
9
  env:
10
10
  ACTIONS_ALLOW_UNSECURE_COMMANDS: true
@@ -14,7 +14,7 @@ jobs:
14
14
  runs-on: windows-2019
15
15
  strategy:
16
16
  matrix:
17
- node-version: [10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x, 19.x, 20.x]
17
+ node-version: [16.x]
18
18
 
19
19
  steps:
20
20
  - uses: actions/checkout@v2
@@ -34,7 +34,7 @@ jobs:
34
34
  # env:
35
35
  # CI: true
36
36
  - name: Upload
37
- run: node_modules/.bin/prebuild --upload -u ${{ secrets.GITHUB_TOKEN }}
37
+ run: node_modules/.bin/prebuild -r napi --upload -u ${{ secrets.GITHUB_TOKEN }}
38
38
  env:
39
39
  CI: true
40
40
 
@@ -42,7 +42,7 @@ jobs:
42
42
  runs-on: windows-2019
43
43
  strategy:
44
44
  matrix:
45
- node_version: [10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x, 18.x, 19.x, 20.x]
45
+ node_version: [16.x]
46
46
  node_arch:
47
47
  - x86
48
48
  steps:
@@ -51,7 +51,10 @@ jobs:
51
51
  with:
52
52
  arch: x86
53
53
  - name: Install OpenSSL
54
- run: choco install openssl --x86=true
54
+ # openssl v3.1.1 [Approved]
55
+ # openssl package files install completed. Performing other installation steps.
56
+ # ERROR: 32-bit installation is not supported for openssl
57
+ run: choco install openssl --x86=true --version=1.1.1.2100
55
58
  - name: Use Node.js ${{ matrix.node_version }}
56
59
  uses: aminya/setup-node@x86
57
60
  with:
@@ -66,6 +69,6 @@ jobs:
66
69
  # env:
67
70
  # CI: true
68
71
  - name: Upload
69
- run: node_modules/.bin/prebuild --upload -u ${{ secrets.GITHUB_TOKEN }}
72
+ run: node_modules/.bin/prebuild -r napi --upload -u ${{ secrets.GITHUB_TOKEN }}
70
73
  env:
71
74
  CI: true
@@ -16,4 +16,4 @@ jobs:
16
16
  with:
17
17
  node-version: '16.x'
18
18
  - run: npm ci
19
- - run: npm run lint
19
+ - run: npm run lint
@@ -13,7 +13,7 @@ jobs:
13
13
  - name: Set up Node.js
14
14
  uses: actions/setup-node@v1
15
15
  with:
16
- node-version: 12.x
16
+ node-version: 16.x
17
17
  registry-url: "https://registry.npmjs.org"
18
18
  - name: Publish
19
19
  run: |
@@ -4,4 +4,5 @@ module.exports = {
4
4
  singleQuote: true,
5
5
  printWidth: 120,
6
6
  tabWidth: 4,
7
+ endOfLine: 'auto'
7
8
  };
package/BULDING.md CHANGED
@@ -14,6 +14,10 @@
14
14
 
15
15
  Other Options
16
16
  ```sh
17
- > npm run install -- -DUSE_GNUTLS=1 # Use GnuTLS instead of OpenSSL (Default False)
18
- > npm run install -- -DUSE_NICE=1 # Use libnice instead of libjuice (Default False)
19
- ```
17
+ # Use GnuTLS instead of OpenSSL (Default False)
18
+ > npm run install-gnu-tls
19
+
20
+ # Use libnice instead of libjuice (Default False)
21
+ # libnice-dev packet should be installed. (eg. sudo apt install libnice-dev)
22
+ > npm run install-nice
23
+ ```
package/CMakeLists.txt CHANGED
@@ -1,12 +1,11 @@
1
1
  cmake_minimum_required(VERSION 3.15)
2
2
  cmake_policy(SET CMP0091 NEW)
3
- project(node_datachannel VERSION 0.4.3)
3
+ cmake_policy(SET CMP0042 NEW)
4
4
 
5
- # Workaround for https://github.com/murat-dogan/node-datachannel/issues/65
6
- if( NODE_RUNTIMEVERSION VERSION_GREATER "17.0.0" AND NODE_RUNTIMEVERSION VERSION_LESS "18.0.0" )
7
- add_compile_definitions(OPENSSL_API_COMPAT=0x10100001L)
8
- add_compile_definitions(OPENSSL_CONFIGURED_API=0x30000000L)
9
- endif()
5
+ project(node_datachannel VERSION 0.5.0)
6
+
7
+ # -Dnapi_build_version=8
8
+ add_definitions(-DNAPI_VERSION=8)
10
9
 
11
10
  include_directories(${CMAKE_JS_INC})
12
11
 
@@ -30,26 +29,25 @@ if(NOT ${NODE_ARCH} STREQUAL "arm64")
30
29
  find_package(OpenSSL REQUIRED)
31
30
  endif()
32
31
 
33
-
34
32
  include(FetchContent)
35
33
 
36
34
  # Fetch libdatachannel
37
35
  FetchContent_Declare(
38
36
  libdatachannel
39
37
  GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git
40
- GIT_TAG "v0.18.5"
38
+ GIT_TAG "v0.19.2"
41
39
  )
42
40
 
43
41
  option(NO_MEDIA "Disable media transport support in libdatachannel" OFF)
44
42
  option(NO_WEBSOCKET "Disable WebSocket support in libdatachannel" ON)
45
43
 
46
44
  FetchContent_GetProperties(libdatachannel)
45
+
47
46
  if(NOT libdatachannel)
48
- FetchContent_Populate(libdatachannel)
49
- add_subdirectory(${libdatachannel_SOURCE_DIR} ${libdatachannel_BINARY_DIR} EXCLUDE_FROM_ALL)
47
+ FetchContent_Populate(libdatachannel)
48
+ add_subdirectory(${libdatachannel_SOURCE_DIR} ${libdatachannel_BINARY_DIR} EXCLUDE_FROM_ALL)
50
49
  endif()
51
50
 
52
-
53
51
  add_library(${PROJECT_NAME} SHARED
54
52
  src/rtc-wrapper.cpp
55
53
  src/media-direction.cpp
@@ -70,25 +68,17 @@ set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".node")
70
68
  target_include_directories(${PROJECT_NAME} PRIVATE
71
69
  ${CMAKE_SOURCE_DIR}/node_modules/node-addon-api
72
70
  ${CMAKE_BINARY_DIR}/_deps/libdatachannel-src/include
73
- )
74
-
75
- if( NODE_RUNTIMEVERSION VERSION_LESS "16.0.0")
76
- # For compatibility with Node.js 12
77
- # This should be removed along with the napi-thread-safe-callback-cancellable dependency when dropping support at end-of-life
78
- target_compile_definitions(${PROJECT_NAME} PRIVATE -DLEGACY_NAPI_THREAD_SAFE_CALLBACK)
79
- endif()
80
-
81
- target_include_directories(${PROJECT_NAME} PRIVATE
82
- ${CMAKE_SOURCE_DIR}/node_modules/napi-thread-safe-callback-cancellable
71
+ ${CMAKE_BINARY_DIR}/_deps/libdatachannel-src/deps/plog
83
72
  )
84
73
 
85
74
  set(LINK_LIBRARIES
86
75
  ${CMAKE_JS_LIB}
87
76
  datachannel-static
77
+ plog::plog
88
78
  )
89
79
 
90
80
  if(APPLE)
91
- #
81
+ #
92
82
  elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android")
93
83
  list(APPEND LINK_LIBRARIES -static-libgcc)
94
84
  elseif(UNIX)
package/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  ![Linux CI Build](https://github.com/murat-dogan/node-datachannel/workflows/Build%20-%20Linux/badge.svg) ![Windows CI Build](https://github.com/murat-dogan/node-datachannel/workflows/Build%20-%20Win/badge.svg) ![Mac x64 CI Build](https://github.com/murat-dogan/node-datachannel/workflows/Build%20-%20Mac%20x64/badge.svg) ![Mac M1 CI Build](https://github.com/murat-dogan/node-datachannel/workflows/Build%20-%20Mac%20M1/badge.svg)
4
4
 
5
- - Easy to use
6
- - Lightweight
7
- - No need to deal with WebRTC stack!
8
- - Small binary sizes
9
- - Type infos for Typescript
5
+ - Easy to use
6
+ - Lightweight
7
+ - No need to deal with WebRTC stack!
8
+ - Small binary sizes
9
+ - Type infos for Typescript
10
10
 
11
11
  This project is NodeJS bindings for [libdatachannel](https://github.com/paullouisageneau/libdatachannel) library.
12
12
 
@@ -20,70 +20,71 @@ npm install node-datachannel
20
20
 
21
21
  ## Supported Platforms
22
22
 
23
- | | Linux-x64 | Linux-armv7 | Linux-arm64(1) | Windows-x86 | Windows-x64 | Mac (M1 + x64) |
24
- |----------|:---------:|:-----------:|:----------------:|:-----------:|:-----------:|:--------------:|
25
- | Node V10 | + | + | + | + | + | + |
26
- | Node V11 | + | + | + | + | + | + |
27
- | Node V12 | + | + | + | + | + | + |
28
- | Node V13 | + | + | + | + | + | + |
29
- | Node V14 | + | + | + | + | + | + |
30
- | Node V15 | + | + | + | + | + | + |
31
- | Node V16 | + | + | + | + | + | + |
32
- | Node V17 | + | + | + | + | + | + |
33
- | Node V18 | + | + | + | + | + | + |
34
- | Node V19 | + | + | + | + | + | + |
35
- | Node V20 | + | + | + | + | + | + |
23
+ `node-datachannel` targets N-API version 8 and supports NodeJS v16 and above. It is tested on Linux, Windows and MacOS. For N-API compatibility please check [here](https://nodejs.org/api/n-api.html#n_api_n_api_version_matrix).
36
24
 
37
- 1) Please note that; For Linux-arm64 platform we need OpenSSL to be installed locally.
25
+ | | Linux-x64 | Linux-armv7 | Linux-arm64(1) | Windows-x86 | Windows-x64 | Mac (M1 + x64) |
26
+ | -------- | :-------: | :---------: | :------------: | :---------: | :---------: | :------------: |
27
+ | Node V16 | + | + | + | + | + | + |
28
+ | Node V17 | + | + | + | + | + | + |
29
+ | Node V18 | + | + | + | + | + | + |
30
+ | Node V19 | + | + | + | + | + | + |
31
+ | Node V20 | + | + | + | + | + | + |
38
32
 
33
+ 1. Please note that; For Linux-arm64 platform we need OpenSSL to be installed locally.
34
+
35
+ ## Electron
36
+
37
+ `node-datachannel` supports Electron.
38
+
39
+ Please check [electron demo](/examples/electron-demo)
39
40
 
40
41
  ## Example Usage
41
42
 
42
43
  ```js
43
- const nodeDataChannel = require('node-datachannel');
44
+ import nodeDataChannel from 'node-datachannel';
44
45
 
45
46
  // Log Level
46
- nodeDataChannel.initLogger("Debug");
47
+ nodeDataChannel.initLogger('Debug');
47
48
 
48
49
  let dc1 = null;
49
50
  let dc2 = null;
50
51
 
51
- let peer1 = new nodeDataChannel.PeerConnection("Peer1", { iceServers: ["stun:stun.l.google.com:19302"] });
52
+ let peer1 = new nodeDataChannel.PeerConnection('Peer1', { iceServers: ['stun:stun.l.google.com:19302'] });
52
53
 
53
54
  // Set Callbacks
54
55
  peer1.onLocalDescription((sdp, type) => {
55
- console.log("Peer1 SDP:", sdp, " Type:", type);
56
+ console.log('Peer1 SDP:', sdp, ' Type:', type);
56
57
  peer2.setRemoteDescription(sdp, type);
57
58
  });
58
59
  peer1.onLocalCandidate((candidate, mid) => {
59
- console.log("Peer1 Candidate:", candidate);
60
+ console.log('Peer1 Candidate:', candidate);
60
61
  peer2.addRemoteCandidate(candidate, mid);
61
62
  });
62
63
 
63
- let peer2 = new nodeDataChannel.PeerConnection("Peer2", { iceServers: ["stun:stun.l.google.com:19302"] });
64
+ let peer2 = new nodeDataChannel.PeerConnection('Peer2', { iceServers: ['stun:stun.l.google.com:19302'] });
64
65
 
65
66
  // Set Callbacks
66
67
  peer2.onLocalDescription((sdp, type) => {
67
- console.log("Peer2 SDP:", sdp, " Type:", type);
68
+ console.log('Peer2 SDP:', sdp, ' Type:', type);
68
69
  peer1.setRemoteDescription(sdp, type);
69
70
  });
70
71
  peer2.onLocalCandidate((candidate, mid) => {
71
- console.log("Peer2 Candidate:", candidate);
72
+ console.log('Peer2 Candidate:', candidate);
72
73
  peer1.addRemoteCandidate(candidate, mid);
73
74
  });
74
75
  peer2.onDataChannel((dc) => {
75
- console.log("Peer2 Got DataChannel: ", dc.getLabel());
76
+ console.log('Peer2 Got DataChannel: ', dc.getLabel());
76
77
  dc2 = dc;
77
78
  dc2.onMessage((msg) => {
78
79
  console.log('Peer2 Received Msg:', msg);
79
80
  });
80
- dc2.sendMessage("Hello From Peer2");
81
+ dc2.sendMessage('Hello From Peer2');
81
82
  });
82
83
 
83
- dc1 = peer1.createDataChannel("test");
84
+ dc1 = peer1.createDataChannel('test');
84
85
 
85
86
  dc1.onOpen(() => {
86
- dc1.sendMessage("Hello from Peer1");
87
+ dc1.sendMessage('Hello from Peer1');
87
88
  });
88
89
 
89
90
  dc1.onMessage((msg) => {
@@ -99,13 +100,17 @@ setTimeout(() => {
99
100
  }, 10 * 1000);
100
101
  ```
101
102
 
103
+ ## WebRTC Polyfills
104
+
105
+ Please check [here](/polyfill)
106
+
102
107
  ## Test
108
+
103
109
  ```sh
104
110
  npm run test # Unit tests
105
111
  node test/connectivity.js # Connectivity
106
112
  ```
107
113
 
108
-
109
114
  ## Build
110
115
 
111
116
  Please check [here](/BULDING.md)
@@ -121,4 +126,3 @@ Please check [docs](/API.md) page
121
126
  ## Thanks
122
127
 
123
128
  Thanks to [Streamr](https://streamr.network/) for supporting this project by being a Sponsor!
124
-
@@ -14,4 +14,4 @@ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
14
14
  set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
15
15
 
16
16
  set(CMAKE_C_FLAGS "-march=armv8-a -fPIC -Wno-error=format-truncation" CACHE STRING "Compiler Flags")
17
- set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "Compiler Flags")
17
+ set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "Compiler Flags")
@@ -0,0 +1,22 @@
1
+ # client-server Example
2
+
3
+ - You can use client-server example project to test WebRTC Data Channels with WebSocket signaling.
4
+ - It uses same logic of [libdatachannel/examples/client](https://github.com/paullouisageneau/libdatachannel/tree/master/examples) project.
5
+ - Contains an equivalent implementation for a node.js signaling server
6
+
7
+ ## How to Use?
8
+
9
+ - Prepare Project
10
+ - cd examples/client-server
11
+ - npm i
12
+ - Start ws signaling server;
13
+ - node signaling-server.js
14
+ - Start answerer (On a new Console);
15
+ - node client.js
16
+ - Note local ID
17
+ - Start Offerer (On a new Console);
18
+
19
+ - node client.js
20
+ - Enter answerer ID
21
+
22
+ > You can also use [libdatachannel/examples/client](https://github.com/paullouisageneau/libdatachannel/tree/master/examples) project's client & signaling server
@@ -1,12 +1,17 @@
1
- /* eslint-disable @typescript-eslint/no-var-requires */
1
+ // createRequire is native in node version >= 12
2
+ import { createRequire } from 'module';
3
+ const require = createRequire(import.meta.url);
4
+
5
+ // yargs down not supports ES Modules
2
6
  const yargs = require('yargs/yargs');
3
7
  const { hideBin } = require('yargs/helpers');
4
- const nodeDataChannel = require('../../lib/index');
5
- const WebSocket = require('ws');
6
- const readline = require('readline');
8
+
9
+ import WebSocket from 'ws';
10
+ import readline from 'readline';
11
+ import nodeDataChannel from '../../lib/index.js';
7
12
 
8
13
  // Init Logger
9
- nodeDataChannel.initLogger('Debug');
14
+ nodeDataChannel.initLogger('Info');
10
15
 
11
16
  // PeerConnection Map
12
17
  const pcMap = {};
@@ -72,7 +77,7 @@ ws.on('error', (err) => {
72
77
  });
73
78
 
74
79
  ws.on('message', (msgStr) => {
75
- msg = JSON.parse(msgStr);
80
+ let msg = JSON.parse(msgStr);
76
81
  switch (msg.type) {
77
82
  case 'offer':
78
83
  createPeerConnection(msg.id);
@@ -1,10 +1,9 @@
1
- /* eslint-disable @typescript-eslint/no-var-requires */
2
- const nodeDataChannel = require('../../lib/index');
3
- const WebSocket = require('ws');
4
- const readline = require('readline');
1
+ import WebSocket from 'ws';
2
+ import readline from 'readline';
3
+ import nodeDataChannel from '../../lib/index.js';
5
4
 
6
5
  // Init Logger
7
- nodeDataChannel.initLogger('Debug');
6
+ nodeDataChannel.initLogger('Info');
8
7
 
9
8
  // PeerConnection Map
10
9
  const pcMap = {};
@@ -43,7 +42,7 @@ ws.on('error', (err) => {
43
42
  });
44
43
 
45
44
  ws.on('message', (msgStr) => {
46
- msg = JSON.parse(msgStr);
45
+ let msg = JSON.parse(msgStr);
47
46
  switch (msg.type) {
48
47
  case 'offer':
49
48
  createPeerConnection(msg.id);
@@ -1,7 +1,6 @@
1
- /* eslint-disable @typescript-eslint/no-var-requires */
2
- const nodeDataChannel = require('../../lib/index');
3
- const WebSocket = require('ws');
4
- const readline = require('readline');
1
+ import WebSocket from 'ws';
2
+ import readline from 'readline';
3
+ import nodeDataChannel from '../../lib/index.js';
5
4
 
6
5
  // Init Logger
7
6
  nodeDataChannel.initLogger('Error');
@@ -31,7 +30,7 @@ ws.on('error', (err) => {
31
30
  });
32
31
 
33
32
  ws.on('message', (msgStr) => {
34
- msg = JSON.parse(msgStr);
33
+ let msg = JSON.parse(msgStr);
35
34
  switch (msg.type) {
36
35
  case 'offer':
37
36
  createPeerConnection(msg.id);