-
Notifications
You must be signed in to change notification settings - Fork 31.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
node-api: remove deprecated attribute from napi_module_register #56162
node-api: remove deprecated attribute from napi_module_register #56162
Conversation
Review requested:
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #56162 +/- ##
==========================================
- Coverage 88.00% 88.00% -0.01%
==========================================
Files 656 656
Lines 189103 189103
Branches 35999 36004 +5
==========================================
- Hits 166421 166413 -8
+ Misses 15860 15856 -4
- Partials 6822 6834 +12 |
IMO, the comments should also be removed, as they might create confusion. @vmoroz
|
No, the method is deprecated. We do not recommend to use it in future for any new Node-API modules. In the referenced issue #56153 it is used for embedded scenarios and we cannot offer any alternative to its behaviour in such case until the new C-based embedding API is completed. After that we may try to add the The main reason to remove the |
Thanks for the clarification! @vmoroz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I would like to go back to review the Considering that we want to discuss the future of the |
Please keep backwards compatibility. You must consider having a C unstable API is a huge headache for embedders. Normally C APIs like CPython or CRuby.. remain stable during years. Even multiple libraries are ABI stable during a lot of years. Also keep backwards compatibility for APIs like This kind of behavior is acceptable in JavaScript but it is not in C/C++. At least keep them for backward compatibility. It won't hurt anybody, and deprecation will. |
The As for the ABI-stable Node-APIs, when the API evolves, we can deprecate some old APIs as long as any previously compiled modules continue to work without issues. The newly compiled code will produce a warning for the deprecated functions and supposed to be changed to use the new recommended APIs. It is a normal process that you often find in other big systems. Why did we deprecate the It also coincided with adding ability to specify Node-API version used by modules. All modules that do not provide a well defined functions to return Node-API version are going to use the Node-API version 8 - the version we had when we implemented the change. The change went painless for all developers who used the recommended module registration macros. Unfortunately or fortunately, the The only difference between the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. The original intention is not removing this method for ABI stability guarantees. It was just that encoraging using the new napi_register_module_vX
symbols based approach to register the module.
This method will not be removed in the original intention.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Landed in ca69d0a |
PR-URL: #56162 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | minor | `23.5.0` -> `23.6.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>nodejs/node (node)</summary> ### [`v23.6.0`](https://github.com/nodejs/node/releases/tag/v23.6.0): 2025-01-07, Version 23.6.0 (Current), @​marco-ippolito [Compare Source](nodejs/node@v23.5.0...v23.6.0) ##### Notable Changes ##### Unflagging --experimental-strip-types This release enables the flag `--experimental-strip-types` by default. Node.js will be able to execute TypeScript files without additional configuration: ```bash node file.ts ``` There are some limitations in the supported syntax documented at <https://nodejs.org/api/typescript.html#type-stripping> This feature is experimental and is subject to change. Contributed by Marco Ippolito in [#​56350](nodejs/node#56350) ##### Other Notable Changes - \[[`c1023284c3`](nodejs/node@c1023284c3)] - **(SEMVER-MINOR)** **lib**: add typescript support to STDIN eval (Marco Ippolito) [#​56359](nodejs/node#56359) - \[[`8dc39e5e2e`](nodejs/node@8dc39e5e2e)] - **(SEMVER-MINOR)** **process**: add process.ref() and process.unref() methods (James M Snell) [#​56400](nodejs/node#56400) - \[[`8b20cc212b`](nodejs/node@8b20cc212b)] - **(SEMVER-MINOR)** **worker**: add eval ts input (Marco Ippolito) [#​56394](nodejs/node#56394) ##### Commits - \[[`7b4d288116`](nodejs/node@7b4d288116)] - **assert**: make partialDeepStrictEqual throw when comparing \[0] with \[-0] (Giovanni) [#​56237](nodejs/node#56237) - \[[`0ec2ed0a0b`](nodejs/node@0ec2ed0a0b)] - **build**: fix GN build for ngtcp2 (Cheng) [#​56300](nodejs/node#56300) - \[[`ab3e64630b`](nodejs/node@ab3e64630b)] - **build**: test macos-13 on GitHub actions (Michaël Zasso) [#​56307](nodejs/node#56307) - \[[`46fb69daca`](nodejs/node@46fb69daca)] - **build**: build v8 with -fvisibility=hidden on macOS (Joyee Cheung) [#​56275](nodejs/node#56275) - \[[`9d4930b993`](nodejs/node@9d4930b993)] - **deps**: update simdutf to 5.7.2 (Node.js GitHub Bot) [#​56388](nodejs/node#56388) - \[[`6afe36397e`](nodejs/node@6afe36397e)] - **deps**: update amaro to 0.2.1 (Node.js GitHub Bot) [#​56390](nodejs/node#56390) - \[[`195990a0ee`](nodejs/node@195990a0ee)] - **deps**: update googletest to [`7d76a23`](nodejs/node@7d76a23) (Node.js GitHub Bot) [#​56387](nodejs/node#56387) - \[[`b9c0852fc6`](nodejs/node@b9c0852fc6)] - **deps**: update googletest to [`e54519b`](nodejs/node@e54519b) (Node.js GitHub Bot) [#​56370](nodejs/node#56370) - \[[`eaefd90128`](nodejs/node@eaefd90128)] - **deps**: update ngtcp2 to 1.10.0 (Node.js GitHub Bot) [#​56334](nodejs/node#56334) - \[[`06de0c65cf`](nodejs/node@06de0c65cf)] - **deps**: update simdutf to 5.7.0 (Node.js GitHub Bot) [#​56332](nodejs/node#56332) - \[[`03df76cdec`](nodejs/node@03df76cdec)] - **doc**: add example for piping ReadableStream (Gabriel Schulhof) [#​56415](nodejs/node#56415) - \[[`38ce249b07`](nodejs/node@38ce249b07)] - **doc**: expand description of `parseArg`'s `default` (Kevin Gibbons) [#​54431](nodejs/node#54431) - \[[`ecc718cef2`](nodejs/node@ecc718cef2)] - **doc**: use `<ul>` instead of `<ol>` in `SECURITY.md` (Antoine du Hamel) [#​56346](nodejs/node#56346) - \[[`3db4809130`](nodejs/node@3db4809130)] - **doc**: clarify that WASM is trusted (Matteo Collina) [#​56345](nodejs/node#56345) - \[[`384ccbacd5`](nodejs/node@384ccbacd5)] - **doc**: update macOS and Xcode versions for releases (Michaël Zasso) [#​56337](nodejs/node#56337) - \[[`3943986e88`](nodejs/node@3943986e88)] - **doc**: fix the `crc32` documentation (Kevin Toshihiro Uehara) [#​55898](nodejs/node#55898) - \[[`710b8fc6ed`](nodejs/node@710b8fc6ed)] - **doc**: add entry to changelog about SQLite Session Extension (Bart Louwers) [#​56318](nodejs/node#56318) - \[[`4c978b4d77`](nodejs/node@4c978b4d77)] - **doc**: fix links in `module.md` (Antoine du Hamel) [#​56283](nodejs/node#56283) - \[[`cdb631efe7`](nodejs/node@cdb631efe7)] - **esm**: add experimental support for addon modules (Chengzhong Wu) [#​55844](nodejs/node#55844) - \[[`db83d2f0ee`](nodejs/node@db83d2f0ee)] - ***Revert*** "**events**: add hasEventListener util for validate" (origranot) [#​56282](nodejs/node#56282) - \[[`c2baae84ce`](nodejs/node@c2baae84ce)] - **lib**: refactor execution.js (Marco Ippolito) [#​56358](nodejs/node#56358) - \[[`c1023284c3`](nodejs/node@c1023284c3)] - **(SEMVER-MINOR)** **lib**: add typescript support to STDIN eval (Marco Ippolito) [#​56359](nodejs/node#56359) - \[[`e4b795ec4a`](nodejs/node@e4b795ec4a)] - **lib**: optimize `prepareStackTrace` on builtin frames (Chengzhong Wu) [#​56299](nodejs/node#56299) - \[[`d1b009b623`](nodejs/node@d1b009b623)] - **lib**: suppress source map lookup exceptions (Chengzhong Wu) [#​56299](nodejs/node#56299) - \[[`c2837f0805`](nodejs/node@c2837f0805)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#​56342](nodejs/node#56342) - \[[`72336233f2`](nodejs/node@72336233f2)] - **meta**: move MoLow to TSC regular member (Moshe Atlow) [#​56276](nodejs/node#56276) - \[[`4f77920a9d`](nodejs/node@4f77920a9d)] - **module**: fix async resolution error within the sync `findPackageJSON` (Jacob Smith) [#​56382](nodejs/node#56382) - \[[`e5ba216501`](nodejs/node@e5ba216501)] - **(SEMVER-MINOR)** **module**: unflag --experimental-strip-types (Marco Ippolito) [#​56350](nodejs/node#56350) - \[[`959f133a22`](nodejs/node@959f133a22)] - **module**: support eval with ts syntax detection (Marco Ippolito) [#​56285](nodejs/node#56285) - \[[`717cfa4fac`](nodejs/node@717cfa4fac)] - **module**: use buffer.toString base64 (Chengzhong Wu) [#​56315](nodejs/node#56315) - \[[`c2f4d8d688`](nodejs/node@c2f4d8d688)] - **node-api**: define version 10 (Gabriel Schulhof) [#​55676](nodejs/node#55676) - \[[`417a8ebdec`](nodejs/node@417a8ebdec)] - **node-api**: remove deprecated attribute from napi_module_register (Vladimir Morozov) [#​56162](nodejs/node#56162) - \[[`8dc39e5e2e`](nodejs/node@8dc39e5e2e)] - **(SEMVER-MINOR)** **process**: add process.ref() and process.unref() methods (James M Snell) [#​56400](nodejs/node#56400) - \[[`d194f1ab5f`](nodejs/node@d194f1ab5f)] - **sqlite**: pass conflict type to conflict resolution handler (Bart Louwers) [#​56352](nodejs/node#56352) - \[[`29f5d70452`](nodejs/node@29f5d70452)] - **src**: use v8::LocalVector consistently with other minor cleanups (James M Snell) [#​56417](nodejs/node#56417) - \[[`2a5543b78e`](nodejs/node@2a5543b78e)] - **src**: use starts_with in fs_permission.cc (ishabi) [#​55811](nodejs/node#55811) - \[[`3a3f5c9a64`](nodejs/node@3a3f5c9a64)] - **stream**: validate undefined sizeAlgorithm in WritableStream (Jason Zhang) [#​56067](nodejs/node#56067) - \[[`6e6f6b071a`](nodejs/node@6e6f6b071a)] - **test**: add ts eval snapshots (Marco Ippolito) [#​56358](nodejs/node#56358) - \[[`8a87e39052`](nodejs/node@8a87e39052)] - **test**: remove empty lines from snapshots (Marco Ippolito) [#​56358](nodejs/node#56358) - \[[`510649f617`](nodejs/node@510649f617)] - **test**: use unusual chars in the path to ensure our tests are robust (Antoine du Hamel) [#​48409](nodejs/node#48409) - \[[`54f6d681a0`](nodejs/node@54f6d681a0)] - **test**: remove flaky designation (Luigi Pinca) [#​56369](nodejs/node#56369) - \[[`20ace0bb01`](nodejs/node@20ace0bb01)] - **test**: remove test-worker-arraybuffer-zerofill flaky designation (Luigi Pinca) [#​56364](nodejs/node#56364) - \[[`b757e40525`](nodejs/node@b757e40525)] - **test**: remove test-net-write-fully-async-hex-string flaky designation (Luigi Pinca) [#​56365](nodejs/node#56365) - \[[`64556baddc`](nodejs/node@64556baddc)] - **test**: improve abort signal dropping test (Edy Silva) [#​56339](nodejs/node#56339) - \[[`accbdad329`](nodejs/node@accbdad329)] - **test**: enable ts test on win arm64 (Marco Ippolito) [#​56349](nodejs/node#56349) - \[[`4188ee00d1`](nodejs/node@4188ee00d1)] - **test**: deflake test-watch-file-shared-dependency (Luigi Pinca) [#​56344](nodejs/node#56344) - \[[`079cee0609`](nodejs/node@079cee0609)] - **test**: skip `test-sqlite-extensions` when SQLite is not built by us (Antoine du Hamel) [#​56341](nodejs/node#56341) - \[[`96a38044ee`](nodejs/node@96a38044ee)] - **test**: increase spin for eventloop test on s390 (Michael Dawson) [#​56228](nodejs/node#56228) - \[[`c062ffc242`](nodejs/node@c062ffc242)] - **test**: add coverage for pipeline (jakecastelli) [#​56278](nodejs/node#56278) - \[[`d4404f0d0e`](nodejs/node@d4404f0d0e)] - **test**: migrate message eval tests from Python to JS (Yiyun Lei) [#​50482](nodejs/node#50482) - \[[`9369942745`](nodejs/node@9369942745)] - **test**: check typescript loader (Marco Ippolito) [#​54657](nodejs/node#54657) - \[[`4930244484`](nodejs/node@4930244484)] - **test**: remove async-hooks/test-writewrap flaky designation (Luigi Pinca) [#​56048](nodejs/node#56048) - \[[`7819bfec69`](nodejs/node@7819bfec69)] - **test**: deflake test-esm-loader-hooks-inspect-brk (Luigi Pinca) [#​56050](nodejs/node#56050) - \[[`e9762bf005`](nodejs/node@e9762bf005)] - **test**: add test case for listeners (origranot) [#​56282](nodejs/node#56282) - \[[`c1627e9d19`](nodejs/node@c1627e9d19)] - **test**: make `test-permission-sqlite-load-extension` more robust (Antoine du Hamel) [#​56295](nodejs/node#56295) - \[[`97d854e1d5`](nodejs/node@97d854e1d5)] - **test_runner,cli**: mark test isolation as stable (Colin Ihrig) [#​56298](nodejs/node#56298) - \[[`a4f336fdd4`](nodejs/node@a4f336fdd4)] - **tools**: fix `require-common-first` lint rule from subfolder (Antoine du Hamel) [#​56325](nodejs/node#56325) - \[[`dc3dafcb50`](nodejs/node@dc3dafcb50)] - **tools**: add release line label when opening release proposal (Antoine du Hamel) [#​56317](nodejs/node#56317) - \[[`2a5ac932ac`](nodejs/node@2a5ac932ac)] - **url**: use resolved path to convert UNC paths to URL (Antoine du Hamel) [#​56302](nodejs/node#56302) - \[[`8b20cc212b`](nodejs/node@8b20cc212b)] - **(SEMVER-MINOR)** **worker**: add eval ts input (Marco Ippolito) [#​56394](nodejs/node#56394) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45MS40IiwidXBkYXRlZEluVmVyIjoiMzkuOTEuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
PR-URL: #56162 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
PR-URL: #56162 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
PR-URL: #56162 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
PR-URL: #56162 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [node](https://github.com/nodejs/node) | stage | minor | `20.18.3-bullseye` -> `20.19.0-bullseye` | --- ### Release Notes <details> <summary>nodejs/node (node)</summary> ### [`v20.19.0`](https://github.com/nodejs/node/releases/tag/v20.19.0): 2025-03-13, Version 20.19.0 'Iron' (LTS), @​marco-ippolito [Compare Source](nodejs/node@v20.18.3...v20.19.0) ##### Notable Changes ##### require(esm) is now enabled by default Support for loading native ES modules using require() had been available on v20.x under the command line flag --experimental-require-module, and available by default on v22.x and v23.x. In this release, it is now no longer behind a flag on v20.x. This feature has been tested on v23.x and v22.x, and we are looking for user feedback from v20.x to make more final tweaks before fully stabilizing it. It now no longer emits a warning unless `--trace-require-module` is explicitly used. If there happens to be any regressions caused by this feature, users can report it to the Node.js issue tracker. Meanwhile this feature can also be disabled using `--no-experimental-require-module` as a workaround. With this feature enabled, Node.js will no longer throw `ERR_REQUIRE_ESM` if `require()` is used to load a ES module. It can, however, throw `ERR_REQUIRE_ASYNC_MODULE` if the ES module being loaded or its dependencies contain top-level `await`. When the ES module is loaded successfully by `require()`, the returned object will either be a ES module namespace object similar to what's returned by `import()`, or what gets exported as `"module.exports"` in the ES module. Users can check `process.features.require_module` to see whether `require(esm)` is enabled in the current Node.js instance. For packages, the `"module-sync"` exports condition can be used as a way to detect `require(esm)` support in the current Node.js instance and allow both `require()` and `import` to load the same native ES module. See [the documentation](https://nodejs.org/docs/latest/api/modules.html#loading-ecmascript-modules-using-require) for more details about this feature. Contributed by Joyee Cheung in [#​55085](nodejs/node#55085) ##### Module syntax detection is now enabled by default Module syntax detection (the `--experimental-detect-module` flag) is now enabled by default. Use `--no-experimental-detect-module` to disable it if needed. Syntax detection attempts to run ambiguous files as CommonJS, and if the module fails to parse as CommonJS due to ES module syntax, Node.js tries again and runs the file as an ES module. Ambiguous files are those with a `.js` or no extension, where the nearest parent `package.json` has no `"type"` field (either `"type": "module"` or `"type": "commonjs"`). Syntax detection should have no performance impact on CommonJS modules, but it incurs a slight performance penalty for ES modules; add `"type": "module"` to the nearest parent `package.json` file to eliminate the performance cost. A use case unlocked by this feature is the ability to use ES module syntax in extensionless scripts with no nearby `package.json`. Thanks to Geoffrey Booth for making this work on [#​53619](nodejs/node#53619). ##### Other Notable Changes - \[[`285bb4ee14`](nodejs/node@285bb4ee14)] - **crypto**: update root certificates to NSS 3.107 (Node.js GitHub Bot) [#​56566](nodejs/node#56566) - \[[`73b5c16684`](nodejs/node@73b5c16684)] - **(SEMVER-MINOR)** **worker**: add postMessageToThread (Paolo Insogna) [#​53682](nodejs/node#53682) - \[[`de313b2336`](nodejs/node@de313b2336)] - **(SEMVER-MINOR)** **module**: only emit require(esm) warning under --trace-require-module (Joyee Cheung) [#​56194](nodejs/node#56194) - \[[`4fba01911d`](nodejs/node@4fba01911d)] - **(SEMVER-MINOR)** **process**: add process.features.require_module (Joyee Cheung) [#​55241](nodejs/node#55241) - \[[`df8a045afe`](nodejs/node@df8a045afe)] - **(SEMVER-MINOR)** **module**: implement the "module-sync" exports condition (Joyee Cheung) [#​54648](nodejs/node#54648) - \[[`f9dc1eaef5`](nodejs/node@f9dc1eaef5)] - **(SEMVER-MINOR)** **module**: add \__esModule to require()'d ESM (Joyee Cheung) [#​52166](nodejs/node#52166) <details> <summary> Commits </summary> - \[[`d84be843e3`](nodejs/node@d84be843e3)] - **benchmark**: add validateStream to styleText bench (Rafael Gonzaga) [#​56556](nodejs/node#56556) - \[[`d8eaf5b9b8`](nodejs/node@d8eaf5b9b8)] - **build**: fix compatibility with V8's `depot_tools` (Richard Lau) [#​57330](nodejs/node#57330) - \[[`1ee4bf9690`](nodejs/node@1ee4bf9690)] - **build**: test macos-13 on GitHub actions (Michaël Zasso) [#​56307](nodejs/node#56307) - \[[`1cc8d69882`](nodejs/node@1cc8d69882)] - **build**: build v8 with -fvisibility=hidden on macOS (Joyee Cheung) [#​56275](nodejs/node#56275) - \[[`52f1f7e22b`](nodejs/node@52f1f7e22b)] - **child_process**: fix parsing messages with splitted length field (Maksim Gorkov) [#​56106](nodejs/node#56106) - \[[`5ef3c3c996`](nodejs/node@5ef3c3c996)] - **crypto**: add missing return value check (Michael Dawson) [#​56615](nodejs/node#56615) - \[[`285bb4ee14`](nodejs/node@285bb4ee14)] - **crypto**: update root certificates to NSS 3.107 (Node.js GitHub Bot) [#​56566](nodejs/node#56566) - \[[`46ceb9dc1c`](nodejs/node@46ceb9dc1c)] - **deps**: update timezone to 2025a (Node.js GitHub Bot) [#​56876](nodejs/node#56876) - \[[`d4ca38fe8e`](nodejs/node@d4ca38fe8e)] - **deps**: macro ENODATA is deprecated in libc++ (Cheng) [#​56698](nodejs/node#56698) - \[[`15214e6508`](nodejs/node@15214e6508)] - **deps**: update simdutf to 6.0.3 (Node.js GitHub Bot) [#​56567](nodejs/node#56567) - \[[`1e44f5d84b`](nodejs/node@1e44f5d84b)] - **deps**: update simdutf to 5.7.2 (Node.js GitHub Bot) [#​56388](nodejs/node#56388) - \[[`b92ff7be38`](nodejs/node@b92ff7be38)] - **deps**: update googletest to [`7d76a23`](nodejs/node@7d76a23) (Node.js GitHub Bot) [#​56387](nodejs/node#56387) - \[[`e1b71a81a9`](nodejs/node@e1b71a81a9)] - **deps**: update googletest to [`e54519b`](nodejs/node@e54519b) (Node.js GitHub Bot) [#​56370](nodejs/node#56370) - \[[`c0d45e7f38`](nodejs/node@c0d45e7f38)] - **deps**: update simdutf to 5.7.0 (Node.js GitHub Bot) [#​56332](nodejs/node#56332) - \[[`d69107f5a8`](nodejs/node@d69107f5a8)] - **deps**: update icu to 76.1 (Node.js GitHub Bot) [#​55551](nodejs/node#55551) - \[[`5c9a397699`](nodejs/node@5c9a397699)] - **deps**: V8: backport [`9ab4059`](nodejs/node@9ab40592f697) (Lu Yahan) [#​56781](nodejs/node#56781) - \[[`8342233f6d`](nodejs/node@8342233f6d)] - **deps**: update corepack to 0.31.0 (Node.js GitHub Bot) [#​56795](nodejs/node#56795) - \[[`561493d35e`](nodejs/node@561493d35e)] - **deps,src**: simplify base64 encoding (Daniel Lemire) [#​52714](nodejs/node#52714) - \[[`6207b2936c`](nodejs/node@6207b2936c)] - **doc**: move anatoli to emeritus (Michael Dawson) [#​56592](nodejs/node#56592) - \[[`b0ab483400`](nodejs/node@b0ab483400)] - **doc**: fix styles of the expandable TOC (Antoine du Hamel) [#​56755](nodejs/node#56755) - \[[`53e4dc2a82`](nodejs/node@53e4dc2a82)] - **doc**: add "Skip to content" button (Antoine du Hamel) [#​56750](nodejs/node#56750) - \[[`33ee4645c3`](nodejs/node@33ee4645c3)] - **doc**: improve accessibility of expandable lists (Antoine du Hamel) [#​56749](nodejs/node#56749) - \[[`b514438418`](nodejs/node@b514438418)] - **doc**: add note regarding commit message trailers (Dario Piotrowicz) [#​56736](nodejs/node#56736) - \[[`627f2997e3`](nodejs/node@627f2997e3)] - **doc**: fix typo in example code for util.styleText (Robin Mehner) [#​56720](nodejs/node#56720) - \[[`68548dcb48`](nodejs/node@68548dcb48)] - **doc**: fix inconsistencies in `WeakSet` and `WeakMap` comparison details (Shreyans Pathak) [#​56683](nodejs/node#56683) - \[[`337cfb2549`](nodejs/node@337cfb2549)] - **doc**: add RafaelGSS as latest sec release stewards (Rafael Gonzaga) [#​56682](nodejs/node#56682) - \[[`e890c86d7b`](nodejs/node@e890c86d7b)] - **doc**: clarify cjs/esm diff in `queueMicrotask()` vs `process.nextTick()` (Dario Piotrowicz) [#​56659](nodejs/node#56659) - \[[`978263923f`](nodejs/node@978263923f)] - **doc**: `WeakSet` and `WeakMap` comparison details (Shreyans Pathak) [#​56648](nodejs/node#56648) - \[[`aba280ccd8`](nodejs/node@aba280ccd8)] - **doc**: mention prepare --security (Rafael Gonzaga) [#​56617](nodejs/node#56617) - \[[`0a009a527b`](nodejs/node@0a009a527b)] - **doc**: tweak info on reposts in ambassador program (Michael Dawson) [#​56589](nodejs/node#56589) - \[[`d2f09e2ab3`](nodejs/node@d2f09e2ab3)] - **doc**: add type stripping to ambassadors program (Marco Ippolito) [#​56598](nodejs/node#56598) - \[[`b0b77d7fbe`](nodejs/node@b0b77d7fbe)] - **doc**: improve internal documentation on built-in snapshot (Joyee Cheung) [#​56505](nodejs/node#56505) - \[[`4b3e7fee94`](nodejs/node@4b3e7fee94)] - **doc**: document CLI way to open the nodejs/bluesky PR (Antoine du Hamel) [#​56506](nodejs/node#56506) - \[[`03878b0384`](nodejs/node@03878b0384)] - **doc**: update gcc-version for ubuntu-lts (Kunal Kumar) [#​56553](nodejs/node#56553) - \[[`acbbd7c1a6`](nodejs/node@acbbd7c1a6)] - **doc**: fix parentheses in options (Tobias Nießen) [#​56563](nodejs/node#56563) - \[[`3fe80c30b8`](nodejs/node@3fe80c30b8)] - **doc**: include CVE to EOL lines as sec release process (Rafael Gonzaga) [#​56520](nodejs/node#56520) - \[[`ff8af58046`](nodejs/node@ff8af58046)] - **doc**: add esm examples to node:trace_events (Alfredo González) [#​56514](nodejs/node#56514) - \[[`27b9cfd135`](nodejs/node@27b9cfd135)] - **doc**: add message for Ambassadors to promote (Michael Dawson) [#​56235](nodejs/node#56235) - \[[`020c939da1`](nodejs/node@020c939da1)] - **doc**: allow request for TSC reviews via the GitHub UI (Antoine du Hamel) [#​56493](nodejs/node#56493) - \[[`1ef9c9a354`](nodejs/node@1ef9c9a354)] - **doc**: add example for piping ReadableStream (Gabriel Schulhof) [#​56415](nodejs/node#56415) - \[[`e675c3a7fc`](nodejs/node@e675c3a7fc)] - **doc**: expand description of `parseArg`'s `default` (Kevin Gibbons) [#​54431](nodejs/node#54431) - \[[`bc756da876`](nodejs/node@bc756da876)] - **doc**: use `<ul>` instead of `<ol>` in `SECURITY.md` (Antoine du Hamel) [#​56346](nodejs/node#56346) - \[[`ad59c82a49`](nodejs/node@ad59c82a49)] - **doc**: clarify that WASM is trusted (Matteo Collina) [#​56345](nodejs/node#56345) - \[[`8e76cc69e5`](nodejs/node@8e76cc69e5)] - **doc**: move dual package shipping docs to separate repo (Joyee Cheung) [#​55444](nodejs/node#55444) - \[[`9fda8e29cd`](nodejs/node@9fda8e29cd)] - **doc**: mark `--env-file-if-exists` flag as experimental (Juan José) [#​56893](nodejs/node#56893) - \[[`9e975f1a7d`](nodejs/node@9e975f1a7d)] - **doc**: fix link and history of `SourceMap` sections (Antoine du Hamel) [#​57098](nodejs/node#57098) - \[[`64ce95b8fc`](nodejs/node@64ce95b8fc)] - **doc**: update `require(ESM)` history and stability status (Antoine du Hamel) [#​55199](nodejs/node#55199) - \[[`697a39248b`](nodejs/node@697a39248b)] - **doc**: fix history of `process.features` (Antoine du Hamel) [#​54897](nodejs/node#54897) - \[[`7c38e503a3`](nodejs/node@7c38e503a3)] - **doc**: add documentation for process.features (Marco Ippolito) [#​54897](nodejs/node#54897) - \[[`c85b386a39`](nodejs/node@c85b386a39)] - **esm**: fix jsdoc type refs to `ModuleJobBase` in esm/loader (Jacob Smith) [#​56499](nodejs/node#56499) - \[[`4813a6a66c`](nodejs/node@4813a6a66c)] - **esm**: throw `ERR_REQUIRE_ESM` instead of `ERR_INTERNAL_ASSERTION` (Antoine du Hamel) [#​54868](nodejs/node#54868) - \[[`0d327c8e47`](nodejs/node@0d327c8e47)] - **esm**: refactor `get_format` (Antoine du Hamel) [#​53872](nodejs/node#53872) - \[[`e87db6c9bc`](nodejs/node@e87db6c9bc)] - **events**: add hasEventListener util for validate (Sunghoon) [#​55230](nodejs/node#55230) - \[[`674b932f33`](nodejs/node@674b932f33)] - **http**: don't emit error after destroy (Robert Nagy) [#​55457](nodejs/node#55457) - \[[`4c24ef8f71`](nodejs/node@4c24ef8f71)] - **http2**: omit server name when HTTP2 host is IP address (islandryu) [#​56530](nodejs/node#56530) - \[[`533afe8124`](nodejs/node@533afe8124)] - **lib**: reduce amount of caught URL errors (Yagiz Nizipli) [#​52658](nodejs/node#52658) - \[[`34221a1d6e`](nodejs/node@34221a1d6e)] - **lib**: allow CJS source map cache to be reclaimed (Chengzhong Wu) [#​51711](nodejs/node#51711) - \[[`f13589f1f9`](nodejs/node@f13589f1f9)] - **lib,src**: iterate module requests of a module wrap in JS (Chengzhong Wu) [#​52058](nodejs/node#52058) - \[[`6afee9ea43`](nodejs/node@6afee9ea43)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#​56580](nodejs/node#56580) - \[[`85bb738739`](nodejs/node@85bb738739)] - **meta**: add codeowners of security release document (Rafael Gonzaga) [#​56521](nodejs/node#56521) - \[[`48f9ca0992`](nodejs/node@48f9ca0992)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#​56342](nodejs/node#56342) - \[[`4d724121b4`](nodejs/node@4d724121b4)] - **meta**: move MoLow to TSC regular member (Moshe Atlow) [#​56276](nodejs/node#56276) - \[[`5e2dab7868`](nodejs/node@5e2dab7868)] - **module**: fix bad `require.resolve` with option paths for `.` and `..` (Dario Piotrowicz) [#​56735](nodejs/node#56735) - \[[`f507c05060`](nodejs/node@f507c05060)] - **module**: simplify --inspect-brk handling (Joyee Cheung) [#​55679](nodejs/node#55679) - \[[`ed2d373e5a`](nodejs/node@ed2d373e5a)] - **module**: disable require(esm) for policy and network import (Joyee Cheung) [#​56927](nodejs/node#56927) - \[[`de313b2336`](nodejs/node@de313b2336)] - **(SEMVER-MINOR)** **module**: only emit require(esm) warning under --trace-require-module (Joyee Cheung) [#​56194](nodejs/node#56194) - \[[`3d89e6b6fa`](nodejs/node@3d89e6b6fa)] - **module**: mark evaluation rejection in require(esm) as handled (Joyee Cheung) [#​56122](nodejs/node#56122) - \[[`e01dd4bd4f`](nodejs/node@e01dd4bd4f)] - **module**: do not warn when require(esm) comes from node_modules (Joyee Cheung) [#​55960](nodejs/node#55960) - \[[`011e6e0032`](nodejs/node@011e6e0032)] - **module**: fix error thrown from require(esm) hitting TLA repeatedly (Joyee Cheung) [#​55520](nodejs/node#55520) - \[[`fdf50289c6`](nodejs/node@fdf50289c6)] - **module**: trim off internal stack frames for require(esm) warnings (Joyee Cheung) [#​55496](nodejs/node#55496) - \[[`8d33f78ca5`](nodejs/node@8d33f78ca5)] - **module**: allow ESM that failed to be required to be re-imported (Joyee Cheung) [#​55502](nodejs/node#55502) - \[[`8192dd6cf3`](nodejs/node@8192dd6cf3)] - **module**: include module information in require(esm) warning (Joyee Cheung) [#​55397](nodejs/node#55397) - \[[`1db210a0ec`](nodejs/node@1db210a0ec)] - **module**: check --experimental-require-module separately from detection (Joyee Cheung) [#​55250](nodejs/node#55250) - \[[`cf8701c866`](nodejs/node@cf8701c866)] - **module**: use kNodeModulesRE to detect node_modules (Joyee Cheung) [#​55243](nodejs/node#55243) - \[[`dc66632261`](nodejs/node@dc66632261)] - **module**: support 'module.exports' interop export in require(esm) (Guy Bedford) [#​54563](nodejs/node#54563) - \[[`1ac1dda9a4`](nodejs/node@1ac1dda9a4)] - **(SEMVER-MINOR)** **module**: unflag --experimental-require-module (Joyee Cheung) [#​55085](nodejs/node#55085) - \[[`683c93f45f`](nodejs/node@683c93f45f)] - **module**: refator ESM loader for adding future synchronous hooks (Joyee Cheung) [#​54769](nodejs/node#54769) - \[[`df8a045afe`](nodejs/node@df8a045afe)] - **(SEMVER-MINOR)** **module**: implement the "module-sync" exports condition (Joyee Cheung) [#​54648](nodejs/node#54648) - \[[`249d82b686`](nodejs/node@249d82b686)] - **module**: report unfinished TLA in ambiguous modules (Antoine du Hamel) [#​54980](nodejs/node#54980) - \[[`1925d729f9`](nodejs/node@1925d729f9)] - **module**: remove bogus assertion in CJS entrypoint handling with --import (Joyee Cheung) [#​54592](nodejs/node#54592) - \[[`d1331fccb2`](nodejs/node@d1331fccb2)] - **module**: do not warn for typeless package.json when there isn't one (Joyee Cheung) [#​54045](nodejs/node#54045) - \[[`9916458b44`](nodejs/node@9916458b44)] - **(SEMVER-MINOR)** **module**: unflag detect-module (Geoffrey Booth) [#​53619](nodejs/node#53619) - \[[`f9dc1eaef5`](nodejs/node@f9dc1eaef5)] - **(SEMVER-MINOR)** **module**: add \__esModule to require()'d ESM (Joyee Cheung) [#​52166](nodejs/node#52166) - \[[`b86f575504`](nodejs/node@b86f575504)] - **module**: do not set CJS variables for Worker eval (Antoine du Hamel) [#​53050](nodejs/node#53050) - \[[`30ed93db12`](nodejs/node@30ed93db12)] - **module**: cache synchronous module jobs before linking (Joyee Cheung) [#​52868](nodejs/node#52868) - \[[`a03faf289d`](nodejs/node@a03faf289d)] - **module**: support ESM detection in the CJS loader (Joyee Cheung) [#​52047](nodejs/node#52047) - \[[`b07ad39bda`](nodejs/node@b07ad39bda)] - **module**: detect ESM syntax by trying to recompile as SourceTextModule (Joyee Cheung) [#​52413](nodejs/node#52413) - \[[`132a5c190f`](nodejs/node@132a5c190f)] - **module**: eliminate performance cost of detection for cjs entry (Geoffrey Booth) [#​52093](nodejs/node#52093) - \[[`55a57a189f`](nodejs/node@55a57a189f)] - **node-api**: remove deprecated attribute from napi_module_register (Vladimir Morozov) [#​56162](nodejs/node#56162) - \[[`4fba01911d`](nodejs/node@4fba01911d)] - **(SEMVER-MINOR)** **process**: add process.features.require_module (Joyee Cheung) [#​55241](nodejs/node#55241) - \[[`c0fad18ac0`](nodejs/node@c0fad18ac0)] - **src**: add nullptr handling from X509\_STORE_new() (Burkov Egor) [#​56700](nodejs/node#56700) - \[[`5b88d48cbb`](nodejs/node@5b88d48cbb)] - **src**: add default value for RSACipherConfig mode field (Burkov Egor) [#​56701](nodejs/node#56701) - \[[`e3b69e57a6`](nodejs/node@e3b69e57a6)] - **src**: fix build with GCC 15 (tjuhaszrh) [#​56740](nodejs/node#56740) - \[[`a7c1d8c0e8`](nodejs/node@a7c1d8c0e8)] - **src**: initialize FSReqWrapSync in path that uses it (Michaël Zasso) [#​56613](nodejs/node#56613) - \[[`c06ac66356`](nodejs/node@c06ac66356)] - **src**: fix undefined script name in error source (Chengzhong Wu) [#​56502](nodejs/node#56502) - \[[`500f3ccc66`](nodejs/node@500f3ccc66)] - **src**: lock the thread properly in snapshot builder (Joyee Cheung) [#​56327](nodejs/node#56327) - \[[`cf25a5edeb`](nodejs/node@cf25a5edeb)] - **src**: drain platform tasks before creating startup snapshot (Chengzhong Wu) [#​56403](nodejs/node#56403) - \[[`8af1b53bb8`](nodejs/node@8af1b53bb8)] - **src**: safely remove the last line from dotenv (Shima Ryuhei) [#​55982](nodejs/node#55982) - \[[`bb57e909aa`](nodejs/node@bb57e909aa)] - **src**: remove `base64` from `process.versions` (Richard Lau) [#​53442](nodejs/node#53442) - \[[`b8c89a693e`](nodejs/node@b8c89a693e)] - **src**: add `--env-file-if-exists` flag (Bosco Domingo) [#​53060](nodejs/node#53060) - \[[`9097de073a`](nodejs/node@9097de073a)] - **src**: don't match after `--` in `Dotenv::GetPathFromArgs` (Aviv Keller) [#​54237](nodejs/node#54237) - \[[`ececd225b6`](nodejs/node@ececd225b6)] - **src**: implement IsInsideNodeModules() in C++ (Joyee Cheung) [#​55286](nodejs/node#55286) - \[[`18593b7d3e`](nodejs/node@18593b7d3e)] - **src**: refactor embedded entrypoint loading (Joyee Cheung) [#​53573](nodejs/node#53573) - \[[`d7aefc0524`](nodejs/node@d7aefc0524)] - **stream**: fix typo in ReadableStreamBYOBReader.readIntoRequests (Mattias Buelens) [#​56560](nodejs/node#56560) - \[[`fe5f7bcd47`](nodejs/node@fe5f7bcd47)] - **stream**: validate undefined sizeAlgorithm in WritableStream (Jason Zhang) [#​56067](nodejs/node#56067) - \[[`12744c1fd4`](nodejs/node@12744c1fd4)] - **test**: reduce number of written chunks (Luigi Pinca) [#​56757](nodejs/node#56757) - \[[`e121d7d62c`](nodejs/node@e121d7d62c)] - **test**: fix invalid common.mustSucceed() usage (Luigi Pinca) [#​56756](nodejs/node#56756) - \[[`11b82de7ed`](nodejs/node@11b82de7ed)] - **test**: use strict mode in global setters test (Rich Trott) [#​56742](nodejs/node#56742) - \[[`f9d6e35c5e`](nodejs/node@f9d6e35c5e)] - **test**: cleanup and simplify test-crypto-aes-wrap (James M Snell) [#​56748](nodejs/node#56748) - \[[`792ce98699`](nodejs/node@792ce98699)] - **test**: do not use common.isMainThread (Luigi Pinca) [#​56768](nodejs/node#56768) - \[[`4f0cf475e0`](nodejs/node@4f0cf475e0)] - **test**: add test that uses multibyte for path and resolves modules (yamachu) [#​56696](nodejs/node#56696) - \[[`3bc8d273c2`](nodejs/node@3bc8d273c2)] - **test**: add missing test for env file (Jonas) [#​56642](nodejs/node#56642) - \[[`ad39367712`](nodejs/node@ad39367712)] - **test**: enforce strict mode in test-zlib-const (Rich Trott) [#​56689](nodejs/node#56689) - \[[`ca79914137`](nodejs/node@ca79914137)] - **test**: test-stream-compose.js doesn't need internals (Meghan Denny) [#​56619](nodejs/node#56619) - \[[`08bde67101`](nodejs/node@08bde67101)] - **test**: add maxCount and gcOptions to gcUntil() (Joyee Cheung) [#​56522](nodejs/node#56522) - \[[`40a0f6f6e3`](nodejs/node@40a0f6f6e3)] - **test**: mark test-worker-prof as flaky on smartos (Joyee Cheung) [#​56583](nodejs/node#56583) - \[[`d17bf2f62a`](nodejs/node@d17bf2f62a)] - **test**: update test-child-process-bad-stdio to use node:test (Colin Ihrig) [#​56562](nodejs/node#56562) - \[[`5660b99b43`](nodejs/node@5660b99b43)] - **test**: disable openssl 3.4.0 incompatible tests (Jelle van der Waa) [#​56160](nodejs/node#56160) - \[[`861c99f351`](nodejs/node@861c99f351)] - **test**: make test-crypto-hash compatible with OpenSSL > 3.4.0 (Jelle van der Waa) [#​56160](nodejs/node#56160) - \[[`597a39b5f9`](nodejs/node@597a39b5f9)] - **test**: update error code in tls-psk-circuit for for OpenSSL 3.4 (sebastianas) [#​56420](nodejs/node#56420) - \[[`721e9e1217`](nodejs/node@721e9e1217)] - **test**: add initial test426 coverage (Chengzhong Wu) [#​56436](nodejs/node#56436) - \[[`cfe5380c44`](nodejs/node@cfe5380c44)] - **test**: update test-set-http-max-http-headers to use node:test (Colin Ihrig) [#​56439](nodejs/node#56439) - \[[`51ff71a87a`](nodejs/node@51ff71a87a)] - **test**: update test-child-process-windows-hide to use node:test (Colin Ihrig) [#​56437](nodejs/node#56437) - \[[`d6aca0cd89`](nodejs/node@d6aca0cd89)] - **test**: increase spin for eventloop test on s390 (Michael Dawson) [#​56228](nodejs/node#56228) - \[[`82461af6ec`](nodejs/node@82461af6ec)] - **test**: migrate message eval tests from Python to JS (Yiyun Lei) [#​50482](nodejs/node#50482) - \[[`5083bbb2bb`](nodejs/node@5083bbb2bb)] - **test**: remove async-hooks/test-writewrap flaky designation (Luigi Pinca) [#​56048](nodejs/node#56048) - \[[`b4b26e973d`](nodejs/node@b4b26e973d)] - **test**: deflake test-esm-loader-hooks-inspect-brk (Luigi Pinca) [#​56050](nodejs/node#56050) - \[[`182be26b8a`](nodejs/node@182be26b8a)] - **test**: update WPT for url to [`67880a4`](nodejs/node@67880a4) (Node.js GitHub Bot) [#​55999](nodejs/node#55999) - \[[`e67a84902f`](nodejs/node@e67a84902f)] - **test_runner**: remove unused errors (Pietro Marchini) [#​56607](nodejs/node#56607) - \[[`4274c6a015`](nodejs/node@4274c6a015)] - **test_runner**: run single test file benchmark (Pietro Marchini) [#​56479](nodejs/node#56479) - \[[`e57004458b`](nodejs/node@e57004458b)] - **tools**: update doc to new version (Node.js GitHub Bot) [#​56259](nodejs/node#56259) - \[[`e039f2b571`](nodejs/node@e039f2b571)] - **tools**: do not throw on missing `create-release-proposal.sh` (Antoine du Hamel) [#​56704](nodejs/node#56704) - \[[`9a1e314498`](nodejs/node@9a1e314498)] - **tools**: fix tools-deps-update (Daniel Lemire) [#​56684](nodejs/node#56684) - \[[`d6469b5287`](nodejs/node@d6469b5287)] - **tools**: do not throw on missing `create-release-proposal.sh` (Antoine du Hamel) [#​56695](nodejs/node#56695) - \[[`e162476fdc`](nodejs/node@e162476fdc)] - **tools**: fix permissions in `lint-release-proposal` workflow (Antoine du Hamel) [#​56614](nodejs/node#56614) - \[[`914b4675c8`](nodejs/node@914b4675c8)] - **tools**: edit `create-release-proposal` workflow (Antoine du Hamel) [#​56540](nodejs/node#56540) - \[[`4ff9aa7235`](nodejs/node@4ff9aa7235)] - **tools**: validate commit list as part of `lint-release-commit` (Antoine du Hamel) [#​56291](nodejs/node#56291) - \[[`589d0ae8ea`](nodejs/node@589d0ae8ea)] - **tools**: fix loong64 build failed (Xiao-Tao) [#​56466](nodejs/node#56466) - \[[`bc8c39bff8`](nodejs/node@bc8c39bff8)] - **tools**: disable unneeded rule ignoring in Python linting (Rich Trott) [#​56429](nodejs/node#56429) - \[[`3b130002bb`](nodejs/node@3b130002bb)] - **tools**: add release line label when opening release proposal (Antoine du Hamel) [#​56317](nodejs/node#56317) - \[[`73b5c16684`](nodejs/node@73b5c16684)] - **(SEMVER-MINOR)** **worker**: add postMessageToThread (Paolo Insogna) [#​53682](nodejs/node#53682) </details> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOTEuNCIsInVwZGF0ZWRJblZlciI6IjM5LjIwNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Reviewed-on: https://git.walbeck.it/mwalbeck/docker-cyberchef/pulls/375 Co-authored-by: renovate-bot <[email protected]> Co-committed-by: renovate-bot <[email protected]>
This PR targets to addresses the issue #56153 by removing the
[[deprecated]]
attribute from thenapi_module_register
function.The code described in the issue does not use the
napi_module_register
function as it was intended from a module shared library. Instead, it uses it to register modules for embedding scenarios. While it was never the intended use, we currently do not have a better approach to register modules beforeEnvironment
is created until we complete the new embedding API - PR #54660.We discussed the issue in the Node-API meeting on Dec 6th 2024, and decided that the quickest and the least intrusive way to address it is to remove the
[[deprecated]]
attribute from thenapi_module_register
function for now.