node-linux-s390x 22.10.0 → 23.1.0

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 (57) hide show
  1. package/CHANGELOG.md +527 -2239
  2. package/README.md +9 -14
  3. package/bin/node +0 -0
  4. package/include/node/common.gypi +3 -3
  5. package/include/node/config.gypi +3 -2
  6. package/include/node/cppgc/allocation.h +10 -11
  7. package/include/node/cppgc/garbage-collected.h +8 -0
  8. package/include/node/cppgc/heap-statistics.h +2 -0
  9. package/include/node/cppgc/internal/api-constants.h +6 -1
  10. package/include/node/cppgc/internal/compiler-specific.h +9 -1
  11. package/include/node/cppgc/internal/gc-info.h +12 -10
  12. package/include/node/cppgc/internal/member-storage.h +6 -0
  13. package/include/node/cppgc/internal/name-trait.h +5 -1
  14. package/include/node/cppgc/name-provider.h +7 -0
  15. package/include/node/node.h +8 -18
  16. package/include/node/node_api.h +12 -0
  17. package/include/node/node_version.h +3 -3
  18. package/include/node/uv/tree.h +3 -250
  19. package/include/node/uv/version.h +2 -2
  20. package/include/node/uv/win.h +2 -2
  21. package/include/node/uv.h +45 -17
  22. package/include/node/v8-array-buffer.h +44 -24
  23. package/include/node/v8-callbacks.h +10 -5
  24. package/include/node/v8-context.h +41 -9
  25. package/include/node/v8-cppgc.h +3 -55
  26. package/include/node/v8-date.h +9 -0
  27. package/include/node/v8-embedder-heap.h +4 -1
  28. package/include/node/v8-exception.h +70 -0
  29. package/include/node/v8-function-callback.h +203 -62
  30. package/include/node/v8-function.h +4 -3
  31. package/include/node/v8-handle-base.h +2 -2
  32. package/include/node/v8-initialization.h +18 -1
  33. package/include/node/v8-internal.h +303 -58
  34. package/include/node/v8-isolate.h +51 -39
  35. package/include/node/v8-local-handle.h +18 -19
  36. package/include/node/v8-message.h +0 -21
  37. package/include/node/v8-microtask-queue.h +0 -5
  38. package/include/node/v8-object.h +284 -35
  39. package/include/node/v8-persistent-handle.h +0 -19
  40. package/include/node/v8-platform.h +21 -35
  41. package/include/node/v8-primitive.h +92 -1
  42. package/include/node/v8-profiler.h +38 -1
  43. package/include/node/v8-promise.h +2 -2
  44. package/include/node/v8-sandbox.h +173 -0
  45. package/include/node/v8-script.h +44 -14
  46. package/include/node/v8-snapshot.h +38 -2
  47. package/include/node/v8-template.h +105 -263
  48. package/include/node/v8-traced-handle.h +4 -15
  49. package/include/node/v8-unwinder.h +2 -1
  50. package/include/node/v8-value.h +3 -2
  51. package/include/node/v8-version.h +3 -3
  52. package/include/node/v8-wasm.h +3 -0
  53. package/include/node/v8config.h +47 -7
  54. package/package.json +1 -1
  55. package/share/doc/node/gdbinit +41 -3
  56. package/share/doc/node/lldb_commands.py +7 -2
  57. package/share/man/man1/node.1 +0 -14
package/README.md CHANGED
@@ -104,11 +104,10 @@ To download `SHASUMS256.txt` using `curl`:
104
104
  curl -O https://nodejs.org/dist/vx.y.z/SHASUMS256.txt
105
105
  ```
106
106
 
107
- To check that a downloaded file matches the checksum, run
108
- it through `sha256sum` with a command such as:
107
+ To check that downloaded files match the checksum, use `sha256sum`:
109
108
 
110
109
  ```bash
