diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/ProjectNameValidator.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/ProjectNameValidator.cs index 8430cd79a0..4606aa59c4 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/ProjectNameValidator.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/ProjectNameValidator.cs @@ -17,6 +17,11 @@ namespace Volo.Abp.Cli.Utils "LPT2" }; + private static readonly string[] IllegalKeywords = new[] + { + "Blazor" + }; + private static bool HasParentDirectoryString(string projectName) { return projectName.Contains(".."); @@ -40,6 +45,19 @@ namespace Volo.Abp.Cli.Utils return false; } + private static bool HasIllegalKeywords(string projectName) + { + foreach (var illegalKeyword in IllegalKeywords) + { + if (projectName.Contains(illegalKeyword)) + { + return true; + } + } + + return false; + } + public static bool IsValid(string projectName) { if (projectName == null) @@ -62,6 +80,11 @@ namespace Volo.Abp.Cli.Utils return false; } + if (HasIllegalKeywords(projectName)) + { + return false; + } + return true; } } diff --git a/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/ProjectNameValidation_Tests.cs b/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/ProjectNameValidation_Tests.cs index cd8581f912..5d08f90fc4 100644 --- a/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/ProjectNameValidation_Tests.cs +++ b/framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/ProjectNameValidation_Tests.cs @@ -45,5 +45,23 @@ namespace Volo.Abp.Cli var args = new CommandLineArgs("new", "Test..Test"); await _newCommand.ExecuteAsync(args).ShouldThrowAsync(); } + + + [Fact] + public async Task Has_Illegel_Keyword_Test() + { + var illegalKeywords = new[] + { + "Acme.Blazor", + "MyBlazor", + }; + + foreach (var illegalKeyword in illegalKeywords) + { + var args = new CommandLineArgs("new", illegalKeyword); + await _newCommand.ExecuteAsync(args).ShouldThrowAsync(); + } + } + } }