mirror of
https://github.com/umami-software/umami.git
synced 2025-12-06 01:18:00 +01:00
35 lines
913 B
JavaScript
35 lines
913 B
JavaScript
import path from 'node:path';
|
|
import del from 'del';
|
|
import fs from 'fs-extra';
|
|
import { createRequire } from 'module';
|
|
|
|
const require = createRequire(import.meta.url);
|
|
const src = path.resolve(process.cwd(), 'src/lang');
|
|
const dest = path.resolve(process.cwd(), 'build/messages');
|
|
const files = fs.readdirSync(src);
|
|
|
|
del.sync([path.join(dest)]);
|
|
|
|
/*
|
|
This script takes the files from the `lang` folder and formats them into
|
|
the format that format-js expects.
|
|
*/
|
|
async function run() {
|
|
await fs.ensureDir(dest);
|
|
|
|
files.forEach(file => {
|
|
const lang = require(path.resolve(process.cwd(), `src/lang/${file}`));
|
|
const keys = Object.keys(lang).sort();
|
|
|
|
const formatted = keys.reduce((obj, key) => {
|
|
obj[key] = { defaultMessage: lang[key] };
|
|
return obj;
|
|
}, {});
|
|
|
|
const json = JSON.stringify(formatted, null, 2);
|
|
|
|
fs.writeFileSync(path.resolve(dest, file), json);
|
|
});
|
|
}
|
|
|
|
run();
|