From b606d46c3fcbe5a984f8ae5c85b5c2167f3d7e51 Mon Sep 17 00:00:00 2001 From: Chengzhong Wu Date: Thu, 30 Oct 2025 10:50:44 +0000 Subject: [PATCH] src: remove unconditional NAPI_EXPERIMENTAL in node.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/60345 Fixes: https://github.com/nodejs/node/issues/60311 Reviewed-By: Juan José Arboleda Reviewed-By: Anna Henningsen Reviewed-By: Vladimir Morozov --- node.gyp | 3 +++ src/js_native_api_v8.cc | 2 ++ src/node.h | 1 - src/node_api.cc | 2 ++ src/node_api_internals.h | 2 ++ src/node_binding.h | 1 - 6 files changed, 9 insertions(+), 2 deletions(-) diff --git a/node.gyp b/node.gyp index 2f4934b9a8c..a80260ba173 100644 --- a/node.gyp +++ b/node.gyp @@ -890,6 +890,9 @@ 'NODE_ARCH="<(target_arch)"', 'NODE_PLATFORM="<(OS)"', 'NODE_WANT_INTERNALS=1', + # Define NAPI_EXPERIMENTAL to enable Node-API experimental function symbols being exposed. + 'NAPI_EXPERIMENTAL=1', + 'NODE_API_EXPERIMENTAL_NO_WARNING=1', # Warn when using deprecated V8 APIs. 'V8_DEPRECATION_WARNINGS=1', 'NODE_OPENSSL_SYSTEM_CERT_PATH="<(openssl_system_ca_path)"', diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc index 153f49339f7..559ce962c42 100644 --- a/src/js_native_api_v8.cc +++ b/src/js_native_api_v8.cc @@ -1,7 +1,9 @@ #include #include // INT_MAX #include +#ifndef NAPI_EXPERIMENTAL #define NAPI_EXPERIMENTAL +#endif #include "env-inl.h" #include "js_native_api.h" #include "js_native_api_v8.h" diff --git a/src/node.h b/src/node.h index 70b60e79ac2..75553fb119f 100644 --- a/src/node.h +++ b/src/node.h @@ -76,7 +76,6 @@ #include "v8-platform.h" // NOLINT(build/include_order) #include "node_version.h" // NODE_MODULE_VERSION -#define NAPI_EXPERIMENTAL #include "node_api.h" #include diff --git a/src/node_api.cc b/src/node_api.cc index a72ba0ddc96..11b9e44233d 100644 --- a/src/node_api.cc +++ b/src/node_api.cc @@ -1,7 +1,9 @@ #include "async_context_frame.h" #include "async_wrap-inl.h" #include "env-inl.h" +#ifndef NAPI_EXPERIMENTAL #define NAPI_EXPERIMENTAL +#endif #include "js_native_api_v8.h" #include "memory_tracker-inl.h" #include "node_api.h" diff --git a/src/node_api_internals.h b/src/node_api_internals.h index 21d0a1d25e8..43d28211ddb 100644 --- a/src/node_api_internals.h +++ b/src/node_api_internals.h @@ -2,7 +2,9 @@ #define SRC_NODE_API_INTERNALS_H_ #include "v8.h" +#ifndef NAPI_EXPERIMENTAL #define NAPI_EXPERIMENTAL +#endif #include "env-inl.h" #include "js_native_api_v8.h" #include "node_api.h" diff --git a/src/node_binding.h b/src/node_binding.h index e3255e8e8e7..dbb4c137afc 100644 --- a/src/node_binding.h +++ b/src/node_binding.h @@ -8,7 +8,6 @@ #endif #include "node.h" -#define NAPI_EXPERIMENTAL #include "node_api.h" #include "quic/guard.h" #include "uv.h"