@zowe/cli 8.37.1 → 8.39.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 (186) hide show
  1. package/lib/zosfiles/edit/Edit.utils.d.ts.map +1 -1
  2. package/lib/zosfiles/edit/Edit.utils.js.map +1 -1
  3. package/node_modules/@zowe/core-for-zowe-sdk/lib/constants/Core.constants.d.ts +8 -0
  4. package/node_modules/@zowe/core-for-zowe-sdk/lib/constants/Core.constants.d.ts.map +1 -1
  5. package/node_modules/@zowe/core-for-zowe-sdk/lib/constants/Core.constants.js +31 -0
  6. package/node_modules/@zowe/core-for-zowe-sdk/lib/constants/Core.constants.js.map +1 -1
  7. package/node_modules/@zowe/core-for-zowe-sdk/package.json +3 -3
  8. package/node_modules/@zowe/imperative/lib/config/src/ProfileCredentials.d.ts.map +1 -1
  9. package/node_modules/@zowe/imperative/lib/config/src/ProfileCredentials.js +15 -1
  10. package/node_modules/@zowe/imperative/lib/config/src/ProfileCredentials.js.map +1 -1
  11. package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvQuery.d.ts.map +1 -1
  12. package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvQuery.js +1 -2
  13. package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvQuery.js.map +1 -1
  14. package/node_modules/@zowe/imperative/lib/rest/index.d.ts +1 -0
  15. package/node_modules/@zowe/imperative/lib/rest/index.d.ts.map +1 -1
  16. package/node_modules/@zowe/imperative/lib/rest/index.js +1 -0
  17. package/node_modules/@zowe/imperative/lib/rest/index.js.map +1 -1
  18. package/node_modules/@zowe/imperative/lib/rest/src/session/AbstractSession.d.ts +16 -2
  19. package/node_modules/@zowe/imperative/lib/rest/src/session/AbstractSession.d.ts.map +1 -1
  20. package/node_modules/@zowe/imperative/lib/rest/src/session/AbstractSession.js +57 -9
  21. package/node_modules/@zowe/imperative/lib/rest/src/session/AbstractSession.js.map +1 -1
  22. package/node_modules/@zowe/imperative/lib/rest/src/session/SessConstants.d.ts +29 -0
  23. package/node_modules/@zowe/imperative/lib/rest/src/session/SessConstants.d.ts.map +1 -1
  24. package/node_modules/@zowe/imperative/lib/rest/src/session/SessConstants.js +32 -1
  25. package/node_modules/@zowe/imperative/lib/rest/src/session/SessConstants.js.map +1 -1
  26. package/node_modules/@zowe/imperative/lib/rest/src/session/doc/IApimlDecision.d.ts +44 -0
  27. package/node_modules/@zowe/imperative/lib/rest/src/session/doc/IApimlDecision.d.ts.map +1 -0
  28. package/node_modules/@zowe/imperative/lib/rest/src/session/doc/IApimlDecision.js +40 -0
  29. package/node_modules/@zowe/imperative/lib/rest/src/session/doc/IApimlDecision.js.map +1 -0
  30. package/node_modules/@zowe/imperative/lib/rest/src/session/doc/ISession.d.ts +11 -0
  31. package/node_modules/@zowe/imperative/lib/rest/src/session/doc/ISession.d.ts.map +1 -1
  32. package/node_modules/@zowe/imperative/package.json +2 -2
  33. package/node_modules/@zowe/imperative/web-help/package-lock.json +62 -61
  34. package/node_modules/@zowe/provisioning-for-zowe-sdk/package.json +4 -4
  35. package/node_modules/@zowe/secrets-for-zowe-sdk/package.json +1 -1
  36. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.darwin-arm64.node +0 -0
  37. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.darwin-x64.node +0 -0
  38. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-arm-gnueabihf.node +0 -0
  39. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-arm64-gnu.node +0 -0
  40. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-arm64-musl.node +0 -0
  41. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-ia32-gnu.node +0 -0
  42. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-x64-gnu.node +0 -0
  43. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-x64-musl.node +0 -0
  44. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.win32-arm64-msvc.node +0 -0
  45. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.win32-ia32-msvc.node +0 -0
  46. package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.win32-x64-msvc.node +0 -0
  47. package/node_modules/@zowe/secrets-for-zowe-sdk/src/keyring/index.js +86 -18
  48. package/node_modules/@zowe/zos-console-for-zowe-sdk/package.json +4 -4
  49. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/constants/ZosFiles.messages.d.ts.map +1 -1
  50. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/constants/ZosFiles.messages.js +27 -0
  51. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/constants/ZosFiles.messages.js.map +1 -1
  52. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/create/Create.d.ts.map +1 -1
  53. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/create/Create.js +57 -2
  54. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/create/Create.js.map +1 -1
  55. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/delete/Delete.d.ts.map +1 -1
  56. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/delete/Delete.js +1 -0
  57. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/delete/Delete.js.map +1 -1
  58. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/list/List.d.ts.map +1 -1
  59. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/list/List.js +1 -0
  60. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/list/List.js.map +1 -1
  61. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/utilities/Utilities.d.ts +10 -0
  62. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/utilities/Utilities.d.ts.map +1 -1
  63. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/utilities/Utilities.js +43 -17
  64. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/utilities/Utilities.js.map +1 -1
  65. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/utils/ZosFilesUtils.d.ts +25 -0
  66. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/utils/ZosFilesUtils.d.ts.map +1 -1
  67. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/utils/ZosFilesUtils.js +53 -0
  68. package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/utils/ZosFilesUtils.js.map +1 -1
  69. package/node_modules/@zowe/zos-files-for-zowe-sdk/package.json +5 -5
  70. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/CancelJobs.d.ts.map +1 -1
  71. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/CancelJobs.js +2 -0
  72. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/CancelJobs.js.map +1 -1
  73. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/DeleteJobs.d.ts.map +1 -1
  74. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/DeleteJobs.js +2 -0
  75. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/DeleteJobs.js.map +1 -1
  76. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/DownloadJobs.d.ts.map +1 -1
  77. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/DownloadJobs.js +3 -0
  78. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/DownloadJobs.js.map +1 -1
  79. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/GetJobs.d.ts.map +1 -1
  80. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/GetJobs.js +8 -0
  81. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/GetJobs.js.map +1 -1
  82. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/JobsMessages.d.ts.map +1 -1
  83. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/JobsMessages.js +24 -0
  84. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/JobsMessages.js.map +1 -1
  85. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/JobsUtils.d.ts +39 -0
  86. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/JobsUtils.d.ts.map +1 -0
  87. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/JobsUtils.js +72 -0
  88. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/JobsUtils.js.map +1 -0
  89. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/ModifyJobs.d.ts.map +1 -1
  90. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/ModifyJobs.js +2 -0
  91. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/ModifyJobs.js.map +1 -1
  92. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/SearchJobs.d.ts.map +1 -1
  93. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/SearchJobs.js +3 -0
  94. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/lib/SearchJobs.js.map +1 -1
  95. package/node_modules/@zowe/zos-jobs-for-zowe-sdk/package.json +5 -5
  96. package/node_modules/@zowe/zos-logs-for-zowe-sdk/package.json +4 -4
  97. package/node_modules/@zowe/zos-tso-for-zowe-sdk/package.json +5 -5
  98. package/node_modules/@zowe/zos-uss-for-zowe-sdk/lib/Shell.d.ts.map +1 -1
  99. package/node_modules/@zowe/zos-uss-for-zowe-sdk/lib/Shell.js +1 -1
  100. package/node_modules/@zowe/zos-uss-for-zowe-sdk/lib/Shell.js.map +1 -1
  101. package/node_modules/@zowe/zos-uss-for-zowe-sdk/lib/SshSession.d.ts.map +1 -1
  102. package/node_modules/@zowe/zos-uss-for-zowe-sdk/lib/SshSession.js.map +1 -1
  103. package/node_modules/@zowe/zos-uss-for-zowe-sdk/lib/doc/ISshSession.d.ts +14 -0
  104. package/node_modules/@zowe/zos-uss-for-zowe-sdk/lib/doc/ISshSession.d.ts.map +1 -1
  105. package/node_modules/@zowe/zos-uss-for-zowe-sdk/package.json +3 -3
  106. package/node_modules/@zowe/zos-workflows-for-zowe-sdk/lib/Create.d.ts.map +1 -1
  107. package/node_modules/@zowe/zos-workflows-for-zowe-sdk/lib/Create.js +3 -2
  108. package/node_modules/@zowe/zos-workflows-for-zowe-sdk/lib/Create.js.map +1 -1
  109. package/node_modules/@zowe/zos-workflows-for-zowe-sdk/package.json +5 -5
  110. package/node_modules/@zowe/zosmf-for-zowe-sdk/lib/constants/Zosmf.profile.d.ts.map +1 -1
  111. package/node_modules/@zowe/zosmf-for-zowe-sdk/lib/constants/Zosmf.profile.js +9 -0
  112. package/node_modules/@zowe/zosmf-for-zowe-sdk/lib/constants/Zosmf.profile.js.map +1 -1
  113. package/node_modules/@zowe/zosmf-for-zowe-sdk/package.json +4 -4
  114. package/node_modules/brace-expansion/dist/commonjs/index.d.ts +4 -0
  115. package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -1
  116. package/node_modules/brace-expansion/dist/commonjs/index.js +69 -25
  117. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
  118. package/node_modules/brace-expansion/dist/esm/index.d.ts +4 -0
  119. package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -1
  120. package/node_modules/brace-expansion/dist/esm/index.js +68 -24
  121. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
  122. package/node_modules/brace-expansion/package.json +2 -1
  123. package/node_modules/cpu-features/.github/workflows/ci.yml +15 -9
  124. package/node_modules/cpu-features/.github/workflows/lint.yml +2 -2
  125. package/node_modules/cpu-features/deps/cpu_features/cpu_features.gyp +1 -0
  126. package/node_modules/cpu-features/package.json +2 -2
  127. package/node_modules/markdown-it/dist/index.cjs.js +3696 -5376
  128. package/node_modules/markdown-it/dist/index.cjs.js.map +1 -0
  129. package/node_modules/markdown-it/dist/markdown-it.js +1446 -4481
  130. package/node_modules/markdown-it/dist/markdown-it.js.map +1 -0
  131. package/node_modules/markdown-it/dist/markdown-it.min.js +3 -2
  132. package/node_modules/markdown-it/dist/markdown-it.min.js.map +1 -0
  133. package/node_modules/markdown-it/lib/common/html_re.mjs +9 -9
  134. package/node_modules/markdown-it/lib/common/utils.mjs +2 -11
  135. package/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +1 -1
  136. package/node_modules/markdown-it/lib/parser_block.mjs +9 -9
  137. package/node_modules/markdown-it/lib/parser_core.mjs +7 -7
  138. package/node_modules/markdown-it/lib/parser_inline.mjs +16 -16
  139. package/node_modules/markdown-it/lib/renderer.mjs +2 -2
  140. package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +6 -6
  141. package/node_modules/markdown-it/lib/rules_block/code.mjs +2 -2
  142. package/node_modules/markdown-it/lib/rules_block/fence.mjs +4 -4
  143. package/node_modules/markdown-it/lib/rules_block/heading.mjs +7 -7
  144. package/node_modules/markdown-it/lib/rules_block/hr.mjs +2 -2
  145. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +6 -6
  146. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +8 -8
  147. package/node_modules/markdown-it/lib/rules_block/list.mjs +6 -6
  148. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +5 -5
  149. package/node_modules/markdown-it/lib/rules_block/reference.mjs +1 -1
  150. package/node_modules/markdown-it/lib/rules_block/state_block.mjs +6 -6
  151. package/node_modules/markdown-it/lib/rules_block/table.mjs +4 -4
  152. package/node_modules/markdown-it/lib/rules_core/block.mjs +3 -3
  153. package/node_modules/markdown-it/lib/rules_core/linkify.mjs +46 -20
  154. package/node_modules/markdown-it/lib/rules_core/normalize.mjs +2 -2
  155. package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +48 -27
  156. package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +17 -17
  157. package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +2 -2
  158. package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +8 -8
  159. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +7 -7
  160. package/node_modules/markdown-it/lib/rules_inline/escape.mjs +15 -1
  161. package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +1 -1
  162. package/node_modules/markdown-it/lib/rules_inline/link.mjs +1 -1
  163. package/node_modules/markdown-it/lib/rules_inline/linkify.mjs +27 -9
  164. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +2 -2
  165. package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +10 -10
  166. package/node_modules/markdown-it/lib/token.mjs +12 -12
  167. package/node_modules/markdown-it/package.json +27 -34
  168. package/node_modules/nan/.github/workflows/ci.yml +46 -0
  169. package/node_modules/nan/.pre-commit-config.yaml +8 -0
  170. package/node_modules/nan/CHANGELOG.md +56 -1
  171. package/node_modules/nan/README.md +7 -6
  172. package/node_modules/nan/doc/methods.md +17 -0
  173. package/node_modules/nan/doc/string_bytes.md +19 -0
  174. package/node_modules/nan/doc/v8_internals.md +16 -4
  175. package/node_modules/nan/nan.h +274 -26
  176. package/node_modules/nan/nan_callbacks.h +50 -1
  177. package/node_modules/nan/nan_callbacks_12_inl.h +294 -50
  178. package/node_modules/nan/nan_callbacks_pre_12_inl.h +10 -2
  179. package/node_modules/nan/nan_implementation_12_inl.h +19 -3
  180. package/node_modules/nan/nan_maybe_43_inl.h +7 -2
  181. package/node_modules/nan/nan_maybe_pre_43_inl.h +1 -1
  182. package/node_modules/nan/nan_scriptorigin.h +22 -1
  183. package/node_modules/nan/nan_typedarray_contents.h +1 -1
  184. package/node_modules/nan/nan_weak.h +16 -0
  185. package/node_modules/nan/package.json +5 -5
  186. package/package.json +16 -14
