node-datachannel 0.12.0 → 0.20.0-alpha.1

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 (132) hide show
  1. package/.eslintignore +5 -1
  2. package/.eslintrc.json +27 -0
  3. package/.prettierrc +12 -0
  4. package/CMakeLists.txt +13 -13
  5. package/jest.config.ts +14 -0
  6. package/package.json +46 -43
  7. package/rollup.config.mjs +63 -0
  8. package/src/index.ts +10 -0
  9. package/{lib/datachannel-stream.js → src/lib/datachannel-stream.ts} +16 -11
  10. package/src/lib/index.ts +180 -0
  11. package/src/lib/node-datachannel.ts +13 -0
  12. package/src/lib/types.ts +126 -0
  13. package/{lib/websocket-server.js → src/lib/websocket-server.ts} +10 -8
  14. package/src/lib/websocket.ts +26 -0
  15. package/src/polyfill/Events.ts +33 -0
  16. package/src/polyfill/Exception.ts +37 -0
  17. package/src/polyfill/RTCCertificate.ts +17 -0
  18. package/{polyfill/RTCDataChannel.js → src/polyfill/RTCDataChannel.ts} +43 -40
  19. package/src/polyfill/RTCDtlsTransport.ts +47 -0
  20. package/src/polyfill/RTCError.ts +71 -0
  21. package/{polyfill/RTCIceCandidate.js → src/polyfill/RTCIceCandidate.ts} +35 -35
  22. package/{polyfill/RTCIceTransport.js → src/polyfill/RTCIceTransport.ts} +22 -20
  23. package/{polyfill/RTCPeerConnection.js → src/polyfill/RTCPeerConnection.ts} +128 -114
  24. package/{polyfill/RTCSctpTransport.js → src/polyfill/RTCSctpTransport.ts} +16 -14
  25. package/{polyfill/RTCSessionDescription.js → src/polyfill/RTCSessionDescription.ts} +7 -12
  26. package/{polyfill/index.js → src/polyfill/index.ts} +10 -10
  27. package/tsconfig.json +20 -13
  28. package/.eslintrc.cjs +0 -8
  29. package/.github/FUNDING.yml +0 -2
  30. package/.github/workflows/build-linux.yml +0 -109
  31. package/.github/workflows/build-mac-m1.yml +0 -38
  32. package/.github/workflows/build-mac-x64.yml +0 -40
  33. package/.github/workflows/build-win.yml +0 -74
  34. package/.github/workflows/lint.yml +0 -20
  35. package/.github/workflows/npm-publish-manual.yml +0 -23
  36. package/.prettierrc.cjs +0 -8
  37. package/build-containers/Dockerfile.alpine +0 -6
  38. package/build-containers/Dockerfile.debian +0 -7
  39. package/cmake/toolchain/ci.cmake +0 -23
  40. package/examples/client-server/README.md +0 -22
  41. package/examples/client-server/client-benchmark.js +0 -230
  42. package/examples/client-server/client-periodic.js +0 -189
  43. package/examples/client-server/client.js +0 -111
  44. package/examples/client-server/package-lock.json +0 -289
  45. package/examples/client-server/package.json +0 -16
  46. package/examples/client-server/signaling-server.js +0 -39
  47. package/examples/electron-demo/README.md +0 -58
  48. package/examples/electron-demo/forge.config.js +0 -49
  49. package/examples/electron-demo/package-lock.json +0 -15877
  50. package/examples/electron-demo/package.json +0 -44
  51. package/examples/electron-demo/src/index.css +0 -7
  52. package/examples/electron-demo/src/index.html +0 -29
  53. package/examples/electron-demo/src/main.js +0 -53
  54. package/examples/electron-demo/src/node-datachannel.js +0 -123
  55. package/examples/electron-demo/src/preload.js +0 -28
  56. package/examples/electron-demo/src/renderer.js +0 -58
  57. package/examples/electron-demo/webpack.main.config.js +0 -21
  58. package/examples/electron-demo/webpack.renderer.config.js +0 -13
  59. package/examples/electron-demo/webpack.rules.js +0 -35
  60. package/examples/media/README.md +0 -34
  61. package/examples/media/main.html +0 -45
  62. package/examples/media/media.js +0 -54
  63. package/examples/simple-peer-usage/main.js +0 -28
  64. package/examples/simple-peer-usage/package-lock.json +0 -317
  65. package/examples/simple-peer-usage/package.json +0 -16
  66. package/examples/websocket/websocket-client.js +0 -20
  67. package/examples/websocket/websocket-server.js +0 -22
  68. package/jest.config.cjs +0 -7
  69. package/lib/index.cjs +0 -194
  70. package/lib/index.d.cts +0 -300
  71. package/lib/index.d.ts +0 -300
  72. package/lib/index.js +0 -58
  73. package/lib/node-datachannel.js +0 -7
  74. package/polyfill/Events.d.ts +0 -9
  75. package/polyfill/Events.js +0 -29
  76. package/polyfill/Exception.js +0 -23
  77. package/polyfill/RTCCertificate.d.ts +0 -7
  78. package/polyfill/RTCCertificate.js +0 -17
  79. package/polyfill/RTCDataChannel.d.ts +0 -35
  80. package/polyfill/RTCDtlsTransport.d.ts +0 -10
  81. package/polyfill/RTCDtlsTransport.js +0 -47
  82. package/polyfill/RTCError.d.ts +0 -11
  83. package/polyfill/RTCError.js +0 -65
  84. package/polyfill/RTCIceCandidate.d.ts +0 -20
  85. package/polyfill/RTCIceTransport.d.ts +0 -18
  86. package/polyfill/RTCPeerConnection.d.ts +0 -62
  87. package/polyfill/RTCSctpTransport.d.ts +0 -10
  88. package/polyfill/RTCSessionDescription.d.ts +0 -8
  89. package/polyfill/index.cjs +0 -1333
  90. package/polyfill/index.d.cts +0 -37
  91. package/polyfill/index.d.ts +0 -37
  92. package/test/connectivity.js +0 -86
  93. package/test/jest-tests/basic.test.js +0 -37
  94. package/test/jest-tests/multiple-run.test.js +0 -73
  95. package/test/jest-tests/p2p.test.js +0 -99
  96. package/test/jest-tests/polyfill.test.js +0 -10
  97. package/test/jest-tests/streams.test.js +0 -48
  98. package/test/jest-tests/websocket.test.js +0 -69
  99. package/test/polyfill-connectivity.js +0 -89
  100. package/test/websockets.js +0 -50
  101. package/test/wpt-tests/README.md +0 -46
  102. package/test/wpt-tests/chrome-failed-tests.js +0 -42
  103. package/test/wpt-tests/index.js +0 -96
  104. package/test/wpt-tests/last-test-results.md +0 -301
  105. package/test/wpt-tests/package-lock.json +0 -1712
  106. package/test/wpt-tests/package.json +0 -19
  107. package/test/wpt-tests/wpt-test-list.js +0 -139
  108. package/test/wpt-tests/wpt.js +0 -131
  109. /package/src/{data-channel-wrapper.cpp → cpp/data-channel-wrapper.cpp} +0 -0
  110. /package/src/{data-channel-wrapper.h → cpp/data-channel-wrapper.h} +0 -0
  111. /package/src/{main.cpp → cpp/main.cpp} +0 -0
  112. /package/src/{media-audio-wrapper.cpp → cpp/media-audio-wrapper.cpp} +0 -0
  113. /package/src/{media-audio-wrapper.h → cpp/media-audio-wrapper.h} +0 -0
  114. /package/src/{media-direction.cpp → cpp/media-direction.cpp} +0 -0
  115. /package/src/{media-direction.h → cpp/media-direction.h} +0 -0
  116. /package/src/{media-rtcpreceivingsession-wrapper.cpp → cpp/media-rtcpreceivingsession-wrapper.cpp} +0 -0
  117. /package/src/{media-rtcpreceivingsession-wrapper.h → cpp/media-rtcpreceivingsession-wrapper.h} +0 -0
  118. /package/src/{media-track-wrapper.cpp → cpp/media-track-wrapper.cpp} +0 -0
  119. /package/src/{media-track-wrapper.h → cpp/media-track-wrapper.h} +0 -0
  120. /package/src/{media-video-wrapper.cpp → cpp/media-video-wrapper.cpp} +0 -0
  121. /package/src/{media-video-wrapper.h → cpp/media-video-wrapper.h} +0 -0
  122. /package/src/{peer-connection-wrapper.cpp → cpp/peer-connection-wrapper.cpp} +0 -0
  123. /package/src/{peer-connection-wrapper.h → cpp/peer-connection-wrapper.h} +0 -0
  124. /package/src/{rtc-wrapper.cpp → cpp/rtc-wrapper.cpp} +0 -0
  125. /package/src/{rtc-wrapper.h → cpp/rtc-wrapper.h} +0 -0
  126. /package/src/{thread-safe-callback.cpp → cpp/thread-safe-callback.cpp} +0 -0
  127. /package/src/{thread-safe-callback.h → cpp/thread-safe-callback.h} +0 -0
  128. /package/src/{web-socket-server-wrapper.cpp → cpp/web-socket-server-wrapper.cpp} +0 -0
  129. /package/src/{web-socket-server-wrapper.h → cpp/web-socket-server-wrapper.h} +0 -0
  130. /package/src/{web-socket-wrapper.cpp → cpp/web-socket-wrapper.cpp} +0 -0
  131. /package/src/{web-socket-wrapper.h → cpp/web-socket-wrapper.h} +0 -0
  132. /package/{polyfill → src/polyfill}/README.md +0 -0
