Browse Source

Merge pull request #5172 from abpframework/issue/5170

ABP CLI generate-proxy command checks if @abp/ng.schematics package was installed
pull/5195/head
Halil İbrahim Kalkan 6 years ago
committed by GitHub
parent
commit
aa8adbf779
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 49
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/GenerateProxyCommand.cs

49
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/GenerateProxyCommand.cs

@ -2,6 +2,8 @@ using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Volo.Abp.Cli.Args;
using Volo.Abp.Cli.Utils;
using Volo.Abp.DependencyInjection;
@ -12,19 +14,50 @@ namespace Volo.Abp.Cli.Commands
{
public Task ExecuteAsync(CommandLineArgs commandLineArgs)
{
var angularPath = $"angular.json";
if (!File.Exists(angularPath))
CheckAngularJsonFile();
CheckNgSchematics();
CmdHelper.RunCmd("npx ng g @abp/ng.schematics:proxy");
return Task.CompletedTask;
}
private void CheckNgSchematics()
{
var packageJsonPath = $"package.json";
if (!File.Exists(packageJsonPath))
{
throw new CliUsageException(
"angular.json file not found. You must run this command in the angular folder." +
Environment.NewLine + Environment.NewLine +
GetUsageInfo()
);
"package.json file not found" +
Environment.NewLine +
GetUsageInfo()
);
}
CmdHelper.RunCmd("npx ng g @abp/ng.schematics:proxy");
var schematicsPackageNode = (string) JObject.Parse(File.ReadAllText(packageJsonPath))["devDependencies"]?["@abp/ng.schematics"];
return Task.CompletedTask;
if (schematicsPackageNode == null)
{
throw new CliUsageException(
"\"@abp/ng.schematics\" NPM package should be installed to the devDependencies before running this command!" +
Environment.NewLine +
GetUsageInfo()
);
}
}
private void CheckAngularJsonFile()
{
var angularPath = $"angular.json";
if (!File.Exists(angularPath))
{
throw new CliUsageException(
"angular.json file not found. You must run this command in the angular folder." +
Environment.NewLine + Environment.NewLine +
GetUsageInfo()
);
}
}
public string GetUsageInfo()

Loading…
Cancel
Save