You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.3 KiB

/* eslint strict: 0 */
'use strict';
const fs = require('fs');
const path = require('path');
const utils = require('./utils');
module.exports = function buildCommon(dirs, outputFile) {
const mds = utils.findMDFile(dirs, true)
8 years ago
.filter((file) => !/\/demo$/i.test(path.dirname(file)))
.filter((file) => !/install_en\.md$/gi.test(file)); // TODO
const addedMd = [];
let content = 'module.exports = {';
mds.forEach((fileName) => {
const localeId = path.basename(fileName, '.md').split('.')[1];
const simplifiedFileName = fileName.replace(`.${localeId}`, '');
if (addedMd.indexOf(simplifiedFileName) > -1) return;
const isLocalized = ['zh-CN', 'en-US'].indexOf(localeId) > -1;
if (isLocalized) {
content += `\n '${simplifiedFileName}': {` +
'\n localized: true,' +
`\n 'zh-CN': require('${path.relative(path.dirname(outputFile), fileName.replace(localeId, 'zh-CN'))}'),` +
`\n 'en-US': require('${path.relative(path.dirname(outputFile), fileName.replace(localeId, 'en-US'))}'),` +
'\n },';
addedMd.push(simplifiedFileName);
} else {
const requirePath = path.relative(path.dirname(outputFile), fileName);
content += `\n '${simplifiedFileName}': require('${requirePath}'),`;
}
});
content += '\n};';
fs.writeFile(outputFile, content);
};