umami/scripts/format-lang.js

28 lines
721 B
JavaScript
Raw Normal View History

2020-09-12 13:19:33 +02:00
const fs = require('fs');
const path = require('path');
const prettier = require('prettier');
const src = path.resolve(__dirname, '../lang');
2020-09-14 04:01:02 +02:00
const dest = path.resolve(__dirname, '../build');
2020-09-12 13:19:33 +02:00
const files = fs.readdirSync(src);
if (!fs.existsSync(dest)) {
fs.mkdirSync(dest);
}
files.forEach(file => {
const lang = require(`../lang/${file}`);
const keys = Object.keys(lang).sort();
const formatted = keys.reduce((obj, key) => {
obj[key] = { defaultMessage: lang[key] };
return obj;
}, {});
const json = prettier.format(JSON.stringify(formatted), { parser: 'json' });
fs.writeFileSync(path.resolve(dest, file), json);
console.log(path.resolve(src, file), '->', path.resolve(dest, file));
});