2024-03-29 14:22:19 +07:00

38 lines
895 B
JavaScript

const { src, dest, parallel } = require('gulp');
const merge = require('gulp-merge-json');
const { srcLocales } = require('../config/directories');
const { getFolders } = require('../utils');
const { handleError } = require('../utils/errors');
function generateBuildTmpFn(folder) {
function buildLocale() {
return src(`${srcLocales}/${folder}/**/*.json`)
.pipe(merge({
fileName: `${folder}.json`,
jsonSpace: ' ',
}))
.on('error', handleError)
.pipe(dest(srcLocales));
}
buildLocale.displayName = `build:locale:${folder}`;
return buildLocale;
}
function buildLocales(cb) {
const folders = getFolders(srcLocales);
if (folders[0]) {
process.env.MULTI_LANGUAGE = folders;
return parallel(...folders.map(generateBuildTmpFn))(cb);
}
return cb();
}
buildLocales.displayName = 'build:locales';
module.exports = buildLocales;