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.
- package/.eslintignore +5 -1
- package/.eslintrc.json +27 -0
- package/.prettierrc +12 -0
- package/CMakeLists.txt +13 -13
- package/jest.config.ts +14 -0
- package/package.json +46 -43
- package/rollup.config.mjs +63 -0
- package/src/index.ts +10 -0
- package/{lib/datachannel-stream.js → src/lib/datachannel-stream.ts} +16 -11
- package/src/lib/index.ts +180 -0
- package/src/lib/node-datachannel.ts +13 -0
- package/src/lib/types.ts +126 -0
- package/{lib/websocket-server.js → src/lib/websocket-server.ts} +10 -8
- package/src/lib/websocket.ts +26 -0
- package/src/polyfill/Events.ts +33 -0
- package/src/polyfill/Exception.ts +37 -0
- package/src/polyfill/RTCCertificate.ts +17 -0
- package/{polyfill/RTCDataChannel.js → src/polyfill/RTCDataChannel.ts} +43 -40
- package/src/polyfill/RTCDtlsTransport.ts +47 -0
- package/src/polyfill/RTCError.ts +71 -0
- package/{polyfill/RTCIceCandidate.js → src/polyfill/RTCIceCandidate.ts} +35 -35
- package/{polyfill/RTCIceTransport.js → src/polyfill/RTCIceTransport.ts} +22 -20
- package/{polyfill/RTCPeerConnection.js → src/polyfill/RTCPeerConnection.ts} +128 -114
- package/{polyfill/RTCSctpTransport.js → src/polyfill/RTCSctpTransport.ts} +16 -14
- package/{polyfill/RTCSessionDescription.js → src/polyfill/RTCSessionDescription.ts} +7 -12
- package/{polyfill/index.js → src/polyfill/index.ts} +10 -10
- package/tsconfig.json +20 -13
- package/.eslintrc.cjs +0 -8
- package/.github/FUNDING.yml +0 -2
- package/.github/workflows/build-linux.yml +0 -109
- package/.github/workflows/build-mac-m1.yml +0 -38
- package/.github/workflows/build-mac-x64.yml +0 -40
- package/.github/workflows/build-win.yml +0 -74
- package/.github/workflows/lint.yml +0 -20
- package/.github/workflows/npm-publish-manual.yml +0 -23
- package/.prettierrc.cjs +0 -8
- package/build-containers/Dockerfile.alpine +0 -6
- package/build-containers/Dockerfile.debian +0 -7
- package/cmake/toolchain/ci.cmake +0 -23
- package/examples/client-server/README.md +0 -22
- package/examples/client-server/client-benchmark.js +0 -230
- package/examples/client-server/client-periodic.js +0 -189
- package/examples/client-server/client.js +0 -111
- package/examples/client-server/package-lock.json +0 -289
- package/examples/client-server/package.json +0 -16
- package/examples/client-server/signaling-server.js +0 -39
- package/examples/electron-demo/README.md +0 -58
- package/examples/electron-demo/forge.config.js +0 -49
- package/examples/electron-demo/package-lock.json +0 -15877
- package/examples/electron-demo/package.json +0 -44
- package/examples/electron-demo/src/index.css +0 -7
- package/examples/electron-demo/src/index.html +0 -29
- package/examples/electron-demo/src/main.js +0 -53
- package/examples/electron-demo/src/node-datachannel.js +0 -123
- package/examples/electron-demo/src/preload.js +0 -28
- package/examples/electron-demo/src/renderer.js +0 -58
- package/examples/electron-demo/webpack.main.config.js +0 -21
- package/examples/electron-demo/webpack.renderer.config.js +0 -13
- package/examples/electron-demo/webpack.rules.js +0 -35
- package/examples/media/README.md +0 -34
- package/examples/media/main.html +0 -45
- package/examples/media/media.js +0 -54
- package/examples/simple-peer-usage/main.js +0 -28
- package/examples/simple-peer-usage/package-lock.json +0 -317
- package/examples/simple-peer-usage/package.json +0 -16
- package/examples/websocket/websocket-client.js +0 -20
- package/examples/websocket/websocket-server.js +0 -22
- package/jest.config.cjs +0 -7
- package/lib/index.cjs +0 -194
- package/lib/index.d.cts +0 -300
- package/lib/index.d.ts +0 -300
- package/lib/index.js +0 -58
- package/lib/node-datachannel.js +0 -7
- package/polyfill/Events.d.ts +0 -9
- package/polyfill/Events.js +0 -29
- package/polyfill/Exception.js +0 -23
- package/polyfill/RTCCertificate.d.ts +0 -7
- package/polyfill/RTCCertificate.js +0 -17
- package/polyfill/RTCDataChannel.d.ts +0 -35
- package/polyfill/RTCDtlsTransport.d.ts +0 -10
- package/polyfill/RTCDtlsTransport.js +0 -47
- package/polyfill/RTCError.d.ts +0 -11
- package/polyfill/RTCError.js +0 -65
- package/polyfill/RTCIceCandidate.d.ts +0 -20
- package/polyfill/RTCIceTransport.d.ts +0 -18
- package/polyfill/RTCPeerConnection.d.ts +0 -62
- package/polyfill/RTCSctpTransport.d.ts +0 -10
- package/polyfill/RTCSessionDescription.d.ts +0 -8
- package/polyfill/index.cjs +0 -1333
- package/polyfill/index.d.cts +0 -37
- package/polyfill/index.d.ts +0 -37
- package/test/connectivity.js +0 -86
- package/test/jest-tests/basic.test.js +0 -37
- package/test/jest-tests/multiple-run.test.js +0 -73
- package/test/jest-tests/p2p.test.js +0 -99
- package/test/jest-tests/polyfill.test.js +0 -10
- package/test/jest-tests/streams.test.js +0 -48
- package/test/jest-tests/websocket.test.js +0 -69
- package/test/polyfill-connectivity.js +0 -89
- package/test/websockets.js +0 -50
- package/test/wpt-tests/README.md +0 -46
- package/test/wpt-tests/chrome-failed-tests.js +0 -42
- package/test/wpt-tests/index.js +0 -96
- package/test/wpt-tests/last-test-results.md +0 -301
- package/test/wpt-tests/package-lock.json +0 -1712
- package/test/wpt-tests/package.json +0 -19
- package/test/wpt-tests/wpt-test-list.js +0 -139
- package/test/wpt-tests/wpt.js +0 -131
- /package/src/{data-channel-wrapper.cpp → cpp/data-channel-wrapper.cpp} +0 -0
- /package/src/{data-channel-wrapper.h → cpp/data-channel-wrapper.h} +0 -0
- /package/src/{main.cpp → cpp/main.cpp} +0 -0
- /package/src/{media-audio-wrapper.cpp → cpp/media-audio-wrapper.cpp} +0 -0
- /package/src/{media-audio-wrapper.h → cpp/media-audio-wrapper.h} +0 -0
- /package/src/{media-direction.cpp → cpp/media-direction.cpp} +0 -0
- /package/src/{media-direction.h → cpp/media-direction.h} +0 -0
- /package/src/{media-rtcpreceivingsession-wrapper.cpp → cpp/media-rtcpreceivingsession-wrapper.cpp} +0 -0
- /package/src/{media-rtcpreceivingsession-wrapper.h → cpp/media-rtcpreceivingsession-wrapper.h} +0 -0
- /package/src/{media-track-wrapper.cpp → cpp/media-track-wrapper.cpp} +0 -0
- /package/src/{media-track-wrapper.h → cpp/media-track-wrapper.h} +0 -0
- /package/src/{media-video-wrapper.cpp → cpp/media-video-wrapper.cpp} +0 -0
- /package/src/{media-video-wrapper.h → cpp/media-video-wrapper.h} +0 -0
- /package/src/{peer-connection-wrapper.cpp → cpp/peer-connection-wrapper.cpp} +0 -0
- /package/src/{peer-connection-wrapper.h → cpp/peer-connection-wrapper.h} +0 -0
- /package/src/{rtc-wrapper.cpp → cpp/rtc-wrapper.cpp} +0 -0
- /package/src/{rtc-wrapper.h → cpp/rtc-wrapper.h} +0 -0
- /package/src/{thread-safe-callback.cpp → cpp/thread-safe-callback.cpp} +0 -0
- /package/src/{thread-safe-callback.h → cpp/thread-safe-callback.h} +0 -0
- /package/src/{web-socket-server-wrapper.cpp → cpp/web-socket-server-wrapper.cpp} +0 -0
- /package/src/{web-socket-server-wrapper.h → cpp/web-socket-server-wrapper.h} +0 -0
- /package/src/{web-socket-wrapper.cpp → cpp/web-socket-wrapper.cpp} +0 -0
- /package/src/{web-socket-wrapper.h → cpp/web-socket-wrapper.h} +0 -0
- /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
|
-
};
|