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;
});
}