()
| 4705 | }> = []; |
| 4706 | |
| 4707 | const rollbackRenamedProjects = async (): Promise<void> => { |
| 4708 | // Roll back already-renamed project workspaces to avoid leaving mixed workspace names. |
| 4709 | for (const renamedProject of [...renamedProjectWorkspaces].reverse()) { |
| 4710 | try { |
| 4711 | const rollbackRuntime = createRuntime(oldMetadata.runtimeConfig, { |
| 4712 | projectPath: renamedProject.projectPath, |
| 4713 | workspaceName: newName, |
| 4714 | workspacePath: renamedProject.newWorkspacePath, |
| 4715 | }); |
| 4716 | const rollbackTrusted = |
| 4717 | configSnapshot.projects.get(stripTrailingSlashes(renamedProject.projectPath)) |
| 4718 | ?.trusted ?? false; |
| 4719 | const rollbackResult = await rollbackRuntime.renameWorkspace( |
| 4720 | renamedProject.projectPath, |
| 4721 | newName, |
| 4722 | oldName, |
| 4723 | undefined, |
| 4724 | rollbackTrusted |
| 4725 | ); |
| 4726 | |
| 4727 | if (!rollbackResult.success) { |
| 4728 | log.error("Failed to rollback multi-project rename", { |
| 4729 | workspaceId, |
| 4730 | projectName: renamedProject.projectName, |
| 4731 | error: rollbackResult.error, |
| 4732 | }); |
| 4733 | } |
| 4734 | } catch (rollbackError: unknown) { |
| 4735 | log.error("Failed to rollback multi-project rename", { |
| 4736 | workspaceId, |
| 4737 | projectName: renamedProject.projectName, |
| 4738 | error: getErrorMessage(rollbackError), |
| 4739 | }); |
| 4740 | } |
| 4741 | } |
| 4742 | }; |
| 4743 | |
| 4744 | for (const project of projects) { |
| 4745 | const runtime = createRuntime(oldMetadata.runtimeConfig, { |
nothing calls this directly
no test coverage detected