Is your feature request related to a problem? Please describe.
Currently, Node.js supports the compilation with disabled ICU. I think we would benefit from officially deprecating it:
punycode core module (https://github.com/nodejs/node/pull/35092)Intl built-in methods in node core.Describe the solution you'd like
Having a warning in the console when compiling using --without-intl flag, and document that Node.js versions compiled without ICU are expected to have some unavailable features.
Also, I think the project should allow initiatives like https://github.com/nodejs/node/pull/27662 to land even if it doesn't work on --without-intl node versions.
If you are yourself a user of non-ICU versions of Node.js, please join the discussion, I'd be interested to hear what are the use-cases.
cc/ @nodejs/tsc
+1
Do we know if anyone builds Node with that option in the wild?
Users of nexe, pkg and boxednode (@addaleax)
I use it for reducing the binary size.
Yeah, I think it’s still a decent option for decreasing binary size if the target environment profits from this. To be clear, I’m not using this myself – just saying I can see that there are valid use cases.
What is the difference in size between --without-intl and "small ICU" ?
To be clear, I'm not advocating for removal the compilation option. Maybe deprecating is not the correct wording, but I think we need to rethink the status of those builds.
I've added to the OP an example of a PR (https://github.com/nodejs/node/pull/27662) currently blocked because of ICU which may be relevant to the discussion.
@targos
What is the difference in size between --without-intl and "small ICU" ?
You can find the size differences here:
https://github.com/astefanutti/scratch-node/commit/8a588ed5ec9613668d3dcf9502436a33e3c966bb#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L15-L19
After I switched from --without-intl to --with-intl=small-icu in https://github.com/astefanutti/scratch-node.
I use it.
I run node.js on embedded devices that are updated OTA and we pay for every MB downloaded. I would like to keep --without-intl.
Most helpful comment
I use it.
I run node.js on embedded devices that are updated OTA and we pay for every MB downloaded. I would like to keep
--without-intl.