соберите множество файлов json из каталога и поместите их в один файл json

#node.js #typescript

Вопрос:

У меня есть функция поиска файлов json в каталоге и возврата файла json для всех файлов json , но функция просто отправляет последний файл json :

кто-нибудь может помочь, пожалуйста

  convertI18nBundlesJSON: function (dir: string, root: string, ignoredFiles: string[] = []) {
    var results: any = {};
    let list = fs.readdirSync(dir);
    list.filter((file: string) => {
        let stat = fs.statSync(path.resolve(dir, file));
        if (stat amp;amp; stat.isDirectory()) {
            return !['.git', '.idea', 'target'].includes(file);
        } else {
            return path.basename(file) === "translation.json" amp;amp; !ignoredFiles.includes(file);
        }
    }).forEach((file: string) => {
        file = path.resolve(dir, file);
        const stat = fs.statSync(file);
        if (stat amp;amp; stat.isDirectory()) {
            const subfolderTranslations = module.exports.convertI18nBundlesJSON(file, root, ignoredFiles);
            Object.keys(subfolderTranslations).forEach((locale) => {
                if (!results[locale]) { results[locale] = {}; }
                Object.keys(subfolderTranslations).forEach((loc) => {
                    results[loc] = subfolderTranslations[loc];
                });
            });
        } else {
            console.log("Reading file: "   file);
            const match = LOCALE_PATTERN_JSON.exec(file);
            const match_Default = LOCALE_PATTERN_JSON_DEFAULT.exec(file);
            let locale = "default";
            if (match amp;amp; !match_Default ) { locale = match[1]; }
            if (!results[locale]) { results[locale] = {}; }
            const key = path.relative(root, file).split(path.sep).join(".")
                .replace(/(_[a-z]{2}(_[A-Z]{2})?)?.json/, '')  ;
            const json = fs.readFileSync(file, "utf-8");
            results[locale][key] = JSON.parse(json);
        }
    });
    return results;
},