111
- grep node-vx.y.z.tar.gz SHASUMS256.txt | sha256sum -c -
110
+ sha256sum -c SHASUMS256.txt --ignore-missing
112
111
  ```
113
112
 
114
113
  For Current and LTS, the GPG detached signature of `SHASUMS256.txt` is in
@@ -320,8 +319,6 @@ For information about the governance of the Node.js project, see
320
319
  **Kohei Ueno** <<kohei.ueno119@gmail.com>> (he/him)
321
320
  * [daeyeon](https://github.com/daeyeon) -
322
321
  **Daeyeon Jeong** <<daeyeon.dev@gmail.com>> (he/him)
323
- * [danielleadams](https://github.com/danielleadams) -
324
- **Danielle Adams** <<adamzdanielle@gmail.com>> (she/her)
325
322
  * [debadree25](https://github.com/debadree25) -
326
323
  **Debadree Chatterjee** <<debadree333@gmail.com>> (he/him)
327
324
  * [deokjinkim](https://github.com/deokjinkim) -
@@ -502,6 +499,8 @@ For information about the governance of the Node.js project, see
502
499
  **Claudio Rodriguez** <<cjrodr@yahoo.com>>
503
500
  * [danbev](https://github.com/danbev) -
504
501
  **Daniel Bevenius** <<daniel.bevenius@gmail.com>> (he/him)
502
+ * [danielleadams](https://github.com/danielleadams) -
503
+ **Danielle Adams** <<adamzdanielle@gmail.com>> (she/her)
505
504
  * [DavidCai1993](https://github.com/DavidCai1993) -
506
505
  **David Cai** <<davidcai1993@yahoo.com>> (he/him)
507
506
  * [davisjam](https://github.com/davisjam) -
@@ -770,12 +769,6 @@ Primary GPG keys for Node.js Releasers (some Releasers sign with subkeys):
770
769
 
771
770
  * **Antoine du Hamel** <<duhamelantoine1995@gmail.com>>
772
771
  `C0D6248439F1D5604AAFFB4021D900FFDB233756`
773
- * **Beth Griggs** <<bethanyngriggs@gmail.com>>
774
- `4ED778F539E3634C779C87C6D7062848A1AB005C`
775
- * **Bryan English** <<bryan@bryanenglish.com>>
776
- `141F07595B7B3FFE74309A937405533BE57C7D57`
777
- * **Danielle Adams** <<adamzdanielle@gmail.com>>
778
- `74F12602B6F1C4E913FAA37AD3A89613643B6201`
779
772
  * **Juan José Arboleda** <<soyjuanarbol@gmail.com>>
780
773
  `DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7`
781
774
  * **Marco Ippolito** <<marcoippolito54@gmail.com>>
@@ -796,9 +789,6 @@ to sign releases):
796
789
 
797
790
  ```bash
798
791
  gpg --keyserver hkps://keys.openpgp.org --recv-keys C0D6248439F1D5604AAFFB4021D900FFDB233756 # Antoine du Hamel
799
- gpg --keyserver hkps://keys.openpgp.org --recv-keys 4ED778F539E3634C779C87C6D7062848A1AB005C # Beth Griggs
800
- gpg --keyserver hkps://keys.openpgp.org --recv-keys 141F07595B7B3FFE74309A937405533BE57C7D57 # Bryan English
801
- gpg --keyserver hkps://keys.openpgp.org --recv-keys 74F12602B6F1C4E913FAA37AD3A89613643B6201 # Danielle Adams
802
792
  gpg --keyserver hkps://keys.openpgp.org --recv-keys DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 # Juan José Arboleda
803
793
  gpg --keyserver hkps://keys.openpgp.org --recv-keys CC68F5A3106FF448322E48ED27F5E38D5B0A215F # Marco Ippolito
804
794
  gpg --keyserver hkps://keys.openpgp.org --recv-keys 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 # Michaël Zasso
@@ -815,12 +805,17 @@ verify a downloaded file.
815
805
 
816
806
  <summary>Other keys used to sign some previous releases</summary>
817
807
 
808
+ * **Beth Griggs** <<bethanyngriggs@gmail.com>>
809
+ `4ED778F539E3634C779C87C6D7062848A1AB005C`
810
+ * **Bryan English** <<bryan@bryanenglish.com>>
811
+ `141F07595B7B3FFE74309A937405533BE57C7D57`
818
812
  * **Chris Dickinson** <<christopher.s.dickinson@gmail.com>>
819
813
  `9554F04D7259F04124DE6B476D5A82AC7E37093B`
820
814
  * **Colin Ihrig** <<cjihrig@gmail.com>>
821
815
  `94AE36675C464D64BAFA68DD7434390BDBE9B9C5`
822
816
  * **Danielle Adams** <<adamzdanielle@gmail.com>>
823
817
  `1C050899334244A8AF75E53792EF661D867B9DFA`
