Skip to content

Need an option to download ICU files even if we're not in small-icu situation #77

@TBG-FR

Description

@TBG-FR

Hello there !

Issue summary

I can't get an environment in small-icu without pain, and without a such environment, I can't get the files needed to switch to full-icu in another app

Proposal

Could we have an option to still get icudtxxy.dat files downloaded into node-modules/full-icu, even if we are not in small-icu and it will probably be useless ?

Details

I'm facing issues with pkg , that allows to build binaries. It looks like that pkg is built with small-icu, and that causes issues in my app. However, to give the right icu files (i.e. icudt70l.dat), I need to get them, and full-icu won't let me, because the original environment/node isn't in small-icu (Note: Your node was not compiled with the ‘small-icu’ case, so the ICU data is not customizable through this script. Exitting.)

However, since Node is now built in full-icu, I can't get a small-icu, I spent many hours trying, without success 🤯
The icu4c version I need isn't available on npm, and I don't know what to do with Github releases to get the .dat files...
And full-icu seems to be my savior here, it knows how to handle all of these !

Here's a basic example (index.js)

const icu = require('full-icu');
console.log(icu);

const dateKO = new Date('2022-08-14').toLocaleDateString('ko-KR', { day: 'numeric', month: 'short', year: 'numeric' });
console.log(dateKO);

const dateFR = new Date('2022-08-14').toLocaleDateString('fr-FR', { day: 'numeric', month: 'short', year: 'numeric' });
console.log(dateFR);

If I run it inside a node docker (my usual dev environment), I get

{
  nodever: '14.19.1',
  node_maj: '14',
  node_min: '19',
  icu_small: false,
  icuver: '70.1',
  icumaj: '70',
  icuend: 'l',
  icupkg: 'icu4c-data@70l',
  icudat: 'icudt70l.dat',
  haveDat: [Function: haveDat],
  datPath: [Function: datPath]
}
2022 8 14
14 août 2022

But once I package it, I get

{
  nodever: '14.20.0',
  node_maj: '14',
  node_min: '20',
  icu_small: true,
  icuver: '70.1',
  icumaj: '70',
  icuend: 'l',
  icupkg: 'icu4c-data@70l',
  icudat: 'icudt70l.dat',
  haveDat: [Function: haveDat],
  datPath: [Function: datPath]
}
Aug 14, 2022
Aug 14, 2022

Many thanks in advance ! 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions