diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..7b92ea1
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,152 @@
+
+[*.{blockshader,c,c++,c++m,cc,ccm,cginc,compute,cp,cpp,cppm,cshtml,cu,cuh,cxx,cxxm,fx,fxh,h,h++,hh,hlsl,hlsli,hlslinc,hp,hpp,htm,html,hxx,icc,inc,inl,ino,ipp,ixx,mpp,mq4,mq5,mqh,mxx,razor,shaderFoundry,tcc,tpp,urtshader,usf,ush}]
+indent_style = tab
+indent_size = tab
+tab_width = 4
+
+[*.{asax,ascx,aspx,axaml,cs,master,paml,skin,vb,xaml,xamlx,xoml}]
+indent_style = space
+indent_size = 4
+tab_width = 4
+
+[*.{appxmanifest,axml,build,config,csproj,dbml,discomap,dtd,jsproj,lsproj,njsproj,nuspec,proj,props,resw,resx,StyleCop,targets,tasks,vbproj,xml,xsd}]
+indent_style = space
+indent_size = 2
+tab_width = 2
+
+[*]
+
+# Microsoft .NET properties
+csharp_preferred_modifier_order = public, private, protected, internal, file, new, static, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async, required:suggestion
+csharp_space_after_cast = true
+csharp_style_prefer_utf8_string_literals = 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
+dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:suggestion
+dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggestion
+dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:suggestion
+dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
+dotnet_style_predefined_type_for_member_access = true:suggestion
+dotnet_style_qualification_for_event = false:suggestion
+dotnet_style_qualification_for_field = false:suggestion
+dotnet_style_qualification_for_method = false:suggestion
+dotnet_style_qualification_for_property = false:suggestion
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
+
+# ReSharper properties
+resharper_align_linq_query = true
+resharper_align_multiline_argument = true
+resharper_align_multiline_calls_chain = true
+resharper_align_multiline_extends_list = true
+resharper_align_multiline_for_stmt = true
+resharper_align_multiline_parameter = true
+resharper_align_multiple_declaration = true
+resharper_align_multline_type_parameter_constrains = true
+resharper_align_tuple_components = true
+resharper_apply_on_completion = true
+resharper_blank_lines_after_multiline_statements = 1
+resharper_blank_lines_around_auto_property = 0
+resharper_blank_lines_around_property = 0
+resharper_braces_for_for = required_for_multiline
+resharper_braces_for_foreach = required_for_multiline
+resharper_braces_for_while = required
+resharper_constructor_or_destructor_body = expression_body
+resharper_csharp_blank_lines_around_field = 0
+resharper_csharp_blank_lines_around_invocable = 0
+resharper_csharp_keep_blank_lines_in_code = 1
+resharper_csharp_keep_blank_lines_in_declarations = 1
+resharper_csharp_max_line_length = 250
+resharper_csharp_outdent_commas = true
+resharper_csharp_wrap_arguments_style = chop_if_long
+resharper_csharp_wrap_multiple_type_parameter_constraints_style = wrap_if_long
+resharper_indent_nested_fixed_stmt = true
+resharper_indent_nested_foreach_stmt = true
+resharper_indent_nested_for_stmt = true
+resharper_indent_nested_lock_stmt = true
+resharper_indent_nested_usings_stmt = true
+resharper_indent_nested_while_stmt = true
+resharper_keep_existing_declaration_parens_arrangement = false
+resharper_keep_existing_expr_member_arrangement = false
+resharper_keep_existing_initializer_arrangement = false
+resharper_local_function_body = expression_body
+resharper_max_attribute_length_for_same_line = 50
+resharper_max_initializer_elements_on_line = 1
+resharper_method_or_operator_body = expression_body
+resharper_new_line_before_while = true
+resharper_place_accessorholder_attribute_on_same_line = false
+resharper_place_accessor_attribute_on_same_line = false
+resharper_place_field_attribute_on_same_line = false
+resharper_place_simple_accessorholder_on_single_line = true
+resharper_place_simple_accessor_on_single_line = false
+resharper_place_simple_embedded_statement_on_same_line = false
+resharper_place_simple_initializer_on_single_line = false
+resharper_place_simple_property_pattern_on_single_line = false
+resharper_qualified_using_at_nested_scope = true
+resharper_space_within_single_line_array_initializer_braces = false
+resharper_wrap_array_initializer_style = chop_if_long
+resharper_wrap_chained_method_calls = chop_always
+resharper_wrap_enum_declaration = chop_if_long
+resharper_wrap_linq_expressions = chop_always
+
+# ReSharper inspection severities
+resharper_annotate_can_be_null_parameter_highlighting = warning
+resharper_annotate_can_be_null_type_member_highlighting = warning
+resharper_annotate_not_null_parameter_highlighting = warning
+resharper_annotate_not_null_type_member_highlighting = warning
+resharper_arrange_constructor_or_destructor_body_highlighting = hint
+resharper_arrange_local_function_body_highlighting = hint
+resharper_arrange_method_or_operator_body_highlighting = hint
+resharper_arrange_missing_parentheses_highlighting = hint
+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_async_void_method_highlighting = warning
+resharper_bad_control_braces_indent_highlighting = warning
+resharper_bad_declaration_braces_indent_highlighting = warning
+resharper_bad_expression_braces_indent_highlighting = warning
+resharper_bad_indent_highlighting = warning
+resharper_bad_namespace_braces_indent_highlighting = warning
+resharper_bad_preprocessor_indent_highlighting = warning
+resharper_bad_switch_braces_indent_highlighting = warning
+resharper_built_in_type_reference_style_for_member_access_highlighting = hint
+resharper_built_in_type_reference_style_highlighting = hint
+resharper_cpp_bad_child_statement_indent_highlighting = warning
+resharper_cpp_bad_control_braces_indent_highlighting = warning
+resharper_cpp_bad_declaration_braces_indent_highlighting = warning
+resharper_cpp_bad_expression_braces_indent_highlighting = warning
+resharper_cpp_bad_indent_highlighting = warning
+resharper_cpp_bad_namespace_braces_indent_highlighting = warning
+resharper_cpp_bad_switch_braces_indent_highlighting = warning
+resharper_cpp_incorrect_blank_lines_near_braces_highlighting = warning
+resharper_cpp_missing_blank_lines_highlighting = warning
+resharper_cpp_missing_indent_highlighting = warning
+resharper_cpp_outdent_is_off_prev_level_highlighting = warning
+resharper_cpp_redundant_blank_lines_highlighting = warning
+resharper_cpp_tabs_and_spaces_mismatch_highlighting = warning
+resharper_cpp_wrong_indent_size_highlighting = warning
+resharper_empty_general_catch_clause_highlighting = error
+resharper_function_complexity_overflow_highlighting = error
+resharper_incorrect_blank_lines_near_braces_highlighting = warning
+resharper_lambda_expression_can_be_made_static_highlighting = error
+resharper_lambda_expression_must_be_static_highlighting = warning
+resharper_loop_can_be_partly_converted_to_query_highlighting = hint
+resharper_markup_attribute_typo_highlighting = none
+resharper_markup_text_typo_highlighting = none
+resharper_missing_blank_lines_highlighting = warning
+resharper_missing_indent_highlighting = warning
+resharper_nullable_warning_suppression_is_used_highlighting = warning
+resharper_outdent_is_off_prev_level_highlighting = warning
+resharper_possible_null_reference_exception_highlighting = error
+resharper_redundant_base_qualifier_highlighting = warning
+resharper_redundant_blank_lines_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_tabs_and_spaces_mismatch_highlighting = warning
+resharper_use_configure_await_false_for_async_disposable_highlighting = warning
+resharper_use_nameof_expression_for_part_of_the_string_highlighting = warning
+resharper_use_positional_deconstruction_pattern_highlighting = hint
+resharper_use_throw_if_null_method_highlighting = warning
+resharper_wrong_indent_size_highlighting = warning
diff --git a/shared/NugetDistSample/NugetDistSample.csproj b/shared/NugetDistSample/NugetDistSample.csproj
new file mode 100644
index 0000000..aadaf83
--- /dev/null
+++ b/shared/NugetDistSample/NugetDistSample.csproj
@@ -0,0 +1,27 @@
+
+
+ Exe
+ net8.0
+ enable
+ enable
+ nuget_distribution_example
+ 0.0.26
+ Hans Christian Winther-Sørensen
+ WSH
+ Distributing shared project files example
+ Nuget distribution example
+ Nuget distribution example
+ git
+ https://github.com/hwinther/test
+ readme.md
+ true
+ true
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/shared/NugetDistSample/NugetDistSample.nuspec-temp b/shared/NugetDistSample/NugetDistSample.nuspec-temp
new file mode 100644
index 0000000..f87d448
--- /dev/null
+++ b/shared/NugetDistSample/NugetDistSample.nuspec-temp
@@ -0,0 +1,17 @@
+
+
+
+ $id$
+ $version$
+ $title$
+ $description$
+ $authors$
+ $copyright$
+ false
+ MIT
+
+
+
+
+
+
\ No newline at end of file
diff --git a/shared/NugetDistSample/Program.cs b/shared/NugetDistSample/Program.cs
new file mode 100644
index 0000000..e970e9d
--- /dev/null
+++ b/shared/NugetDistSample/Program.cs
@@ -0,0 +1,141 @@
+using System.Diagnostics;
+using System.Globalization;
+using System.Runtime.InteropServices;
+using System.Text.RegularExpressions;
+
+if (args.Length == 2)
+{
+ var msbuildDir = args[0];
+ var solutionDir = args[1];
+ Console.WriteLine($"MsbuildDir: {msbuildDir}");
+ Console.WriteLine($"SolutionDir: {solutionDir}");
+
+ var solutionSignature = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(solutionDir));
+ var cachePath = Path.Combine(msbuildDir, "..", $"cached-run-{solutionSignature}");
+ if (Path.Exists(cachePath))
+ {
+ Console.WriteLine("Already executed for this solution.");
+ return;
+ }
+
+ var gitFolderPath = FindGitFolder(solutionDir);
+ if (gitFolderPath == null)
+ {
+ Console.WriteLine(".git folder not found.");
+ return;
+ }
+
+ Console.WriteLine($".git folder found at: {gitFolderPath}");
+
+ var gitIgnorePath = Path.Combine(gitFolderPath, ".gitignore");
+ AddGitIgnoreLineRegex(gitIgnorePath, "**/.idea/**", IdeaRegex());
+
+ RecursivelyCopyContent(Path.Combine(msbuildDir, "..", "content"), gitFolderPath);
+
+ var hooksAdded = ExecuteCommandIfLineDoesNotExist(Path.Combine(gitFolderPath, ".git", "config"), "hooksPath = .githooks", "git config --local core.hooksPath .githooks");
+ Console.WriteLine(hooksAdded ? "Git hooks path set." : "Git hooks path already set.");
+
+ File.WriteAllText(cachePath, DateTime.Now.ToString(CultureInfo.InvariantCulture));
+}
+else
+{
+ Console.WriteLine("Usage: NugetDistSample ");
+}
+
+return;
+
+static string? FindGitFolder(string? directory)
+{
+ while (!string.IsNullOrEmpty(directory))
+ {
+ if (Directory.Exists(Path.Combine(directory, ".git")))
+ return directory;
+
+ directory = Directory.GetParent(directory)
+ ?.FullName;
+ }
+
+ return null;
+}
+
+static bool ExecuteCommandIfLineDoesNotExist(string filePath, string line, string command)
+{
+ var lines = File.ReadAllLines(filePath);
+ if (Array.Exists(lines, l => l.Contains(line)))
+ return false;
+
+ Console.WriteLine($"Executing command: {command}");
+
+ ProcessStartInfo processStartInfo = new()
+ {
+ WorkingDirectory = Path.GetDirectoryName(filePath),
+ UseShellExecute = false,
+ CreateNoWindow = true
+ };
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ processStartInfo.FileName = "cmd";
+ processStartInfo.Arguments = $"/c {command}";
+ }
+ else
+ {
+ processStartInfo.FileName = "sh";
+ processStartInfo.Arguments = $"-c \"{command}\"";
+ }
+
+ var process = Process.Start(processStartInfo);
+
+ if (process == null)
+ return false;
+
+ if (process.WaitForExit(5000))
+ return true;
+
+ Console.WriteLine("Timeout waiting for process to exit.");
+ process.Kill(true);
+ return false;
+}
+
+static void AddGitIgnoreLineRegex(string gitIgnorePath, string line, Regex match)
+{
+ var lines = File.ReadAllLines(gitIgnorePath);
+ if (Array.Exists(lines, match.IsMatch))
+ return;
+
+ Console.WriteLine($"Adding line to .gitignore: {line}");
+ File.AppendAllLines(gitIgnorePath,
+ new[]
+ {
+ line
+ });
+}
+
+static void RecursivelyCopyContent(string sourceFolder, string destinationFolder)
+{
+ foreach (var sourceSubFolder in Directory.GetDirectories(sourceFolder))
+ {
+ var destinationSubFolder = Path.Combine(destinationFolder, Path.GetFileName(sourceSubFolder));
+ if (!Directory.Exists(destinationSubFolder))
+ {
+ Console.WriteLine($"Creating directory: {destinationSubFolder}");
+ Directory.CreateDirectory(destinationSubFolder);
+ }
+
+ RecursivelyCopyContent(sourceSubFolder, destinationSubFolder);
+ }
+
+ foreach (var sourceFile in Directory.GetFiles(sourceFolder))
+ {
+ var destinationFile = Path.Combine(destinationFolder, Path.GetFileName(sourceFile));
+
+ Console.WriteLine($"Copying file: {sourceFile} -> {destinationFile}");
+ File.Copy(sourceFile, destinationFile, true);
+ }
+}
+
+internal partial class Program
+{
+ [GeneratedRegex(@".*\.idea.*")]
+ private static partial Regex IdeaRegex();
+}
\ No newline at end of file
diff --git a/shared/NugetDistSample/build/nuget_distribution_example.props b/shared/NugetDistSample/build/nuget_distribution_example.props
new file mode 100644
index 0000000..d385c1a
--- /dev/null
+++ b/shared/NugetDistSample/build/nuget_distribution_example.props
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/shared/NugetDistSample/build/nuget_distribution_example.targets b/shared/NugetDistSample/build/nuget_distribution_example.targets
new file mode 100644
index 0000000..551819f
--- /dev/null
+++ b/shared/NugetDistSample/build/nuget_distribution_example.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/shared/NugetDistSample/content/.editorconfig b/shared/NugetDistSample/content/.editorconfig
new file mode 100644
index 0000000..7b92ea1
--- /dev/null
+++ b/shared/NugetDistSample/content/.editorconfig
@@ -0,0 +1,152 @@
+
+[*.{blockshader,c,c++,c++m,cc,ccm,cginc,compute,cp,cpp,cppm,cshtml,cu,cuh,cxx,cxxm,fx,fxh,h,h++,hh,hlsl,hlsli,hlslinc,hp,hpp,htm,html,hxx,icc,inc,inl,ino,ipp,ixx,mpp,mq4,mq5,mqh,mxx,razor,shaderFoundry,tcc,tpp,urtshader,usf,ush}]
+indent_style = tab
+indent_size = tab
+tab_width = 4
+
+[*.{asax,ascx,aspx,axaml,cs,master,paml,skin,vb,xaml,xamlx,xoml}]
+indent_style = space
+indent_size = 4
+tab_width = 4
+
+[*.{appxmanifest,axml,build,config,csproj,dbml,discomap,dtd,jsproj,lsproj,njsproj,nuspec,proj,props,resw,resx,StyleCop,targets,tasks,vbproj,xml,xsd}]
+indent_style = space
+indent_size = 2
+tab_width = 2
+
+[*]
+
+# Microsoft .NET properties
+csharp_preferred_modifier_order = public, private, protected, internal, file, new, static, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async, required:suggestion
+csharp_space_after_cast = true
+csharp_style_prefer_utf8_string_literals = 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
+dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:suggestion
+dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggestion
+dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:suggestion
+dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
+dotnet_style_predefined_type_for_member_access = true:suggestion
+dotnet_style_qualification_for_event = false:suggestion
+dotnet_style_qualification_for_field = false:suggestion
+dotnet_style_qualification_for_method = false:suggestion
+dotnet_style_qualification_for_property = false:suggestion
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
+
+# ReSharper properties
+resharper_align_linq_query = true
+resharper_align_multiline_argument = true
+resharper_align_multiline_calls_chain = true
+resharper_align_multiline_extends_list = true
+resharper_align_multiline_for_stmt = true
+resharper_align_multiline_parameter = true
+resharper_align_multiple_declaration = true
+resharper_align_multline_type_parameter_constrains = true
+resharper_align_tuple_components = true
+resharper_apply_on_completion = true
+resharper_blank_lines_after_multiline_statements = 1
+resharper_blank_lines_around_auto_property = 0
+resharper_blank_lines_around_property = 0
+resharper_braces_for_for = required_for_multiline
+resharper_braces_for_foreach = required_for_multiline
+resharper_braces_for_while = required
+resharper_constructor_or_destructor_body = expression_body
+resharper_csharp_blank_lines_around_field = 0
+resharper_csharp_blank_lines_around_invocable = 0
+resharper_csharp_keep_blank_lines_in_code = 1
+resharper_csharp_keep_blank_lines_in_declarations = 1
+resharper_csharp_max_line_length = 250
+resharper_csharp_outdent_commas = true
+resharper_csharp_wrap_arguments_style = chop_if_long
+resharper_csharp_wrap_multiple_type_parameter_constraints_style = wrap_if_long
+resharper_indent_nested_fixed_stmt = true
+resharper_indent_nested_foreach_stmt = true
+resharper_indent_nested_for_stmt = true
+resharper_indent_nested_lock_stmt = true
+resharper_indent_nested_usings_stmt = true
+resharper_indent_nested_while_stmt = true
+resharper_keep_existing_declaration_parens_arrangement = false
+resharper_keep_existing_expr_member_arrangement = false
+resharper_keep_existing_initializer_arrangement = false
+resharper_local_function_body = expression_body
+resharper_max_attribute_length_for_same_line = 50
+resharper_max_initializer_elements_on_line = 1
+resharper_method_or_operator_body = expression_body
+resharper_new_line_before_while = true
+resharper_place_accessorholder_attribute_on_same_line = false
+resharper_place_accessor_attribute_on_same_line = false
+resharper_place_field_attribute_on_same_line = false
+resharper_place_simple_accessorholder_on_single_line = true
+resharper_place_simple_accessor_on_single_line = false
+resharper_place_simple_embedded_statement_on_same_line = false
+resharper_place_simple_initializer_on_single_line = false
+resharper_place_simple_property_pattern_on_single_line = false
+resharper_qualified_using_at_nested_scope = true
+resharper_space_within_single_line_array_initializer_braces = false
+resharper_wrap_array_initializer_style = chop_if_long
+resharper_wrap_chained_method_calls = chop_always
+resharper_wrap_enum_declaration = chop_if_long
+resharper_wrap_linq_expressions = chop_always
+
+# ReSharper inspection severities
+resharper_annotate_can_be_null_parameter_highlighting = warning
+resharper_annotate_can_be_null_type_member_highlighting = warning
+resharper_annotate_not_null_parameter_highlighting = warning
+resharper_annotate_not_null_type_member_highlighting = warning
+resharper_arrange_constructor_or_destructor_body_highlighting = hint
+resharper_arrange_local_function_body_highlighting = hint
+resharper_arrange_method_or_operator_body_highlighting = hint
+resharper_arrange_missing_parentheses_highlighting = hint
+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_async_void_method_highlighting = warning
+resharper_bad_control_braces_indent_highlighting = warning
+resharper_bad_declaration_braces_indent_highlighting = warning
+resharper_bad_expression_braces_indent_highlighting = warning
+resharper_bad_indent_highlighting = warning
+resharper_bad_namespace_braces_indent_highlighting = warning
+resharper_bad_preprocessor_indent_highlighting = warning
+resharper_bad_switch_braces_indent_highlighting = warning
+resharper_built_in_type_reference_style_for_member_access_highlighting = hint
+resharper_built_in_type_reference_style_highlighting = hint
+resharper_cpp_bad_child_statement_indent_highlighting = warning
+resharper_cpp_bad_control_braces_indent_highlighting = warning
+resharper_cpp_bad_declaration_braces_indent_highlighting = warning
+resharper_cpp_bad_expression_braces_indent_highlighting = warning
+resharper_cpp_bad_indent_highlighting = warning
+resharper_cpp_bad_namespace_braces_indent_highlighting = warning
+resharper_cpp_bad_switch_braces_indent_highlighting = warning
+resharper_cpp_incorrect_blank_lines_near_braces_highlighting = warning
+resharper_cpp_missing_blank_lines_highlighting = warning
+resharper_cpp_missing_indent_highlighting = warning
+resharper_cpp_outdent_is_off_prev_level_highlighting = warning
+resharper_cpp_redundant_blank_lines_highlighting = warning
+resharper_cpp_tabs_and_spaces_mismatch_highlighting = warning
+resharper_cpp_wrong_indent_size_highlighting = warning
+resharper_empty_general_catch_clause_highlighting = error
+resharper_function_complexity_overflow_highlighting = error
+resharper_incorrect_blank_lines_near_braces_highlighting = warning
+resharper_lambda_expression_can_be_made_static_highlighting = error
+resharper_lambda_expression_must_be_static_highlighting = warning
+resharper_loop_can_be_partly_converted_to_query_highlighting = hint
+resharper_markup_attribute_typo_highlighting = none
+resharper_markup_text_typo_highlighting = none
+resharper_missing_blank_lines_highlighting = warning
+resharper_missing_indent_highlighting = warning
+resharper_nullable_warning_suppression_is_used_highlighting = warning
+resharper_outdent_is_off_prev_level_highlighting = warning
+resharper_possible_null_reference_exception_highlighting = error
+resharper_redundant_base_qualifier_highlighting = warning
+resharper_redundant_blank_lines_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_tabs_and_spaces_mismatch_highlighting = warning
+resharper_use_configure_await_false_for_async_disposable_highlighting = warning
+resharper_use_nameof_expression_for_part_of_the_string_highlighting = warning
+resharper_use_positional_deconstruction_pattern_highlighting = hint
+resharper_use_throw_if_null_method_highlighting = warning
+resharper_wrong_indent_size_highlighting = warning
diff --git a/shared/NugetDistSample/packages.lock.json b/shared/NugetDistSample/packages.lock.json
new file mode 100644
index 0000000..807ab82
--- /dev/null
+++ b/shared/NugetDistSample/packages.lock.json
@@ -0,0 +1,6 @@
+{
+ "version": 1,
+ "dependencies": {
+ "net8.0": {}
+ }
+}
\ No newline at end of file
diff --git a/shared/NugetDistSample/readme.md b/shared/NugetDistSample/readme.md
new file mode 100644
index 0000000..0a1d02c
Binary files /dev/null and b/shared/NugetDistSample/readme.md differ
diff --git a/shared/NugetDistSample/release.ps1 b/shared/NugetDistSample/release.ps1
new file mode 100644
index 0000000..b33f51d
--- /dev/null
+++ b/shared/NugetDistSample/release.ps1
@@ -0,0 +1,33 @@
+dotnet clean -c Release .\NugetDistSample.csproj
+
+# Read the .csproj file
+$filePath = Resolve-Path ".\NugetDistSample.csproj"
+$csproj=New-Object XML
+$csproj.Load($filePath)
+
+# Find the element
+$versionElement = $csproj.Project.PropertyGroup.Version
+
+if ($versionElement -ne $null) {
+ # Split the version number into its components
+ $versionParts = $versionElement.Split('.')
+ if ($versionParts.Length -eq 3) {
+ # Increment the patch version
+ $versionParts[2] = [int]$versionParts[2] + 1
+ # Join the version parts back together
+ $newVersion = "$($versionParts[0]).$($versionParts[1]).$($versionParts[2])"
+ # Update the element
+ $csproj.Project.PropertyGroup.Version = $newVersion
+ # Save the updated .csproj file
+ $csproj.Save($filePath)
+ Write-Output "Version updated to $newVersion"
+ } else {
+ Write-Error "Version format is not valid. Expected format: x.y.z"
+ }
+} else {
+ Write-Error " element not found in the .csproj file."
+}
+
+dotnet build -c Release .\NugetDistSample.csproj
+dotnet pack -c Release .\NugetDistSample.csproj
+dotnet nuget push .\bin\Release\nuget_distribution_example.*.nupkg --api-key $Env:GITHUB_API_KEY --source github --skip-duplicate
diff --git a/src/backend/Backend.sln b/src/backend/Backend.sln
index 180125b..cd8ae57 100644
--- a/src/backend/Backend.sln
+++ b/src/backend/Backend.sln
@@ -21,7 +21,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{B9B9AD30
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{F9FCA971-68B4-4828-A6EC-1A16DDF1E983}"
ProjectSection(SolutionItems) = preProject
+ .runsettings = .runsettings
Directory.Build.props = Directory.Build.props
+ .config\dotnet-tools.json = .config\dotnet-tools.json
global.json = global.json
EndProjectSection
EndProject
@@ -32,6 +34,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "log", "log", "{0BD80B55-00B
log\placeholder.md = log\placeholder.md
EndProjectSection
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NugetDistSample", "..\..\shared\NugetDistSample\NugetDistSample.csproj", "{FC33B9B5-7F55-4C06-A9CE-811FE31DDE2D}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -50,6 +54,10 @@ Global
{69BC9238-50AC-4F4C-B884-717F1E75493F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{69BC9238-50AC-4F4C-B884-717F1E75493F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{69BC9238-50AC-4F4C-B884-717F1E75493F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FC33B9B5-7F55-4C06-A9CE-811FE31DDE2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FC33B9B5-7F55-4C06-A9CE-811FE31DDE2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FC33B9B5-7F55-4C06-A9CE-811FE31DDE2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FC33B9B5-7F55-4C06-A9CE-811FE31DDE2D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/backend/WebApi/WebApi.csproj b/src/backend/WebApi/WebApi.csproj
index ac6234d..6166efe 100644
--- a/src/backend/WebApi/WebApi.csproj
+++ b/src/backend/WebApi/WebApi.csproj
@@ -47,4 +47,4 @@
-
+
\ No newline at end of file
diff --git a/src/backend/nuget.config b/src/backend/nuget.config
new file mode 100644
index 0000000..1ce49ff
--- /dev/null
+++ b/src/backend/nuget.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json
index 6e1b338..9145e7b 100644
--- a/src/frontend/package-lock.json
+++ b/src/frontend/package-lock.json
@@ -22,9 +22,9 @@
"devDependencies": {
"@cspell/eslint-plugin": "^8.9.1",
"@eslint/js": "8.57.0",
- "@faker-js/faker": "^9.0.1",
+ "@faker-js/faker": "^9.1.0",
"@testing-library/dom": "^10.3.1",
- "@testing-library/jest-dom": "^6.4.6",
+ "@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.0.0",
"@types/react": "^18.2.66",
"@types/react-dom": "^18.2.22",
@@ -45,9 +45,9 @@
"eslint-plugin-sonarjs": "^1.0.3",
"eslint-ts-patch": "^8.57.0-0",
"jsdom": "^25.0.0",
- "msw": "^2.4.9",
+ "msw": "^2.6.0",
"openapi-types": "^12.1.3",
- "orval": "^7.1.0",
+ "orval": "^7.2.0",
"prettier": "^3.3.2",
"typescript": "^5.6.3",
"typescript-eslint": "^8.8.1",
@@ -1520,6 +1520,22 @@
"node": ">=12"
}
},
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz",
+ "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@esbuild/openbsd-x64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz",
@@ -1691,9 +1707,9 @@
"dev": true
},
"node_modules/@faker-js/faker": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-9.0.1.tgz",
- "integrity": "sha512-4mDeYIgM3By7X6t5E6eYwLAa+2h4DeZDF7thhzIg6XB76jeEvMwadYAMCFJL/R4AnEBcAUO9+gL0vhy3s+qvZA==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-9.1.0.tgz",
+ "integrity": "sha512-GJvX9iM9PBtKScJVlXQ0tWpihK3i0pha/XAhzQa1hPK/ILLa1Wq3I63Ij7lRtqTwmdTxRCyrUhLC5Sly9SLbug==",
"dev": true,
"funding": [
{
@@ -1769,18 +1785,18 @@
"license": "BSD-3-Clause"
},
"node_modules/@ibm-cloud/openapi-ruleset": {
- "version": "1.21.1",
- "resolved": "https://registry.npmjs.org/@ibm-cloud/openapi-ruleset/-/openapi-ruleset-1.21.1.tgz",
- "integrity": "sha512-l0Sj8LkOwIGB5vABqiToW3Uvr6mwmI2Rc2QOAu2G6jKL3BtVYCAXS8adN3BOSzUUWZSaaimF3dnDYvv7HRXrSg==",
+ "version": "1.23.2",
+ "resolved": "https://registry.npmjs.org/@ibm-cloud/openapi-ruleset/-/openapi-ruleset-1.23.2.tgz",
+ "integrity": "sha512-yNdrVw9OZ8AHb1FR+o4k1ST5c+kXOKOMKYkRi1nFBtOlOuAZU+FMym9tnFa3lOS9+ePipul5DBJj3Hhd70vFpw==",
"dev": true,
"dependencies": {
- "@ibm-cloud/openapi-ruleset-utilities": "1.3.2",
- "@stoplight/spectral-formats": "^1.6.0",
- "@stoplight/spectral-functions": "^1.8.0",
- "@stoplight/spectral-rulesets": "^1.19.1",
+ "@ibm-cloud/openapi-ruleset-utilities": "1.4.0",
+ "@stoplight/spectral-formats": "^1.7.0",
+ "@stoplight/spectral-functions": "^1.9.0",
+ "@stoplight/spectral-rulesets": "^1.20.2",
"chalk": "^4.1.2",
"lodash": "^4.17.21",
- "loglevel": "^1.9.1",
+ "loglevel": "^1.9.2",
"loglevel-plugin-prefix": "0.8.4",
"minimatch": "^6.2.0",
"validator": "^13.11.0"
@@ -1790,9 +1806,9 @@
}
},
"node_modules/@ibm-cloud/openapi-ruleset-utilities": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@ibm-cloud/openapi-ruleset-utilities/-/openapi-ruleset-utilities-1.3.2.tgz",
- "integrity": "sha512-pDZ+YTawZBAMgxfGG0JeCizh7Brmz8h4WRQaJvfJaRfgfdFmp5xZ64oqvnpJQ16XjCdNMBkTB6NJCZjQzq1gpQ==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@ibm-cloud/openapi-ruleset-utilities/-/openapi-ruleset-utilities-1.4.0.tgz",
+ "integrity": "sha512-m033WjdlX3k5aSpK2iNX61hS4INEJXUpAxr1l1wBamRQklZpXE2EZKcDQ5AuqVMyz4VV9e46RTp6MAcwXh0gbA==",
"dev": true,
"engines": {
"node": ">=16.0.0"
@@ -1814,62 +1830,60 @@
}
},
"node_modules/@inquirer/confirm": {
- "version": "3.1.11",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.11.tgz",
- "integrity": "sha512-3wWw10VPxQP279FO4bzWsf8YjIAq7NdwATJ4xS2h1uwsXZu/RmtOVV95rZ7yllS1h/dzu+uLewjMAzNDEj8h2w==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.1.tgz",
+ "integrity": "sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@inquirer/core": "^8.2.4",
- "@inquirer/type": "^1.3.3"
+ "@inquirer/core": "^10.0.1",
+ "@inquirer/type": "^3.0.0"
},
"engines": {
"node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
}
},
"node_modules/@inquirer/core": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-8.2.4.tgz",
- "integrity": "sha512-7vsXSfxtrrbwMTirfaKwPcjqJy7pzeuF/bP62yo1NQrRJ5HjmMlrhZml/Ljm9ODc1RnbhJlTeSnCkjtFddKjwA==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.0.1.tgz",
+ "integrity": "sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@inquirer/figures": "^1.0.3",
- "@inquirer/type": "^1.3.3",
- "@types/mute-stream": "^0.0.4",
- "@types/node": "^20.14.9",
- "@types/wrap-ansi": "^3.0.0",
+ "@inquirer/figures": "^1.0.7",
+ "@inquirer/type": "^3.0.0",
"ansi-escapes": "^4.3.2",
- "cli-spinners": "^2.9.2",
"cli-width": "^4.1.0",
- "mute-stream": "^1.0.0",
- "picocolors": "^1.0.1",
+ "mute-stream": "^2.0.0",
"signal-exit": "^4.1.0",
"strip-ansi": "^6.0.1",
- "wrap-ansi": "^6.2.0"
+ "wrap-ansi": "^6.2.0",
+ "yoctocolors-cjs": "^2.1.2"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/figures": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.3.tgz",
- "integrity": "sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.7.tgz",
+ "integrity": "sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@inquirer/type": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.3.3.tgz",
- "integrity": "sha512-xTUt0NulylX27/zMx04ZYar/kr1raaiFTVvQ5feljQsiAgdm0WPj4S73/ye0fbslh+15QrIuDvfCXTek7pMY5A==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.0.tgz",
+ "integrity": "sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
}
},
"node_modules/@isaacs/cliui": {
@@ -2069,9 +2083,9 @@
}
},
"node_modules/@mswjs/interceptors": {
- "version": "0.35.8",
- "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.35.8.tgz",
- "integrity": "sha512-PFfqpHplKa7KMdoQdj5td03uG05VK2Ng1dG0sP4pT9h0dGSX2v9txYt/AnrzPb/vAmfyBBC0NQV7VaBEX+efgQ==",
+ "version": "0.36.7",
+ "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.36.7.tgz",
+ "integrity": "sha512-sdx02Wlus5hv6Bx7uUDb25gb0WGjCuSgnJB2LVERemoSGuqkZMe3QI6nEXhieFGtYwPrZbYrT2vPbsFN2XfbUw==",
"dev": true,
"dependencies": {
"@open-draft/deferred-promise": "^2.2.0",
@@ -2310,27 +2324,27 @@
"dev": true
},
"node_modules/@orval/angular": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@orval/angular/-/angular-7.1.0.tgz",
- "integrity": "sha512-8wWZ/nJplizPHh+PmxBm7V+qzW0rYDVqIGtZDw+eDrNLx+t2sgOGtfSSO2gARW+VuYN4l99/9kGuX4Iguh057Q==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@orval/angular/-/angular-7.2.0.tgz",
+ "integrity": "sha512-wjizqcEqu90VzYBrasfRdk4Xy7mzFN+K0ioXiC8UwCzFpNJOqNnLK6Jw09qPKP1BkwRsvYp8STquXJ5Z5DCKsg==",
"dev": true,
"dependencies": {
- "@orval/core": "7.1.0"
+ "@orval/core": "7.2.0"
}
},
"node_modules/@orval/axios": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@orval/axios/-/axios-7.1.0.tgz",
- "integrity": "sha512-qhQRbNPRTSn2vVVLHzUUOlL4Jm/vN+VslHDdoPgGV+9rRU+IH+TKvK4RYXgO11j6Wz1mMJejH7283cB9fjrudw==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@orval/axios/-/axios-7.2.0.tgz",
+ "integrity": "sha512-RnOMK3xet97h7a2oJ1g0sPv2mTFwM701a3BzNmlQFwC49oOQv2ZhKNiHlKwkTwk5C/PwblkA/WHK9wU9DtUCgw==",
"dev": true,
"dependencies": {
- "@orval/core": "7.1.0"
+ "@orval/core": "7.2.0"
}
},
"node_modules/@orval/core": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@orval/core/-/core-7.1.0.tgz",
- "integrity": "sha512-8WjNVb3V+LH6GdY2IzLszn0l9LDaAibhgg3sIGkZS9X5AFgwOJtDXfaHVqFlYWB14OMcyJiFA80KloDOudSJtQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@orval/core/-/core-7.2.0.tgz",
+ "integrity": "sha512-46BZ+1xCydgbZ7shHxdE3QGMYwhOuKAgOPiTRNZpHvCp4iUdkh64kA9PPObSfQmp5BtYZI+ADVgEue2KBUdK/A==",
"dev": true,
"dependencies": {
"@apidevtools/swagger-parser": "^10.1.0",
@@ -2340,7 +2354,7 @@
"chalk": "^4.1.2",
"compare-versions": "^6.1.0",
"debug": "^4.3.4",
- "esbuild": "^0.19.11",
+ "esbuild": "^0.24.0",
"esutils": "2.0.3",
"fs-extra": "^11.2.0",
"globby": "11.1.0",
@@ -2355,6 +2369,374 @@
"swagger2openapi": "^7.0.8"
}
},
+ "node_modules/@orval/core/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz",
+ "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/android-arm": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz",
+ "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/android-arm64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz",
+ "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/android-x64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz",
+ "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz",
+ "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/darwin-x64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz",
+ "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz",
+ "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz",
+ "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/linux-arm": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz",
+ "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/linux-arm64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz",
+ "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/linux-ia32": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz",
+ "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/linux-loong64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz",
+ "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz",
+ "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz",
+ "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz",
+ "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/linux-s390x": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz",
+ "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/linux-x64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz",
+ "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz",
+ "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz",
+ "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/sunos-x64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz",
+ "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/win32-arm64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz",
+ "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/win32-ia32": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz",
+ "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@orval/core/node_modules/@esbuild/win32-x64": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz",
+ "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@orval/core/node_modules/ajv": {
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
@@ -2371,6 +2753,45 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
+ "node_modules/@orval/core/node_modules/esbuild": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz",
+ "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.24.0",
+ "@esbuild/android-arm": "0.24.0",
+ "@esbuild/android-arm64": "0.24.0",
+ "@esbuild/android-x64": "0.24.0",
+ "@esbuild/darwin-arm64": "0.24.0",
+ "@esbuild/darwin-x64": "0.24.0",
+ "@esbuild/freebsd-arm64": "0.24.0",
+ "@esbuild/freebsd-x64": "0.24.0",
+ "@esbuild/linux-arm": "0.24.0",
+ "@esbuild/linux-arm64": "0.24.0",
+ "@esbuild/linux-ia32": "0.24.0",
+ "@esbuild/linux-loong64": "0.24.0",
+ "@esbuild/linux-mips64el": "0.24.0",
+ "@esbuild/linux-ppc64": "0.24.0",
+ "@esbuild/linux-riscv64": "0.24.0",
+ "@esbuild/linux-s390x": "0.24.0",
+ "@esbuild/linux-x64": "0.24.0",
+ "@esbuild/netbsd-x64": "0.24.0",
+ "@esbuild/openbsd-arm64": "0.24.0",
+ "@esbuild/openbsd-x64": "0.24.0",
+ "@esbuild/sunos-x64": "0.24.0",
+ "@esbuild/win32-arm64": "0.24.0",
+ "@esbuild/win32-ia32": "0.24.0",
+ "@esbuild/win32-x64": "0.24.0"
+ }
+ },
"node_modules/@orval/core/node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
@@ -2378,65 +2799,65 @@
"dev": true
},
"node_modules/@orval/fetch": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@orval/fetch/-/fetch-7.1.0.tgz",
- "integrity": "sha512-0NZoVli3FWCSFkKKe/HegGN2slhw0jmCj+XYSV7tDjaJIXT+MXLUZtUWXS+K2caiz1yyxuezT+IyJo7nF6uKDg==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@orval/fetch/-/fetch-7.2.0.tgz",
+ "integrity": "sha512-jX82Lrk10hBmRm5gbxALREn97P20IBCbwc0adXmdD1JiuxOESDiTvn3UMM0FJUQAmc7maU3+mWN6+Kr0emD88A==",
"dev": true,
"dependencies": {
- "@orval/core": "7.1.0"
+ "@orval/core": "7.2.0"
}
},
"node_modules/@orval/hono": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@orval/hono/-/hono-7.1.0.tgz",
- "integrity": "sha512-nVxw4Oez27NJVjh9893oHrSon8Vm4nfKM+Jhog7y9PXv3GC33qOYh1KdZId6K9ya5iWwzdTX64l/HT4iGv1+3Q==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@orval/hono/-/hono-7.2.0.tgz",
+ "integrity": "sha512-ENLWcpLltPueq4Ygevqne27ph4HR0T48yGbp9XiTCNPa1IfJYfmh66qaNLvAezbnJ8B1JeiYO8wKhQ9hZQTtWg==",
"dev": true,
"dependencies": {
- "@orval/core": "7.1.0",
- "@orval/zod": "7.1.0",
+ "@orval/core": "7.2.0",
+ "@orval/zod": "7.2.0",
"lodash.uniq": "^4.5.0"
}
},
"node_modules/@orval/mock": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@orval/mock/-/mock-7.1.0.tgz",
- "integrity": "sha512-ZJTYQj+PmMWA6LhCqNAbCCbBFY+XRniXRPmNnCfUiDc8TXt/l0rL2+/mzXNKw06NNRGKp5bvrB+YuNZkqeHh3w==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@orval/mock/-/mock-7.2.0.tgz",
+ "integrity": "sha512-9shlOuMUlz93m8FhYb1gJHtmQR0iixdC+262r2NTQcZ0EWKj7Rg7mnvAHCiTfSLhs9cbOpOO1T4VU5jcBQAWCA==",
"dev": true,
"dependencies": {
- "@orval/core": "7.1.0",
+ "@orval/core": "7.2.0",
"lodash.get": "^4.4.2",
"lodash.omit": "^4.5.0",
"openapi3-ts": "^4.2.2"
}
},
"node_modules/@orval/query": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@orval/query/-/query-7.1.0.tgz",
- "integrity": "sha512-JPDawV0mGYLdXCzkWieoQXpipBrsMPsj7ZM8I0e+nsDI9akl6dzjU6iSd5rbhTVz3AgMdJel6MaqYsanEP7Iag==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@orval/query/-/query-7.2.0.tgz",
+ "integrity": "sha512-XVSI/dQAPdi9RNIzTjdood7u+PRwNtyGanhN65LFhQr1jMYG1mrPZJW7vyTinHEcJRJnNXdMBdfqoOPUGmBrgQ==",
"dev": true,
"dependencies": {
- "@orval/core": "7.1.0",
- "@orval/fetch": "7.1.0",
+ "@orval/core": "7.2.0",
+ "@orval/fetch": "7.2.0",
"lodash.omitby": "^4.6.0"
}
},
"node_modules/@orval/swr": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@orval/swr/-/swr-7.1.0.tgz",
- "integrity": "sha512-fgazIpda+arhmh/xgirdkit8E0YnfwyjqGUx80cjGGzwA+e6zpnoYMgPRbFbLCheD2pxFz40Sh7OshGGKQdNXw==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@orval/swr/-/swr-7.2.0.tgz",
+ "integrity": "sha512-LbMFyUVU2RD7PLBRku8GGnktjv9QasQ8VKh996uLhlKlzgVWd1yjE1z5U9k0KKCgJPyRiH7lV3IcTSEa457gUA==",
"dev": true,
"dependencies": {
- "@orval/core": "7.1.0",
- "@orval/fetch": "7.1.0"
+ "@orval/core": "7.2.0",
+ "@orval/fetch": "7.2.0"
}
},
"node_modules/@orval/zod": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@orval/zod/-/zod-7.1.0.tgz",
- "integrity": "sha512-9IIjTyh2s8T3EAkKTd9/kevpnLhkBTEkRW0D1y4IR59UkRZDU8gC9Sb6PP/f+DBrih2nNEwlU93RKMX6uVnlZA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@orval/zod/-/zod-7.2.0.tgz",
+ "integrity": "sha512-WjJabVPrICOgj0ReLB4ooKIxVbvYtqskGcmNkXv1xiNDbgpcpYpYk9HYJ43zTN0bw3T4+8RmpvoLRgHi1TtdzQ==",
"dev": true,
"dependencies": {
- "@orval/core": "7.1.0",
+ "@orval/core": "7.2.0",
"lodash.uniq": "^4.5.0"
}
},
@@ -2738,21 +3159,21 @@
}
},
"node_modules/@stoplight/spectral-core": {
- "version": "1.18.3",
- "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.18.3.tgz",
- "integrity": "sha512-YY8x7X2SWJIhGTLPol+eFiQpWPz0D0mJdkK2i4A0QJG68KkNhypP6+JBC7/Kz3XWjqr0L/RqAd+N5cQLPOKZGQ==",
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/@stoplight/spectral-core/-/spectral-core-1.19.1.tgz",
+ "integrity": "sha512-YiWhXdjyjn4vCl3102ywzwCEJzncxapFcj4dxcj1YP/bZ62DFeGJ8cEaMP164vSw2kI3rX7EMMzI/c8XOUnTfQ==",
"dev": true,
"dependencies": {
"@stoplight/better-ajv-errors": "1.0.3",
"@stoplight/json": "~3.21.0",
"@stoplight/path": "1.3.2",
"@stoplight/spectral-parsers": "^1.0.0",
- "@stoplight/spectral-ref-resolver": "^1.0.0",
+ "@stoplight/spectral-ref-resolver": "^1.0.4",
"@stoplight/spectral-runtime": "^1.0.0",
"@stoplight/types": "~13.6.0",
"@types/es-aggregate-error": "^1.0.2",
"@types/json-schema": "^7.0.11",
- "ajv": "^8.6.0",
+ "ajv": "^8.17.1",
"ajv-errors": "~3.0.0",
"ajv-formats": "~2.1.0",
"es-aggregate-error": "^1.0.7",
@@ -2852,9 +3273,9 @@
}
},
"node_modules/@stoplight/spectral-formats": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.6.0.tgz",
- "integrity": "sha512-X27qhUfNluiduH0u/QwJqhOd8Wk5YKdxVmKM03Aijlx0AH1H5mYt3l9r7t2L4iyJrsBaFPnMGt7UYJDGxszbNA==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@stoplight/spectral-formats/-/spectral-formats-1.7.0.tgz",
+ "integrity": "sha512-vJ1vIkA2s96fdJp0d3AJBGuPAW3sj8yMamyzR+dquEFO6ZAoYBo/BVsKKQskYzZi/nwljlRqUmGVmcf2PncIaA==",
"dev": true,
"dependencies": {
"@stoplight/json": "^3.17.0",
@@ -2867,17 +3288,17 @@
}
},
"node_modules/@stoplight/spectral-functions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.8.0.tgz",
- "integrity": "sha512-ZrAkYA/ZGbuQ6EyG1gisF4yQ5nWP/+glcqVoGmS6kH6ekaynz2Yp6FL0oIamWj3rWedFUN7ppwTRUdo+9f/uCw==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@stoplight/spectral-functions/-/spectral-functions-1.9.0.tgz",
+ "integrity": "sha512-T+xl93ji8bpus4wUsTq8Qr2DSu2X9PO727rbxW61tTCG0s17CbsXOLYI+Ezjg5P6aaQlgXszGX8khtc57xk8Yw==",
"dev": true,
"dependencies": {
"@stoplight/better-ajv-errors": "1.0.3",
"@stoplight/json": "^3.17.1",
"@stoplight/spectral-core": "^1.7.0",
- "@stoplight/spectral-formats": "^1.0.0",
+ "@stoplight/spectral-formats": "^1.7.0",
"@stoplight/spectral-runtime": "^1.1.0",
- "ajv": "^8.6.3",
+ "ajv": "^8.17.1",
"ajv-draft-04": "~1.0.0",
"ajv-errors": "~3.0.0",
"ajv-formats": "~2.1.0",
@@ -2994,21 +3415,21 @@
}
},
"node_modules/@stoplight/spectral-rulesets": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/@stoplight/spectral-rulesets/-/spectral-rulesets-1.19.1.tgz",
- "integrity": "sha512-rfGK87Y1JJCEeLC8MVdLkjUkRH+Y6VnSF388D+UWihfU9xuq2eNB9phWpTFkG+AG4HLRyGx963BmO6PyM9dBag==",
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/@stoplight/spectral-rulesets/-/spectral-rulesets-1.20.2.tgz",
+ "integrity": "sha512-7Y8orZuNyGyeHr9n50rMfysgUJ+/zzIEHMptt66jiy82GUWl+0nr865DkMuXdC5GryfDYhtjoRTUCVsXu80Nkg==",
"dev": true,
"dependencies": {
"@asyncapi/specs": "^4.1.0",
"@stoplight/better-ajv-errors": "1.0.3",
"@stoplight/json": "^3.17.0",
"@stoplight/spectral-core": "^1.8.1",
- "@stoplight/spectral-formats": "^1.5.0",
+ "@stoplight/spectral-formats": "^1.7.0",
"@stoplight/spectral-functions": "^1.5.1",
"@stoplight/spectral-runtime": "^1.1.1",
"@stoplight/types": "^13.6.0",
"@types/json-schema": "^7.0.7",
- "ajv": "^8.12.0",
+ "ajv": "^8.17.1",
"ajv-formats": "~2.1.0",
"json-schema-traverse": "^1.0.0",
"leven": "3.1.0",
@@ -3430,14 +3851,12 @@
}
},
"node_modules/@testing-library/jest-dom": {
- "version": "6.4.6",
- "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.6.tgz",
- "integrity": "sha512-8qpnGVincVDLEcQXWaHOf6zmlbwTKc6Us6PPu4CRnPXCzo2OGBS5cwgMMOWdxDpEz1mkbvXHpEy99M5Yvt682w==",
+ "version": "6.6.3",
+ "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz",
+ "integrity": "sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@adobe/css-tools": "^4.4.0",
- "@babel/runtime": "^7.9.2",
"aria-query": "^5.0.0",
"chalk": "^3.0.0",
"css.escape": "^1.5.1",
@@ -3449,30 +3868,6 @@
"node": ">=14",
"npm": ">=6",
"yarn": ">=1"
- },
- "peerDependencies": {
- "@jest/globals": ">= 28",
- "@types/bun": "latest",
- "@types/jest": ">= 28",
- "jest": ">= 28",
- "vitest": ">= 0.32"
- },
- "peerDependenciesMeta": {
- "@jest/globals": {
- "optional": true
- },
- "@types/bun": {
- "optional": true
- },
- "@types/jest": {
- "optional": true
- },
- "jest": {
- "optional": true
- },
- "vitest": {
- "optional": true
- }
}
},
"node_modules/@testing-library/jest-dom/node_modules/chalk": {
@@ -3578,16 +3973,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/mute-stream": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz",
- "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@types/node": {
"version": "20.14.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz",
@@ -3645,13 +4030,6 @@
"integrity": "sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg==",
"dev": true
},
- "node_modules/@types/wrap-ansi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz",
- "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "7.18.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz",
@@ -4192,7 +4570,6 @@
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"type-fest": "^0.21.3"
},
@@ -4208,7 +4585,6 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
"dev": true,
- "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
},
@@ -4242,20 +4618,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/are-docs-informative": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz",
@@ -4485,19 +4847,6 @@
"dev": true,
"license": "Apache-2.0"
},
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
@@ -4668,41 +5017,18 @@
}
},
"node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
+ "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
+ "readdirp": "^4.0.1"
},
"engines": {
- "node": ">= 8.10.0"
+ "node": ">= 14.16.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
}
},
"node_modules/clear-module": {
@@ -4722,25 +5048,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/cli-spinners": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
- "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/cli-width": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
"integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
"dev": true,
- "license": "ISC",
"engines": {
"node": ">= 12"
}
@@ -6319,9 +6631,9 @@
"dev": true
},
"node_modules/fast-uri": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz",
- "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz",
+ "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==",
"dev": true
},
"node_modules/fastq": {
@@ -7155,19 +7467,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/is-boolean-object": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
@@ -8056,17 +8355,18 @@
"dev": true
},
"node_modules/msw": {
- "version": "2.4.9",
- "resolved": "https://registry.npmjs.org/msw/-/msw-2.4.9.tgz",
- "integrity": "sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/msw/-/msw-2.6.0.tgz",
+ "integrity": "sha512-n3tx2w0MZ3H4pxY0ozrQ4sNPzK/dGtlr2cIIyuEsgq2Bhy4wvcW6ZH2w/gXM9+MEUY6HC1fWhqtcXDxVZr5Jxw==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
"@bundled-es-modules/cookie": "^2.0.0",
"@bundled-es-modules/statuses": "^1.0.1",
"@bundled-es-modules/tough-cookie": "^0.1.6",
- "@inquirer/confirm": "^3.0.0",
- "@mswjs/interceptors": "^0.35.8",
+ "@inquirer/confirm": "^5.0.0",
+ "@mswjs/interceptors": "^0.36.5",
+ "@open-draft/deferred-promise": "^2.2.0",
"@open-draft/until": "^2.1.0",
"@types/cookie": "^0.6.0",
"@types/statuses": "^2.0.4",
@@ -8074,10 +8374,10 @@
"graphql": "^16.8.1",
"headers-polyfill": "^4.0.2",
"is-node-process": "^1.2.0",
- "outvariant": "^1.4.2",
+ "outvariant": "^1.4.3",
"path-to-regexp": "^6.3.0",
"strict-event-emitter": "^0.5.1",
- "type-fest": "^4.9.0",
+ "type-fest": "^4.26.1",
"yargs": "^17.7.2"
},
"bin": {
@@ -8099,11 +8399,10 @@
}
},
"node_modules/msw/node_modules/type-fest": {
- "version": "4.20.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.1.tgz",
- "integrity": "sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==",
+ "version": "4.26.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz",
+ "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==",
"dev": true,
- "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=16"
},
@@ -8112,13 +8411,12 @@
}
},
"node_modules/mute-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
- "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
+ "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
"dev": true,
- "license": "ISC",
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/nanoid": {
@@ -8251,16 +8549,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/npm-run-path": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -8532,25 +8820,25 @@
}
},
"node_modules/orval": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/orval/-/orval-7.1.0.tgz",
- "integrity": "sha512-e7t2FVJvAEo5NvUGx6cV4K6lqPtJnU0gHLApy/v53cYxOl/foCNPuFi43Mrj9XyHTfE1HSmi00OZ9sfVC2H5Fg==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/orval/-/orval-7.2.0.tgz",
+ "integrity": "sha512-4cXVNXnw5yS9+JRLlgpIkbKgBY8NXaOY6NVbUM8SNAPppUCbfU566tPrVbmcFmz6bHMniQfEzxQW8FcbgwuEiQ==",
"dev": true,
"dependencies": {
"@apidevtools/swagger-parser": "^10.1.0",
- "@orval/angular": "7.1.0",
- "@orval/axios": "7.1.0",
- "@orval/core": "7.1.0",
- "@orval/fetch": "7.1.0",
- "@orval/hono": "7.1.0",
- "@orval/mock": "7.1.0",
- "@orval/query": "7.1.0",
- "@orval/swr": "7.1.0",
- "@orval/zod": "7.1.0",
+ "@orval/angular": "7.2.0",
+ "@orval/axios": "7.2.0",
+ "@orval/core": "7.2.0",
+ "@orval/fetch": "7.2.0",
+ "@orval/hono": "7.2.0",
+ "@orval/mock": "7.2.0",
+ "@orval/query": "7.2.0",
+ "@orval/swr": "7.2.0",
+ "@orval/zod": "7.2.0",
"ajv": "^8.12.0",
"cac": "^6.7.14",
"chalk": "^4.1.2",
- "chokidar": "^3.6.0",
+ "chokidar": "^4.0.1",
"enquirer": "^2.4.1",
"execa": "^5.1.1",
"find-up": "5.0.0",
@@ -9006,16 +9294,16 @@
}
},
"node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz",
+ "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
"engines": {
- "node": ">=8.10.0"
+ "node": ">= 14.16.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
}
},
"node_modules/redent": {
@@ -11342,7 +11630,6 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -11500,6 +11787,18 @@
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
+ },
+ "node_modules/yoctocolors-cjs": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz",
+ "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
}
}
}
diff --git a/src/frontend/package.json b/src/frontend/package.json
index dbff47c..34b5731 100644
--- a/src/frontend/package.json
+++ b/src/frontend/package.json
@@ -31,9 +31,9 @@
"devDependencies": {
"@cspell/eslint-plugin": "^8.9.1",
"@eslint/js": "8.57.0",
- "@faker-js/faker": "^9.0.1",
+ "@faker-js/faker": "^9.1.0",
"@testing-library/dom": "^10.3.1",
- "@testing-library/jest-dom": "^6.4.6",
+ "@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.0.0",
"@types/react": "^18.2.66",
"@types/react-dom": "^18.2.22",
@@ -54,9 +54,9 @@
"eslint-plugin-sonarjs": "^1.0.3",
"eslint-ts-patch": "^8.57.0-0",
"jsdom": "^25.0.0",
- "msw": "^2.4.9",
+ "msw": "^2.6.0",
"openapi-types": "^12.1.3",
- "orval": "^7.1.0",
+ "orval": "^7.2.0",
"prettier": "^3.3.2",
"typescript": "^5.6.3",
"typescript-eslint": "^8.8.1",