swig/Lib/javascript
William S Fulton 28d92ed341 [JavaScript] Fix the v8 and node engines for v8 14.x (Node.js 26)
v8 14.1 added an EmbedderDataTypeTag to the v8::Object aligned internal field
pointer accessors and 14.2 removed the versions without one, so the generated
code did not compile with Node.js 26. The new SWIGV8_ALIGNED_POINTER_GET and
SWIGV8_ALIGNED_POINTER_SET macros select between them, switching at 14.2 as
14.1 only has the tagged setter.

The default tag is used rather than a SWIG specific one. The tag used when
setting must match the tag used when getting, and modules pass proxy objects
between each other, so a SWIG specific tag would stop a module wrapped by an
older SWIG being read by one wrapped by a newer SWIG.

v8 14.3 similarly added a type tag to v8::External and deprecated the versions
without one, which is fatal as the examples are compiled with -Werror.
SWIGV8_EXTERNAL_NEW now selects between them and the new SWIGV8_EXTERNAL_VALUE
macro does the same for reading the value back.

Node.js 26 is added to the CI test matrix for both the node and napi engines.

The minimum supported v8 version is unchanged at 7.4.

Assisted-by: Claude Code (Opus 5)
2026-08-01 09:42:44 +01:00
..
jsc Pass SWIG_FromCharPtrAndSize and friends on to the C compiler 2026-07-31 00:10:40 +01:00
napi Pass SWIG_FromCharPtrAndSize and friends on to the C compiler 2026-07-31 00:10:40 +01:00
v8 [JavaScript] Fix the v8 and node engines for v8 14.x (Node.js 26) 2026-08-01 09:42:44 +01:00
cdata.i cdata.i changes and new test li_cdata_bytes 2026-05-25 13:16:09 +01:00
javascriptkw.swg Fix some source comments 2024-07-19 09:28:33 +12:00