mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
We do not build Node.js in the workflow so https://github.com/nodejs/node/blob/f4815fcd7691364d8139b44c1295dbc46f6ee4a8/tools/update-timezone.mjs#L18 is actually the version of `tzdata` in the Node.js in the runner instead of what's in `main`. The script is pretty fast even when the versions differ and there is an update, so this optimization doesn't seem to be worth having given the problem. Signed-off-by: Darshan Sen <raisinten@gmail.com> PR-URL: https://github.com/nodejs/node/pull/44870 Fixes: https://github.com/nodejs/node/issues/44865 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
27 lines
945 B
JavaScript
Executable File
27 lines
945 B
JavaScript
Executable File
#!/usr/bin/env node
|
|
// Usage: tools/update-timezone.mjs
|
|
import { execSync } from 'node:child_process';
|
|
import { renameSync, readdirSync, rmSync } from 'node:fs';
|
|
|
|
const fileNames = [
|
|
'zoneinfo64.res',
|
|
'windowsZones.res',
|
|
'timezoneTypes.res',
|
|
'metaZones.res',
|
|
];
|
|
|
|
const availableVersions = readdirSync('icu-data/tzdata/icunew', { withFileTypes: true })
|
|
.filter((dirent) => dirent.isDirectory())
|
|
.map((dirent) => dirent.name);
|
|
|
|
const latestVersion = availableVersions.sort().at(-1);
|
|
|
|
execSync('bzip2 -d deps/icu-small/source/data/in/icudt*.dat.bz2');
|
|
fileNames.forEach((file) => {
|
|
renameSync(`icu-data/tzdata/icunew/${latestVersion}/44/le/${file}`, `deps/icu-small/source/data/in/${file}`);
|
|
execSync(`icupkg -a ${file} icudt*.dat`, { cwd: 'deps/icu-small/source/data/in/' });
|
|
rmSync(`deps/icu-small/source/data/in/${file}`);
|
|
});
|
|
execSync('bzip2 -z deps/icu-small/source/data/in/icudt*.dat');
|
|
rmSync('icu-data', { recursive: true });
|