38 lines
895 B
JavaScript
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;
|