Skip to content

Commit 40127e5

Browse files
committed
Raise Node.js Minimum to 20.20.2
1 parent 53a5855 commit 40127e5

13 files changed

Lines changed: 16 additions & 26 deletions

File tree

.github/workflows/linux-arm64-build-and-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
strategy:
2121
fail-fast: false
2222
matrix:
23-
node-version: [16.X]
23+
node-version: [20.20.2]
2424
architecture: [arm64]
2525
ros_distribution:
2626
- humble

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Choose the path that matches how you plan to use rclnodejs:
4242

4343
### Prerequisites
4444

45-
- [Node.js](https://nodejs.org/en/) version >= 16.13.0
45+
- [Node.js](https://nodejs.org/en/) version >= 20.20.2
4646
- [ROS 2 SDK](https://docs.ros.org/en/jazzy/Installation.html)
4747

4848
Before installing, building, or running rclnodejs, source your ROS 2 environment:
@@ -86,7 +86,7 @@ rclnodejs ships with prebuilt native binaries for common Linux configurations si
8686
- **Ubuntu 22.04 (Jammy)** - ROS 2 Humble
8787
- **Ubuntu 24.04 (Noble)** - ROS 2 Jazzy, Kilted
8888
- **Architectures:** x64, arm64
89-
- **Node.js:** >= 16.20.2 (N-API compatible)
89+
- **Node.js:** >= 20.20.2 (N-API compatible)
9090

9191
Installations outside this prebuilt matrix automatically fall back to building from source.
9292

benchmark/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Performance benchmarks for comparing ROS 2 client libraries: C++ (rclcpp), Pytho
55
## Prerequisites
66

77
1. **ROS 2**: Install from [ros.org](https://docs.ros.org/en/jazzy/Installation.html)
8-
2. **Node.js**: v16+ for rclnodejs (from [nodejs.org](https://nodejs.org/))
8+
2. **Node.js**: v20.20.2+ for rclnodejs (from [nodejs.org](https://nodejs.org/))
99
3. **rclnodejs**: Follow [installation guide](https://github.com/RobotWebTools/rclnodejs#installation)
1010
4. **Build Dependencies**: For C++ benchmarks: `sudo apt install libssl-dev cmake build-essential`
1111

docs/BUILDING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Alternatively, you can build ROS 2 from scratch. Please select the platform you
1313
### Install `Node.js`
1414

1515
**Notice:**
16-
`rclnodejs` requires Node.js version >= 16.13.0.
16+
`rclnodejs` requires Node.js version >= 20.20.2.
1717

1818
I install Nodejs from either:
1919

electron_demo/car/README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ This demo showcases how to use **rclnodejs** with **Electron** to create an inte
3030
Before running this demo, ensure you have:
3131

3232
1. **ROS2 installed** (Humble, Jazzy, Kilted, or Rolling)
33-
2. **Node.js** (version 16 or higher)
33+
2. **Node.js** (version 20.20.2 or higher)
3434
3. **rclnodejs built** and working
3535

3636
### ROS2 Setup
@@ -288,7 +288,6 @@ Extend the joystick commands by modifying the switch statement in `main.js` and
288288
### Common Issues
289289

290290
1. **"Failed to initialize ROS2" Error**
291-
292291
- Ensure ROS2 is properly sourced before running npm start
293292
- Check that rclnodejs is built correctly
294293

@@ -301,7 +300,6 @@ Extend the joystick commands by modifying the switch statement in `main.js` and
301300
```
302301

303302
3. **Topic Not Appearing**
304-
305303
- Verify ROS2 daemon is running: `ros2 daemon status`
306304
- Check topic list: `ros2 topic list`
307305

electron_demo/manipulator/README.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ An interactive Electron application demonstrating a two-joint robotic manipulato
1616

1717
## 📋 Prerequisites
1818

19-
- **Node.js** (>= 16.13.0) - JavaScript runtime
19+
- **Node.js** (>= 20.20.2) - JavaScript runtime
2020
- **ROS 2** (Humble, Jazzy, or newer) - Robot Operating System 2
2121
- **rclnodejs compatible environment** - Linux recommended (tested on Ubuntu/WSL)
2222

@@ -81,7 +81,6 @@ npm start
8181
### Interactive Controls
8282

8383
- **Joint Sliders**: Use the sliders in the control panel to manually adjust joint angles
84-
8584
- **Joint 1 (Base)**: Rotates the entire arm around the vertical axis (±180°)
8685
- **Joint 2 (Elbow)**: Bends the upper arm segment (±135°)
8786

@@ -105,13 +104,11 @@ npm start
105104
The demo includes visual indicators to help identify joint movements:
106105

107106
- **🔴 Red Markers**: Joint 1 (Base rotation)
108-
109107
- Red ring around the base joint
110108
- Red arrow showing rotation direction
111109
- "Joint1" text label
112110

113111
- **🟢 Green Markers**: Joint 2 (Elbow)
114-
115112
- Green ring around the elbow joint
116113
- Green arrow showing rotation direction
117114
- "Joint2" text label
@@ -309,13 +306,11 @@ manipulator/
309306
```
310307

311308
2. **Build errors with latest Electron**
312-
313309
- This demo uses Electron 31.7.7 for rclnodejs compatibility
314310
- Electron 38+ requires C++20, which rclnodejs doesn't support yet
315311
- The current versions are tested and stable
316312

317313
3. **No ROS2 messages received**
318-
319314
- Check if ROS2 daemon is running: `ros2 daemon start`
320315
- Verify topic exists: `ros2 topic list`
321316
- Check message flow: `ros2 topic echo /joint_states`

electron_demo/topics/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ A minimal Electron application demonstrating basic ROS2 topic communication usin
2121

2222
## 📋 Prerequisites
2323

24-
- **Node.js** (>= 16.13.0) - JavaScript runtime
24+
- **Node.js** (>= 20.20.2) - JavaScript runtime
2525
- **ROS 2** (Humble, Jazzy, or newer) - Robot Operating System 2
2626
- **rclnodejs compatible environment** - Linux recommended (tested on Ubuntu/WSL)
2727

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"format": "clang-format -i -style=file ./src/*.cpp ./src/*.h && npx --yes prettier --write \"{lib,rosidl_gen,rostsd_gen,rosidl_parser,types,example,test,scripts,benchmark,rostsd_gen}/**/*.{js,md,ts}\" ./*.{js,md,ts}",
3535
"prepare": "husky",
3636
"coverage": "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
37-
"prebuild": "prebuildify --napi --strip --target 16.20.2 --target electron@23.0.0 && node scripts/tag_prebuilds.js"
37+
"prebuild": "prebuildify --napi --strip --target 20.20.2 --target electron@23.0.0 && node scripts/tag_prebuilds.js"
3838
},
3939
"bin": {
4040
"generate-ros-messages": "./scripts/generate_messages.js"
@@ -103,6 +103,6 @@
103103
"directory": "test/types"
104104
},
105105
"engines": {
106-
"node": ">= 16.13.0"
106+
"node": ">= 20.20.2"
107107
}
108108
}

scripts/npmjs-readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ This example assumes your ROS 2 environment is already sourced.
2020

2121
### Prerequisites
2222

23-
- [Node.js](https://nodejs.org/en/) version >= 16.13.0
23+
- [Node.js](https://nodejs.org/en/) version >= 20.20.2
2424
- [ROS 2 SDK](https://docs.ros.org/en/jazzy/Installation.html)
2525

2626
Before installing or running rclnodejs, source your ROS 2 environment:
@@ -52,7 +52,7 @@ rclnodejs ships with prebuilt native binaries for common Linux configurations si
5252
- **Ubuntu 22.04 (Jammy)** - ROS 2 Humble
5353
- **Ubuntu 24.04 (Noble)** - ROS 2 Jazzy, Kilted
5454
- **Architectures:** x64, arm64
55-
- **Node.js:** >= 16.20.2 (N-API compatible)
55+
- **Node.js:** >= 20.20.2 (N-API compatible)
5656

5757
Installations outside this prebuilt matrix automatically fall back to building from source.
5858

tools/jsdoc/tmpl/mainpage.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ var homepage = this.homepage || {};
8181
<article class="guide-card" id="guide-installation">
8282
<p class="section-kicker">Setup</p>
8383
<h3>Installation and environment</h3>
84-
<p>Install Node.js 16.13.0 or newer, install a compatible ROS 2 distribution, then source the ROS 2 setup file before using the package.</p>
84+
<p>Install Node.js 20.20.2 or newer, install a compatible ROS 2 distribution, then source the ROS 2 setup file before using the package.</p>
8585
<pre class="prettyprint"><code>source /opt/ros/&lt;distro&gt;/setup.bash
8686
npm i rclnodejs</code></pre>
8787
<ul class="guide-list">

0 commit comments

Comments
 (0)