818
+ `74F12602B6F1C4E913FAA37AD3A89613643B6201`
824
819
  * **Evan Lucas** <<evanlucas@me.com>>
825
820
  `B9AE9905FFD7803F25714661B63B535A4C206CA9`
826
821
  * **Gibson Fahnestock** <<gibfahn@gmail.com>>
package/bin/node CHANGED
Binary file
@@ -36,7 +36,7 @@
36
36
 
37
37
  # Reset this number to 0 on major V8 upgrades.
38
38
  # Increment by one for each non-official patch applied to deps/v8.
39
- 'v8_embedder_string': '-node.21',
39
+ 'v8_embedder_string': '-node.11',
40
40
 
41
41
  ##### V8 defaults for Node.js #####
42
42
 
@@ -493,7 +493,7 @@
493
493
  '-fno-rtti',
494
494
  '-fno-exceptions',
495
495
  '-fno-strict-aliasing',
496
- '-std=gnu++17',
496
+ '-std=gnu++20',
497
497
  ],
498
498
  'defines': [ '__STDC_FORMAT_MACROS' ],
499
499
  'ldflags': [ '-rdynamic' ],
@@ -663,7 +663,7 @@
663
663
  ['clang==1', {
664
664
  'xcode_settings': {
665
665
  'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
666
- 'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++17', # -std=gnu++17
666
+ 'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++20', # -std=gnu++20
667
667
  'CLANG_CXX_LIBRARY': 'libc++',
668
668
  },
669
669
  }],
@@ -79,6 +79,7 @@
79
79
  'lib/internal/assert.js',
80
80
  'lib/internal/assert/assertion_error.js',
81
81
  'lib/internal/assert/calltracker.js',
82
+ 'lib/internal/assert/myers_diff.js',
82
83
  'lib/internal/assert/utils.js',
83
84
  'lib/internal/async_context_frame.js',
84
85
  'lib/internal/async_hooks.js',
@@ -363,7 +364,7 @@
363
364
  'lib/wasi.js',
364
365
  'lib/worker_threads.js',
365
366
  'lib/zlib.js'],
366
- 'node_module_version': 127,
367
+ 'node_module_version': 131,
367
368
  'node_no_browser_globals': 'false',
368
369
  'node_prefix': '/',
369
370
  'node_release_urlbase': 'https://nodejs.org/download/release/',
@@ -397,7 +398,7 @@
397
398
  'openssl_is_fips': 'false',
398
399
  'openssl_quic': 'true',
399
400
  'ossfuzz': 'false',
400
- 'shlib_suffix': 'so.127',
401
+ 'shlib_suffix': 'so.131',
401
402
  'single_executable_application': 'true',
402
403
  'target_arch': 's390x',
403
404
  'ubsan': 0,
