build-locale.js 854 B

12345678910111213141516171819202122232425262728
  1. const fs = require('fs');
  2. const path = require('path');
  3. const localeDir = './locale';
  4. const localeSrcDir = './src/i18n/locale';
  5. const copyRecursiveSync = (src, dest) => {
  6. const exists = fs.existsSync(src);
  7. const isDir = exists && fs.statSync(src).isDirectory();
  8. if (isDir) {
  9. fs.mkdirSync(dest);
  10. fs.readdirSync(src).forEach((file) => {
  11. copyRecursiveSync(path.join(src, file), path.join(dest, file));
  12. });
  13. } else if (exists) {
  14. fs.createReadStream(src).pipe(fs.createWriteStream(dest));
  15. }
  16. };
  17. copyRecursiveSync(localeSrcDir, localeDir);
  18. // Create locale/index.js file
  19. let result = '';
  20. fs.readdirSync(localeDir).forEach(file => {
  21. const name = file.replace('.js', '');
  22. result += `export { default as ${name} } from './${name}'\n`;
  23. });
  24. fs.writeFileSync(`${localeDir}/index.js`, result);