From 8eb0e8d84f1b06a695600f328b86ad211bdddc6d Mon Sep 17 00:00:00 2001
From: Matteo Gregoricchio <32459930+followynne@users.noreply.github.com>
Date: Mon, 29 Jan 2024 23:20:53 +0100
Subject: [PATCH] chore: release serilog-ui 2.6.0 (#110)
---
samples/SampleWebApp/SampleWebApp.csproj | 1 +
src/Serilog.Ui.Core/AggregateDataProvider.cs | 37 +-
.../RelationalDbOptionsExtensions.cs | 9 +
src/Serilog.Ui.Core/Models/LogModel.cs | 24 ++
.../OptionsBuilder/RelationalDbOptions.cs | 12 +
.../OptionsBuilder/SerilogUiOptionsBuilder.cs | 8 +
src/Serilog.Ui.Core/Serilog.Ui.Core.csproj | 2 +-
.../Serilog.Ui.ElasticSearchProvider.csproj | 2 +-
.../Serilog.Ui.MongoDbProvider.csproj | 2 +-
.../package-lock.json | 6 +
.../Serilog.Ui.MySqlProvider.csproj | 6 +-
.../Extensions/PostgreSqlDbOptions.cs | 4 +
.../Extensions/PostgreSqlSinkType.cs | 13 +-
.../PostgreDataProvider.cs | 3 +
.../Serilog.Ui.PostgreSqlProvider.csproj | 2 +-
.../Endpoints/SerilogUiEndpoints.cs | 2 +-
.../Extensions/ServiceCollectionExtensions.cs | 2 +-
src/Serilog.Ui.Web/Serilog.Ui.Web.csproj | 5 +-
src/Serilog.Ui.Web/package-lock.json | 376 +++++++++---------
src/Serilog.Ui.Web/package.json | 7 +-
.../DataSamples/MongoDbLogModelFaker.cs | 6 +-
.../TestSuites/Impl/IntegrationSearchTests.cs | 5 +-
.../SerilogUiOptionBuilderExtensionsTest.cs | 4 +-
.../DataProvider/QueryBuilderTests.cs | 56 ++-
.../BasicAuthenticationFilterTests.cs | 11 +-
.../Serilog.Ui.Web.Tests.csproj | 1 +
26 files changed, 367 insertions(+), 239 deletions(-)
create mode 100644 src/Serilog.Ui.MsSqlServerProvider/package-lock.json
diff --git a/samples/SampleWebApp/SampleWebApp.csproj b/samples/SampleWebApp/SampleWebApp.csproj
index 925b7214..897bd2ed 100644
--- a/samples/SampleWebApp/SampleWebApp.csproj
+++ b/samples/SampleWebApp/SampleWebApp.csproj
@@ -30,6 +30,7 @@
+
diff --git a/src/Serilog.Ui.Core/AggregateDataProvider.cs b/src/Serilog.Ui.Core/AggregateDataProvider.cs
index 48208668..5eda60b9 100644
--- a/src/Serilog.Ui.Core/AggregateDataProvider.cs
+++ b/src/Serilog.Ui.Core/AggregateDataProvider.cs
@@ -2,21 +2,26 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
+using Ardalis.GuardClauses;
namespace Serilog.Ui.Core
{
///
- /// Aggregates multiple into one instance.
+ /// Aggregates multiple into one instance.
///
public class AggregateDataProvider : IDataProvider
{
- private IDataProvider _selectedDataProvider;
- private readonly Dictionary _dataProviders = new Dictionary();
+ private readonly Dictionary _dataProviders = new();
+ ///
+ /// It creates an instance of .
+ ///
+ /// IEnumerable of providers.
+ /// when is null
+ /// when is empty
public AggregateDataProvider(IEnumerable dataProviders)
{
- if (dataProviders == null)
- throw new ArgumentNullException(nameof(dataProviders));
+ Guard.Against.NullOrEmpty(dataProviders, nameof(dataProviders));
foreach (var grouped in dataProviders.GroupBy(dp => dp.Name, p => p, (k, e) => e.ToList()))
{
@@ -39,25 +44,33 @@ public AggregateDataProvider(IEnumerable dataProviders)
}
}
- _selectedDataProvider = _dataProviders.First(c => true).Value;
+ SelectedDataProvider = _dataProviders.First().Value;
}
///
- /// NOTE We assume only one Aggregate provider, so
- /// the name is static.
+ ///
+ /// NOTE: We assume only one Aggregate provider, so the name is static.
///
public string Name => nameof(AggregateDataProvider);
///
- /// If there is only one data provider, this is it. If there are multiple, this is the
- /// current data provider.
+ /// If there is only one data provider, this is it.
+ /// If there are multiple, this is the current data provider.
///
- public IDataProvider SelectedDataProvider => _selectedDataProvider;
+ private IDataProvider SelectedDataProvider { get; set; }
- public void SwitchToProvider(string key) => _selectedDataProvider = _dataProviders[key];
+ ///
+ /// Switch active data provider by key.
+ ///
+ /// Data provider key
+ public void SwitchToProvider(string key) => SelectedDataProvider = _dataProviders[key];
+ ///
+ /// Existing data providers keys.
+ ///
public IEnumerable Keys => _dataProviders.Keys;
+ ///
public Task<(IEnumerable, int)> FetchDataAsync(
int page,
int count,
diff --git a/src/Serilog.Ui.Core/Extensions/RelationalDbOptionsExtensions.cs b/src/Serilog.Ui.Core/Extensions/RelationalDbOptionsExtensions.cs
index c56bcd28..7b0042c8 100644
--- a/src/Serilog.Ui.Core/Extensions/RelationalDbOptionsExtensions.cs
+++ b/src/Serilog.Ui.Core/Extensions/RelationalDbOptionsExtensions.cs
@@ -1,7 +1,16 @@
namespace Serilog.Ui.Core
{
+ ///
+ /// Relational Db Options extensions.
+ ///
public static class RelationalDbOptionsExtensions
{
+ ///
+ /// Generates a complete data provider name, by using its properties.
+ ///
+ ///
+ /// Data provider name.
+ ///
public static string ToDataProviderName(this RelationalDbOptions options, string providerName)
=> string.Join(".", providerName, options.Schema, options.TableName);
}
diff --git a/src/Serilog.Ui.Core/Models/LogModel.cs b/src/Serilog.Ui.Core/Models/LogModel.cs
index 608aa2d1..bc9a0b20 100644
--- a/src/Serilog.Ui.Core/Models/LogModel.cs
+++ b/src/Serilog.Ui.Core/Models/LogModel.cs
@@ -2,20 +2,44 @@
namespace Serilog.Ui.Core
{
+ ///
+ /// Log Model class.
+ ///
public class LogModel
{
+ ///
+ /// It gets or sets RowNo.
+ ///
public virtual int RowNo { get; set; }
+ ///
+ /// It gets or sets Level.
+ ///
public virtual string Level { get; set; }
+ ///
+ /// It gets or sets Message.
+ ///
public virtual string Message { get; set; }
+ ///
+ /// It gets or sets Timestamp.
+ ///
public virtual DateTime Timestamp { get; set; }
+ ///
+ /// It gets or sets Exception.
+ ///
public virtual string Exception { get; set; }
+ ///
+ /// It gets or sets Properties.
+ ///
public virtual string Properties { get; set; }
+ ///
+ /// It gets or sets PropertyType.
+ ///
public virtual string PropertyType { get; set; }
}
}
\ No newline at end of file
diff --git a/src/Serilog.Ui.Core/OptionsBuilder/RelationalDbOptions.cs b/src/Serilog.Ui.Core/OptionsBuilder/RelationalDbOptions.cs
index 99d06763..4c17e11b 100644
--- a/src/Serilog.Ui.Core/OptionsBuilder/RelationalDbOptions.cs
+++ b/src/Serilog.Ui.Core/OptionsBuilder/RelationalDbOptions.cs
@@ -1,11 +1,23 @@
namespace Serilog.Ui.Core
{
+ ///
+ /// RelationDbOptions class
+ ///
public class RelationalDbOptions
{
+ ///
+ /// It gets or sets ConnectionString.
+ ///
public string ConnectionString { get; set; }
+ ///
+ /// It gets or sets TableName.
+ ///
public string TableName { get; set; }
+ ///
+ /// It gets or sets Schema.
+ ///
public string Schema { get; set; }
}
}
\ No newline at end of file
diff --git a/src/Serilog.Ui.Core/OptionsBuilder/SerilogUiOptionsBuilder.cs b/src/Serilog.Ui.Core/OptionsBuilder/SerilogUiOptionsBuilder.cs
index 505a9ac9..5ff565c1 100644
--- a/src/Serilog.Ui.Core/OptionsBuilder/SerilogUiOptionsBuilder.cs
+++ b/src/Serilog.Ui.Core/OptionsBuilder/SerilogUiOptionsBuilder.cs
@@ -2,10 +2,18 @@
namespace Serilog.Ui.Core
{
+ ///
+ /// SerilogUi OptionsBuilder class, used during app services registration.
+ /// Implements .
+ ///
public class SerilogUiOptionsBuilder : ISerilogUiOptionsBuilder
{
private readonly IServiceCollection _services;
+ ///
+ /// It creates an instance of .
+ ///
+ /// Service collection.
public SerilogUiOptionsBuilder(IServiceCollection services)
{
_services = services;
diff --git a/src/Serilog.Ui.Core/Serilog.Ui.Core.csproj b/src/Serilog.Ui.Core/Serilog.Ui.Core.csproj
index 81cb1365..d860c047 100644
--- a/src/Serilog.Ui.Core/Serilog.Ui.Core.csproj
+++ b/src/Serilog.Ui.Core/Serilog.Ui.Core.csproj
@@ -3,7 +3,7 @@
netstandard2.0
True
latest
- 2.5.0
+ 2.6.0
diff --git a/src/Serilog.Ui.ElasticSearchProvider/Serilog.Ui.ElasticSearchProvider.csproj b/src/Serilog.Ui.ElasticSearchProvider/Serilog.Ui.ElasticSearchProvider.csproj
index df5193a2..1784c646 100644
--- a/src/Serilog.Ui.ElasticSearchProvider/Serilog.Ui.ElasticSearchProvider.csproj
+++ b/src/Serilog.Ui.ElasticSearchProvider/Serilog.Ui.ElasticSearchProvider.csproj
@@ -12,6 +12,6 @@
-
+
\ No newline at end of file
diff --git a/src/Serilog.Ui.MongoDbProvider/Serilog.Ui.MongoDbProvider.csproj b/src/Serilog.Ui.MongoDbProvider/Serilog.Ui.MongoDbProvider.csproj
index de60b6d9..631bbb3a 100644
--- a/src/Serilog.Ui.MongoDbProvider/Serilog.Ui.MongoDbProvider.csproj
+++ b/src/Serilog.Ui.MongoDbProvider/Serilog.Ui.MongoDbProvider.csproj
@@ -13,6 +13,6 @@
-
+
\ No newline at end of file
diff --git a/src/Serilog.Ui.MsSqlServerProvider/package-lock.json b/src/Serilog.Ui.MsSqlServerProvider/package-lock.json
new file mode 100644
index 00000000..6390b5ee
--- /dev/null
+++ b/src/Serilog.Ui.MsSqlServerProvider/package-lock.json
@@ -0,0 +1,6 @@
+{
+ "name": "Serilog.Ui.MsSqlServerProvider",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {}
+}
diff --git a/src/Serilog.Ui.MySqlProvider/Serilog.Ui.MySqlProvider.csproj b/src/Serilog.Ui.MySqlProvider/Serilog.Ui.MySqlProvider.csproj
index 9ac5aa7f..f223b848 100644
--- a/src/Serilog.Ui.MySqlProvider/Serilog.Ui.MySqlProvider.csproj
+++ b/src/Serilog.Ui.MySqlProvider/Serilog.Ui.MySqlProvider.csproj
@@ -2,8 +2,8 @@
netstandard2.0
- latest
- 2.2.1
+ latest
+ 2.2.1
@@ -12,6 +12,6 @@
-
+
\ No newline at end of file
diff --git a/src/Serilog.Ui.PostgreSqlProvider/Extensions/PostgreSqlDbOptions.cs b/src/Serilog.Ui.PostgreSqlProvider/Extensions/PostgreSqlDbOptions.cs
index 1170c2a5..6aee1604 100644
--- a/src/Serilog.Ui.PostgreSqlProvider/Extensions/PostgreSqlDbOptions.cs
+++ b/src/Serilog.Ui.PostgreSqlProvider/Extensions/PostgreSqlDbOptions.cs
@@ -2,7 +2,11 @@
namespace Serilog.Ui.PostgreSqlProvider;
+/// - Postgres implementation
public class PostgreSqlDbOptions : RelationalDbOptions
{
+ ///
+ /// It gets or sets SinkType.
+ ///
public PostgreSqlSinkType SinkType { get; set; }
}
\ No newline at end of file
diff --git a/src/Serilog.Ui.PostgreSqlProvider/Extensions/PostgreSqlSinkType.cs b/src/Serilog.Ui.PostgreSqlProvider/Extensions/PostgreSqlSinkType.cs
index 74046dcc..55c6641b 100644
--- a/src/Serilog.Ui.PostgreSqlProvider/Extensions/PostgreSqlSinkType.cs
+++ b/src/Serilog.Ui.PostgreSqlProvider/Extensions/PostgreSqlSinkType.cs
@@ -1,8 +1,17 @@
-namespace Serilog.Ui.PostgreSqlProvider;
+// ReSharper disable InconsistentNaming
+namespace Serilog.Ui.PostgreSqlProvider;
+///
+/// Available Postgres sink types.
+///
public enum PostgreSqlSinkType
{
+ ///
+ /// Sink
+ ///
SerilogSinksPostgreSQL,
-
+ ///
+ /// Sink
+ ///
SerilogSinksPostgreSQLAlternative
}
\ No newline at end of file
diff --git a/src/Serilog.Ui.PostgreSqlProvider/PostgreDataProvider.cs b/src/Serilog.Ui.PostgreSqlProvider/PostgreDataProvider.cs
index d5226b83..fa9ef667 100644
--- a/src/Serilog.Ui.PostgreSqlProvider/PostgreDataProvider.cs
+++ b/src/Serilog.Ui.PostgreSqlProvider/PostgreDataProvider.cs
@@ -10,10 +10,13 @@
namespace Serilog.Ui.PostgreSqlProvider;
+///
public class PostgresDataProvider(PostgreSqlDbOptions options) : IDataProvider
{
+ ///
public string Name => options.ToDataProviderName("NPGSQL");
+ ///
public async Task<(IEnumerable, int)> FetchDataAsync(
int page,
int count,
diff --git a/src/Serilog.Ui.PostgreSqlProvider/Serilog.Ui.PostgreSqlProvider.csproj b/src/Serilog.Ui.PostgreSqlProvider/Serilog.Ui.PostgreSqlProvider.csproj
index 3123747e..59c5cb6c 100644
--- a/src/Serilog.Ui.PostgreSqlProvider/Serilog.Ui.PostgreSqlProvider.csproj
+++ b/src/Serilog.Ui.PostgreSqlProvider/Serilog.Ui.PostgreSqlProvider.csproj
@@ -13,7 +13,7 @@
-
+
\ No newline at end of file
diff --git a/src/Serilog.Ui.Web/Endpoints/SerilogUiEndpoints.cs b/src/Serilog.Ui.Web/Endpoints/SerilogUiEndpoints.cs
index 1771c048..6a239a58 100644
--- a/src/Serilog.Ui.Web/Endpoints/SerilogUiEndpoints.cs
+++ b/src/Serilog.Ui.Web/Endpoints/SerilogUiEndpoints.cs
@@ -122,7 +122,7 @@ private static (int currPage, int count, string dbKey, string level, string text
///
private Task OnError(HttpContext httpContext, Exception ex)
{
- _logger.LogError(ex, "@Message", ex.Message);
+ _logger.LogError(ex, "{Message}", ex.Message);
httpContext.Response.StatusCode = (int) HttpStatusCode.InternalServerError;
httpContext.Response.ContentType = "application/problem+json";
diff --git a/src/Serilog.Ui.Web/Extensions/ServiceCollectionExtensions.cs b/src/Serilog.Ui.Web/Extensions/ServiceCollectionExtensions.cs
index fb063cd9..3fb1f287 100644
--- a/src/Serilog.Ui.Web/Extensions/ServiceCollectionExtensions.cs
+++ b/src/Serilog.Ui.Web/Extensions/ServiceCollectionExtensions.cs
@@ -40,7 +40,7 @@ public static IServiceCollection AddSerilogUi(this IServiceCollection services,
services.AddScoped();
services.Decorate();
- services.TryAddScoped(typeof(AggregateDataProvider));
+ services.TryAddScoped();
return services;
}
diff --git a/src/Serilog.Ui.Web/Serilog.Ui.Web.csproj b/src/Serilog.Ui.Web/Serilog.Ui.Web.csproj
index 99f3db45..0cdbdd10 100644
--- a/src/Serilog.Ui.Web/Serilog.Ui.Web.csproj
+++ b/src/Serilog.Ui.Web/Serilog.Ui.Web.csproj
@@ -1,9 +1,10 @@
+ Serilog.UI
netcoreapp3.1;net5.0;net6.0;net7.0
latest
- 2.5.1
+ 2.6.0
@@ -15,7 +16,7 @@
-
+
diff --git a/src/Serilog.Ui.Web/package-lock.json b/src/Serilog.Ui.Web/package-lock.json
index 54c63141..1b687eea 100644
--- a/src/Serilog.Ui.Web/package-lock.json
+++ b/src/Serilog.Ui.Web/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "serilog-ui",
- "version": "1.0.0",
+ "version": "2.6.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "serilog-ui",
- "version": "1.0.0",
+ "version": "2.6.0",
"dependencies": {
"@fortawesome/fontawesome-free": "^6.5.1",
"bootstrap": "4.5.3",
@@ -24,7 +24,7 @@
"@types/jest": "^29.5.1",
"@types/jquery": "^3.5.16",
"@types/jsdom": "^21.1.1",
- "@types/node": "^20.11.0",
+ "@types/node": "^20.11.9",
"@types/parcel-bundler": "^1.12.5",
"grunt": "^1.6.1",
"grunt-contrib-clean": "^2.0.1",
@@ -40,12 +40,15 @@
"ts-jest": "^29.1.0",
"typescript": "^5.0.4",
"whatwg-fetch": "^3.6.2"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-linux-x64-glibc": "^2.4.0"
}
},
"node_modules/@adobe/css-tools": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz",
- "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz",
+ "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==",
"dev": true
},
"node_modules/@ampproject/remapping": {
@@ -146,9 +149,9 @@
}
},
"node_modules/@babel/core": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz",
- "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==",
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz",
+ "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "^2.2.0",
@@ -156,11 +159,11 @@
"@babel/generator": "^7.23.6",
"@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-module-transforms": "^7.23.3",
- "@babel/helpers": "^7.23.7",
- "@babel/parser": "^7.23.6",
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.7",
- "@babel/types": "^7.23.6",
+ "@babel/helpers": "^7.23.9",
+ "@babel/parser": "^7.23.9",
+ "@babel/template": "^7.23.9",
+ "@babel/traverse": "^7.23.9",
+ "@babel/types": "^7.23.9",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -332,14 +335,14 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz",
- "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==",
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz",
+ "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.7",
- "@babel/types": "^7.23.6"
+ "@babel/template": "^7.23.9",
+ "@babel/traverse": "^7.23.9",
+ "@babel/types": "^7.23.9"
},
"engines": {
"node": ">=6.9.0"
@@ -422,9 +425,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
- "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz",
+ "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@@ -611,9 +614,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz",
- "integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==",
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz",
+ "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -622,23 +625,23 @@
}
},
"node_modules/@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz",
+ "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
+ "@babel/code-frame": "^7.23.5",
+ "@babel/parser": "^7.23.9",
+ "@babel/types": "^7.23.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz",
- "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz",
+ "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.23.5",
@@ -647,8 +650,8 @@
"@babel/helper-function-name": "^7.23.0",
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.23.6",
- "@babel/types": "^7.23.6",
+ "@babel/parser": "^7.23.9",
+ "@babel/types": "^7.23.9",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -657,9 +660,9 @@
}
},
"node_modules/@babel/types": {
- "version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
- "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz",
+ "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.23.4",
@@ -1069,9 +1072,9 @@
"dev": true
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.20",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
- "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
+ "version": "0.3.22",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
+ "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
"dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
@@ -1079,15 +1082,15 @@
}
},
"node_modules/@lezer/common": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.0.tgz",
- "integrity": "sha512-Wmvlm4q6tRpwiy20TnB3yyLTZim38Tkc50dPY8biQRwqE+ati/wD84rm3N15hikvdT4uSg9phs9ubjvcLmkpKg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz",
+ "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==",
"dev": true
},
"node_modules/@lezer/lr": {
- "version": "1.3.14",
- "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.14.tgz",
- "integrity": "sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.0.tgz",
+ "integrity": "sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==",
"dev": true,
"dependencies": {
"@lezer/common": "^1.0.0"
@@ -2572,9 +2575,9 @@
}
},
"node_modules/@parcel/watcher": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.3.0.tgz",
- "integrity": "sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.0.tgz",
+ "integrity": "sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -2591,24 +2594,24 @@
"url": "https://opencollective.com/parcel"
},
"optionalDependencies": {
- "@parcel/watcher-android-arm64": "2.3.0",
- "@parcel/watcher-darwin-arm64": "2.3.0",
- "@parcel/watcher-darwin-x64": "2.3.0",
- "@parcel/watcher-freebsd-x64": "2.3.0",
- "@parcel/watcher-linux-arm-glibc": "2.3.0",
- "@parcel/watcher-linux-arm64-glibc": "2.3.0",
- "@parcel/watcher-linux-arm64-musl": "2.3.0",
- "@parcel/watcher-linux-x64-glibc": "2.3.0",
- "@parcel/watcher-linux-x64-musl": "2.3.0",
- "@parcel/watcher-win32-arm64": "2.3.0",
- "@parcel/watcher-win32-ia32": "2.3.0",
- "@parcel/watcher-win32-x64": "2.3.0"
+ "@parcel/watcher-android-arm64": "2.4.0",
+ "@parcel/watcher-darwin-arm64": "2.4.0",
+ "@parcel/watcher-darwin-x64": "2.4.0",
+ "@parcel/watcher-freebsd-x64": "2.4.0",
+ "@parcel/watcher-linux-arm-glibc": "2.4.0",
+ "@parcel/watcher-linux-arm64-glibc": "2.4.0",
+ "@parcel/watcher-linux-arm64-musl": "2.4.0",
+ "@parcel/watcher-linux-x64-glibc": "2.4.0",
+ "@parcel/watcher-linux-x64-musl": "2.4.0",
+ "@parcel/watcher-win32-arm64": "2.4.0",
+ "@parcel/watcher-win32-ia32": "2.4.0",
+ "@parcel/watcher-win32-x64": "2.4.0"
}
},
"node_modules/@parcel/watcher-android-arm64": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz",
- "integrity": "sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz",
+ "integrity": "sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==",
"cpu": [
"arm64"
],
@@ -2626,9 +2629,9 @@
}
},
"node_modules/@parcel/watcher-darwin-arm64": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz",
- "integrity": "sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.0.tgz",
+ "integrity": "sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==",
"cpu": [
"arm64"
],
@@ -2646,9 +2649,9 @@
}
},
"node_modules/@parcel/watcher-darwin-x64": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz",
- "integrity": "sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz",
+ "integrity": "sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==",
"cpu": [
"x64"
],
@@ -2666,9 +2669,9 @@
}
},
"node_modules/@parcel/watcher-freebsd-x64": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz",
- "integrity": "sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz",
+ "integrity": "sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==",
"cpu": [
"x64"
],
@@ -2686,9 +2689,9 @@
}
},
"node_modules/@parcel/watcher-linux-arm-glibc": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz",
- "integrity": "sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz",
+ "integrity": "sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==",
"cpu": [
"arm"
],
@@ -2706,9 +2709,9 @@
}
},
"node_modules/@parcel/watcher-linux-arm64-glibc": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz",
- "integrity": "sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz",
+ "integrity": "sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==",
"cpu": [
"arm64"
],
@@ -2726,9 +2729,9 @@
}
},
"node_modules/@parcel/watcher-linux-arm64-musl": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz",
- "integrity": "sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz",
+ "integrity": "sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==",
"cpu": [
"arm64"
],
@@ -2746,13 +2749,12 @@
}
},
"node_modules/@parcel/watcher-linux-x64-glibc": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz",
- "integrity": "sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz",
+ "integrity": "sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==",
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -2766,9 +2768,9 @@
}
},
"node_modules/@parcel/watcher-linux-x64-musl": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz",
- "integrity": "sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz",
+ "integrity": "sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==",
"cpu": [
"x64"
],
@@ -2786,9 +2788,9 @@
}
},
"node_modules/@parcel/watcher-win32-arm64": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz",
- "integrity": "sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz",
+ "integrity": "sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==",
"cpu": [
"arm64"
],
@@ -2806,9 +2808,9 @@
}
},
"node_modules/@parcel/watcher-win32-ia32": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz",
- "integrity": "sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz",
+ "integrity": "sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==",
"cpu": [
"ia32"
],
@@ -2826,9 +2828,9 @@
}
},
"node_modules/@parcel/watcher-win32-x64": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz",
- "integrity": "sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz",
+ "integrity": "sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==",
"cpu": [
"x64"
],
@@ -2886,9 +2888,9 @@
"dev": true
},
"node_modules/@sinonjs/commons": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
- "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+ "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
"dev": true,
"dependencies": {
"type-detect": "4.0.8"
@@ -3070,9 +3072,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "4.17.41",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz",
- "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==",
+ "version": "4.17.42",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.42.tgz",
+ "integrity": "sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==",
"dev": true,
"dependencies": {
"@types/node": "*",
@@ -3201,9 +3203,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "20.11.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz",
- "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==",
+ "version": "20.11.9",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.9.tgz",
+ "integrity": "sha512-CQXNuMoS/VcoAMISe5pm4JnEd1Br5jildbQEToEMQvutmv+EaQr90ry9raiudgpyDuqFiV9e4rnjSfLNq12M5w==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
@@ -3349,9 +3351,9 @@
}
},
"node_modules/acorn-walk": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz",
- "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==",
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
+ "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
"dev": true,
"engines": {
"node": ">=0.4.0"
@@ -3725,9 +3727,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.22.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
- "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
+ "version": "4.22.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz",
+ "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==",
"dev": true,
"funding": [
{
@@ -3744,8 +3746,8 @@
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001565",
- "electron-to-chromium": "^1.4.601",
+ "caniuse-lite": "^1.0.30001580",
+ "electron-to-chromium": "^1.4.648",
"node-releases": "^2.0.14",
"update-browserslist-db": "^1.0.13"
},
@@ -3840,9 +3842,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001572",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz",
- "integrity": "sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==",
+ "version": "1.0.30001581",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz",
+ "integrity": "sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==",
"dev": true,
"funding": [
{
@@ -4656,9 +4658,9 @@
"dev": true
},
"node_modules/electron-to-chromium": {
- "version": "1.4.618",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.618.tgz",
- "integrity": "sha512-mTM2HieHLxs1RbD/R/ZoQLMsGI8lWIkP17G7cx32mJRBJt9wlNPkXwE3sYg/OnNb5GBkus98lXatSthoL8Y5Ag==",
+ "version": "1.4.648",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz",
+ "integrity": "sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==",
"dev": true
},
"node_modules/emittery": {
@@ -7579,9 +7581,9 @@
}
},
"node_modules/lightningcss": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.22.1.tgz",
- "integrity": "sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.23.0.tgz",
+ "integrity": "sha512-SEArWKMHhqn/0QzOtclIwH5pXIYQOUEkF8DgICd/105O+GCgd7jxjNod/QPnBCSWvpRHQBGVz5fQ9uScby03zA==",
"dev": true,
"dependencies": {
"detect-libc": "^1.0.3"
@@ -7594,21 +7596,21 @@
"url": "https://opencollective.com/parcel"
},
"optionalDependencies": {
- "lightningcss-darwin-arm64": "1.22.1",
- "lightningcss-darwin-x64": "1.22.1",
- "lightningcss-freebsd-x64": "1.22.1",
- "lightningcss-linux-arm-gnueabihf": "1.22.1",
- "lightningcss-linux-arm64-gnu": "1.22.1",
- "lightningcss-linux-arm64-musl": "1.22.1",
- "lightningcss-linux-x64-gnu": "1.22.1",
- "lightningcss-linux-x64-musl": "1.22.1",
- "lightningcss-win32-x64-msvc": "1.22.1"
+ "lightningcss-darwin-arm64": "1.23.0",
+ "lightningcss-darwin-x64": "1.23.0",
+ "lightningcss-freebsd-x64": "1.23.0",
+ "lightningcss-linux-arm-gnueabihf": "1.23.0",
+ "lightningcss-linux-arm64-gnu": "1.23.0",
+ "lightningcss-linux-arm64-musl": "1.23.0",
+ "lightningcss-linux-x64-gnu": "1.23.0",
+ "lightningcss-linux-x64-musl": "1.23.0",
+ "lightningcss-win32-x64-msvc": "1.23.0"
}
},
"node_modules/lightningcss-darwin-arm64": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.22.1.tgz",
- "integrity": "sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.23.0.tgz",
+ "integrity": "sha512-kl4Pk3Q2lnE6AJ7Qaij47KNEfY2/UXRZBT/zqGA24B8qwkgllr/j7rclKOf1axcslNXvvUdztjo4Xqh39Yq1aA==",
"cpu": [
"arm64"
],
@@ -7626,9 +7628,9 @@
}
},
"node_modules/lightningcss-darwin-x64": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.22.1.tgz",
- "integrity": "sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.23.0.tgz",
+ "integrity": "sha512-KeRFCNoYfDdcolcFXvokVw+PXCapd2yHS1Diko1z1BhRz/nQuD5XyZmxjWdhmhN/zj5sH8YvWsp0/lPLVzqKpg==",
"cpu": [
"x64"
],
@@ -7646,9 +7648,9 @@
}
},
"node_modules/lightningcss-freebsd-x64": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.22.1.tgz",
- "integrity": "sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.23.0.tgz",
+ "integrity": "sha512-xhnhf0bWPuZxcqknvMDRFFo2TInrmQRWZGB0f6YoAsZX8Y+epfjHeeOIGCfAmgF0DgZxHwYc8mIR5tQU9/+ROA==",
"cpu": [
"x64"
],
@@ -7666,9 +7668,9 @@
}
},
"node_modules/lightningcss-linux-arm-gnueabihf": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.22.1.tgz",
- "integrity": "sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.23.0.tgz",
+ "integrity": "sha512-fBamf/bULvmWft9uuX+bZske236pUZEoUlaHNBjnueaCTJ/xd8eXgb0cEc7S5o0Nn6kxlauMBnqJpF70Bgq3zg==",
"cpu": [
"arm"
],
@@ -7686,9 +7688,9 @@
}
},
"node_modules/lightningcss-linux-arm64-gnu": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.22.1.tgz",
- "integrity": "sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.23.0.tgz",
+ "integrity": "sha512-RS7sY77yVLOmZD6xW2uEHByYHhQi5JYWmgVumYY85BfNoVI3DupXSlzbw+b45A9NnVKq45+oXkiN6ouMMtTwfg==",
"cpu": [
"arm64"
],
@@ -7706,9 +7708,9 @@
}
},
"node_modules/lightningcss-linux-arm64-musl": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.22.1.tgz",
- "integrity": "sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.23.0.tgz",
+ "integrity": "sha512-cU00LGb6GUXCwof6ACgSMKo3q7XYbsyTj0WsKHLi1nw7pV0NCq8nFTn6ZRBYLoKiV8t+jWl0Hv8KkgymmK5L5g==",
"cpu": [
"arm64"
],
@@ -7726,9 +7728,9 @@
}
},
"node_modules/lightningcss-linux-x64-gnu": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.22.1.tgz",
- "integrity": "sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.23.0.tgz",
+ "integrity": "sha512-q4jdx5+5NfB0/qMbXbOmuC6oo7caPnFghJbIAV90cXZqgV8Am3miZhC4p+sQVdacqxfd+3nrle4C8icR3p1AYw==",
"cpu": [
"x64"
],
@@ -7746,9 +7748,9 @@
}
},
"node_modules/lightningcss-linux-x64-musl": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.22.1.tgz",
- "integrity": "sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.23.0.tgz",
+ "integrity": "sha512-G9Ri3qpmF4qef2CV/80dADHKXRAQeQXpQTLx7AiQrBYQHqBjB75oxqj06FCIe5g4hNCqLPnM9fsO4CyiT1sFSQ==",
"cpu": [
"x64"
],
@@ -7766,9 +7768,9 @@
}
},
"node_modules/lightningcss-win32-x64-msvc": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.22.1.tgz",
- "integrity": "sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==",
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.23.0.tgz",
+ "integrity": "sha512-1rcBDJLU+obPPJM6qR5fgBUiCdZwZLafZM5f9kwjFLkb/UBNIzmae39uCSmh71nzPCTXZqHbvwu23OWnWEz+eg==",
"cpu": [
"x64"
],
@@ -8210,10 +8212,13 @@
"integrity": "sha512-yyfRLCKAxodL/2PtbtPULWulsh8pa0GRTKZrzAtjwNKGGUL8GtyFYrcWmCIaPFGohWOcUfITDr2fr42GRFIg6Q=="
},
"node_modules/node-addon-api": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz",
- "integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==",
- "dev": true
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz",
+ "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==",
+ "dev": true,
+ "engines": {
+ "node": "^16 || ^18 || >= 20"
+ }
},
"node_modules/node-fetch": {
"version": "2.7.0",
@@ -9288,15 +9293,16 @@
"dev": true
},
"node_modules/set-function-length": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
- "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
+ "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
"dev": true,
"dependencies": {
"define-data-property": "^1.1.1",
- "get-intrinsic": "^1.2.1",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.2",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
+ "has-property-descriptors": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -9626,9 +9632,9 @@
}
},
"node_modules/terser": {
- "version": "5.26.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz",
- "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==",
+ "version": "5.27.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz",
+ "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==",
"dev": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -9752,9 +9758,9 @@
}
},
"node_modules/ts-jest": {
- "version": "29.1.1",
- "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz",
- "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==",
+ "version": "29.1.2",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz",
+ "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==",
"dev": true,
"dependencies": {
"bs-logger": "0.x",
@@ -9770,7 +9776,7 @@
"ts-jest": "cli.js"
},
"engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ "node": "^16.10.0 || ^18.0.0 || >=20.0.0"
},
"peerDependencies": {
"@babel/core": ">=7.0.0-beta.0 <8",
@@ -9970,9 +9976,9 @@
"dev": true
},
"node_modules/utility-types": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz",
- "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==",
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz",
+ "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -10242,9 +10248,9 @@
"dev": true
},
"node_modules/xml-formatter": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-3.6.0.tgz",
- "integrity": "sha512-Wic80ENNLF/5mLcc82hVLmoOWQlLDJtVv+N1/hkP4hBuVXPLKrXo92/4V23QYPKfUxvCU6Y2AcdpHCIA/xexFw==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-3.6.2.tgz",
+ "integrity": "sha512-enWhevZNOwffZFUhzl1WMcha8lFLZUgJ7NzFs5Ug4ZOFCoNheGYXz1J9Iz/e+cTn9rCkuT1GwTacz+YlmFHOGw==",
"dependencies": {
"xml-parser-xo": "^4.1.0"
},
diff --git a/src/Serilog.Ui.Web/package.json b/src/Serilog.Ui.Web/package.json
index 9be65b6f..48d08a27 100644
--- a/src/Serilog.Ui.Web/package.json
+++ b/src/Serilog.Ui.Web/package.json
@@ -1,5 +1,5 @@
{
- "version": "1.0.0",
+ "version": "2.6.0",
"name": "serilog-ui",
"private": true,
"scripts": {
@@ -19,7 +19,7 @@
"@types/jest": "^29.5.1",
"@types/jquery": "^3.5.16",
"@types/jsdom": "^21.1.1",
- "@types/node": "^20.11.0",
+ "@types/node": "^20.11.9",
"@types/parcel-bundler": "^1.12.5",
"grunt": "^1.6.1",
"grunt-contrib-clean": "^2.0.1",
@@ -45,6 +45,9 @@
"popper.js": "1.16.1",
"xml-formatter": "^3.6.0"
},
+ "optionalDependencies": {
+ "@parcel/watcher-linux-x64-glibc": "^2.4.0"
+ },
"jest-junit": {
"outputDirectory": "reports",
"outputName": "jest-junit.xml",
diff --git a/tests/Serilog.Ui.Common.Tests/DataSamples/MongoDbLogModelFaker.cs b/tests/Serilog.Ui.Common.Tests/DataSamples/MongoDbLogModelFaker.cs
index 83fab0ea..a4475add 100644
--- a/tests/Serilog.Ui.Common.Tests/DataSamples/MongoDbLogModelFaker.cs
+++ b/tests/Serilog.Ui.Common.Tests/DataSamples/MongoDbLogModelFaker.cs
@@ -3,7 +3,7 @@
using Serilog.Ui.MongoDbProvider;
using System.Collections.Generic;
using System.Linq;
-using System.Text.Json;
+using Newtonsoft.Json;
using Bogus;
namespace Serilog.Ui.Common.Tests.DataSamples
@@ -18,7 +18,7 @@ public static (IEnumerable logs, LogModelPropsCollector collect
var modelCollector = new LogModelPropsCollector(originalLogs);
var faker = new Faker();
-
+
var logs = originalLogs.Select(p => new MongoDbLogModel
{
Id = p.RowNo,
@@ -26,7 +26,7 @@ public static (IEnumerable logs, LogModelPropsCollector collect
RenderedMessage = p.Message,
Timestamp = p.Timestamp,
UtcTimeStamp = p.Timestamp.ToUniversalTime(),
- Properties = JsonSerializer.Deserialize(p.Properties),
+ Properties = JsonConvert.DeserializeObject(p.Properties),
Exception = faker.System.Exception() // Serialization round-trip not possible for an exception, so we generate a new exception.
.ToBsonDocument(),
});
diff --git a/tests/Serilog.Ui.Common.Tests/TestSuites/Impl/IntegrationSearchTests.cs b/tests/Serilog.Ui.Common.Tests/TestSuites/Impl/IntegrationSearchTests.cs
index ef7e8393..4814222c 100644
--- a/tests/Serilog.Ui.Common.Tests/TestSuites/Impl/IntegrationSearchTests.cs
+++ b/tests/Serilog.Ui.Common.Tests/TestSuites/Impl/IntegrationSearchTests.cs
@@ -47,7 +47,10 @@ protected virtual async Task It_finds_data_with_all_filters_by_utc(bool checkWit
var log = Logs.First();
log.Message.Should().Be(logCollector.Example.Message);
log.Level.Should().Be(logCollector.Example.Level);
- if (!excludeProps) log.Properties.Should().Be(logCollector.Example.Properties);
+ if (!excludeProps)
+ {
+ log.Properties.Should().Be(logCollector.Example.Properties);
+ }
ConvertToUtc(log.Timestamp, checkWithUtc).Should().BeCloseTo(logCollector.Example.Timestamp, TimeSpan.FromMinutes(5));
Count.Should().BeCloseTo(1, 2);
}
diff --git a/tests/Serilog.Ui.MsSqlServerProvider.Tests/Extensions/SerilogUiOptionBuilderExtensionsTest.cs b/tests/Serilog.Ui.MsSqlServerProvider.Tests/Extensions/SerilogUiOptionBuilderExtensionsTest.cs
index b7835384..2ce699ac 100644
--- a/tests/Serilog.Ui.MsSqlServerProvider.Tests/Extensions/SerilogUiOptionBuilderExtensionsTest.cs
+++ b/tests/Serilog.Ui.MsSqlServerProvider.Tests/Extensions/SerilogUiOptionBuilderExtensionsTest.cs
@@ -41,10 +41,10 @@ public void It_throws_on_invalid_registration()
{
var nullables = new List>
{
- () => serviceCollection.AddSerilogUi((builder) => builder.UseSqlServer(null, "name")),
+ () => serviceCollection.AddSerilogUi((builder) => builder.UseSqlServer(null!, "name")),
() => serviceCollection.AddSerilogUi((builder) => builder.UseSqlServer(" ", "name")),
() => serviceCollection.AddSerilogUi((builder) => builder.UseSqlServer("", "name")),
- () => serviceCollection.AddSerilogUi((builder) => builder.UseSqlServer("name", null)),
+ () => serviceCollection.AddSerilogUi((builder) => builder.UseSqlServer("name", null!)),
() => serviceCollection.AddSerilogUi((builder) => builder.UseSqlServer("name", " ")),
() => serviceCollection.AddSerilogUi((builder) => builder.UseSqlServer("name", "")),
};
diff --git a/tests/Serilog.Ui.PostgreSqlProvider.Tests/DataProvider/QueryBuilderTests.cs b/tests/Serilog.Ui.PostgreSqlProvider.Tests/DataProvider/QueryBuilderTests.cs
index a2efabaf..467f5bf6 100644
--- a/tests/Serilog.Ui.PostgreSqlProvider.Tests/DataProvider/QueryBuilderTests.cs
+++ b/tests/Serilog.Ui.PostgreSqlProvider.Tests/DataProvider/QueryBuilderTests.cs
@@ -33,22 +33,46 @@ public class QueryBuilderTestData : IEnumerable