@@ -1,58 +0,0 @@
1
- # node-datachannel electron demo
2
-
3
- Project created with
4
-
5
- > `npm init electron-app@latest my-new-app -- --template=webpack`
6
-
7
- ## Electron Compatibility and Rebuilding
8
-
9
- `node-datachannel` uses N-API for creating binaries. Normally `electron` is compatible with N-API binaries, so you should not need to rebuild the binaries.
10
-
11
- ### If you need anyway, you can use `electron-rebuild` package with some modifications.
12
-
13
- Electron does not support `cmake-js` which `node-datachannel` uses as builder.
14
-
15
- As a workaround you can use a custom plugin for `electron-forge`.
16
-
17
- Package named as [plugin-node-datachannel](https://github.com/murat-dogan/plugin-node-datachannel)
18
-
19
- For rebuilding native addon;
20
-
21
- ```
22
- > npm i https://github.com/murat-dogan/plugin-node-datachannel
23
-
24
- # Add plugin to forge.config.js like below
25
- ...
26
- {
27
- name: 'plugin-node-datachannel',
28
- config: {},
29
- },
30
- ...
31
- ```
32
-
33
- ## How to start the demo Application
34
-
35
- ### Package the App
36
-
37
- - cd examples/electron-demo
38
- - npm install
39
- - npm run package
40
-
41
- Now the app is built and ready to be used in folder `out`.
42
-
43
- ### Start Signaling Server
44
-
45
- In another terminal, start signaling server as below;
46
-
47
- - cd examples/client-server
48
- - npm install
49
- - node signaling-server.js
50
-
51
- Now signaling server is ready and running.
52
-
53
- ### Start App
54
-
55
- - Start 2 instances of the application
56
- - Copy ID of one instance
57
- - Paste the copied ID to the other instance
58
- - Click Connect
@@ -1,49 +0,0 @@
1
- module.exports = {
2
- packagerConfig: {
3
- asar: true,
4
- },
5
- rebuildConfig: {},
6
- makers: [
7
- {
8
- name: '@electron-forge/maker-squirrel',
9
- config: {},
10
- },
11
- {
12
- name: '@electron-forge/maker-zip',
13
- platforms: ['darwin'],
14
- },
15
- {
16
- name: '@electron-forge/maker-deb',
17
- config: {},
18
- },
19
- {
20
- name: '@electron-forge/maker-rpm',
21
- config: {},
22
- },
23
- ],
24
- plugins: [
25
- {
26
- name: '@electron-forge/plugin-auto-unpack-natives',
27
- config: {},
28
- },
29
- {
30
- name: '@electron-forge/plugin-webpack',
31
- config: {
32
- mainConfig: './webpack.main.config.js',
33
- renderer: {
34
- config: './webpack.renderer.config.js',
35
- entryPoints: [
36
- {
37
- html: './src/index.html',
38
- js: './src/renderer.js',
39
- name: 'main_window',
40
- preload: {
41
- js: './src/preload.js',
42
- },
43
- },
44
- ],
45
- },
46
- },
47
- },
48
- ],
49
- };