@canboat/canboatjs 3.15.1 → 3.16.0-beta.2

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 (60) hide show
  1. package/binding.gyp +10 -0
  2. package/build/Makefile +347 -0
  3. package/build/binding.Makefile +6 -0
  4. package/build/canSocket.target.mk +189 -0
  5. package/build/gyp-mac-tool +772 -0
  6. package/dist/bin/candumpjs.js +2 -3
  7. package/dist/bin/candumpjs.js.map +1 -1
  8. package/dist/bin/cansendjs.js +3 -4
  9. package/dist/bin/cansendjs.js.map +1 -1
  10. package/dist/canSocket.d.ts +39 -0
  11. package/dist/canSocket.d.ts.map +1 -0
  12. package/dist/canSocket.js +101 -0
  13. package/dist/canSocket.js.map +1 -0
  14. package/dist/canbus.d.ts.map +1 -1
  15. package/dist/canbus.js +4 -19
  16. package/dist/canbus.js.map +1 -1
  17. package/dist/fromPgn.js +7 -1
  18. package/dist/fromPgn.js.map +1 -1
  19. package/dist/simpleCan.d.ts.map +1 -1
  20. package/dist/simpleCan.js +2 -3
  21. package/dist/simpleCan.js.map +1 -1
  22. package/native/canSocket.cpp +64 -0
  23. package/package.json +15 -13
  24. package/tsconfig.tsbuildinfo +1 -1
  25. package/vscode-profile-2025-07-21-12-04-28.cpuprofile +1 -0
  26. package/dist/actisense-serial.d.ts +0 -17
  27. package/dist/bin/actisense-file.d.ts +0 -3
  28. package/dist/bin/actisense-n2k-tcp.d.ts +0 -3
  29. package/dist/bin/actisense-serialjs.d.ts +0 -3
  30. package/dist/bin/analyzerjs.d.ts +0 -3
  31. package/dist/bin/candumpjs.d.ts +0 -3
  32. package/dist/bin/cansendjs.d.ts +0 -3
  33. package/dist/bin/ikonvert-serial.d.ts +0 -3
  34. package/dist/bin/to-pgn.d.ts +0 -3
  35. package/dist/bin/utils.d.ts +0 -4
  36. package/dist/bin/ydvr-file.d.ts +0 -3
  37. package/dist/browser.d.ts +0 -25
  38. package/dist/canId.d.ts +0 -21
  39. package/dist/canId.test.d.ts +0 -2
  40. package/dist/canbus.d.ts +0 -17
  41. package/dist/candevice.d.ts +0 -23
  42. package/dist/codes.d.ts +0 -2
  43. package/dist/discovery.d.ts +0 -17
  44. package/dist/fromPgnStream.d.ts +0 -17
  45. package/dist/ikonvert.d.ts +0 -17
  46. package/dist/index.d.ts +0 -40
  47. package/dist/maretron.d.ts +0 -74
  48. package/dist/maretron.test.d.ts +0 -2
  49. package/dist/n2k-actisense.test.d.ts +0 -2
  50. package/dist/n2kDevice.d.ts +0 -44
  51. package/dist/persist.d.ts +0 -18
  52. package/dist/pgns.d.ts +0 -5
  53. package/dist/pgns.test.d.ts +0 -2
  54. package/dist/simpleCan.d.ts +0 -17
  55. package/dist/stringMsg.test.d.ts +0 -2
  56. package/dist/utilities.test.d.ts +0 -2
  57. package/dist/venus-mqtt.d.ts +0 -11
  58. package/dist/w2k01.d.ts +0 -17
  59. package/dist/yddevice.d.ts +0 -25
  60. package/dist/ydgw02.d.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"simpleCan.js","sourceRoot":"","sources":["../lib/simpleCan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simpleCan.js","sourceRoot":"","sources":["../lib/simpleCan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ #include <napi.h>
2
+ #include <sys/socket.h>
3
+ #include <sys/ioctl.h>
4
+ #include <net/if.h>
5
+ #include <linux/can.h>
6
+ #include <linux/can/raw.h>
7
+ #include <unistd.h>
8
+ #include <cstring>
9
+ #include <cerrno>
10
+
11
+ Napi::Value OpenCanSocket(const Napi::CallbackInfo& info) {
12
+ Napi::Env env = info.Env();
13
+
14
+ if (info.Length() < 1 || !info[0].IsString()) {
15
+ Napi::TypeError::New(env, "Interface name required")
16
+ .ThrowAsJavaScriptException();
17
+ return env.Undefined();
18
+ }
19
+
20
+ std::string ifname = info[0].As<Napi::String>().Utf8Value();
21
+
22
+ int fd = socket(PF_CAN, SOCK_RAW, CAN_RAW);
23
+ if (fd < 0) {
24
+ Napi::Error::New(env, std::string("socket(PF_CAN): ") + strerror(errno))
25
+ .ThrowAsJavaScriptException();
26
+ return env.Undefined();
27
+ }
28
+
29
+ struct ifreq ifr;
30
+ std::memset(&ifr, 0, sizeof(ifr));
31
+ std::strncpy(ifr.ifr_name, ifname.c_str(), IFNAMSIZ - 1);
32
+ if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) {
33
+ std::string err = std::string("ioctl(SIOCGIFINDEX) for '") + ifname +
34
+ "': " + strerror(errno);
35
+ close(fd);
36
+ Napi::Error::New(env, err).ThrowAsJavaScriptException();
37
+ return env.Undefined();
38
+ }
39
+
40
+ struct sockaddr_can addr;
41
+ std::memset(&addr, 0, sizeof(addr));
42
+ addr.can_family = AF_CAN;
43
+ addr.can_ifindex = ifr.ifr_ifindex;
44
+ if (bind(fd, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
45
+ std::string err =
46
+ std::string("bind() to '") + ifname + "': " + strerror(errno);
47
+ close(fd);
48
+ Napi::Error::New(env, err).ThrowAsJavaScriptException();
49
+ return env.Undefined();
50
+ }
51
+
52
+ // Leave fd in blocking mode. fs.createReadStream uses libuv's threadpool
53
+ // (uv_fs_read) — blocking reads on worker threads are correct and efficient.
54
+ // This avoids EAGAIN errors and eliminates the uv_poll_t failure mode entirely.
55
+
56
+ return Napi::Number::New(env, fd);
57
+ }
58
+
59
+ Napi::Object Init(Napi::Env env, Napi::Object exports) {
60
+ exports.Set("openCanSocket", Napi::Function::New(env, OpenCanSocket));
61
+ return exports;
62
+ }
63
+
64
+ NODE_API_MODULE(canSocket, Init)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canboat/canboatjs",
3
- "version": "3.15.1",
3
+ "version": "3.16.0-beta.2",
4
4
  "description": "Native javascript version of canboat",
5
5
  "main": "dist/index.js",
6
6
  "browser": "dist/browser.js",
@@ -11,6 +11,7 @@
11
11
  "code-coverage": "jest --coverage && nyc mocha --exit",
12
12
  "build_ios": "webpack -c ./webpack.config.js --mode development ./ios.js -o ios_canboat.js",
13
13
  "build_prod_ios": "webpack -c ./webpack.config.js --mode production ./ios.js -o ios_canboat.js",
14
+ "install": "node-gyp rebuild || echo 'Native CAN socket addon not available on this platform'",
14
15
  "build": "tsc -b --pretty false",
15
16
  "watch": "tsc --watch",
16
17
  "prepublishOnly": "npm run build",
@@ -27,15 +28,15 @@
27
28
  ]
28
29
  },
