src: remove icu based ToASCII and ToUnicode#55156
Merged
Merged
Conversation
4e0a3da to
a0a5680
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #55156 +/- ##
=======================================
Coverage 88.40% 88.41%
=======================================
Files 653 653
Lines 187597 187502 -95
Branches 36112 36097 -15
=======================================
- Hits 165850 165781 -69
+ Misses 14967 14961 -6
+ Partials 6780 6760 -20
|
a0a5680 to
e59a0cc
Compare
aduh95
reviewed
Sep 29, 2024
e59a0cc to
8e4ec9f
Compare
Member
Author
|
cc @nodejs/cpp-reviewers can you review? |
jasnell
approved these changes
Oct 7, 2024
Collaborator
KhafraDev
approved these changes
Oct 8, 2024
Collaborator
Member
|
This appears to have broken the build when Node.js is configured with 21:54:07 In file included from ../deps/icu-small/source/common/unicode/platform.h:25,
21:54:07 from ../deps/icu-small/source/common/unicode/ptypes.h:46,
21:54:07 from ../deps/icu-small/source/common/unicode/umachine.h:46,
21:54:07 from ../deps/icu-small/source/common/unicode/utypes.h:38,
21:54:07 from ../deps/icu-small/source/common/unicode/ucnv_err.h:88,
21:54:07 from ../deps/icu-small/source/common/unicode/ucnv.h:51,
21:54:07 from ../src/node_i18n.h:34,
21:54:07 from ../src/node_i18n.cc:43:
21:54:07 ../src/node_i18n.cc: In function 'bool node::i18n::InitializeICUDirectory(const std::string&, std::string*)':
21:54:07 ../deps/icu-small/source/common/unicode/urename.h:900:54: error: 'udata_setCommonData_75' was not declared in this scope; did you mean 'udata_setCommonData'?
21:54:07 900 | #define udata_setCommonData U_ICU_ENTRY_POINT_RENAME(udata_setCommonData)
21:54:07 | ^~~~~~~~~~~~~~~~~~~
21:54:07 ../deps/icu-small/source/common/unicode/uvernum.h:121:50: note: in definition of macro 'U_DEF_ICU_ENTRY_POINT_RENAME'
21:54:07 121 | # define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
21:54:07 | ^
21:54:07 ../deps/icu-small/source/common/unicode/uvernum.h:123:47: note: in expansion of macro 'U_DEF2_ICU_ENTRY_POINT_RENAME'
21:54:07 123 | # define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
21:54:07 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21:54:07 ../deps/icu-small/source/common/unicode/urename.h:900:29: note: in expansion of macro 'U_ICU_ENTRY_POINT_RENAME'
21:54:07 900 | #define udata_setCommonData U_ICU_ENTRY_POINT_RENAME(udata_setCommonData)
21:54:07 | ^~~~~~~~~~~~~~~~~~~~~~~~
21:54:07 ../src/node_i18n.cc:555:5: note: in expansion of macro 'udata_setCommonData'
21:54:07 555 | udata_setCommonData(&SMALL_ICUDATA_ENTRY_POINT, &status);
21:54:07 | ^~~~~~~~~~~~~~~~~~~
21:54:07 make[2]: *** [libnode.target.mk:527: /home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/libnode/src/node_i18n.o] Error 1which is coming from the Lines 550 to 556 in 8e4ec9f |
dee0c58 to
41641f7
Compare
Collaborator
richardlau
approved these changes
Oct 18, 2024
Collaborator
|
Landed in 9f5000e |
aduh95
pushed a commit
that referenced
this pull request
Oct 19, 2024
PR-URL: #55156 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matthew Aitken <maitken033380023@gmail.com> Reviewed-By: Daniel Lemire <daniel@lemire.me> Reviewed-By: Richard Lau <rlau@redhat.com>
Merged
louwers
pushed a commit
to louwers/node
that referenced
this pull request
Nov 2, 2024
PR-URL: nodejs#55156 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matthew Aitken <maitken033380023@gmail.com> Reviewed-By: Daniel Lemire <daniel@lemire.me> Reviewed-By: Richard Lau <rlau@redhat.com>
tpoisseau
pushed a commit
to tpoisseau/node
that referenced
this pull request
Nov 21, 2024
PR-URL: nodejs#55156 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matthew Aitken <maitken033380023@gmail.com> Reviewed-By: Daniel Lemire <daniel@lemire.me> Reviewed-By: Richard Lau <rlau@redhat.com>
ruyadorno
pushed a commit
that referenced
this pull request
Nov 27, 2024
PR-URL: #55156 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matthew Aitken <maitken033380023@gmail.com> Reviewed-By: Daniel Lemire <daniel@lemire.me> Reviewed-By: Richard Lau <rlau@redhat.com>
tmeijn
pushed a commit
to tmeijn/dotfiles
that referenced
this pull request
Dec 5, 2024
:warning: **CAUTION: this is a major update, indicating a breaking change!** :warning:
This MR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | major | `20.18.1` -> `22.12.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>
### [`v22.12.0`](https://github.com/nodejs/node/releases/tag/v22.12.0): 2024-12-03, Version 22.12.0 'Jod' (LTS), @​ruyadorno
[Compare Source](https://github.com/nodejs/node/compare/v22.11.0...v22.12.0)
##### Notable Changes
##### require(esm) is now enabled by default
Support for loading native ES modules using require() had been available on v20.x and v22.x under the command line flag --experimental-require-module, and available by default on v23.x. In this release, it is now no longer behind a flag on v22.x.
This feature is still experimental, and we are looking for user feedback to make more final tweaks before fully stabilizing it. For this reason, on v22.x, when the Node.js instance encounters a native ES module in require() for the first time, it will emit an experimental warning unless `require()` comes from a path that contains `node_modules`. 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](https://github.com/nodejs/node/pull/55085)
##### Added resizable `ArrayBuffer` support in `Buffer`
When a `Buffer` is created using a resizable `ArrayBuffer`, the `Buffer` length will now correctly change as the underlying `ArrayBuffer` size is changed.
```js
const ab = new ArrayBuffer(10, { maxByteLength: 20 });
const buffer = Buffer.from(ab);
console.log(buffer.byteLength); 10
ab.resize(15);
console.log(buffer.byteLength); 15
ab.resize(5);
console.log(buffer.byteLength); 5
```
Contributed by James Snell in [#​55377](https://github.com/nodejs/node/pull/55377)
##### Update root certificates to NSS 3.104
This is the version of NSS that shipped in Firefox 131.0 on 2024-10-01.
Certificates added:
- FIRMAPROFESIONAL CA ROOT-A WEB
- TWCA CYBER Root CA
- SecureSign Root CA12
- SecureSign Root CA14
- SecureSign Root CA15
Contributed by Richard Lau in [#​55681](https://github.com/nodejs/node/pull/55681)
##### Other Notable Changes
- \[[`4920869935`](https://github.com/nodejs/node/commit/4920869935)] - **(SEMVER-MINOR)** **assert**: make assertion_error use Myers diff algorithm (Giovanni Bucci) [#​54862](https://github.com/nodejs/node/pull/54862)
- \[[`ccffd3b819`](https://github.com/nodejs/node/commit/ccffd3b819)] - **doc**: enforce strict policy to semver-major releases (Rafael Gonzaga) [#​55732](https://github.com/nodejs/node/pull/55732)
- \[[`acc6806900`](https://github.com/nodejs/node/commit/acc6806900)] - **doc**: add jazelly to collaborators (Jason Zhang) [#​55531](https://github.com/nodejs/node/pull/55531)
- \[[`88d91e8bc2`](https://github.com/nodejs/node/commit/88d91e8bc2)] - **esm**: mark import attributes and JSON module as stable (Nicolò Ribaudo) [#​55333](https://github.com/nodejs/node/pull/55333)
- \[[`98bfc7dc
We have been using Ada's ToASCII and ToUnicode implementations since Node 18. I think it's safe to assume we can remove this "unused" code.