@@ -0,0 +1,46 @@
1
+ # https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
2
+ # https://github.com/actions/setup-node
3
+ # https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
4
+
5
+ name: ci
6
+ on:
7
+ push:
8
+ # branches: [main]
9
+ pull_request:
10
+ # branches: [main]
11
+ workflow_dispatch:
12
+ permissions:
13
+ contents: read
14
+ jobs:
15
+ pre-commit:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+ - uses: pre-commit/action@v3.0.1
20
+
21
+ ci:
22
+ strategy:
23
+ fail-fast: false
24
+ matrix:
25
+ node-version: [26.x, 25.x, 24.x, 22.x, 20.x, 18.x]
26
+ os: [windows-latest, macos-latest, ubuntu-latest]
27
+ include:
28
+ - node-version: lts/*
29
+ os: macos-15-intel # macOS on Intel
30
+ - node-version: lts/*
31
+ os: ubuntu-24.04-arm # Linux on arm64
32
+ - node-version: lts/*
33
+ os: windows-2025
34
+ - node-version: lts/*
35
+ os: windows-11-arm # Windows on arm64
36
+ runs-on: ${{ matrix.os }}
37
+ steps:
38
+ - uses: actions/checkout@v4
39
+ - uses: actions/setup-node@v4
40
+ with:
41
+ node-version: ${{ matrix.node-version }}
42
+ - run: npm install
43
+ - run: |
44
+ npm run-script rebuild-tests
45
+ npm test
46
+ - run: make test
@@ -0,0 +1,8 @@
1
+ repos:
2
+ - repo: https://github.com/cpplint/cpplint
3
+ rev: 2.0.0
4
+ hooks:
5
+ - id: cpplint
6
+ args:
7
+ - --filter=-whitespace/indent_namespace,-whitespace/parens
8
+ - --linelength=88
@@ -1,6 +1,61 @@
1
1
  # NAN ChangeLog
2
2
 
3
- **Version 2.18.0: current Node 20.6.1, Node 0.12: 0.12.18, Node 0.10: 0.10.48, iojs: 3.3.1**
3
+ **Version 2.29.0: current Node 26.8.2, Node 0.12: 0.12.18, Node 0.10: 0.10.48, iojs: 3.3.1**
4
+
5
+ ### 2.29.0 Sep 14 2026
6
+ - Feature: Support V8 15.3 and later (#1022) 368054da40eca115ba357cab10e72a2171f01e5a
7
+
8
+ ### 2.28.0 Jun 25 2026
9
+ - Feature: Fix v8::External::Value/New for the new ExternalPointerTypeTag API (#1015) c54668972803f24695c1002102dfd667a0ac57e5
10
+
11
+ ### 2.27.0 May 12 2026
12
+ - Feature: support Node.js v26 (#1016) ed08562fd56734ce0512e723366702e1d1cbdc41
13
+
14
+ ### 2.26.2 Mar 18 2026
15
+ - Bugfix: Fix nan_weak.h for V8 >= 14.2.194 (missing EmbedderDataTypeTag) (#1013) 794124c493555106eebaa3e82c0d6147d0213183
16
+
17
+ ### 2.26.1 Mar 17 2026
18
+ - Bugfix: remove unintended copy-pasted line (#1011) 0456abb33a3ce412b644c45fb8401776d2f647eb
19
+
20
+ ### 2.26.0 Mar 17 2026
21
+ - Feature: Add EmbedderDataTypeTag to SetAlignedPointerInInternalField and GetAlignedPointerFromInternalField for v8 >= 14 (#1010) fcc7b7d4698f9cd87c7dc08b431ab82bed1b3b8c
22
+
23
+ ### 2.25.0 Jan 25 2026
24
+ - Feature: Updating SetAccessor method to support v8 14.4 (#1007) 333d98942f1fe412a4dd859d6b1b0a9bef43c1f8
25
+
26
+ ### 2.24.0 Dec 03 2025
27
+ - Feature: Adding new Nan::TryEncode() wrapper for node::TryEncode() (#1005) fd5ff3f5ab3f5bb6bb6dd2d247f3eccd79227854
28
+
29
+ ### 2.23.1 Nov 05 2025
30
+ - Feature: Adding WriteUtf8V2() and SetPrototypeV2() methods to support v8 14.3 (#1004) 9e1106ab7b7036d262df7f430eee3bff33757e9a
31
+
32
+ ### 2.23.0 Jul 10 2025
33
+
34
+ - Feature: Support Node 23 (#979) 59ab6d03d5d68554290ee9f34003cd90aa92c185
35
+
36
+ ### 2.22.2 Feb 26 2025
37
+
38
+ - Bugfix: Fix version guard for `ScriptOrigin` constructors (#989) 053239d73702ac11fa0c3c438f85c1409f960f89
39
+
40
+ ### 2.22.1 Feb 21 2025
41
+
42
+ - Build: Fix compatibility with Python >= 3.12 (#987) b5d90f15730b620fb6cc4fed079674740424539a
43
+
44
+ ### 2.22.0 Oct 11 2024
45
+
46
+ - Feature: replace SetAccessor -> SetNativeDataProperty (#977) 6bd62c9a0004339d5d1e18a945c84929d0f6b808
47
+
48
+ ### 2.21.0 Oct 10 2024
49
+
50
+ - Feature: Support for node version 20.17.0 (#976) a7df36eda8a7fe8581c00a18590f5e4faafca7ae
51
+
52
+ ### 2.20.0 Jun 12 2024
53
+
54
+ - Feature: fix removal of v8::CopyablePersistent (#970) 5805ca5c4c2eef9a65316b68741e29f4825c511f
55
+
56
+ ### 2.19.0 Mar 6 2024
57
+
58
+ - Feature: Fix builds for Electron 29 (#966) 1b630ddb3412cde35b64513662b440f9fd71e1ff
4
59
 
5
60
  ### 2.18.0 Sep 12 2023
6
61
 
@@ -1,15 +1,14 @@
1
1
  Native Abstractions for Node.js
2
2
  ===============================
3
3
 
4
- **A header file filled with macro and utility goodness for making add-on development for Node.js easier across versions 0.8, 0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 and 20.**
4
+ **A header file filled with macro and utility goodness for making add-on development for Node.js easier across versions 8, 10, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 and 26.**
5
5
 
6
- ***Current version: 2.18.0***
6
+ ***Current version: 2.29.0***
7
7
 
8
8
  *(See [CHANGELOG.md](https://github.com/nodejs/nan/blob/master/CHANGELOG.md) for complete ChangeLog)*
9
9
 
10
10
  [![NPM](https://nodei.co/npm/nan.png?downloads=true&downloadRank=true)](https://nodei.co/npm/nan/) [![NPM](https://nodei.co/npm-dl/nan.png?months=6&height=3)](https://nodei.co/npm/nan/)
11
11
 
12
- [![Build Status](https://api.travis-ci.com/nodejs/nan.svg?branch=master)](https://travis-ci.com/nodejs/nan)
13
12
  [![Build status](https://ci.appveyor.com/api/projects/status/kh73pbm9dsju7fgh)](https://ci.appveyor.com/project/RodVagg/nan)
14
13
 
15
14
  Thanks to the crazy changes in V8 (and some in Node core), keeping native addons compiling happily across versions, particularly 0.10 to 0.12 to 4.0, is a minor nightmare. The goal of this project is to store all logic necessary to develop native Node.js addons without having to inspect `NODE_MODULE_VERSION` and get yourself into a macro-tangle.
@@ -32,10 +31,10 @@ This project also contains some helper utilities that make addon development a b
32
31
 
33
32
  ## Usage
34
33
 
35
- Simply add **NAN** as a dependency in the *package.json* of your Node addon:
34
+ Simply add **NAN** as a dependency using a package manager like npm, yarn, or bun:
36
35
 
37
36
  ``` bash
38
- $ npm install --save nan
37
+ $ npm install nan
39
38
  ```
40
39
 
41
40
  Pull in the path to **NAN** in your *binding.gyp* so that you can use `#include <nan.h>` in your *.cpp* files:
@@ -273,6 +272,7 @@ Miscellaneous string & byte encoding and decoding functionality provided for com
273
272
 
274
273
  - <a href="doc/string_bytes.md#api_nan_encoding"><b><code>Nan::Encoding</code></b></a>
275
274
  - <a href="doc/string_bytes.md#api_nan_encode"><b><code>Nan::Encode()</code></b></a>
275
+ - <a href="doc/string_bytes.md#api_nan_try_encode"><b><code>Nan::TryEncode()</code></b></a>
276
276
  - <a href="doc/string_bytes.md#api_nan_decode_bytes"><b><code>Nan::DecodeBytes()</code></b></a>
277
277
  - <a href="doc/string_bytes.md#api_nan_decode_write"><b><code>Nan::DecodeWrite()</code></b></a>
278
278
 
@@ -297,12 +297,13 @@ The hooks to access V8 internals—including GC and statistics—are different a
297
297
  - <a href="doc/v8_internals.md#api_nan_set_counter_function"><b><code>Nan::SetCounterFunction()</code></b></a>
298
298
  - <a href="doc/v8_internals.md#api_nan_set_create_histogram_function"><b><code>Nan::SetCreateHistogramFunction()</code></b></a>
299
299
  - <a href="doc/v8_internals.md#api_nan_set_add_histogram_sample_function"><b><code>Nan::SetAddHistogramSampleFunction()</code></b></a>
300
- - <a href="doc/v8_internals.md#api_nan_idle_notification"><b><code>Nan::IdleNotification()</code></b></a>
300
+ - <a href="doc/v8_internals.md#api_nan_idle_notification"><del><b><code>Nan::IdleNotification()</code></b></del></a>
301
301
  - <a href="doc/v8_internals.md#api_nan_low_memory_notification"><b><code>Nan::LowMemoryNotification()</code></b></a>
302
302
  - <a href="doc/v8_internals.md#api_nan_context_disposed_notification"><b><code>Nan::ContextDisposedNotification()</code></b></a>
303
303
  - <a href="doc/v8_internals.md#api_nan_get_internal_field_pointer"><b><code>Nan::GetInternalFieldPointer()</code></b></a>
304
304
  - <a href="doc/v8_internals.md#api_nan_set_internal_field_pointer"><b><code>Nan::SetInternalFieldPointer()</code></b></a>
305
305
  - <a href="doc/v8_internals.md#api_nan_adjust_external_memory"><b><code>Nan::AdjustExternalMemory()</code></b></a>
306
+ - <a href="doc/v8_internals.md#api_nan_get_external_value"><b><code>Nan::GetExternalValue()</code></b></a>
306
307
 
307
308
 
308
309
  ### Miscellaneous V8 Helpers
@@ -505,6 +505,8 @@ void Nan::SetPrototypeMethod(v8::Local<v8::FunctionTemplate> recv,
505
505
 
506
506
  Sets getters and setters for a property with a given name on an `ObjectTemplate` or a plain `Object`. Accepts getters with the `Nan::GetterCallback` signature (see <a href="#api_nan_getter">Getter declaration</a>) and setters with the `Nan::SetterCallback` signature (see <a href="#api_nan_setter">Setter declaration</a>).
507
507
 
508
+ **Note** `v8::AccessControl` was deprectaed in v8 14.2 and subsequently removed. To maintain backward compatibility new enum `enum AccessControl {DEFAULT = 0};` was added. Nan will determine v8 version used and switch to a correct signature.
509
+
508
510
  Signature:
509
511
 
510
512
  ```c++
@@ -531,6 +533,21 @@ bool SetAccessor(v8::Local<v8::Object> obj,
531
533
  v8::Local<v8::Value> data = v8::Local<v8::Value>(),
532
534
  v8::AccessControl settings = v8::DEFAULT,
533
535
  v8::PropertyAttribute attribute = v8::None)
536
+ // Starting from v8 14.2 new enum is used
537
+ void SetAccessor(v8::Local<v8::ObjectTemplate> tpl,
538
+ v8::Local<v8::String> name,
539
+ Nan::GetterCallback getter,
540
+ Nan::SetterCallback setter = 0,
541
+ v8::Local<v8::Value> data = v8::Local<v8::Value>(),
542
+ enum Nan::AccessControl settings = DEFAULT,
543
+ v8::PropertyAttribute attribute = v8::None);
544
+ bool SetAccessor(v8::Local<v8::Object> obj,
545
+ v8::Local<v8::String> name,
546
+ Nan::GetterCallback getter,
547
+ Nan::SetterCallback setter = 0,
548
+ v8::Local<v8::Value> data = v8::Local<v8::Value>(),
549
+ enum Nan::AccessControl settings = DEFAULT,
550
+ v8::PropertyAttribute attribute = v8::None)
534
551
  ```
535
552
 
536
553
  See the V8 [`ObjectTemplate#SetAccessor()`](https://v8docs.nodesource.com/node-8.16/db/d5f/classv8_1_1_object_template.html#aca0ed196f8a9adb1f68b1aadb6c9cd77) and [`Object#SetAccessor()`](https://v8docs.nodesource.com/node-8.16/db/d85/classv8_1_1_object.html#ae91b3b56b357f285288c89fbddc46d1b) for further information about how to use `Nan::SetAccessor()`.
@@ -4,6 +4,7 @@ Miscellaneous string & byte encoding and decoding functionality provided for com
4
4
 
5
5
  - <a href="#api_nan_encoding"><b><code>Nan::Encoding</code></b></a>
6
6
  - <a href="#api_nan_encode"><b><code>Nan::Encode()</code></b></a>
7
+ - <a href="#api_nan_try_encode"><b><code>Nan::TryEncode()</code></b></a>
7
8
  - <a href="#api_nan_decode_bytes"><b><code>Nan::DecodeBytes()</code></b></a>
8
9
  - <a href="#api_nan_decode_write"><b><code>Nan::DecodeWrite()</code></b></a>
9
10
 
@@ -25,6 +26,8 @@ enum Nan::Encoding { ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER }
25
26
 
26
27
  A wrapper around `node::Encode()` that provides a consistent implementation across supported versions of Node.
27
28
 
29
+ **Note** `node::Encode()` was deprecated in Node 24 but will remain to maintain backwards compatibility. For Node 24 and higher consider using [`Nan::TryEncode()`](#api_nan_try_encode).
30
+
28
31
  Signature:
29
32
 
30
33
  ```c++
@@ -34,6 +37,22 @@ v8::Local<v8::Value> Nan::Encode(const void *buf,
34
37
  ```
35
38
 
36
39
 
40
+ <a name="api_nan_try_encode"></a>
41
+ ### Nan::TryEncode()
42
+
43
+ A wrapper around `node::TryEncode()` that provides a consistent implementation across supported versions of Node.
44
+
45
+ **Note** Only available in Node 24 and higher. For earlier versions use [`Nan::Encode()`](#api_nan_encode).
46
+
47
+ Signature:
48
+
49
+ ```c++
50
+ Nan::MaybeLocal<v8::Value> Nan::TryEncode(const void *buf,
51
+ size_t len,
52
+ enum Nan::Encoding encoding = BINARY);
53
+ ```
54
+
55
+
37
56
  <a name="api_nan_decode_bytes"></a>
38
57
  ### Nan::DecodeBytes()
39
58
 
@@ -11,12 +11,13 @@ The hooks to access V8 internals—including GC and statistics—are different a
11
11
  - <a href="#api_nan_set_counter_function"><b><code>Nan::SetCounterFunction()</code></b></a>
12
12
  - <a href="#api_nan_set_create_histogram_function"><b><code>Nan::SetCreateHistogramFunction()</code></b></a>
13
13
  - <a href="#api_nan_set_add_histogram_sample_function"><b><code>Nan::SetAddHistogramSampleFunction()</code></b></a>
14
- - <a href="#api_nan_idle_notification"><b><code>Nan::IdleNotification()</code></b></a>
14
+ - <a href="#api_nan_idle_notification"><del><b><code>Nan::IdleNotification()</code></b></del></a>
15
15
  - <a href="#api_nan_low_memory_notification"><b><code>Nan::LowMemoryNotification()</code></b></a>
16
16
  - <a href="#api_nan_context_disposed_notification"><b><code>Nan::ContextDisposedNotification()</code></b></a>
17
17
  - <a href="#api_nan_get_internal_field_pointer"><b><code>Nan::GetInternalFieldPointer()</code></b></a>
18
18
  - <a href="#api_nan_set_internal_field_pointer"><b><code>Nan::SetInternalFieldPointer()</code></b></a>
19
19
  - <a href="#api_nan_adjust_external_memory"><b><code>Nan::AdjustExternalMemory()</code></b></a>
20
+ - <a href="#api_nan_get_external_value"><b><code>Nan::GetExternalValue()</code></b></a>
20
21
 
21
22
 
22
23
  <a name="api_nan_gc_callback"></a>
@@ -128,15 +129,15 @@ void Nan::SetAddHistogramSampleFunction(v8::AddHistogramSampleCallback cb)
128
129
  Calls V8's [`SetAddHistogramSampleFunction()`](https://v8docs.nodesource.com/node-8.16/d5/dda/classv8_1_1_isolate.html#aeb420b690bc2c216882d6fdd00ddd3ea).
129
130
 
130
131
  <a name="api_nan_idle_notification"></a>
131
- ### Nan::IdleNotification()
132
+ ### <del>Nan::IdleNotification()</del>
132
133
 
133
134
  Signature:
134
135
 
135
136
  ```c++
136
- bool Nan::IdleNotification(int idle_time_in_ms)
137
+ NAN_DEPRECATED bool Nan::IdleNotification(int idle_time_in_ms)
137
138
  ```
138
139
 
139
- Calls V8's [`IdleNotification()` or `IdleNotificationDeadline()`](https://v8docs.nodesource.com/node-8.16/d5/dda/classv8_1_1_isolate.html#ad6a2a02657f5425ad460060652a5a118) depending on V8 version.
140
+ Calls V8's [`IdleNotification()` or `IdleNotificationDeadline()`](https://v8docs.nodesource.com/node-8.16/d5/dda/classv8_1_1_isolate.html#ad6a2a02657f5425ad460060652a5a118) depending on V8 version. Removed in V8 12.7.41.
140
141
 
141
142
  <a name="api_nan_low_memory_notification"></a>
142
143
  ### Nan::LowMemoryNotification()
@@ -197,3 +198,14 @@ int Nan::AdjustExternalMemory(int bytesChange)
197
198
 
198
199
  Calls V8's [`AdjustAmountOfExternalAllocatedMemory()`](https://v8docs.nodesource.com/node-8.16/d5/dda/classv8_1_1_isolate.html#ae1a59cac60409d3922582c4af675473e).
199
200
 
201
+ <a name="api_nan_get_external_value"></a>
202
+ ### Nan::GetExternalValue()
203
+
204
+ Reads the pointer stored in a `v8::External`. On V8 versions that require an `ExternalPointerTypeTag` on `v8::External::Value()`, the default tag is applied (matching the tag used when the External is created via `Nan::New<v8::External>()`).
205
+
206
+ Signature:
207
+
208
+ ```c++
209
+ void* Nan::GetExternalValue(v8::Local<v8::External> ext)
210
+ ```
211
+