in app/fetchData.ts [31:71]
export async function fetchData(platform: Platform) {
// XXX at some point, once the completed experiments get ported to use
// the new <Dashboard> infra including this, we're going to need to do
// something better than just pass "false" as the first param here.
const recipeCollection = new NimbusRecipeCollection(false, platform);
await recipeCollection.fetchRecipes();
console.log("recipeCollection.length = ", recipeCollection.recipes.length);
const localData = (await getASRouterLocalMessageInfoFromFile()).sort(
compareSurfacesFn,
);
const msgExpRecipeCollection =
await getMsgExpRecipeCollection(recipeCollection);
const msgRolloutRecipeCollection =
await getMsgRolloutCollection(recipeCollection);
const experimentAndBranchInfo = isLookerEnabled
? await msgExpRecipeCollection.getExperimentAndBranchInfos()
: msgExpRecipeCollection.recipes.map((recipe: NimbusRecipe) =>
recipe.getRecipeInfo(),
);
const totalExperiments = msgExpRecipeCollection.recipes.length;
const msgRolloutInfo = isLookerEnabled
? await msgRolloutRecipeCollection.getExperimentAndBranchInfos()
: msgRolloutRecipeCollection.recipes.map((recipe: NimbusRecipe) =>
recipe.getRecipeInfo(),
);
const totalRolloutExperiments = msgRolloutRecipeCollection.recipes.length;
return {
localData,
experimentAndBranchInfo,
totalExperiments,
msgRolloutInfo,
totalRolloutExperiments,
};
}