You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Zeromq 4 and 5 Compatibility layer](#zeromq-4-and-5-compatibility-layer)
32
51
-[TypeScript](#typescript)
33
-
-[More examples](#more-examples)
34
-
-[Compatibility layer for version 4/5](#compatibility-layer-for-version-45)
35
-
-[Contribution](#contribution)
36
-
-[History](#history)
52
+
-[Contribution](#contribution)
53
+
-[Dependencies](#dependencies)
54
+
-[Defining new options](#defining-new-options)
55
+
-[Testing](#testing)
56
+
-[Publishing](#publishing)
57
+
-[History](#history)
37
58
38
59
## Installation
39
60
@@ -76,9 +97,9 @@ during build, you can build this package from source.
76
97
Make sure you have the following installed before attempting to build from
77
98
source:
78
99
79
-
- Node.js 10+ or Electron 3+
100
+
- Node.js 12+ or Electron
80
101
- A working C++17 compiler toolchain with make
81
-
- Python 3 with Node 12.13+ (or legacy Python 2.7)
102
+
- Python 3 with Node 12+ (or legacy Python 2.7)
82
103
- CMake 2.8+
83
104
- curl
84
105
@@ -96,67 +117,62 @@ When building from source, you can also specify additional build options in a
96
117
<details>
97
118
<summary>👉🏻 Options</summary>
98
119
99
-
#### Draft support
120
+
###Curve support
100
121
101
-
By default `libzmq` is built with support for `Draft` patterns (e.g.
102
-
`server-client`, `radio-dish`, `scatter-gather`). If you want to build `libzmq`
103
-
without support for `Draft`, you can specify the following in `.npmrc`:
122
+
Enables CURVE security for encrypted communications. To enable CURVE support, add the following to your .npmrc:
104
123
105
124
```ini
106
-
zmq_draft=false
125
+
zmq_curve="true"
107
126
```
108
127
109
-
#### Not Synchronous Resolve
128
+
###Libsodium for Curve
110
129
111
-
If you want to send/receive on the socket immediately, you can specify the
112
-
following in `.npmrc`:
130
+
Enable libsodium for CURVE security instead of the built-in tweetnacl implementation. This can provide better performance for CURVE operations. To use libsodium, add the following to your .npmrc:
113
131
114
132
```ini
115
-
zmq_no_sync_resolve="true"
133
+
zmq_sodium="true"
116
134
```
117
135
118
-
#### Shared library support
136
+
#### Draft support
119
137
120
-
If you want to link against a shared ZeroMQ library installed on your system,
121
-
you can build skip downloading `libzmq` and link with the installed library
122
-
instead by specifying the following in `.npmrc`:
138
+
By default `libzmq` is built with support for `Draft` patterns (e.g.
139
+
`server-client`, `radio-dish`, `scatter-gather`). If you want to build `libzmq`
140
+
without support for `Draft`, you can specify the following in `.npmrc`:
123
141
124
142
```ini
125
-
zmq_shared=true
143
+
zmq_draft=false
126
144
```
127
145
128
-
#### Alternative libzmq version
146
+
#### Websocket support
129
147
130
-
You can specify an alternative version or Git revision of `libzmq` to build
131
-
against by specifying the following in `.npmrc`:
148
+
Enables WebSocket transport, allowing ZeroMQ to communicate over WebSockets. To enable WebSocket support, add the following to your .npmrc:
132
149
133
150
```ini
134
-
zmq_version="4.3.5"
151
+
zmq_websockets="true"
135
152
```
136
153
137
-
#### Debug build of libzmq
154
+
#### Secure Websocket support
138
155
139
-
If you want to build `libzmq` with debug symbols, you can specify the following
140
-
in `.npmrc`:
156
+
Enables WebSocket transport with TLS (wss), providing secure WebSocket communications. To enable secure WebSocket support, add the following to your .npmrc:
141
157
142
158
```ini
143
-
zmq_build_type="Debug"
159
+
zmq_websockets_secure="true"
144
160
```
145
161
146
-
#### Cross-compilation for different architectures
162
+
#### Not Synchronous Resolve
147
163
148
-
If you want to cross-compile for a different architecture, you can specify the
149
-
following in `.npmrc`:
164
+
Enables immediate send/receive on the socket without synchronous resolution.
165
+
This option can improve performance in certain scenarios by allowing operations
166
+
to proceed without waiting for synchronous resolution. To enable this feature,
167
+
add the following to your `.npmrc`:
150
168
151
169
```ini
152
-
arch="arm64"
153
-
target_arch="arm64"
170
+
zmq_no_sync_resolve="true"
154
171
```
155
172
156
173
#### MacOS Deployment Target
157
174
158
-
If you want to specify the MacOS deployment target, you can specify the
159
-
following in `.npmrc`:
175
+
Specifies the minimum macOS version that the binary will be compatible with. This is particularly useful when building for different macOS versions. To set this, add the following to your .npmrc, replacing 10.15 with your desired minimum macOS version:
0 commit comments