diff --git a/.build/.build.csproj b/.build/.build.csproj
index 2a8c0a78..67d554b7 100644
--- a/.build/.build.csproj
+++ b/.build/.build.csproj
@@ -1,17 +1,14 @@
-
Exe
- net5.0
- false
-
+ net6.0
+
False
CS0649;CS0169
-
@@ -22,5 +19,4 @@
-
-
+
\ No newline at end of file
diff --git a/.build/Build.CI.cs b/.build/Build.CI.cs
index 35834fe4..d4d3664b 100644
--- a/.build/Build.CI.cs
+++ b/.build/Build.CI.cs
@@ -6,8 +6,11 @@
using Rocket.Surgery.Nuke.DotNetCore;
using Rocket.Surgery.Nuke.GithubActions;
-
-[GitHubActionsSteps("ci", GitHubActionsImage.MacOsLatest, GitHubActionsImage.WindowsLatest, GitHubActionsImage.UbuntuLatest,
+[GitHubActionsSteps(
+ "ci",
+ GitHubActionsImage.MacOsLatest,
+ GitHubActionsImage.WindowsLatest,
+ GitHubActionsImage.UbuntuLatest,
AutoGenerate = false,
On = new[] { GitHubActionsTrigger.Push },
OnPushTags = new[] { "v*" },
@@ -27,7 +30,9 @@
ExcludedTargets = new[] { nameof(ICanClean.Clean), nameof(ICanRestoreWithDotNetCore.DotnetToolRestore) },
Enhancements = new[] { nameof(Middleware) }
)]
-[PrintBuildVersion, PrintCIEnvironment, UploadLogs]
+[PrintBuildVersion]
+[PrintCIEnvironment]
+[UploadLogs]
public partial class Solution
{
public static RocketSurgeonGitHubActionsConfiguration Middleware(RocketSurgeonGitHubActionsConfiguration configuration)
@@ -36,76 +41,80 @@ public static RocketSurgeonGitHubActionsConfiguration Middleware(RocketSurgeonGi
var checkoutStep = buildJob.Steps.OfType().Single();
// For fetch all
checkoutStep.FetchDepth = 0;
- buildJob.Steps.InsertRange(buildJob.Steps.IndexOf(checkoutStep) + 1, new BaseGitHubActionsStep[] {
- new RunStep("Fetch all history for all tags and branches") {
- Run = "git fetch --prune"
- },
- new SetupDotNetStep("Use .NET Core 2.1 SDK") {
- DotNetVersion = "2.1.x"
- },
- new SetupDotNetStep("Use .NET Core 3.1 SDK") {
- DotNetVersion = "3.1.x"
- },
- new SetupDotNetStep("Use .NET Core 5.0 SDK") {
- DotNetVersion = "5.0.x"
- },
- });
-
- buildJob.Steps.Add(new UsingStep("Publish Coverage")
- {
- Uses = "codecov/codecov-action@v1",
- With = new Dictionary
+ buildJob.Steps.InsertRange(
+ buildJob.Steps.IndexOf(checkoutStep) + 1,
+ new BaseGitHubActionsStep[]
{
- ["name"] = "actions-${{ matrix.os }}",
+ new RunStep("Fetch all history for all tags and branches")
+ {
+ Run = "git fetch --prune"
+ },
+ new SetupDotNetStep("Use .NET Core 2.1 SDK")
+ {
+ DotNetVersion = "2.1.x"
+ },
+ new SetupDotNetStep("Use .NET Core 3.1 SDK")
+ {
+ DotNetVersion = "3.1.x"
+ },
+ new SetupDotNetStep("Use .NET Core 5.0 SDK")
+ {
+ DotNetVersion = "5.0.x"
+ },
+ new SetupDotNetStep("Use .NET Core 6.0 SDK")
+ {
+ DotNetVersion = "6.0.x"
+ },
}
- });
-
- buildJob.Steps.Add(new UploadArtifactStep("Publish logs")
- {
- Name = "logs",
- Path = "artifacts/logs/",
- If = "always()"
- });
-
- buildJob.Steps.Add(new UploadArtifactStep("Publish coverage data")
- {
- Name = "coverage",
- Path = "coverage/",
- If = "always()"
- });
+ );
- buildJob.Steps.Add(new UploadArtifactStep("Publish test data")
- {
- Name = "test data",
- Path = "artifacts/test/",
- If = "always()"
- });
-
- buildJob.Steps.Add(new UploadArtifactStep("Publish NuGet Packages")
- {
- Name = "nuget",
- Path = "artifacts/nuget/",
- If = "always()"
- });
+ buildJob.Steps.Add(
+ new UsingStep("Publish Coverage")
+ {
+ Uses = "codecov/codecov-action@v1",
+ With = new Dictionary
+ {
+ ["name"] = "actions-${{ matrix.os }}",
+ }
+ }
+ );
+ buildJob.Steps.Add(
+ new UploadArtifactStep("Publish logs")
+ {
+ Name = "logs",
+ Path = "artifacts/logs/",
+ If = "always()"
+ }
+ );
- /*
+ buildJob.Steps.Add(
+ new UploadArtifactStep("Publish coverage data")
+ {
+ Name = "coverage",
+ Path = "coverage/",
+ If = "always()"
+ }
+ );
- - publish: "${{ parameters.Artifacts }}/logs/"
- displayName: Publish Logs
- artifact: "Logs${{ parameters.Postfix }}"
- condition: always()
+ buildJob.Steps.Add(
+ new UploadArtifactStep("Publish test data")
+ {
+ Name = "test data",
+ Path = "artifacts/test/",
+ If = "always()"
+ }
+ );
- - publish: ${{ parameters.Coverage }}
- displayName: Publish Coverage
- artifact: "Coverage${{ parameters.Postfix }}"
- condition: always()
+ buildJob.Steps.Add(
+ new UploadArtifactStep("Publish NuGet Packages")
+ {
+ Name = "nuget",
+ Path = "artifacts/nuget/",
+ If = "always()"
+ }
+ );
- - publish: "${{ parameters.Artifacts }}/nuget/"
- displayName: Publish NuGet Artifacts
- artifact: "NuGet${{ parameters.Postfix }}"
- condition: always()
- */
return configuration;
}
-}
+}
\ No newline at end of file
diff --git a/.build/Build.cs b/.build/Build.cs
index 05b75cee..110e1446 100644
--- a/.build/Build.cs
+++ b/.build/Build.cs
@@ -1,8 +1,6 @@
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
using JetBrains.Annotations;
using Nuke.Common;
+using Nuke.Common.CI;
using Nuke.Common.Execution;
using Nuke.Common.Git;
using Nuke.Common.Tools.DotNet;
@@ -16,23 +14,24 @@
[UnsetVisualStudioEnvironmentVariables]
[PackageIcon("https://raw.githubusercontent.com/RocketSurgeonsGuild/graphics/master/png/social-square-thrust-rounded.png")]
[EnsureGitHooks(GitHook.PreCommit)]
-[EnsureReadmeIsUpdated]
+[EnsureReadmeIsUpdated("Readme.md")]
[DotNetVerbosityMapping]
[MSBuildVerbosityMapping]
[NuGetVerbosityMapping]
+[ShutdownDotNetAfterServerBuild]
public partial class Solution : NukeBuild,
- ICanRestoreWithDotNetCore,
- ICanBuildWithDotNetCore,
- ICanTestWithDotNetCore,
- ICanPackWithDotNetCore,
- IHaveDataCollector,
- ICanClean,
- ICanUpdateReadme,
- IGenerateCodeCoverageReport,
- IGenerateCodeCoverageSummary,
- IGenerateCodeCoverageBadges,
- IHaveConfiguration,
- ICanLint
+ ICanRestoreWithDotNetCore,
+ ICanBuildWithDotNetCore,
+ ICanTestWithDotNetCore,
+ ICanPackWithDotNetCore,
+ IHaveDataCollector,
+ ICanClean,
+ ICanUpdateReadme,
+ IGenerateCodeCoverageReport,
+ IGenerateCodeCoverageSummary,
+ IGenerateCodeCoverageBadges,
+ IHaveConfiguration,
+ ICanLint
{
///
/// Support plugins are available for:
@@ -61,6 +60,7 @@ public partial class Solution : NukeBuild,
public GitVersion GitVersion { get; } = null!;
public Target Clean => _ => _.Inherit(x => x.Clean);
+ public Target Lint => _ => _.Inherit(x => x.Lint);
public Target Restore => _ => _.Inherit(x => x.CoreRestore);
public Target Test => _ => _.Inherit(x => x.CoreTest);
@@ -70,4 +70,4 @@ public partial class Solution : NukeBuild,
[Parameter("Configuration to build")]
public Configuration Configuration { get; } = IsLocalBuild ? Configuration.Debug : Configuration.Release;
-}
+}
\ No newline at end of file
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 9a4d9637..681b78b2 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -1,36 +1,34 @@
{
- "version": 1,
- "isRoot": true,
- "tools": {
- "dotnet-outdated": {
- "version": "2.11.0",
- "commands": [
- "dotnet-outdated"
- ]
- },
- "gitversion.tool": {
- "version": "5.6.9",
- "commands": [
- "dotnet-gitversion"
- ]
- },
- "dotnet-reportgenerator-globaltool": {
- "version": "4.8.8",
- "commands": [
- "reportgenerator"
- ]
- },
- "nuke.globaltool": {
- "version": "5.1.1",
- "commands": [
- "nuke"
- ]
- },
- "codecov.tool": {
- "version": "1.13.0",
- "commands": [
- "codecov"
- ]
+ "version": 1,
+ "isRoot": true,
+ "tools": {
+ "dotnet-outdated": {
+ "version": "2.11.0",
+ "commands": ["dotnet-outdated"]
+ },
+ "gitversion.tool": {
+ "version": "5.6.8",
+ "commands": ["dotnet-gitversion"]
+ },
+ "dotnet-reportgenerator-globaltool": {
+ "version": "4.8.7",
+ "commands": ["reportgenerator"]
+ },
+ "nuke.globaltool": {
+ "version": "5.2.1",
+ "commands": ["nuke"]
+ },
+ "codecov.tool": {
+ "version": "1.13.0",
+ "commands": ["codecov"]
+ },
+ "jetbrains.resharper.globaltools": {
+ "version": "2021.3.0-eap02",
+ "commands": ["jb"]
+ },
+ "dotnet-format": {
+ "version": "5.1.225507",
+ "commands": ["dotnet-format"]
+ }
}
- }
-}
\ No newline at end of file
+}
diff --git a/.editorconfig b/.editorconfig
index 864a9f7d..e22c49c8 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,270 +1,265 @@
-root=true
-
-[*.{cs,cshtml}]
-charset=utf-8
-indent_style=space
-indent_size=4
-insert_final_newline=true
-
-[*.{js,ts,vue}]
-indent_style=space
-indent_size=4
-insert_final_newline=true
-
-[*.{json,xml,yml,yaml}]
-indent_style=space
-indent_size=2
-insert_final_newline=true
+root = true
+
+[*.{cs, cshtml}]
+charset = utf-8
+indent_style = space
+indent_size = 4
+max_line_length = 160
+insert_final_newline = true
+
+[*.{js, ts, vue}]
+indent_style = space
+indent_size = 4
+insert_final_newline = true
+max_line_length = 160
+
+[*.{json, xml, yml, yaml}]
+indent_style = space
+indent_size = 2
+insert_final_newline = true
+max_line_length = 160
[*]
-insert_final_newline=false
-max_line_length=160
+insert_final_newline = false
#### .NET Coding Conventions ####
# Organize usings
-dotnet_separate_import_directive_groups=false
-dotnet_sort_system_directives_first=false
+dotnet_separate_import_directive_groups = false
+dotnet_sort_system_directives_first = true
# this. and Me. preferences
-dotnet_style_qualification_for_event=false:warning
-dotnet_style_qualification_for_field=false:warning
-dotnet_style_qualification_for_method=false:warning
-dotnet_style_qualification_for_property=false:warning
+dotnet_style_qualification_for_event = false:warning
+dotnet_style_qualification_for_field = false:warning
+dotnet_style_qualification_for_method = false:warning
+dotnet_style_qualification_for_property = false:warning
# Language keywords vs BCL types preferences
-dotnet_style_predefined_type_for_locals_parameters_members=true:suggestion
-dotnet_style_predefined_type_for_member_access=true:suggestion
+dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
+dotnet_style_predefined_type_for_member_access = true:suggestion
# Parentheses preferences
-dotnet_style_parentheses_in_arithmetic_binary_operators=always_for_clarity:warning
-dotnet_style_parentheses_in_other_binary_operators=always_for_clarity:warning
-dotnet_style_parentheses_in_other_operators=never_if_unnecessary:warning
-dotnet_style_parentheses_in_relational_binary_operators=always_for_clarity:warning
+dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:warning
+dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:warning
+dotnet_style_parentheses_in_other_operators = never_if_unnecessary:warning
+dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:warning
# Modifier preferences
-dotnet_style_require_accessibility_modifiers=for_non_interface_members:suggestion
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
# Expression-level preferences
-csharp_style_deconstructed_variable_declaration=true:warning
-csharp_style_inlined_variable_declaration=true:warning
-csharp_style_throw_expression=true:warning
-dotnet_style_coalesce_expression=true:warning
-dotnet_style_collection_initializer=true:warning
-dotnet_style_explicit_tuple_names=true:warning
-dotnet_style_null_propagation=true:warning
-dotnet_style_object_initializer=true:warning
-dotnet_style_prefer_auto_properties=true:suggestion
-dotnet_style_prefer_compound_assignment=true:suggestion
-dotnet_style_prefer_conditional_expression_over_assignment=true:suggestion
-dotnet_style_prefer_conditional_expression_over_return=true:suggestion
-dotnet_style_prefer_inferred_anonymous_type_member_names=true:warning
-dotnet_style_prefer_inferred_tuple_names=true:warning
-dotnet_style_prefer_is_null_check_over_reference_equality_method=true:warning
+csharp_style_deconstructed_variable_declaration = true:warning
+csharp_style_inlined_variable_declaration = true:warning
+csharp_style_throw_expression = true:warning
+dotnet_style_coalesce_expression = true:warning
+dotnet_style_collection_initializer = true:warning
+dotnet_style_explicit_tuple_names = true:warning
+dotnet_style_null_propagation = true:warning
+dotnet_style_object_initializer = true:warning
+dotnet_style_prefer_auto_properties = true:suggestion
+dotnet_style_prefer_compound_assignment = true:suggestion
+dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
+dotnet_style_prefer_conditional_expression_over_return = true:suggestion
+dotnet_style_prefer_inferred_anonymous_type_member_names = true:warning
+dotnet_style_prefer_inferred_tuple_names = true:warning
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning
# Field preferences
-dotnet_style_readonly_field=true:warning
+dotnet_style_readonly_field = true:warning
# Parameter preferences
-dotnet_code_quality_unused_parameters=non_public:suggestion
+dotnet_code_quality_unused_parameters = non_public:suggestion
#### C# Coding Conventions ####
# var preferences
-csharp_style_var_elsewhere=true:suggestion
-csharp_style_var_for_built_in_types=true:suggestion
-csharp_style_var_when_type_is_apparent=true:suggestion
+csharp_style_var_elsewhere = true:suggestion
+csharp_style_var_for_built_in_types = true:suggestion
+csharp_style_var_when_type_is_apparent = true:suggestion
# Expression-bodied members
-csharp_style_expression_bodied_accessors=true:suggestion
-csharp_style_expression_bodied_constructors=true:suggestion
-csharp_style_expression_bodied_indexers=true:suggestion
-csharp_style_expression_bodied_lambdas=true:suggestion
-csharp_style_expression_bodied_local_functions=true:suggestion
-csharp_style_expression_bodied_methods=true:suggestion
-csharp_style_expression_bodied_operators=true:suggestion
-csharp_style_expression_bodied_properties=true:suggestion
+csharp_style_expression_bodied_accessors = true:suggestion
+csharp_style_expression_bodied_constructors = true:suggestion
+csharp_style_expression_bodied_indexers = true:suggestion
+csharp_style_expression_bodied_lambdas = true:suggestion
+csharp_style_expression_bodied_local_functions = true:suggestion
+csharp_style_expression_bodied_methods = true:suggestion
+csharp_style_expression_bodied_operators = true:suggestion
+csharp_style_expression_bodied_properties = true:suggestion
# Pattern matching preferences
-csharp_style_pattern_matching_over_as_with_null_check=true:warning
-csharp_style_pattern_matching_over_is_with_cast_check=true:warning
-csharp_style_prefer_switch_expression=true:warning
+csharp_style_pattern_matching_over_as_with_null_check = true:warning
+csharp_style_pattern_matching_over_is_with_cast_check = true:warning
+csharp_style_prefer_switch_expression = true:warning
# Null-checking preferences
-csharp_style_conditional_delegate_call=true:warning
+csharp_style_conditional_delegate_call = true:warning
# Modifier preferences
-csharp_prefer_static_local_function=true:warning
-csharp_preferred_modifier_order=public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async
+csharp_prefer_static_local_function = true:warning
+csharp_preferred_modifier_order = public, private, protected, internal, new, abstract, virtual, sealed, static, readonly, override, extern, unsafe, volatile, async:suggestion
# Code-block preferences
-csharp_prefer_braces=true:none
-csharp_prefer_simple_using_statement=true:suggestion
+csharp_prefer_braces = true:none
+csharp_prefer_simple_using_statement = true:suggestion
# Expression-level preferences
-csharp_prefer_simple_default_expression=true:warning
-csharp_style_pattern_local_over_anonymous_function=true:warning
-csharp_style_prefer_index_operator=true:warning
-csharp_style_prefer_range_operator=true:warning
-csharp_style_unused_value_assignment_preference=discard_variable:suggestion
-csharp_style_unused_value_expression_statement_preference=discard_variable:suggestion
+csharp_prefer_simple_default_expression = true:warning
+csharp_style_pattern_local_over_anonymous_function = true:warning
+csharp_style_prefer_index_operator = true:warning
+csharp_style_prefer_range_operator = true:warning
+csharp_style_unused_value_assignment_preference = discard_variable:suggestion
+csharp_style_unused_value_expression_statement_preference = discard_variable:suggestion
# 'using' directive preferences
-csharp_using_directive_placement=outside_namespace:error
#### C# Formatting Rules ####
# New line preferences
-csharp_new_line_before_catch=true
-csharp_new_line_before_else=true
-csharp_new_line_before_finally=true
-csharp_new_line_before_members_in_anonymous_types=true
-csharp_new_line_before_members_in_object_initializers=false
-csharp_new_line_before_open_brace=all
-csharp_new_line_between_query_expression_clauses=true
+csharp_new_line_before_catch = true
+csharp_new_line_before_else = true
+csharp_new_line_before_finally = true
+csharp_new_line_before_members_in_anonymous_types = true
+csharp_new_line_before_members_in_object_initializers = false
+csharp_new_line_before_open_brace = all
+csharp_new_line_between_query_expression_clauses = true
# Indentation preferences
-csharp_indent_block_contents=true
-csharp_indent_braces=false
-csharp_indent_case_contents=true
-csharp_indent_case_contents_when_block=true
-csharp_indent_labels=no_change
-csharp_indent_switch_labels=true
+csharp_indent_block_contents = true
+csharp_indent_braces = false
+csharp_indent_case_contents = true
+csharp_indent_case_contents_when_block = true
+csharp_indent_labels = no_change
+csharp_indent_switch_labels = true
# Space preferences
-csharp_space_after_cast=false
-csharp_space_after_colon_in_inheritance_clause=true
-csharp_space_after_comma=true
-csharp_space_after_dot=false
-csharp_space_after_keywords_in_control_flow_statements=true
-csharp_space_after_semicolon_in_for_statement=true
-csharp_space_around_binary_operators=before_and_after
-csharp_space_around_declaration_statements=false
-csharp_space_before_colon_in_inheritance_clause=true
-csharp_space_before_comma=false
-csharp_space_before_dot=false
-csharp_space_before_open_square_brackets=false
-csharp_space_before_semicolon_in_for_statement=false
-csharp_space_between_empty_square_brackets=false
-csharp_space_between_method_call_empty_parameter_list_parentheses=false
-csharp_space_between_method_call_name_and_opening_parenthesis=false
-csharp_space_between_method_call_parameter_list_parentheses=false
-csharp_space_between_method_declaration_empty_parameter_list_parentheses=false
-csharp_space_between_method_declaration_name_and_open_parenthesis=false
-csharp_space_between_method_declaration_parameter_list_parentheses=false
-csharp_space_between_parentheses=expressions
-csharp_space_between_square_brackets=false
+csharp_space_after_cast = false
+csharp_space_after_colon_in_inheritance_clause = true
+csharp_space_after_comma = true
+csharp_space_after_dot = false
+csharp_space_after_keywords_in_control_flow_statements = true
+csharp_space_after_semicolon_in_for_statement = true
+csharp_space_around_binary_operators = before_and_after
+csharp_space_around_declaration_statements = false
+csharp_space_before_colon_in_inheritance_clause = true
+csharp_space_before_comma = false
+csharp_space_before_dot = false
+csharp_space_before_open_square_brackets = false
+csharp_space_before_semicolon_in_for_statement = false
+csharp_space_between_empty_square_brackets = false
+csharp_space_between_method_call_empty_parameter_list_parentheses = false
+csharp_space_between_method_call_name_and_opening_parenthesis = false
+csharp_space_between_method_call_parameter_list_parentheses = false
+csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
+csharp_space_between_method_declaration_name_and_open_parenthesis = false
+csharp_space_between_method_declaration_parameter_list_parentheses = false
+csharp_space_between_parentheses = expressions
+csharp_space_between_square_brackets = false
# Wrapping preferences
-csharp_preserve_single_line_blocks=true
-csharp_preserve_single_line_statements=true
+csharp_preserve_single_line_blocks = true
+csharp_preserve_single_line_statements = true
#### Naming styles ####
# Naming rules
-dotnet_naming_rule.interface_should_be_begins_with_i.severity=suggestion
-dotnet_naming_rule.interface_should_be_begins_with_i.symbols=interface
-dotnet_naming_rule.interface_should_be_begins_with_i.style=begins_with_i
+dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
+dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
+dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
-dotnet_naming_rule.type_parameter_should_be_begins_with_t.severity=suggestion
-dotnet_naming_rule.type_parameter_should_be_begins_with_t.symbols=type_parameter
-dotnet_naming_rule.type_parameter_should_be_begins_with_t.style=begins_with_t
+dotnet_naming_rule.type_parameter_should_be_begins_with_t.severity = suggestion
+dotnet_naming_rule.type_parameter_should_be_begins_with_t.symbols = type_parameter
+dotnet_naming_rule.type_parameter_should_be_begins_with_t.style = begins_with_t
-dotnet_naming_rule.locals_should_be_camel_case.severity=suggestion
-dotnet_naming_rule.locals_should_be_camel_case.symbols=local
-dotnet_naming_rule.locals_should_be_camel_case.style=camel_case
+dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion
+dotnet_naming_rule.locals_should_be_camel_case.symbols = local
+dotnet_naming_rule.locals_should_be_camel_case.style = camel_case
-dotnet_naming_rule.static_field_should_be_pascal_case.severity=suggestion
-dotnet_naming_rule.static_field_should_be_pascal_case.symbols=static_field
-dotnet_naming_rule.static_field_should_be_pascal_case.style=pascal_case
+dotnet_naming_rule.static_field_should_be_pascal_case.severity = suggestion
+dotnet_naming_rule.static_field_should_be_pascal_case.symbols = static_field
+dotnet_naming_rule.static_field_should_be_pascal_case.style = pascal_case
-dotnet_naming_rule.const_field_should_be_pascal_case.severity=suggestion
-dotnet_naming_rule.const_field_should_be_pascal_case.symbols=const_field
-dotnet_naming_rule.const_field_should_be_pascal_case.style=pascal_case
+dotnet_naming_rule.const_field_should_be_pascal_case.severity = suggestion
+dotnet_naming_rule.const_field_should_be_pascal_case.symbols = const_field
+dotnet_naming_rule.const_field_should_be_pascal_case.style = pascal_case
-dotnet_naming_rule.private_field_members_should_be_underscore_camel_case.severity=suggestion
-dotnet_naming_rule.private_field_members_should_be_underscore_camel_case.symbols=private_field
-dotnet_naming_rule.private_field_members_should_be_underscore_camel_case.style=_camel_case
+dotnet_naming_rule.private_field_members_should_be_underscore_camel_case.severity = suggestion
+dotnet_naming_rule.private_field_members_should_be_underscore_camel_case.symbols = private_field
+dotnet_naming_rule.private_field_members_should_be_underscore_camel_case.style = _camel_case
-dotnet_naming_rule.field_should_be_camel_case.severity=suggestion
-dotnet_naming_rule.field_should_be_camel_case.symbols=field
-dotnet_naming_rule.field_should_be_camel_case.style=camel_case
+dotnet_naming_rule.field_should_be_camel_case.severity = suggestion
+dotnet_naming_rule.field_should_be_camel_case.symbols = field
+dotnet_naming_rule.field_should_be_camel_case.style = camel_case
-dotnet_naming_rule.types_should_be_pascal_case.severity=suggestion
-dotnet_naming_rule.types_should_be_pascal_case.symbols=types
-dotnet_naming_rule.types_should_be_pascal_case.style=pascal_case
+dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
+dotnet_naming_rule.types_should_be_pascal_case.symbols = types
+dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
-dotnet_naming_rule.non_field_members_should_be_pascal_case.severity=suggestion
-dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols=non_field_members
-dotnet_naming_rule.non_field_members_should_be_pascal_case.style=pascal_case
+dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
+dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
+dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
# Symbol specifications
-dotnet_naming_symbols.interface.applicable_kinds=interface
-dotnet_naming_symbols.interface.applicable_accessibilities=*
-dotnet_naming_symbols.interface.required_modifiers=*
-
-dotnet_naming_symbols.local.applicable_kinds=local, local_function
-dotnet_naming_symbols.local.applicable_accessibilities=*
-dotnet_naming_symbols.local.required_modifiers=
-
-dotnet_naming_symbols.type_parameter.applicable_kinds=type_parameter
-dotnet_naming_symbols.type_parameter.applicable_accessibilities=*
-dotnet_naming_symbols.type_parameter.required_modifiers=
-
-dotnet_naming_symbols.types.applicable_kinds=class, struct, interface, enum, delegate
-dotnet_naming_symbols.types.applicable_accessibilities=*
-dotnet_naming_symbols.types.required_modifiers=
-
-dotnet_naming_symbols.non_field_members.applicable_kinds=property, event, method
-dotnet_naming_symbols.non_field_members.applicable_accessibilities=*
-dotnet_naming_symbols.non_field_members.required_modifiers=
-
-dotnet_naming_symbols.private_field.applicable_kinds=field
-dotnet_naming_symbols.private_field.applicable_accessibilities=private, private_protected
-dotnet_naming_symbols.private_field.required_modifiers=
-
-dotnet_naming_symbols.field.applicable_kinds=field
-dotnet_naming_symbols.field.applicable_accessibilities=public, internal, friend, protected, protected_internal, protected_friend
-dotnet_naming_symbols.field.required_modifiers=
-
-dotnet_naming_symbols.static_field.applicable_kinds=field
-dotnet_naming_symbols.static_field.applicable_accessibilities=*
-dotnet_naming_symbols.static_field.required_modifiers=static
-
-dotnet_naming_symbols.const_field.applicable_kinds=field
-dotnet_naming_symbols.const_field.applicable_accessibilities=*
-dotnet_naming_symbols.const_field.required_modifiers=const
+dotnet_naming_symbols.interface.applicable_kinds = interface
+dotnet_naming_symbols.interface.applicable_accessibilities = *
+dotnet_naming_symbols.interface.required_modifiers = *
+
+dotnet_naming_symbols.local.applicable_kinds = local, local_function
+dotnet_naming_symbols.local.applicable_accessibilities = *
+dotnet_naming_symbols.local.required_modifiers = dotnet_naming_symbols
+.type_parameter.applicable_kinds = type_parameter
+dotnet_naming_symbols.type_parameter.applicable_accessibilities = *
+dotnet_naming_symbols.type_parameter.required_modifiers = dotnet_naming_symbols
+.types.applicable_kinds = class, struct, interface, enum, delegate
+dotnet_naming_symbols.types.applicable_accessibilities = *
+dotnet_naming_symbols.types.required_modifiers = dotnet_naming_symbols
+.non_field_members.applicable_kinds = property, event, method
+dotnet_naming_symbols.non_field_members.applicable_accessibilities = *
+dotnet_naming_symbols.non_field_members.required_modifiers = dotnet_naming_symbols
+.private_field.applicable_kinds = field
+dotnet_naming_symbols.private_field.applicable_accessibilities = private, private_protected
+dotnet_naming_symbols.private_field.required_modifiers = dotnet_naming_symbols
+.field.applicable_kinds = field
+dotnet_naming_symbols.field.applicable_accessibilities = public, internal, friend, protected, protected_internal, protected_friend
+dotnet_naming_symbols.field.required_modifiers = dotnet_naming_symbols
+.static_field.applicable_kinds = field
+dotnet_naming_symbols.static_field.applicable_accessibilities = *
+dotnet_naming_symbols.static_field.required_modifiers = static
+
+dotnet_naming_symbols.const_field.applicable_kinds = field
+dotnet_naming_symbols.const_field.applicable_accessibilities = *
+dotnet_naming_symbols.const_field.required_modifiers = const
# Naming styles
-dotnet_naming_style.pascal_case.required_prefix=
-dotnet_naming_style.pascal_case.required_suffix=
-dotnet_naming_style.pascal_case.word_separator=
-dotnet_naming_style.pascal_case.capitalization=pascal_case
+dotnet_naming_style.pascal_case.required_prefix = dotnet_naming_style
+.pascal_case.required_suffix = dotnet_naming_style
+.pascal_case.word_separator = dotnet_naming_style
+.pascal_case.capitalization = pascal_case
-dotnet_naming_style.camel_case.required_prefix=
-dotnet_naming_style.camel_case.required_suffix=
-dotnet_naming_style.camel_case.word_separator=
-dotnet_naming_style.camel_case.capitalization=camel_case
+dotnet_naming_style.camel_case.required_prefix = dotnet_naming_style
+.camel_case.required_suffix = dotnet_naming_style
+.camel_case.word_separator = dotnet_naming_style
+.camel_case.capitalization = camel_case
-dotnet_naming_style._camel_case.required_prefix=_
-dotnet_naming_style._camel_case.required_suffix=
-dotnet_naming_style._camel_case.word_separator=
-dotnet_naming_style._camel_case.capitalization=camel_case
+dotnet_naming_style._camel_case.required_prefix = _
+dotnet_naming_style._camel_case.required_suffix = dotnet_naming_style
+._camel_case.word_separator = dotnet_naming_style
+._camel_case.capitalization = camel_case
-dotnet_naming_style.begins_with_i.required_prefix=I
-dotnet_naming_style.begins_with_i.required_suffix=
-dotnet_naming_style.begins_with_i.word_separator=
-dotnet_naming_style.begins_with_i.capitalization=pascal_case
+dotnet_naming_style.begins_with_i.required_prefix = I
+dotnet_naming_style.begins_with_i.required_suffix = dotnet_naming_style
+.begins_with_i.word_separator = dotnet_naming_style
+.begins_with_i.capitalization = pascal_case
-dotnet_naming_style.begins_with_t.required_prefix=T
-dotnet_naming_style.begins_with_t.required_suffix=
-dotnet_naming_style.begins_with_t.word_separator=
-dotnet_naming_style.begins_with_t.capitalization=pascal_case
+dotnet_naming_style.begins_with_t.required_prefix = T
+dotnet_naming_style.begins_with_t.required_suffix = dotnet_naming_style
+.begins_with_t.word_separator = dotnet_naming_style
+.begins_with_t.capitalization = pascal_case
-dotnet_diagnostic.IDE0058.severity = none
+dotnet_diagnostic.ide0058.severity = none
# CodeQuality
# CA1000: Do not declare static members on generic types
@@ -364,7 +359,7 @@ dotnet_diagnostic.IDE0058.severity = none
# dotnet_diagnostic.CA1061.severity = warning
# CA1062: Validate arguments of public methods
-# dotnet_diagnostic.CA1062.severity = warning
+dotnet_diagnostic.ca1062.severity = none
# CA1063: Implement IDisposable Correctly
# dotnet_diagnostic.CA1063.severity = none
@@ -478,7 +473,7 @@ dotnet_diagnostic.IDE0058.severity = none
# dotnet_diagnostic.CA1823.severity = warning
# CA2007: Consider calling ConfigureAwait on the awaited task
-# dotnet_diagnostic.CA2007.severity = warning
+dotnet_diagnostic.ca2007.severity = none
# CA2119: Seal methods that satisfy private interfaces
# dotnet_diagnostic.CA2119.severity = warning
@@ -907,96 +902,145 @@ dotnet_diagnostic.IDE0058.severity = none
# dotnet_diagnostic.RS0027.severity = warning
# ReSharper properties
-resharper_align_linq_query=true
-resharper_align_multiline_argument=true
-resharper_align_multiline_array_and_object_initializer=false
-resharper_align_multiline_binary_expressions_chain=false
-resharper_align_multiline_calls_chain=false
-resharper_align_multiline_expression=true
-resharper_align_multiline_extends_list=true
-resharper_align_multiline_for_stmt=true
-resharper_align_multiline_parameter=true
-resharper_align_multiline_switch_expression=false
-resharper_align_multiple_declaration=true
-resharper_align_multline_type_parameter_constrains=true
-resharper_align_multline_type_parameter_list=true
-resharper_align_tuple_components=true
-resharper_always_use_end_of_line_brace_style=true
-resharper_arguments_anonymous_function=positional
-resharper_arguments_skip_single=true
-resharper_braces_redundant=true
-resharper_continuous_indent_multiplier=1
-resharper_csharp_align_multiline_argument=false
-resharper_csharp_align_multiline_expression=false
-resharper_csharp_blank_lines_inside_region=0
-resharper_csharp_max_line_length=180
-resharper_csharp_stick_comment=false
-resharper_csharp_wrap_arguments_style=chop_if_long
-resharper_csharp_wrap_extends_list_style=chop_if_long
-resharper_csharp_wrap_multiple_declaration_style=chop_if_long
-resharper_csharp_wrap_parameters_style=chop_if_long
-resharper_empty_block_style=together_same_line
-resharper_html_attribute_style=first_attribute_on_single_line
-resharper_html_blank_line_after_pi=false
-resharper_html_max_blank_lines_between_tags=1
-resharper_html_pi_attribute_style=first_attribute_on_single_line
-resharper_html_space_after_last_pi_attribute=true
-resharper_indent_anonymous_method_block=false
-resharper_int_align_switch_expressions=true
-resharper_int_align_switch_sections=true
-resharper_keep_existing_declaration_block_arrangement=false
-resharper_keep_existing_embedded_arrangement=false
-resharper_keep_existing_embedded_block_arrangement=false
-resharper_keep_existing_enum_arrangement=false
-resharper_keep_existing_expr_member_arrangement=false
-resharper_keep_existing_invocation_parens_arrangement=true
-resharper_keep_existing_linebreaks=true
-resharper_keep_existing_switch_expression_arrangement=false
-resharper_keep_user_linebreaks=true
-resharper_local_function_body=expression_body
-resharper_max_enum_members_on_line=0
-resharper_max_formal_parameters_on_line=6
-resharper_max_initializer_elements_on_line=3
-resharper_max_invocation_arguments_on_line=6
-resharper_nested_ternary_style=compact
-resharper_normalize_tag_names=true
-resharper_outdent_binary_ops=true
-resharper_outdent_commas=true
-resharper_outdent_dots=true
-resharper_place_accessorholder_attribute_on_same_line=False
-resharper_place_expr_accessor_on_single_line=True
-resharper_place_expr_method_on_single_line=True
-resharper_place_expr_property_on_single_line=True
-resharper_place_linq_into_on_new_line=false
-resharper_place_simple_embedded_statement_on_same_line=False
-resharper_place_type_constraints_on_same_line=false
-resharper_prefer_explicit_discard_declaration=true
-resharper_remove_blank_lines_near_braces=true
-resharper_sort_attributes=true
-resharper_sort_class_selectors=true
-resharper_space_around_arrow_op=true
-resharper_space_within_single_line_array_initializer_braces=true
-resharper_wrap_after_declaration_lpar=true
-resharper_wrap_after_invocation_lpar=true
-resharper_wrap_arguments_style=wrap_if_long
-resharper_wrap_array_initializer_style=chop_if_long
-resharper_wrap_before_arrow_with_expressions=true
-resharper_wrap_before_declaration_rpar=true
-resharper_wrap_before_first_type_parameter_constraint=true
-resharper_wrap_before_invocation_rpar=true
-resharper_wrap_chained_method_calls=wrap_if_long
-resharper_wrap_for_stmt_header_style=wrap_if_long
-resharper_wrap_linq_expressions=chop_always
-resharper_wrap_multiple_declaration_style=chop_if_long
-resharper_wrap_multiple_type_parameter_constraints_style=chop_always
-resharper_wrap_object_and_collection_initializer_style=chop_if_long
-resharper_wrap_verbatim_interpolated_strings=chop_if_long
-resharper_xmldoc_attribute_style=on_single_line
-resharper_xmldoc_indent_child_elements=ZeroIndent
-resharper_xmldoc_indent_text=ZeroIndent
-resharper_xmldoc_max_line_length=180
-resharper_xmldoc_pi_attribute_style=on_single_line
-resharper_xmldoc_space_before_self_closing=true
+resharper_align_linq_query = true
+resharper_align_multiline_argument = true
+resharper_align_multiline_array_and_object_initializer = false
+resharper_align_multiline_binary_expressions_chain = false
+resharper_align_multiline_calls_chain = true
+resharper_align_multiline_expression = true
+resharper_align_multiline_extends_list = true
+resharper_align_multiline_for_stmt = true
+resharper_align_multiline_parameter = true
+resharper_align_multiline_switch_expression = false
+resharper_align_multiple_declaration = true
+resharper_align_multline_type_parameter_constrains = true
+resharper_align_multline_type_parameter_list = true
+resharper_align_tuple_components = true
+resharper_arguments_anonymous_function = positional
+resharper_autodetect_indent_settings = true
+resharper_braces_for_for = not_required
+resharper_braces_for_foreach = not_required
+resharper_braces_for_ifelse = not_required_for_both
+resharper_braces_for_while = not_required
+resharper_braces_redundant = false
+resharper_constructor_or_destructor_body = block_body
+resharper_continuous_indent_multiplier = 1
+resharper_cpp_empty_block_style = multiline
+resharper_cpp_outdent_commas = false
+resharper_cpp_outdent_dots = false
+resharper_cpp_wrap_after_declaration_lpar = false
+resharper_cpp_wrap_after_invocation_lpar = false
+resharper_cpp_wrap_before_declaration_rpar = false
+resharper_cpp_wrap_before_invocation_rpar = false
+resharper_csharp_align_multiline_argument = true
+resharper_csharp_align_multiline_binary_expressions_chain = true
+resharper_csharp_align_multiline_expression = false
+resharper_csharp_brace_style = next_line
+resharper_csharp_empty_block_style = multiline
+resharper_csharp_outdent_commas = true
+resharper_csharp_outdent_dots = true
+resharper_csharp_place_comments_at_first_column = true
+resharper_csharp_wrap_after_declaration_lpar = true
+resharper_csharp_wrap_after_invocation_lpar = true
+resharper_csharp_wrap_before_binary_opsign = true
+resharper_csharp_wrap_before_declaration_rpar = true
+resharper_csharp_wrap_before_invocation_rpar = true
+resharper_csharp_wrap_multiple_declaration_style = chop_if_long
+resharper_empty_block_style = together_same_line
+resharper_indent_anonymous_method_block = false
+resharper_int_align_switch_expressions = true
+resharper_int_align_switch_sections = true
+resharper_keep_existing_declaration_block_arrangement = false
+resharper_keep_existing_embedded_block_arrangement = false
+resharper_keep_existing_enum_arrangement = true
+resharper_keep_existing_invocation_parens_arrangement = true
+resharper_keep_existing_linebreaks = true
+resharper_keep_existing_switch_expression_arrangement = false
+resharper_keep_user_linebreaks = true
+resharper_max_initializer_elements_on_line = 2
+resharper_method_or_operator_body = block_body
+resharper_outdent_binary_ops = true
+resharper_outdent_commas = true
+resharper_outdent_dots = true
+resharper_space_around_arrow_op = true
+resharper_space_within_single_line_array_initializer_braces = true
+resharper_use_heuristics_for_body_style = true
+resharper_use_indent_from_vs = false
+resharper_wrap_after_declaration_lpar = true
+resharper_wrap_after_invocation_lpar = true
+resharper_wrap_arguments_style = wrap_if_long
+resharper_wrap_before_declaration_rpar = true
+resharper_wrap_before_invocation_rpar = true
+resharper_wrap_chained_method_calls = wrap_if_long
+resharper_wrap_multiple_declaration_style = chop_if_long
+resharper_wrap_object_and_collection_initializer_style = chop_if_long
+resharper_xmldoc_attribute_style = on_single_line
+resharper_xmldoc_pi_attribute_style = on_single_line
+resharper_xmldoc_space_after_last_pi_attribute = true
+resharper_xmldoc_space_before_self_closing = true
# ReSharper inspection severities
-resharper_arrange_local_function_body_highlighting=suggestion
+resharper_annotate_can_be_null_parameter_highlighting = warning
+resharper_annotate_can_be_null_type_member_highlighting = warning
+resharper_arrange_constructor_or_destructor_body_highlighting = none
+resharper_arrange_method_or_operator_body_highlighting = none
+resharper_arrange_redundant_parentheses_highlighting = hint
+resharper_arrange_this_qualifier_highlighting = hint
+resharper_arrange_type_member_modifiers_highlighting = hint
+resharper_arrange_type_modifiers_highlighting = hint
+resharper_built_in_type_reference_style_for_member_access_highlighting = hint
+resharper_built_in_type_reference_style_highlighting = hint
+resharper_enforce_do_while_statement_braces_highlighting = warning
+resharper_enforce_fixed_statement_braces_highlighting = warning
+resharper_enforce_foreach_statement_braces_highlighting = warning
+resharper_enforce_for_statement_braces_highlighting = warning
+resharper_enforce_if_statement_braces_highlighting = warning
+resharper_enforce_lock_statement_braces_highlighting = warning
+resharper_enforce_using_statement_braces_highlighting = warning
+resharper_enforce_while_statement_braces_highlighting = warning
+resharper_redundant_base_qualifier_highlighting = warning
+resharper_redundant_default_member_initializer_highlighting = hint
+resharper_remove_redundant_braces_highlighting = warning
+resharper_suggest_var_or_type_built_in_types_highlighting = hint
+resharper_suggest_var_or_type_elsewhere_highlighting = hint
+resharper_suggest_var_or_type_simple_types_highlighting = hint
+resharper_unnecessary_whitespace_highlighting = warning
+resharper_use_null_propagation_when_possible_highlighting = suggestion
+resharper_web_config_module_not_resolved_highlighting = warning
+resharper_web_config_type_not_resolved_highlighting = warning
+resharper_web_config_wrong_module_highlighting = warning
+
+ij_xml_align_attributes = true
+ij_xml_align_text = false
+ij_xml_attribute_wrap = normal
+ij_xml_block_comment_at_first_column = true
+ij_xml_keep_blank_lines = 2
+ij_xml_keep_indents_on_empty_lines = false
+ij_xml_keep_line_breaks = true
+ij_xml_keep_line_breaks_in_text = true
+ij_xml_keep_whitespaces = true
+ij_xml_keep_whitespaces_around_cdata = preserve
+ij_xml_keep_whitespaces_inside_cdata = false
+ij_xml_line_comment_at_first_column = true
+ij_xml_space_after_tag_name = false
+ij_xml_space_around_equals_in_attribute = false
+ij_xml_space_inside_empty_tag = true
+ij_xml_text_wrap = off
+
+# Microsoft .NET properties
+dotnet_naming_rule.unity_serialized_field_rule.import_to_resharper = True
+dotnet_naming_rule.unity_serialized_field_rule.resharper_description = Unity serialized field
+dotnet_naming_rule.unity_serialized_field_rule.resharper_guid = 5f0fdb63-c892-4d2c-9324-15c80b22a7ef
+dotnet_naming_rule.unity_serialized_field_rule.severity = warning
+dotnet_naming_rule.unity_serialized_field_rule.style = lower_camel_case_style
+dotnet_naming_rule.unity_serialized_field_rule.symbols = unity_serialized_field_symbols
+dotnet_naming_style.lower_camel_case_style.capitalization = camel_case
+dotnet_naming_symbols.unity_serialized_field_symbols.applicable_accessibilities = *
+dotnet_naming_symbols.unity_serialized_field_symbols.applicable_kinds =
+dotnet_naming_symbols.unity_serialized_field_symbols.resharper_applicable_kinds = unity_serialised_field
+dotnet_naming_symbols.unity_serialized_field_symbols.resharper_required_modifiers = instance
+
+[*.{appxmanifest,asax,ascx,aspx,axaml,build,cg,cginc,compute,cs,cshtml,dtd,fs,fsi,fsscript,fsx,hlsl,hlsli,hlslinc,master,ml,mli,nuspec,paml,razor,resw,resx,shader,skin,usf,ush,vb,xaml,xamlx,xoml,xsd}]
+indent_style = space
+indent_size = 4
+tab_width = 4
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d56b7f1a..611b55b2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -37,7 +37,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v2.3.4
with:
clean: 'false'
fetch-depth: '0'
@@ -45,18 +45,22 @@ jobs:
run: |
git fetch --prune
- name: 🔨 Use .NET Core 2.1 SDK
- uses: actions/setup-dotnet@v1.8.0
+ uses: actions/setup-dotnet@v1.8.2
with:
dotnet-version: '2.1.x'
- name: 🔨 Use .NET Core 3.1 SDK
- uses: actions/setup-dotnet@v1.8.0
+ uses: actions/setup-dotnet@v1.8.2
with:
dotnet-version: '3.1.x'
- name: 🔨 Use .NET Core 5.0 SDK
- uses: actions/setup-dotnet@v1.8.0
+ uses: actions/setup-dotnet@v1.8.2
with:
dotnet-version: '5.0.x'
-
+ - name: 🔨 Use .NET Core 6.0 SDK
+ uses: actions/setup-dotnet@v1.8.2
+ with:
+ dotnet-version: '6.0.x'
+ include-prerelease: true
- name: 🎁 dotnet tool restore
run: |
dotnet tool restore
@@ -78,25 +82,25 @@ jobs:
name: 'actions-${{ matrix.os }}'
- name: 🏺 Publish logs
if: always()
- uses: actions/upload-artifact@v2.2.3
+ uses: actions/upload-artifact@v2.2.4
with:
name: 'logs'
path: 'artifacts/logs/'
- name: 🏺 Publish coverage data
if: always()
- uses: actions/upload-artifact@v2.2.3
+ uses: actions/upload-artifact@v2.2.4
with:
name: 'coverage'
path: 'coverage/'
- name: 🏺 Publish test data
if: always()
- uses: actions/upload-artifact@v2.2.3
+ uses: actions/upload-artifact@v2.2.4
with:
name: 'test data'
path: 'artifacts/test/'
- name: 🏺 Publish NuGet Packages
if: always()
- uses: actions/upload-artifact@v2.2.3
+ uses: actions/upload-artifact@v2.2.4
with:
name: 'nuget'
path: 'artifacts/nuget/'
diff --git a/.github/workflows/close-milestone.yml b/.github/workflows/close-milestone.yml
index 91d20d8c..c7df8c97 100644
--- a/.github/workflows/close-milestone.yml
+++ b/.github/workflows/close-milestone.yml
@@ -8,23 +8,23 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v2.3.4
with:
fetch-depth: 0
- name: Install GitVersion
- uses: gittools/actions/gitversion/setup@master
+ uses: gittools/actions/gitversion/setup@v0.9.10
with:
versionSpec: '5.x'
- name: Install GitReleaseManager
- uses: gittools/actions/gitreleasemanager/setup@master
+ uses: gittools/actions/gitreleasemanager/setup@v0.9.10
with:
versionSpec: '0.11.x'
- name: Use GitVersion
id: gitversion
- uses: gittools/actions/gitversion/execute@master
+ uses: gittools/actions/gitversion/execute@v0.9.10
# Ensure the milestone exists
- name: Create Milestone
diff --git a/.github/workflows/dependabot-merge.yml b/.github/workflows/dependabot-merge.yml
index 541d43f3..106e558c 100644
--- a/.github/workflows/dependabot-merge.yml
+++ b/.github/workflows/dependabot-merge.yml
@@ -4,6 +4,9 @@ on:
pull_request_target:
types:
- labeled
+ - opened
+ - reopened
+ - closed
jobs:
comment:
@@ -13,6 +16,7 @@ jobs:
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
+
- name: Dump job context
env:
JOB_CONTEXT: ${{ toJson(job) }}
@@ -25,13 +29,70 @@ jobs:
env:
RUNNER_CONTEXT: ${{ toJson(runner) }}
run: echo "$RUNNER_CONTEXT"
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v2.3.4
with:
ref: master
- name: Dependabot Commenter
if: |
- (github.event.label.name == ':shipit: merge') && (github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'dependabot-preview[bot]')
- uses: peaceiris/actions-label-commenter@v1.9.1
+ (
+ (
+ github.event.action == 'labeled'
+ && (
+ contains(github.event.label.name, ':shipit: merge')
+ || contains(github.event.label.name, 'javascript')
+ || contains(github.event.label.name, 'github-actions')
+ )
+ )
+ ||
+ (
+ contains(github.event.action, 'opened') &&
+ (
+ (
+ contains(github.event.pull_request.labels.*.name, ':shipit: merge')
+ || contains(github.event.pull_request.labels.*.name, 'javascript')
+ || contains(github.event.pull_request.labels.*.name, 'github-actions')
+ )
+ || startsWith(github.event.pull_request.title, 'Bump JetBrains.ReSharper.CommandLineTools')
+ || startsWith(github.event.pull_request.title, 'Bump ReportGenerator')
+ || startsWith(github.event.pull_request.title, 'Bump Nuke.Common')
+ || startsWith(github.event.pull_request.title, 'Bump GitVersion.Tool')
+ || startsWith(github.event.pull_request.title, 'Bump Bogus')
+ || startsWith(github.event.pull_request.title, 'Bump coverlet')
+ || startsWith(github.event.pull_request.title, 'Bump FakeItEasy')
+ || startsWith(github.event.pull_request.title, 'Bump FluentAssertions')
+ || startsWith(github.event.pull_request.title, 'Bump xunit')
+ || startsWith(github.event.pull_request.title, 'Bump Microsoft.NET.Test.Sdk')
+ )
+ )
+ ) && (
+ github.event.pull_request.user.login == 'dependabot[bot]'
+ || github.event.pull_request.user.login == 'dependabot-preview[bot]'
+ )
+ uses: peaceiris/actions-label-commenter@v1.10.0
with:
github_token: ${{ secrets.RSG_BOT_TOKEN }}
config_file: .github/label-commenter-dependabot.yml
+
+ - name: GitHub Automerge
+ if: |
+ (
+ github.event.label.name == ':shipit: merge'
+ ) && (
+ github.event.pull_request.user.login != 'dependabot[bot]'
+ || github.event.pull_request.user.login != 'dependabot-preview[bot]'
+ )
+ uses: alexwilson/enable-github-automerge-action@1.0.0
+ with:
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
+ merge-method: "SQUASH"
+
+ - name: GitHub Remove Labels
+ if: |
+ github.event.action == 'closed'
+ uses: actions-ecosystem/action-remove-labels@v1
+ with:
+ labels: |
+ :shipit: merge
+ github-actions
+ javascript
+ .NET
diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml
index 987af97d..7e50dfa5 100644
--- a/.github/workflows/draft-release.yml
+++ b/.github/workflows/draft-release.yml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v2.3.4
with:
fetch-depth: 0
@@ -18,18 +18,18 @@ jobs:
run: git fetch --prune
- name: Install GitVersion
- uses: gittools/actions/gitversion/setup@master
+ uses: gittools/actions/gitversion/setup@v0.9.10
with:
versionSpec: '5.x'
- name: Install GitReleaseManager
- uses: gittools/actions/gitreleasemanager/setup@master
+ uses: gittools/actions/gitreleasemanager/setup@v0.9.10
with:
versionSpec: '0.11.x'
- name: Use GitVersion
id: gitversion
- uses: gittools/actions/gitversion/execute@master
+ uses: gittools/actions/gitversion/execute@v0.9.10
- name: Create Milestone
uses: WyriHaximus/github-action-create-milestone@v1
diff --git a/.github/workflows/publish-nuget.yml b/.github/workflows/publish-nuget.yml
index 8f9b5899..88a13199 100644
--- a/.github/workflows/publish-nuget.yml
+++ b/.github/workflows/publish-nuget.yml
@@ -21,7 +21,7 @@ jobs:
nuget-version: '5.x'
- name: Download artifact
- uses: dawidd6/action-download-artifact@v2
+ uses: dawidd6/action-download-artifact@v2.14.1
if: github.event.workflow_run.conclusion == 'success'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml
index 777dd978..7f5d23e7 100644
--- a/.github/workflows/sync-labels.yml
+++ b/.github/workflows/sync-labels.yml
@@ -14,10 +14,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v2.3.4
- name: Checkout tools repo
- uses: actions/checkout@v2
+ uses: actions/checkout@v2.3.4
with:
repository: RocketSurgeonsGuild/.github
path: .rsg
diff --git a/.github/workflows/update-milestone.yml b/.github/workflows/update-milestone.yml
index d9ff3569..bfcaff3d 100644
--- a/.github/workflows/update-milestone.yml
+++ b/.github/workflows/update-milestone.yml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v2.3.4
- name: sync milestones
uses: RocketSurgeonsGuild/actions/sync-milestone@v0.2.4
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 00000000..c32e97ff
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/bin/sh
+. "$(dirname "$0")/_/husky.sh"
+
+npx lint-staged -d -r
diff --git a/.huskyrc b/.huskyrc
deleted file mode 100644
index 80f5453b..00000000
--- a/.huskyrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "hooks": {
- "pre-commit": "lint-staged"
- }
-}
\ No newline at end of file
diff --git a/.lintstagedrc b/.lintstagedrc
deleted file mode 100644
index 31c611e4..00000000
--- a/.lintstagedrc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "*.{cs,vb}": ["dotnet nuke lint --no-logo --lint-files", "git add"],
- "*.{js,ts,jsx,tsx,json,yml,yaml}": ["prettier --write", "git add"]
-}
\ No newline at end of file
diff --git a/.lintstagedrc.js b/.lintstagedrc.js
new file mode 100644
index 00000000..8403c010
--- /dev/null
+++ b/.lintstagedrc.js
@@ -0,0 +1,28 @@
+function forEachChunk(chunks, callback, chunkSize = 50) {
+ var mappedFiles = [];
+ var files = chunks.concat();
+ while (files.length > 0) {
+ var chunk = files.splice(0, chunkSize);
+ mappedFiles = mappedFiles.concat(callback(chunk));
+ }
+ return mappedFiles;
+}
+
+function cleanupcode(filenames) {
+ var sln = require('./.nuke/parameters.json').Solution;
+ return forEachChunk(filenames, chunk => [
+ `dotnet jb cleanupcode ${sln} "--profile=Full Cleanup" "--disable-settings-layers=GlobalAll;GlobalPerProduct;SolutionPersonal;ProjectPersonal" "--include=${chunk.join(
+ ';'
+ )}"`,
+ ]);
+}
+
+module.exports = {
+ '*.cs': filenames => {
+ return [`echo "'${filenames.join(`' '`)}'" | dotnet format --include -`].concat(cleanupcode(filenames));
+ },
+ '*.{csproj,targets,props,xml}': filenames =>
+ forEachChunk(filenames, chunk => [`prettier --write '${chunk.join(`' '`)}'`]),
+ '*.{js,ts,jsx,tsx,json,yml,yaml}': filenames =>
+ forEachChunk(filenames, chunk => [`prettier --write '${chunk.join(`' '`)}'`]),
+};
diff --git a/.mergify.yml b/.mergify.yml
deleted file mode 100644
index 6cf95efd..00000000
--- a/.mergify.yml
+++ /dev/null
@@ -1,125 +0,0 @@
-pull_request_rules:
- - name: automatic merge when GitHub branch protection passes (others)
- conditions:
- - base=master
- - -author~=^dependabot(|-preview)\[bot\]$
- - 'label=:shipit: merge'
- actions:
- merge:
- method: squash
- strict: smart+fasttrack
- - name: auto merge javascript
- conditions:
- - 'label=javascript'
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: auto merge github-actions
- conditions:
- - 'label=github-actions'
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge when GitHub branch protection passes
- conditions:
- - merged
- - 'label=:shipit: merge'
- actions:
- label:
- remove:
- - ':shipit: merge'
- - name: delete head branch after merge
- conditions:
- - merged
- actions:
- label:
- remove:
- - ':shipit: merge'
- - 'github-actions'
- - 'javascript'
- - '.NET'
- delete_head_branch: {}
- - name: automatic merge for JetBrains.ReSharper.GlobalTools pull requests
- conditions:
- - title~=^Bump JetBrains\.ReSharper\.CommandLineTools.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge for ReportGenerator pull requests
- conditions:
- - title~=^Bump ReportGenerator.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge for Nuke.Common pull requests
- conditions:
- - title~=^Bump Nuke\.Common.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge for GitVersion.Tool pull requests
- conditions:
- - title~=^Bump GitVersion\.Tool.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge for Bogus pull requests
- conditions:
- - title~=^Bump Bogus.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge for coverlet pull requests
- conditions:
- - title~=^Bump coverlet.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge for FakeItEasy pull requests
- conditions:
- - title~=^Bump FakeItEasy.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge for FluentAssertions pull requests
- conditions:
- - title~=^Bump FluentAssertions.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge for xunit pull requests
- conditions:
- - title~=^Bump xunit.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
- - name: automatic merge for Microsoft.NET.Test.Sdk pull requests
- conditions:
- - title~=^Bump Microsoft\.NET\.Test\.Sdk.*$
- - author~=^dependabot(|-preview)\[bot\]$
- actions:
- label:
- add:
- - ':shipit: merge'
diff --git a/Directory.Build.props b/Directory.Build.props
index 2f1cf4ff..7daadd85 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -7,13 +7,19 @@
true
images/packageicon.png
LICENSE
- rocket surgery;rocket surgeons;rsg;rocket surgeons guild
- $(PackageTags);abstractions
+
preview
strict
enable
AllEnabledByDefault
true
+ 1
+ true
diff --git a/Packages.props b/Packages.props
index c78aea7b..b0068831 100644
--- a/Packages.props
+++ b/Packages.props
@@ -8,7 +8,6 @@
-
diff --git a/build.ps1 b/build.ps1
old mode 100644
new mode 100755
index 61754e89..fb38b26a
--- a/build.ps1
+++ b/build.ps1
@@ -14,9 +14,9 @@ $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
###########################################################################
$BuildProjectFile = "$PSScriptRoot\.build\.build.csproj"
-$TempDirectory = "$PSScriptRoot\\.nuke\temp"
+$TempDirectory = "$PSScriptRoot\.nuke\temp"
-$DotNetGlobalFile = "$PSScriptRoot\\global.json"
+$DotNetGlobalFile = "$PSScriptRoot\global.json"
$DotNetInstallUrl = "https://dot.net/v1/dotnet-install.ps1"
$DotNetChannel = "Current"
@@ -50,6 +50,9 @@ else {
$DotNetGlobal = $(Get-Content $DotNetGlobalFile | Out-String | ConvertFrom-Json)
if ($DotNetGlobal.PSObject.Properties["sdk"] -and $DotNetGlobal.sdk.PSObject.Properties["version"]) {
$DotNetVersion = $DotNetGlobal.sdk.version
+ if ($DotNetVersion -match '-') {
+ $DotNetVersion = $DotNetVersion.Substring(0, $DotNetVersion.IndexOf('-'))
+ }
}
}
diff --git a/build.sh b/build.sh
index 75f7d993..5318f1c9 100755
--- a/build.sh
+++ b/build.sh
@@ -41,9 +41,13 @@ else
# If global.json exists, load expected version
if [[ -f "$DOTNET_GLOBAL_FILE" ]]; then
DOTNET_VERSION=$(FirstJsonValue "version" "$(cat "$DOTNET_GLOBAL_FILE")")
+ if [[ "$DOTNET_VERSION" == *"-"* ]]; then
+ DOTNET_VERSION=$(cut -d '-' -f 1 <<< "$DOTNET_VERSION")
+ fi
if [[ "$DOTNET_VERSION" == "" ]]; then
unset DOTNET_VERSION
fi
+
fi
# Install by channel or version
diff --git a/package-lock.json b/package-lock.json
index 2eab99fc..ebba2abf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3,81 +3,39 @@
"lockfileVersion": 1,
"dependencies": {
"@babel/code-frame": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
- "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
+ "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.12.13"
+ "@babel/highlight": "^7.14.5"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz",
- "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==",
+ "version": "7.15.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
+ "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
"dev": true
},
"@babel/highlight": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz",
- "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==",
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
+ "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.14.0",
+ "@babel/helper-validator-identifier": "^7.14.5",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
+ }
+ },
+ "@prettier/plugin-xml": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-1.1.0.tgz",
+ "integrity": "sha512-ftQAIB3icdzvfMWmQ6HhxWFwIkVE2bZaPb2Z2YgX9BVqq3ucf33eQAdPwD1wWvPwXwbeZvDoz60vYZv/Qjq+rg==",
+ "dev": true,
+ "requires": {
+ "@xml-tools/parser": "^1.0.11",
+ "prettier": ">=2.3"
}
},
"@types/parse-json": {
@@ -86,6 +44,15 @@
"integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
"dev": true
},
+ "@xml-tools/parser": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@xml-tools/parser/-/parser-1.0.11.tgz",
+ "integrity": "sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==",
+ "dev": true,
+ "requires": {
+ "chevrotain": "7.1.1"
+ }
+ },
"aggregate-error": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -112,9 +79,9 @@
}
},
"ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
},
"ansi-styles": {
@@ -148,13 +115,58 @@
"dev": true
},
"chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "chevrotain": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-7.1.1.tgz",
+ "integrity": "sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==",
"dev": true,
"requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "regexp-to-ast": "0.5.0"
}
},
"clean-stack": {
@@ -197,16 +209,22 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "colorette": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
+ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+ "dev": true
+ },
"commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.2.0.tgz",
+ "integrity": "sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA==",
"dev": true
},
"cosmiconfig": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
- "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+ "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
"dev": true,
"requires": {
"@types/parse-json": "^4.0.0",
@@ -228,20 +246,14 @@
}
},
"debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
},
- "dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
- "dev": true
- },
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -273,9 +285,9 @@
"dev": true
},
"execa": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
- "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
"requires": {
"cross-spawn": "^7.0.3",
@@ -289,15 +301,6 @@
"strip-final-newline": "^2.0.0"
}
},
- "figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5"
- }
- },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -320,9 +323,9 @@
"dev": true
},
"has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"human-signals": {
@@ -332,9 +335,9 @@
"dev": true
},
"husky": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/husky/-/husky-6.0.0.tgz",
- "integrity": "sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.2.tgz",
+ "integrity": "sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg==",
"dev": true
},
"import-fresh": {
@@ -384,15 +387,9 @@
"dev": true
},
"is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
- "dev": true
- },
- "is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true
},
"isexe": {
@@ -420,38 +417,35 @@
"dev": true
},
"lint-staged": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.0.0.tgz",
- "integrity": "sha512-3rsRIoyaE8IphSUtO1RVTFl1e0SLBtxxUOPBtHxQgBHS5/i6nqvjcUfNioMa4BU9yGnPzbO+xkfLtXtxBpCzjw==",
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.2.0.tgz",
+ "integrity": "sha512-0KIcRuO4HQS2Su7qWtjrfTXgSklvyIb9Fk9qVWRZkGHa5S81Vj6WBbs+ogQBvHUwLJYq1eQ4R+H82GSak4OM7w==",
"dev": true,
"requires": {
- "chalk": "^4.1.1",
- "cli-truncate": "^2.1.0",
- "commander": "^7.2.0",
- "cosmiconfig": "^7.0.0",
- "debug": "^4.3.1",
- "dedent": "^0.7.0",
+ "cli-truncate": "2.1.0",
+ "colorette": "^1.4.0",
+ "commander": "^8.2.0",
+ "cosmiconfig": "^7.0.1",
+ "debug": "^4.3.2",
"enquirer": "^2.3.6",
- "execa": "^5.0.0",
- "listr2": "^3.8.2",
- "log-symbols": "^4.1.0",
+ "execa": "^5.1.1",
+ "listr2": "^3.12.2",
"micromatch": "^4.0.4",
"normalize-path": "^3.0.0",
"please-upgrade-node": "^3.2.0",
"string-argv": "0.3.1",
- "stringify-object": "^3.3.0"
+ "stringify-object": "3.3.0",
+ "supports-color": "8.1.1"
}
},
"listr2": {
- "version": "3.8.2",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.8.2.tgz",
- "integrity": "sha512-E28Fw7Zd3HQlCJKzb9a8C8M0HtFWQeucE+S8YrSrqZObuCLPRHMRrR8gNmYt65cU9orXYHwvN5agXC36lYt7VQ==",
+ "version": "3.12.2",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.12.2.tgz",
+ "integrity": "sha512-64xC2CJ/As/xgVI3wbhlPWVPx0wfTqbUAkpb7bjDi0thSWMqrf07UFhrfsGoo8YSXmF049Rp9C0cjLC8rZxK9A==",
"dev": true,
"requires": {
- "chalk": "^4.1.1",
"cli-truncate": "^2.1.0",
- "figures": "^3.2.0",
- "indent-string": "^4.0.0",
+ "colorette": "^1.4.0",
"log-update": "^4.0.0",
"p-map": "^4.0.0",
"rxjs": "^6.6.7",
@@ -459,16 +453,6 @@
"wrap-ansi": "^7.0.0"
}
},
- "log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- }
- },
"log-update": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
@@ -600,9 +584,9 @@
"dev": true
},
"picomatch": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
- "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
"dev": true
},
"please-upgrade-node": {
@@ -615,9 +599,15 @@
}
},
"prettier": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
- "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz",
+ "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==",
+ "dev": true
+ },
+ "regexp-to-ast": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz",
+ "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==",
"dev": true
},
"resolve-from": {
@@ -667,9 +657,9 @@
"dev": true
},
"signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz",
+ "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==",
"dev": true
},
"slice-ansi": {
@@ -690,14 +680,14 @@
"dev": true
},
"string-width": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
- "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
+ "strip-ansi": "^6.0.1"
}
},
"stringify-object": {
@@ -712,12 +702,12 @@
}
},
"strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": {
- "ansi-regex": "^5.0.0"
+ "ansi-regex": "^5.0.1"
}
},
"strip-final-newline": {
@@ -727,12 +717,20 @@
"dev": true
},
"supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ }
}
},
"through": {
diff --git a/package.json b/package.json
index 2eca075b..4dcdaa7c 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,12 @@
{
"private": true,
"devDependencies": {
- "husky": "^6.0.0",
- "lint-staged": "^11.0.0",
- "prettier": "^2.3.0"
+ "@prettier/plugin-xml": "^1.1.0",
+ "husky": "^7.0.0",
+ "lint-staged": "^11.2.0",
+ "prettier": "^2.4.1"
+ },
+ "scripts": {
+ "prepare": "husky install"
}
}