29
30
  "bin": {
30
- "analyzerjs": "./dist/bin/analyzerjs.js",
31
- "to-pgn": "./dist/bin/to-pgn.js",
32
- "actisense-serialjs": "./dist/bin/actisense-serialjs.js",
33
- "actisense-file": "./dist/bin/actisense-file.js",
34
- "actisense-n2k-tcp": "./dist/bin/actisense-n2k-tcp.js",
35
- "candumpjs": "./dist/bin/candumpjs.js",
36
- "ikonvert-serial": "./dist/bin/ikonvert-serial.js",
37
- "cansendjs": "./dist/bin/cansendjs.js",
38
- "ydr-file": "./dist/bin/ydvr-file.js"
31
+ "analyzerjs": "dist/bin/analyzerjs.js",
32
+ "to-pgn": "dist/bin/to-pgn.js",
33
+ "actisense-serialjs": "dist/bin/actisense-serialjs.js",
34
+ "actisense-file": "dist/bin/actisense-file.js",
35
+ "actisense-n2k-tcp": "dist/bin/actisense-n2k-tcp.js",
36
+ "candumpjs": "dist/bin/candumpjs.js",
37
+ "ikonvert-serial": "dist/bin/ikonvert-serial.js",
38
+ "cansendjs": "dist/bin/cansendjs.js",
39
+ "ydr-file": "dist/bin/ydvr-file.js"
39
40
  },
40
41
  "keywords": [
41
42
  "boat",
@@ -65,6 +66,7 @@
65
66
  "minimist": "^1.2.0",
66
67
  "moment": "^2.30.1",
67
68
  "mqtt": "^2.18.8",
69
+ "node-addon-api": "^8.6.0",
68
70
  "split": "^1.0.1"
69
71
  },
70
72
  "devDependencies": {
@@ -96,13 +98,13 @@
96
98
  "typescript-eslint": "^8.35.0",
97
99
  "webpack-cli": "^6.0.1"
98
100
  },
101
+ "gypfile": true,
99
102
  "optionalDependencies": {
100
103
  "@serialport/parser-readline": "11.x.x",
101
- "serialport": "11.x.x",
102
- "socketcan": "^4.0.3"
104
+ "serialport": "11.x.x"
103
105
  },
104
106
  "repository": {
105
107
  "type": "git",
106
- "url": "https://github.com/canboat/canboatjs.git"
108
+ "url": "git+https://github.com/canboat/canboatjs.git"
107
109
  }
108
110
  }