@@ -47,7 +47,7 @@ namespace internal {
47
47
  // Similar to C++17 std::align_val_t;
48
48
  enum class AlignVal : size_t {};
49
49
 
50
- class V8_EXPORT MakeGarbageCollectedTraitInternal {
50
+ class MakeGarbageCollectedTraitInternal {
51
51
  protected:
52
52
  static inline void MarkObjectAsFullyConstructed(const void* payload) {
53
53
  // See api_constants for an explanation of the constants.
@@ -121,16 +121,15 @@ class V8_EXPORT MakeGarbageCollectedTraitInternal {
121
121
  };
122
122
 
123
123
  private:
124
- static void* CPPGC_DEFAULT_ALIGNED Allocate(cppgc::AllocationHandle&, size_t,
125
- GCInfoIndex);
126
- static void* CPPGC_DOUBLE_WORD_ALIGNED Allocate(cppgc::AllocationHandle&,
127
- size_t, AlignVal,
128
- GCInfoIndex);
129
- static void* CPPGC_DEFAULT_ALIGNED Allocate(cppgc::AllocationHandle&, size_t,
130
- GCInfoIndex, CustomSpaceIndex);
131
- static void* CPPGC_DOUBLE_WORD_ALIGNED Allocate(cppgc::AllocationHandle&,
132
- size_t, AlignVal, GCInfoIndex,
133
- CustomSpaceIndex);
124
+ V8_EXPORT static void* CPPGC_DEFAULT_ALIGNED
125
+ Allocate(cppgc::AllocationHandle&, size_t, GCInfoIndex);
126
+ V8_EXPORT static void* CPPGC_DOUBLE_WORD_ALIGNED
127
+ Allocate(cppgc::AllocationHandle&, size_t, AlignVal, GCInfoIndex);
128
+ V8_EXPORT static void* CPPGC_DEFAULT_ALIGNED
129
+ Allocate(cppgc::AllocationHandle&, size_t, GCInfoIndex, CustomSpaceIndex);
130
+ V8_EXPORT static void* CPPGC_DOUBLE_WORD_ALIGNED
131
+ Allocate(cppgc::AllocationHandle&, size_t, AlignVal, GCInfoIndex,
132
+ CustomSpaceIndex);
134
133
 
135
134
  friend class HeapObjectHeader;
136
135
  };
@@ -94,6 +94,14 @@ class GarbageCollectedMixin {
94
94
  public:
95
95
  using IsGarbageCollectedMixinTypeMarker = void;
96
96
 
97
+ // Must use MakeGarbageCollected.
98
+ void* operator new(size_t) = delete;
99
+ void* operator new[](size_t) = delete;
100
+ // The garbage collector is taking care of reclaiming the object.
101
+ // Not override the non-array varaint of `delete` to not conflict with the
102
+ // operator in GarbageCollected above.
103
+ void operator delete[](void*) = delete;
104
+
97
105
  /**
98
106
  * This Trace method must be overriden by objects inheriting from
99
107
  * GarbageCollectedMixin.
@@ -102,6 +102,8 @@ struct HeapStatistics final {
102
102
  size_t resident_size_bytes = 0;
103
103
  /** Amount of memory actually used on the heap. */
104
104
  size_t used_size_bytes = 0;
105
+ /** Memory retained in the page pool, not used directly by the heap. */
106
+ size_t pooled_memory_size_bytes = 0;
105
107
  /** Detail level of this HeapStatistics. */
106
108
  DetailLevel detail_level;
107
109
 
@@ -30,10 +30,15 @@ static constexpr size_t kFullyConstructedBitFieldOffsetFromPayload =
30
30
  // Mask for in-construction bit.
31
31
  static constexpr uint16_t kFullyConstructedBitMask = uint16_t{1};
32
32
 
33
- static constexpr size_t kPageSize = size_t{1} << 17;
33
+ static constexpr size_t kPageSizeBits = 17;
34
+ static constexpr size_t kPageSize = size_t{1} << kPageSizeBits;
34
35
 
35
36
  #if defined(V8_HOST_ARCH_ARM64) && defined(V8_OS_DARWIN)
36
37
  constexpr size_t kGuardPageSize = 0;
38
+ #elif defined(V8_HOST_ARCH_PPC64)
39
+ constexpr size_t kGuardPageSize = 0;
40
+ #elif defined(V8_HOST_ARCH_LOONG64) || defined(V8_HOST_ARCH_MIPS64)
41
+ constexpr size_t kGuardPageSize = 0;
37
42
  #else
38
43
  constexpr size_t kGuardPageSize = 4096;
39
44
  #endif
@@ -5,6 +5,8 @@
5
5
  #ifndef INCLUDE_CPPGC_INTERNAL_COMPILER_SPECIFIC_H_
6
6
  #define INCLUDE_CPPGC_INTERNAL_COMPILER_SPECIFIC_H_
7
7
 
8
+ #include "v8config.h" // NOLINT(build/include_directory)
9
+
8
10
  namespace cppgc {
9
11
 
10
12
  #if defined(__has_attribute)
@@ -21,7 +23,13 @@ namespace cppgc {
21
23
 
22
24
  // [[no_unique_address]] comes in C++20 but supported in clang with -std >=
23
25
  // c++11.
24
- #if CPPGC_HAS_CPP_ATTRIBUTE(no_unique_address)
26
+ #if defined(V8_CC_MSVC) && CPPGC_HAS_CPP_ATTRIBUTE(msvc::no_unique_address)
27
+ // Unfortunately MSVC ignores [[no_unique_address]] (see
28
+ // https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/#msvc-extensions-and-abi),
29
+ // and clang-cl matches it for ABI compatibility reasons. We need to prefer
30
+ // [[msvc::no_unique_address]] when available if we actually want any effect.
31
+ #define CPPGC_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]]
32
+ #elif CPPGC_HAS_CPP_ATTRIBUTE(no_unique_address)
25
33
  #define CPPGC_NO_UNIQUE_ADDRESS [[no_unique_address]]
26
34
  #else
27
35
  #define CPPGC_NO_UNIQUE_ADDRESS
@@ -94,12 +94,11 @@ struct GCInfoTrait final {
94
94
  return index;
95
95
  }
96
96
 
97
- static constexpr bool CheckCallbacksAreDefined() {
97
+ static constexpr void CheckCallbacksAreDefined() {
98
98
  // No USE() macro available.
99
99
  (void)static_cast<TraceCallback>(TraceTrait<T>::Trace);
100
100
  (void)static_cast<FinalizationCallback>(FinalizerTrait<T>::kCallback);
101
101
  (void)static_cast<NameCallback>(NameTrait<T>::GetName);
102
- return true;
103
102
  }
104
103
  };
105
104
 
@@ -127,19 +126,22 @@ struct GCInfoFolding final {
127
126
  // configuration. Only a single GCInfo (for `ResultType` below) will actually
128
127
  // be instantiated but existence (and well-formedness) of all callbacks is
129
128
  // checked.
130
- static constexpr bool kCheckTypeGuardAlwaysTrue =
131
- GCInfoTrait<T>::CheckCallbacksAreDefined() &&
129
+ static constexpr bool WantToFold() {
130
+ if constexpr ((kHasVirtualDestructorAtBase ||
131
+ kBothTypesAreTriviallyDestructible ||
132
+ kHasCustomFinalizerDispatchAtBase) &&
133
+ !kWantsDetailedObjectNames) {
134
+ GCInfoTrait<T>::CheckCallbacksAreDefined();
132
135
  GCInfoTrait<ParentMostGarbageCollectedType>::CheckCallbacksAreDefined();
136
+ return true;
137
+ }
138
+ return false;
139
+ }
133
140
 
134
141
  // Folding would regress name resolution when deriving names from C++
135
142
  // class names as it would just folds a name to the base class name.
136
143
  using ResultType =
137
- std::conditional_t<kCheckTypeGuardAlwaysTrue &&
138
- (kHasVirtualDestructorAtBase ||
139
- kBothTypesAreTriviallyDestructible ||
140
- kHasCustomFinalizerDispatchAtBase) &&
141
- !kWantsDetailedObjectNames,
142
- ParentMostGarbageCollectedType, T>;
144
+ std::conditional_t<WantToFold(), ParentMostGarbageCollectedType, T>;
143
145
  };
144
146
 
145
147
  } // namespace internal
@@ -158,6 +158,12 @@ class V8_TRIVIAL_ABI CompressedPointer final {
158
158
  static V8_INLINE void* Decompress(IntegralType ptr) {
159
159
  CPPGC_DCHECK(CageBaseGlobal::IsSet());
160
160
  const uintptr_t base = CageBaseGlobal::Get();
161
+ return Decompress(ptr, base);
162
+ }
163
+
164
+ static V8_INLINE void* Decompress(IntegralType ptr, uintptr_t base) {
165
+ CPPGC_DCHECK(CageBaseGlobal::IsSet());
166
+ CPPGC_DCHECK(base == CageBaseGlobal::Get());
161
167
  // Treat compressed pointer as signed and cast it to uint64_t, which will
162
168
  // sign-extend it.
163
169
  #if defined(CPPGC_2GB_CAGE)
@@ -121,7 +121,11 @@ class NameTrait final : public NameTraitBase {
121
121
  #undef PRETTY_FUNCTION_VALUE
122
122
 
123
123
  #else // !CPPGC_SUPPORTS_OBJECT_NAMES
124
- return {NameProvider::kHiddenName, true};
124
+ // We wanted to use a class name but were unable to provide one due to
125
+ // compiler limitations or build configuration. As such, return the hidden
126
+ // name with name_was_hidden=false, which will cause this object to be
127
+ // visible in the snapshot.
128
+ return {NameProvider::kHiddenName, false};
125
129
  #endif // !CPPGC_SUPPORTS_OBJECT_NAMES
126
130
  }
127
131
  };
@@ -55,6 +55,13 @@ class V8_EXPORT NameProvider {
55
55
  * Specifies a name for the garbage-collected object. Such names will never
56
56
  * be hidden, as they are explicitly specified by the user of this API.
57
57
  *
58
+ * V8 may call this function while generating a heap snapshot or at other
59
+ * times. If V8 is currently generating a heap snapshot (according to
60
+ * HeapProfiler::IsTakingSnapshot), then the returned string must stay alive
61
+ * until the snapshot generation has completed. Otherwise, the returned string
62
+ * must stay alive forever. If you need a place to store a temporary string
63
+ * during snapshot generation, use HeapProfiler::CopyNameForHeapSnapshot.
64
+ *
58
65
  * @returns a human readable name for the object.
59
66
  */
60
67
  virtual const char* GetHumanReadableName() const = 0;
@@ -1552,24 +1552,14 @@ void RegisterSignalHandler(int signal,
1552
1552
  bool reset_handler = false);
1553
1553
  #endif // _WIN32
1554
1554
 
1555
- // Configure the layout of the JavaScript object with a cppgc::GarbageCollected
1556
- // instance so that when the JavaScript object is reachable, the garbage
1557
- // collected instance would have its Trace() method invoked per the cppgc
1558
- // contract. To make it work, the process must have called
1559
- // cppgc::InitializeProcess() before, which is usually the case for addons
1560
- // loaded by the stand-alone Node.js executable. Embedders of Node.js can use
1561
- // either need to call it themselves or make sure that
1562
- // ProcessInitializationFlags::kNoInitializeCppgc is *not* set for cppgc to
1563
- // work.
1564
- // If the CppHeap is owned by Node.js, which is usually the case for addon,
1565
- // the object must be created with at least two internal fields available,
1566
- // and the first two internal fields would be configured by Node.js.
1567
- // This may be superseded by a V8 API in the future, see
1568
- // https://bugs.chromium.org/p/v8/issues/detail?id=13960. Until then this
1569
- // serves as a helper for Node.js isolates.
1570
- NODE_EXTERN void SetCppgcReference(v8::Isolate* isolate,
1571
- v8::Local<v8::Object> object,
1572
- void* wrappable);
1555
+ // This is kept as a compatibility layer for addons to wrap cppgc-managed
1556
+ // objects on Node.js versions without v8::Object::Wrap(). Addons created to
1557
+ // work with only Node.js versions with v8::Object::Wrap() should use that
1558
+ // instead.
1559
+ NODE_DEPRECATED("Use v8::Object::Wrap()",
1560
+ NODE_EXTERN void SetCppgcReference(v8::Isolate* isolate,
1561
+ v8::Local<v8::Object> object,
1562
+ void* wrappable));
1573
1563
 
1574
1564
  } // namespace node
1575
1565
 
@@ -135,6 +135,18 @@ napi_create_external_buffer(napi_env env,
135
135
  void* finalize_hint,
136
136
  napi_value* result);
137
137
  #endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
138
+
139
+ #ifdef NAPI_EXPERIMENTAL
140
+ #define NODE_API_EXPERIMENTAL_HAS_CREATE_BUFFER_FROM_ARRAYBUFFER
141
+
142
+ NAPI_EXTERN napi_status NAPI_CDECL
143
+ node_api_create_buffer_from_arraybuffer(napi_env env,
144
+ napi_value arraybuffer,
145
+ size_t byte_offset,
146
+ size_t byte_length,
147
+ napi_value* result);
148
+ #endif // NAPI_EXPERIMENTAL
149
+
138
150
  NAPI_EXTERN napi_status NAPI_CDECL napi_create_buffer_copy(napi_env env,
139
151
  size_t length,
140
152
  const void* data,
@@ -22,8 +22,8 @@
22
22
  #ifndef SRC_NODE_VERSION_H_
23
23
  #define SRC_NODE_VERSION_H_
24
24
 
25
- #define NODE_MAJOR_VERSION 22
26
- #define NODE_MINOR_VERSION 10
25
+ #define NODE_MAJOR_VERSION 23
26
+ #define NODE_MINOR_VERSION 1
27
27
  #define NODE_PATCH_VERSION 0
28
28
 
29
29
  #define NODE_VERSION_IS_LTS 0
@@ -95,7 +95,7 @@
95
95
  #if defined(NODE_EMBEDDER_MODULE_VERSION)
96
96
  #define NODE_MODULE_VERSION NODE_EMBEDDER_MODULE_VERSION
97
97
  #else
98
- #define NODE_MODULE_VERSION 127
98
+ #define NODE_MODULE_VERSION 131
99
99
  #endif
100
100
 
101
101
  // The NAPI_VERSION supported by the runtime. This is the inclusive range of