|
|
|
@ -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()
|
|
|
|
|