From a55fbfd0d094a717f59f7693feb24aa75815af2f Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 1 Dec 2023 14:15:29 +0300 Subject: [PATCH] Added RemoveMvcPackageAsync method to ProjectNpmPackageAdder --- .../ProjectNpmPackageAdder.cs | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs index f16435ad10..d3d2c834ab 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs @@ -147,6 +147,34 @@ public class ProjectNpmPackageAdder : ITransientDependency } } + public async Task RemoveMvcPackageAsync(string directory, NpmPackageInfo npmPackage, + bool skipInstallingLibs = false) + { + var packageJsonFilePath = Path.Combine(directory, "package.json"); + if (!File.Exists(packageJsonFilePath) || + !File.ReadAllText(packageJsonFilePath).Contains($"\"{npmPackage.Name}\"")) + { + return; + } + + Logger.LogInformation($"Removing '{npmPackage.Name}' package from the project '{packageJsonFilePath}'..."); + + + using (DirectoryHelper.ChangeCurrentDirectory(directory)) + { + Logger.LogInformation("yarn remove " + npmPackage.Name); + CmdHelper.RunCmd("yarn remove " + npmPackage.Name); + + if (skipInstallingLibs) + { + return; + } + + Logger.LogInformation("Installing client-side packages..."); + await InstallLibsService.InstallLibsAsync(directory); + } + } + private string DetectAbpVersionOrNull(string packageJsonFile) { if (string.IsNullOrEmpty(packageJsonFile) ||