private static async GetJsonsFromRepo()

in src/jsonLoader.ts [150:181]


    private static async GetJsonsFromRepo(path: string, repo: string, type: SourceType, forceMicrosoftMasterSource?: boolean): Promise<IndexedFoldersSet> {
        let owner: string = type !== SourceType.LocalizationStrings || forceMicrosoftMasterSource ? JsonLoader.microsoft : JsonLoader.pbicvbot;
        let ref: string = type !== SourceType.LocalizationStrings || forceMicrosoftMasterSource ? "heads/master" : "heads/locUpdate";

        let folder: string =  Path.join("dist");
        let fileName: string = repo + ".tar.gz";
        let filePath: string = folder + "/" + fileName;

        return GithubApiCreator.CreateGithubApi().repos.getArchiveLink({
            archive_format: "tarball",
            owner: owner,
            ref: ref,
            repo: repo
        })
        .then((data) => {
            return JsonLoader.GetJsonByUrl(data.meta.location).promise();
        })
        .then((targz) => {
            return LoaderUtils.ExtractTargz(targz, filePath, folder);
        })
        .then(() => {
            let rootFolder = Path.join("dist", fs.readdirSync("dist")
                .filter(directory => fs.lstatSync(Path.join("dist", directory)).isDirectory() && directory.indexOf(repo) > 0)[0]);

            let visualFolderPath: string = Path.join(rootFolder, "stringResources");

            let obj: any = {};
            obj[repo] = LoaderUtils.GetIndexedObjects(visualFolderPath, true);

            return obj;
        });
    }