Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return async function upgradeRepo() {
const rootPath = findMonoRepoRootPath();
if (!rootPath) {
logger.error('Could not find monorepo root path. Not upgrading anything.');
return;
}
const resolveStacks = getResolvedStackVersions(path.join(rootPath, 'scripts'));
const stackDiffs = await getStackDiffs(rootPath, resolveStacks);
if (stackDiffs) {
let didUpgradeProjects = false;
// For each package, look for stacks that match, and apply upgrade for the project
const rushConfig = readRushJson(rootPath);
if (!rushConfig) {
logger.error(`Could not read rush.json under ${rootPath}. Not upgrading anything.`);
return;
}
await rushConfig.projects.reduce(async (currentPromise, project) => {
await currentPromise;
if (project.projectFolder !== 'scripts') {
const projPackageJson = readPackageJson(path.join(rootPath, project.projectFolder));
if (projPackageJson && projPackageJson.just && projPackageJson.just.stack) {
const diffInfo = stackDiffs[projPackageJson.just.stack];
// no diff info means that there isn't any diffs to apply
if (diffInfo) {