appium-ios-tuntap 0.0.1 → 0.0.8

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/CHANGELOG.md CHANGED
@@ -1,4 +1,46 @@
1
- ## 1.0.0 (2025-07-22)
1
+ ## [0.0.8](https://github.com/appium/appium-ios-tuntap/compare/v0.0.7...v0.0.8) (2025-07-23)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * use macos for ci to publish ([#13](https://github.com/appium/appium-ios-tuntap/issues/13)) ([1facca1](https://github.com/appium/appium-ios-tuntap/commit/1facca1011399ad3cea7876427d1c7f7cf6cee72))
6
+
7
+ ## [0.0.7](https://github.com/appium/appium-ios-tuntap/compare/v0.0.6...v0.0.7) (2025-07-23)
8
+
9
+ ### Bug Fixes
10
+
11
+ * resolve npm publish error by removing hard links ([#12](https://github.com/appium/appium-ios-tuntap/issues/12)) ([7b06fa7](https://github.com/appium/appium-ios-tuntap/commit/7b06fa741b43005bbae6375c8bae4e923b6f4cb1))
12
+
13
+ ## [0.0.6](https://github.com/appium/appium-ios-tuntap/compare/v0.0.5...v0.0.6) (2025-07-23)
14
+
15
+ ### Miscellaneous Chores
16
+
17
+ * Apply standard Appium linter ([#11](https://github.com/appium/appium-ios-tuntap/issues/11)) ([a55693a](https://github.com/appium/appium-ios-tuntap/commit/a55693a90cca41f54ced506404b8456ea6994875))
18
+
19
+ ## [0.0.5](https://github.com/appium/appium-ios-tuntap/compare/v0.0.4...v0.0.5) (2025-07-23)
20
+
21
+ ### Bug Fixes
22
+
23
+ * hard link release issue ([#10](https://github.com/appium/appium-ios-tuntap/issues/10)) ([e7152b7](https://github.com/appium/appium-ios-tuntap/commit/e7152b7af519425d2045e61719fd460c251db391))
24
+
25
+ ## [0.0.4](https://github.com/appium/appium-ios-tuntap/compare/v0.0.3...v0.0.4) (2025-07-22)
26
+
27
+ ### Miscellaneous Chores
28
+
29
+ * **deps-dev:** bump @types/node from 22.16.5 to 24.1.0 ([#9](https://github.com/appium/appium-ios-tuntap/issues/9)) ([60a0d4b](https://github.com/appium/appium-ios-tuntap/commit/60a0d4beb1e36b4ccbf73a0cacda1179df75c834))
30
+
31
+ ## [0.0.3](https://github.com/appium/appium-ios-tuntap/compare/v0.0.2...v0.0.3) (2025-07-22)
32
+
33
+ ### Bug Fixes
34
+
35
+ * ensure clean shutdown and resource release on SIGINT (Ctrl+C) ([#1](https://github.com/appium/appium-ios-tuntap/issues/1)) ([d527960](https://github.com/appium/appium-ios-tuntap/commit/d5279605ac30a253382cbcd932926edd5dc285a2))
36
+
37
+ ## [0.0.2](https://github.com/appium/appium-ios-tuntap/compare/v0.0.1...v0.0.2) (2025-07-22)
38
+
39
+ ### Miscellaneous Chores
40
+
41
+ * update changelog to release it ([4e8fe0a](https://github.com/appium/appium-ios-tuntap/commit/4e8fe0a610a908c2f3a56bff7031f7580eb011c1))
42
+
43
+ ## [0.0.1] - [2025-07-22]
2
44
 
3
45
  ### Features
4
46
 
@@ -23,6 +65,17 @@ All notable changes to this project will be documented in this file.
23
65
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
24
66
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
25
67
 
68
+ ## [0.0.4] - 2025-07-18
69
+
70
+ ### Changed
71
+ - **Shutdown Responsibility**: Refactored the shutdown logic to be managed entirely by the TypeScript application layer, removing the signal handler from the C++ addon. This creates a single, reliable source of truth for shutdown orchestration and resolves the race condition.
72
+ - **Improved Thread Safety**: Hardened mutex locking around all public C++ methods to prevent potential race conditions during concurrent access.
73
+ - **Memory Safety**: Implemented smart pointers (`std::unique_ptr`) for libuv handle management in the C++ addon to prevent potential memory leaks.
74
+
75
+ ### Fixed
76
+ - **Process Hanging on Shutdown**: Resolved an issue where the Node.js process would hang on `Ctrl+C` (SIGINT). This was caused by a race condition between competing signal handlers in the C++ addon and the TypeScript application layer.
77
+
78
+
26
79
  ## [0.0.3] - 2025-01-07
27
80
 
28
81
  ### Added
package/README.md CHANGED
@@ -251,6 +251,51 @@ Enable debug logging by running your application with the `--debug` flag:
251
251
  node your-app.js --debug
252
252
  ```
253
253
 
254
+ ## Testing
255
+
256
+ Most tests for this module require **root privileges** (sudo) to create and manage TUN/TAP devices.
257
+
258
+ - If you run the tests without root, privileged tests will be automatically skipped.
259
+ - Some tests may interact with system networking; use caution on production systems.
260
+ - The test suite is designed to clean up after itself, but always verify no stray TUN/TAP devices remain after running.
261
+
262
+ ### Running the Tests
263
+
264
+ From the project root, run:
265
+
266
+ ```sh
267
+ sudo npx mocha test/tuntap-unit.spec.js
268
+ ```
269
+
270
+ Or, to run all tests in the `test/` directory:
271
+
272
+ ```sh
273
+ sudo npx mocha
274
+ ```
275
+
276
+ If you are **not** running as root, you will see a message that tests are skipped.
277
+
278
+ ### Manual Testing for Signal Handling (v0.0.4+)
279
+
280
+ Automated tests cannot reliably verify process cleanup on SIGINT/SIGTERM due to test runner limitations.
281
+ To manually verify the fix for signal handling (introduced in v0.0.4):
282
+
283
+ 1. Run the CLI utility:
284
+ ```sh
285
+ sudo node test/test-tuntap.js
286
+ ```
287
+ 2. While it is running, press `Ctrl+C` to send SIGINT.
288
+ 3. Confirm that:
289
+ - The process exits immediately.
290
+ - All TUN/TAP devices are closed and cleaned up.
291
+
292
+ This ensures the signal handler works as intended.
293
+
294
+ Apache-2.0
295
+ >>>>>>> upstream/main
254
296
  ## License
255
297
 
256
298
  Apache-2.0
299
+ =======
300
+ Apache-2.0
301
+ >>>>>>> upstream/main
package/build/Makefile CHANGED
@@ -148,10 +148,10 @@ cmd_pch_mm = $(CC.$(TOOLSET)) $(GYP_PCH_OBJCXXFLAGS) $(DEPFLAGS) -c -o $@ $<
148
148
  # Use $(4) for the command, since $(2) and $(3) are used as flag by do_cmd
149
149
  # already.
150
150
  quiet_cmd_mac_tool = MACTOOL $(4) $<
151
- cmd_mac_tool = /Users/kazu/.asdf/installs/python/3.12.4/bin/python3 gyp-mac-tool $(4) $< "$@"
151
+ cmd_mac_tool = /opt/homebrew/opt/python@3.13/bin/python3.13 gyp-mac-tool $(4) $< "$@"
152
152
 
153
153
  quiet_cmd_mac_package_framework = PACKAGE FRAMEWORK $@
154
- cmd_mac_package_framework = /Users/kazu/.asdf/installs/python/3.12.4/bin/python3 gyp-mac-tool package-framework "$@" $(4)
154
+ cmd_mac_package_framework = /opt/homebrew/opt/python@3.13/bin/python3.13 gyp-mac-tool package-framework "$@" $(4)
155
155
 
156
156
  quiet_cmd_infoplist = INFOPLIST $@
157
157
  cmd_infoplist = $(CC.$(TOOLSET)) -E -P -Wno-trigraphs -x c $(INFOPLIST_DEFINES) "$<" -o "$@"
@@ -167,7 +167,7 @@ quiet_cmd_symlink = SYMLINK $@
167
167
  cmd_symlink = ln -sf "$<" "$@"
168
168
 
169
169
  quiet_cmd_alink = LIBTOOL-STATIC $@
170
- cmd_alink = rm -f $@ && /Users/kazu/.asdf/installs/python/3.12.4/bin/python3 gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^)
170
+ cmd_alink = rm -f $@ && /opt/homebrew/opt/python@3.13/bin/python3.13 gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^)
171
171
 
172
172
  quiet_cmd_link = LINK($(TOOLSET)) $@
173
173
  cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS)
@@ -336,8 +336,8 @@ ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
336
336
  endif
337
337
 
338
338
  quiet_cmd_regen_makefile = ACTION Regenerating $@
339
- cmd_regen_makefile = cd $(srcdir); /Users/kazu/github/appium-ios-tuntap/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/kazu/Library/Caches/node-gyp/20.19.2" "-Dnode_gyp_dir=/Users/kazu/github/appium-ios-tuntap/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/Users/kazu/Library/Caches/node-gyp/20.19.2/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/kazu/github/appium-ios-tuntap" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/Users/kazu/github/appium-ios-tuntap/build/config.gypi -I/Users/kazu/github/appium-ios-tuntap/node_modules/npm/node_modules/node-gyp/addon.gypi -I/Users/kazu/Library/Caches/node-gyp/20.19.2/include/node/common.gypi "--toplevel-dir=." binding.gyp
340
- Makefile: $(srcdir)/binding.gyp $(srcdir)/build/config.gypi $(srcdir)/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/node_modules/node-addon-api/node_api.gyp $(srcdir)/../../Library/Caches/node-gyp/20.19.2/include/node/common.gypi
339
+ cmd_regen_makefile = cd $(srcdir); /Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/runner/Library/Caches/node-gyp/22.17.1" "-Dnode_gyp_dir=/Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/Users/runner/Library/Caches/node-gyp/22.17.1/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/runner/work/appium-ios-tuntap/appium-ios-tuntap" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/build/config.gypi -I/Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/npm/node_modules/node-gyp/addon.gypi -I/Users/runner/Library/Caches/node-gyp/22.17.1/include/node/common.gypi "--toplevel-dir=." binding.gyp
340
+ Makefile: $(srcdir)/../../../Library/Caches/node-gyp/22.17.1/include/node/common.gypi $(srcdir)/node_modules/node-addon-api/node_api.gyp $(srcdir)/binding.gyp $(srcdir)/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/build/config.gypi
341
341
  $(call do_cmd,regen_makefile)
342
342
 
343
343
  # "all" is a concatenation of the "all" targets from all the included
@@ -1 +1 @@
1
- cmd_Release/nothing.a := rm -f Release/nothing.a && /Users/kazu/.asdf/installs/python/3.12.4/bin/python3 gyp-mac-tool filter-libtool libtool -static -o Release/nothing.a Release/obj.target/nothing/node_modules/node-addon-api/nothing.o
1
+ cmd_Release/nothing.a := rm -f Release/nothing.a && /opt/homebrew/opt/python@3.13/bin/python3.13 gyp-mac-tool filter-libtool libtool -static -o Release/nothing.a Release/obj.target/nothing/node_modules/node-addon-api/nothing.o
@@ -1,4 +1,4 @@
1
- cmd_Release/obj.target/nothing/node_modules/node-addon-api/nothing.o := cc -o Release/obj.target/nothing/node_modules/node-addon-api/nothing.o ../node_modules/node-addon-api/nothing.c '-DNODE_GYP_MODULE_NAME=nothing' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' -I/Users/kazu/Library/Caches/node-gyp/20.19.2/include/node -I/Users/kazu/Library/Caches/node-gyp/20.19.2/src -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/openssl/config -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/openssl/openssl/include -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/uv/include -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/zlib -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/v8/include -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/nothing/node_modules/node-addon-api/nothing.o.d.raw -c
1
+ cmd_Release/obj.target/nothing/node_modules/node-addon-api/nothing.o := cc -o Release/obj.target/nothing/node_modules/node-addon-api/nothing.o ../node_modules/node-addon-api/nothing.c '-DNODE_GYP_MODULE_NAME=nothing' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_FILE_OFFSET_BITS=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' -I/Users/runner/Library/Caches/node-gyp/22.17.1/include/node -I/Users/runner/Library/Caches/node-gyp/22.17.1/src -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/openssl/config -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/openssl/openssl/include -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/uv/include -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/zlib -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/v8/include -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -MMD -MF ./Release/.deps/Release/obj.target/nothing/node_modules/node-addon-api/nothing.o.d.raw -c
2
2
  Release/obj.target/nothing/node_modules/node-addon-api/nothing.o: \
3
3
  ../node_modules/node-addon-api/nothing.c
4
4
  ../node_modules/node-addon-api/nothing.c:
@@ -1,17 +1,29 @@
1
- cmd_Release/obj.target/tuntap/src/tuntap.o := c++ -o Release/obj.target/tuntap/src/tuntap.o ../src/tuntap.cc '-DNODE_GYP_MODULE_NAME=tuntap' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNAPI_CPP_EXCEPTIONS' '-DNAPI_VERSION=8' '-DBUILDING_NODE_EXTENSION' -I/Users/kazu/Library/Caches/node-gyp/20.19.2/include/node -I/Users/kazu/Library/Caches/node-gyp/20.19.2/src -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/openssl/config -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/openssl/openssl/include -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/uv/include -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/zlib -I/Users/kazu/Library/Caches/node-gyp/20.19.2/deps/v8/include -I/Users/kazu/github/appium-ios-tuntap/node_modules/node-addon-api -O3 -gdwarf-2 -mmacosx-version-min=10.15 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -Wall -Wextra -Wno-unused-parameter -Wno-vla-extension -Wno-error -std=c++17 -stdlib=libc++ -fno-rtti -O3 -fPIC -MMD -MF ./Release/.deps/Release/obj.target/tuntap/src/tuntap.o.d.raw -c
1
+ cmd_Release/obj.target/tuntap/src/tuntap.o := c++ -o Release/obj.target/tuntap/src/tuntap.o ../src/tuntap.cc '-DNODE_GYP_MODULE_NAME=tuntap' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_FILE_OFFSET_BITS=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DNAPI_CPP_EXCEPTIONS' '-DNAPI_VERSION=8' '-DBUILDING_NODE_EXTENSION' -I/Users/runner/Library/Caches/node-gyp/22.17.1/include/node -I/Users/runner/Library/Caches/node-gyp/22.17.1/src -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/openssl/config -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/openssl/openssl/include -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/uv/include -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/zlib -I/Users/runner/Library/Caches/node-gyp/22.17.1/deps/v8/include -I/Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/node-addon-api -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=10.15 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -Wall -Wextra -Wno-unused-parameter -Wno-vla-extension -Wno-error -std=c++17 -stdlib=libc++ -fno-rtti -O3 -fPIC -MMD -MF ./Release/.deps/Release/obj.target/tuntap/src/tuntap.o.d.raw -c
2
2
  Release/obj.target/tuntap/src/tuntap.o: ../src/tuntap.cc \
3
- /Users/kazu/github/appium-ios-tuntap/node_modules/node-addon-api/napi.h \
4
- /Users/kazu/Library/Caches/node-gyp/20.19.2/include/node/node_api.h \
5
- /Users/kazu/Library/Caches/node-gyp/20.19.2/include/node/js_native_api.h \
6
- /Users/kazu/Library/Caches/node-gyp/20.19.2/include/node/js_native_api_types.h \
7
- /Users/kazu/Library/Caches/node-gyp/20.19.2/include/node/node_api_types.h \
8
- /Users/kazu/github/appium-ios-tuntap/node_modules/node-addon-api/napi-inl.h \
9
- /Users/kazu/github/appium-ios-tuntap/node_modules/node-addon-api/napi-inl.deprecated.h
3
+ /Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/node-addon-api/napi.h \
4
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/node_api.h \
5
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/js_native_api.h \
6
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/js_native_api_types.h \
7
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/node_api_types.h \
8
+ /Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/node-addon-api/napi-inl.h \
9
+ /Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/node-addon-api/napi-inl.deprecated.h \
10
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv.h \
11
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/errno.h \
12
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/version.h \
13
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/unix.h \
14
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/threadpool.h \
15
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/darwin.h
10
16
  ../src/tuntap.cc:
11
- /Users/kazu/github/appium-ios-tuntap/node_modules/node-addon-api/napi.h:
12
- /Users/kazu/Library/Caches/node-gyp/20.19.2/include/node/node_api.h:
13
- /Users/kazu/Library/Caches/node-gyp/20.19.2/include/node/js_native_api.h:
14
- /Users/kazu/Library/Caches/node-gyp/20.19.2/include/node/js_native_api_types.h:
15
- /Users/kazu/Library/Caches/node-gyp/20.19.2/include/node/node_api_types.h:
16
- /Users/kazu/github/appium-ios-tuntap/node_modules/node-addon-api/napi-inl.h:
17
- /Users/kazu/github/appium-ios-tuntap/node_modules/node-addon-api/napi-inl.deprecated.h:
17
+ /Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/node-addon-api/napi.h:
18
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/node_api.h:
19
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/js_native_api.h:
20
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/js_native_api_types.h:
21
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/node_api_types.h:
22
+ /Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/node-addon-api/napi-inl.h:
23
+ /Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/node-addon-api/napi-inl.deprecated.h:
24
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv.h:
25
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/errno.h:
26
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/version.h:
27
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/unix.h:
28
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/threadpool.h:
29
+ /Users/runner/Library/Caches/node-gyp/22.17.1/include/node/uv/darwin.h:
Binary file
Binary file
package/build/config.gypi CHANGED
@@ -2,6 +2,16 @@
2
2
  {
3
3
  "target_defaults": {
4
4
  "cflags": [],
5
+ "configurations": {
6
+ "Debug": {
7
+ "v8_enable_v8_checks": 0,
8
+ "variables": {}
9
+ },
10
+ "Release": {
11
+ "v8_enable_v8_checks": 1,
12
+ "variables": {}
13
+ }
14
+ },
5
15
  "default_configuration": "Release",
6
16
  "defines": [],
7
17
  "include_dirs": [],
@@ -13,6 +23,7 @@
13
23
  "arm_fpu": "neon",
14
24
  "asan": 0,
15
25
  "clang": 1,
26
+ "control_flow_guard": "false",
16
27
  "coverage": "false",
17
28
  "dcheck_always_on": 0,
18
29
  "debug_nghttp2": "false",
@@ -23,22 +34,54 @@
23
34
  "error_on_warn": "false",
24
35
  "force_dynamic_crt": 0,
25
36
  "host_arch": "arm64",
26
- "icu_data_in": "../../deps/icu-tmp/icudt76l.dat",
37
+ "icu_data_in": "../../deps/icu-tmp/icudt77l.dat",
27
38
  "icu_endianness": "l",
28
39
  "icu_gyp_path": "tools/icu/icu-generic.gyp",
29
40
  "icu_path": "deps/icu-small",
30
41
  "icu_small": "false",
31
- "icu_ver_major": "76",
32
- "is_debug": 0,
42
+ "icu_ver_major": "77",
33
43
  "libdir": "lib",
34
44
  "llvm_version": "16.0",
35
- "napi_build_version": "9",
45
+ "napi_build_version": "10",
36
46
  "node_builtin_shareable_builtins": [
37
47
  "deps/cjs-module-lexer/lexer.js",
38
48
  "deps/cjs-module-lexer/dist/lexer.js",
39
- "deps/undici/undici.js"
49
+ "deps/undici/undici.js",
50
+ "deps/amaro/dist/index.js"
40
51
  ],
41
52
  "node_byteorder": "little",
53
+ "node_cctest_sources": [
54
+ "src/node_snapshot_stub.cc",
55
+ "test/cctest/inspector/test_node_protocol.cc",
56
+ "test/cctest/node_test_fixture.cc",
57
+ "test/cctest/test_aliased_buffer.cc",
58
+ "test/cctest/test_base64.cc",
59
+ "test/cctest/test_base_object_ptr.cc",
60
+ "test/cctest/test_cppgc.cc",
61
+ "test/cctest/test_crypto_clienthello.cc",
62
+ "test/cctest/test_dataqueue.cc",
63
+ "test/cctest/test_environment.cc",
64
+ "test/cctest/test_inspector_socket.cc",
65
+ "test/cctest/test_inspector_socket_server.cc",
66
+ "test/cctest/test_json_utils.cc",
67
+ "test/cctest/test_linked_binding.cc",
68
+ "test/cctest/test_node_api.cc",
69
+ "test/cctest/test_node_crypto.cc",
70
+ "test/cctest/test_node_crypto_env.cc",
71
+ "test/cctest/test_node_postmortem_metadata.cc",
72
+ "test/cctest/test_node_task_runner.cc",
73
+ "test/cctest/test_path.cc",
74
+ "test/cctest/test_per_process.cc",
75
+ "test/cctest/test_platform.cc",
76
+ "test/cctest/test_quic_cid.cc",
77
+ "test/cctest/test_quic_error.cc",
78
+ "test/cctest/test_quic_tokens.cc",
79
+ "test/cctest/test_report.cc",
80
+ "test/cctest/test_sockaddr.cc",
81
+ "test/cctest/test_traced_value.cc",
82
+ "test/cctest/test_util.cc",
83
+ "test/cctest/node_test_fixture.h"
84
+ ],
42
85
  "node_debug_lib": "false",
43
86
  "node_enable_d8": "false",
44
87
  "node_enable_v8_vtunejit": "false",
@@ -86,8 +129,12 @@
86
129
  "lib/internal/assert.js",
87
130
  "lib/internal/assert/assertion_error.js",
88
131
  "lib/internal/assert/calltracker.js",
132
+ "lib/internal/assert/myers_diff.js",
89
133
  "lib/internal/assert/utils.js",
134
+ "lib/internal/async_context_frame.js",
90
135
  "lib/internal/async_hooks.js",
136
+ "lib/internal/async_local_storage/async_context_frame.js",
137
+ "lib/internal/async_local_storage/async_hooks.js",
91
138
  "lib/internal/blob.js",
92
139
  "lib/internal/blocklist.js",
93
140
  "lib/internal/bootstrap/node.js",
@@ -133,6 +180,7 @@
133
180
  "lib/internal/crypto/webcrypto.js",
134
181
  "lib/internal/crypto/webidl.js",
135
182
  "lib/internal/crypto/x509.js",
183
+ "lib/internal/data_url.js",
136
184
  "lib/internal/debugger/inspect.js",
137
185
  "lib/internal/debugger/inspect_client.js",
138
186
  "lib/internal/debugger/inspect_repl.js",
@@ -153,6 +201,7 @@
153
201
  "lib/internal/fs/cp/cp-sync.js",
154
202
  "lib/internal/fs/cp/cp.js",
155
203
  "lib/internal/fs/dir.js",
204
+ "lib/internal/fs/glob.js",
156
205
  "lib/internal/fs/promises.js",
157
206
  "lib/internal/fs/read/context.js",
158
207
  "lib/internal/fs/recursive_watch.js",
@@ -167,6 +216,9 @@
167
216
  "lib/internal/http2/compat.js",
168
217
  "lib/internal/http2/core.js",
169
218
  "lib/internal/http2/util.js",
219
+ "lib/internal/inspector/network.js",
220
+ "lib/internal/inspector/network_http.js",
221
+ "lib/internal/inspector/network_undici.js",
170
222
  "lib/internal/inspector_async_hook.js",
171
223
  "lib/internal/inspector_network_tracking.js",
172
224
  "lib/internal/js_stream_socket.js",
@@ -187,9 +239,9 @@
187
239
  "lib/internal/main/worker_thread.js",
188
240
  "lib/internal/mime.js",
189
241
  "lib/internal/modules/cjs/loader.js",
242
+ "lib/internal/modules/customization_hooks.js",
190
243
  "lib/internal/modules/esm/assert.js",
191
244
  "lib/internal/modules/esm/create_dynamic_module.js",
192
- "lib/internal/modules/esm/fetch_module.js",
193
245
  "lib/internal/modules/esm/formats.js",
194
246
  "lib/internal/modules/esm/get_format.js",
195
247
  "lib/internal/modules/esm/hooks.js",
@@ -198,7 +250,6 @@
198
250
  "lib/internal/modules/esm/loader.js",
199
251
  "lib/internal/modules/esm/module_job.js",
200
252
  "lib/internal/modules/esm/module_map.js",
201
- "lib/internal/modules/esm/package_config.js",
202
253
  "lib/internal/modules/esm/resolve.js",
203
254
  "lib/internal/modules/esm/shared_constants.js",
204
255
  "lib/internal/modules/esm/translators.js",
@@ -207,6 +258,7 @@
207
258
  "lib/internal/modules/helpers.js",
208
259
  "lib/internal/modules/package_json_reader.js",
209
260
  "lib/internal/modules/run_main.js",
261
+ "lib/internal/modules/typescript.js",
210
262
  "lib/internal/navigator.js",
211
263
  "lib/internal/net.js",
212
264
  "lib/internal/options.js",
@@ -223,13 +275,11 @@
223
275
  "lib/internal/perf/timerify.js",
224
276
  "lib/internal/perf/usertiming.js",
225
277
  "lib/internal/perf/utils.js",
226
- "lib/internal/policy/manifest.js",
227
- "lib/internal/policy/sri.js",
228
278
  "lib/internal/priority_queue.js",
229
279
  "lib/internal/process/execution.js",
280
+ "lib/internal/process/finalization.js",
230
281
  "lib/internal/process/per_thread.js",
231
282
  "lib/internal/process/permission.js",
232
- "lib/internal/process/policy.js",
233
283
  "lib/internal/process/pre_execution.js",
234
284
  "lib/internal/process/promises.js",
235
285
  "lib/internal/process/report.js",
@@ -239,6 +289,10 @@
239
289
  "lib/internal/process/worker_thread_only.js",
240
290
  "lib/internal/promise_hooks.js",
241
291
  "lib/internal/querystring.js",
292
+ "lib/internal/quic/quic.js",
293
+ "lib/internal/quic/state.js",
294
+ "lib/internal/quic/stats.js",
295
+ "lib/internal/quic/symbols.js",
242
296
  "lib/internal/readline/callbacks.js",
243
297
  "lib/internal/readline/emitKeypressEvents.js",
244
298
  "lib/internal/readline/interface.js",
@@ -275,6 +329,7 @@
275
329
  "lib/internal/streams/writable.js",
276
330
  "lib/internal/test/binding.js",
277
331
  "lib/internal/test/transfer.js",
332
+ "lib/internal/test_runner/assert.js",
278
333
  "lib/internal/test_runner/coverage.js",
279
334
  "lib/internal/test_runner/harness.js",
280
335
  "lib/internal/test_runner/mock/loader.js",
@@ -288,6 +343,7 @@
288
343
  "lib/internal/test_runner/reporter/utils.js",
289
344
  "lib/internal/test_runner/reporter/v8-serializer.js",
290
345
  "lib/internal/test_runner/runner.js",
346
+ "lib/internal/test_runner/snapshot.js",
291
347
  "lib/internal/test_runner/test.js",
292
348
  "lib/internal/test_runner/tests_stream.js",
293
349
  "lib/internal/test_runner/utils.js",
@@ -301,6 +357,7 @@
301
357
  "lib/internal/util/colors.js",
302
358
  "lib/internal/util/comparisons.js",
303
359
  "lib/internal/util/debuglog.js",
360
+ "lib/internal/util/diff.js",
304
361
  "lib/internal/util/inspect.js",
305
362
  "lib/internal/util/inspector.js",
306
363
  "lib/internal/util/parse_args/parse_args.js",
@@ -316,6 +373,7 @@
316
373
  "lib/internal/watch_mode/files_watcher.js",
317
374
  "lib/internal/watchdog.js",
318
375
  "lib/internal/webidl.js",
376
+ "lib/internal/webstorage.js",
319
377
  "lib/internal/webstreams/adapters.js",
320
378
  "lib/internal/webstreams/compression.js",
321
379
  "lib/internal/webstreams/encoding.js",
@@ -343,6 +401,7 @@
343
401
  "lib/readline/promises.js",
344
402
  "lib/repl.js",
345
403
  "lib/sea.js",
404
+ "lib/sqlite.js",
346
405
  "lib/stream.js",
347
406
  "lib/stream/consumers.js",
348
407
  "lib/stream/promises.js",
@@ -365,7 +424,7 @@
365
424
  "lib/worker_threads.js",
366
425
  "lib/zlib.js"
367
426
  ],
368
- "node_module_version": 115,
427
+ "node_module_version": 127,
369
428
  "node_no_browser_globals": "false",
370
429
  "node_prefix": "/",
371
430
  "node_release_urlbase": "https://nodejs.org/download/release/",
@@ -381,28 +440,35 @@
381
440
  "node_shared_openssl": "false",
382
441
  "node_shared_simdjson": "false",
383
442
  "node_shared_simdutf": "false",
443
+ "node_shared_sqlite": "false",
384
444
  "node_shared_uvwasi": "false",
385
445
  "node_shared_zlib": "false",
446
+ "node_shared_zstd": "false",
386
447
  "node_tag": "",
387
448
  "node_target_type": "executable",
449
+ "node_use_amaro": "true",
388
450
  "node_use_bundled_v8": "true",
389
451
  "node_use_node_code_cache": "true",
390
452
  "node_use_node_snapshot": "true",
391
453
  "node_use_openssl": "true",
454
+ "node_use_sqlite": "true",
392
455
  "node_use_v8_platform": "true",
393
456
  "node_with_ltcg": "false",
394
457
  "node_without_node_options": "false",
395
458
  "node_write_snapshot_as_array_literals": "false",
396
459
  "openssl_is_fips": "false",
397
- "openssl_quic": "true",
460
+ "openssl_quic": "false",
398
461
  "ossfuzz": "false",
399
- "shlib_suffix": "115.dylib",
462
+ "shlib_suffix": "127.dylib",
400
463
  "single_executable_application": "true",
464
+ "suppress_all_error_on_warn": "false",
401
465
  "target_arch": "arm64",
402
466
  "ubsan": 0,
467
+ "use_ccache_win": 0,
403
468
  "use_prefix_to_find_headers": "false",
404
469
  "v8_enable_31bit_smis_on_64bit_arch": 0,
405
470
  "v8_enable_extensible_ro_snapshot": 0,
471
+ "v8_enable_external_code_space": 0,
406
472
  "v8_enable_gdbjit": 0,
407
473
  "v8_enable_hugepage": 0,
408
474
  "v8_enable_i18n_support": 1,
@@ -412,11 +478,10 @@
412
478
  "v8_enable_maglev": 0,
413
479
  "v8_enable_object_print": 1,
414
480
  "v8_enable_pointer_compression": 0,
481
+ "v8_enable_pointer_compression_shared_cage": 0,
415
482
  "v8_enable_sandbox": 0,
416
483
  "v8_enable_shared_ro_heap": 1,
417
- "v8_enable_v8_checks": 0,
418
484
  "v8_enable_webassembly": 1,
419
- "v8_no_strict_aliasing": 1,
420
485
  "v8_optimized_debug": 1,
421
486
  "v8_promise_internal_field_count": 1,
422
487
  "v8_random_seed": 0,
@@ -424,18 +489,18 @@
424
489
  "v8_use_siphash": 1,
425
490
  "want_separate_host_toolset": 0,
426
491
  "xcode_version": "16.0",
427
- "nodedir": "/Users/kazu/Library/Caches/node-gyp/20.19.2",
428
- "python": "/Users/kazu/.asdf/installs/python/3.12.4/bin/python3",
492
+ "nodedir": "/Users/runner/Library/Caches/node-gyp/22.17.1",
493
+ "python": "/opt/homebrew/opt/python@3.13/bin/python3.13",
429
494
  "standalone_static_library": 1,
430
- "global_prefix": "/Users/kazu/.nvm/versions/node/v20.19.2",
431
- "local_prefix": "/Users/kazu/github/appium-ios-tuntap",
432
- "globalconfig": "/Users/kazu/.nvm/versions/node/v20.19.2/etc/npmrc",
433
- "userconfig": "/Users/kazu/.npmrc",
434
- "init_module": "/Users/kazu/.npm-init.js",
435
- "npm_version": "10.8.2",
436
- "node_gyp": "/Users/kazu/github/appium-ios-tuntap/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",
437
- "cache": "/Users/kazu/.npm",
438
- "user_agent": "npm/10.8.2 node/v20.19.2 darwin arm64 workspaces/false",
439
- "prefix": "/Users/kazu/.nvm/versions/node/v20.19.2"
495
+ "global_prefix": "/Users/runner/hostedtoolcache/node/22.17.1/arm64",
496
+ "local_prefix": "/Users/runner/work/appium-ios-tuntap/appium-ios-tuntap",
497
+ "globalconfig": "/Users/runner/hostedtoolcache/node/22.17.1/arm64/etc/npmrc",
498
+ "init_module": "/Users/runner/.npm-init.js",
499
+ "userconfig": "/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/f47bafd055422f157ef3faa09b5b5048/.npmrc",
500
+ "npm_version": "10.9.2",
501
+ "node_gyp": "/Users/runner/work/appium-ios-tuntap/appium-ios-tuntap/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",
502
+ "cache": "/Users/runner/.npm",
503
+ "user_agent": "npm/10.9.2 node/v22.17.1 darwin arm64 workspaces/false ci/github-actions",
504
+ "prefix": "/Users/runner/hostedtoolcache/node/22.17.1/arm64"
440
505
  }
441
506
  }