mirror of https://github.com/abpframework/abp.git
committed by
GitHub
6 changed files with 70 additions and 42 deletions
@ -0,0 +1,49 @@ |
|||||
|
using Microsoft.Extensions.Logging; |
||||
|
using Microsoft.Extensions.Logging.Abstractions; |
||||
|
using Volo.Abp.Cli.Utils; |
||||
|
using Volo.Abp.DependencyInjection; |
||||
|
|
||||
|
namespace Volo.Abp.Cli.ProjectModification |
||||
|
{ |
||||
|
public class NpmGlobalPackagesChecker : ITransientDependency |
||||
|
{ |
||||
|
public ILogger<NpmGlobalPackagesChecker> Logger { get; set; } |
||||
|
|
||||
|
public NpmGlobalPackagesChecker(PackageJsonFileFinder packageJsonFileFinder) |
||||
|
{ |
||||
|
Logger = NullLogger<NpmGlobalPackagesChecker>.Instance; |
||||
|
} |
||||
|
|
||||
|
public void Check() |
||||
|
{ |
||||
|
var installedNpmPackages = GetInstalledNpmPackages(); |
||||
|
|
||||
|
if (!installedNpmPackages.Contains(" yarn@")) |
||||
|
{ |
||||
|
InstallYarn(); |
||||
|
} |
||||
|
if (!installedNpmPackages.Contains(" gulp@")) |
||||
|
{ |
||||
|
InstallGulp(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
protected virtual string GetInstalledNpmPackages() |
||||
|
{ |
||||
|
Logger.LogInformation("Checking installed npm global packages..."); |
||||
|
return CmdHelper.RunCmdAndGetOutput("npm list -g --depth 0"); |
||||
|
} |
||||
|
|
||||
|
protected virtual void InstallYarn() |
||||
|
{ |
||||
|
Logger.LogInformation("Installing yarn..."); |
||||
|
CmdHelper.RunCmd("npm install yarn -g"); |
||||
|
} |
||||
|
|
||||
|
protected virtual void InstallGulp() |
||||
|
{ |
||||
|
Logger.LogInformation("Installing gulp..."); |
||||
|
CmdHelper.RunCmd("npm install gulp -g"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue