Update deps, initial migration to scalar for documentation

This commit is contained in:
kurt-mcrae
2025-05-27 21:01:27 +10:00
parent c932b8c0e5
commit 35f0a03d46
11 changed files with 311 additions and 299 deletions
+7 -7
View File
@@ -1,7 +1,6 @@
using backend.Models.NswFuelApi;
using backend.Services;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace backend.Controllers;
@@ -19,7 +18,8 @@ public class BrandController : ControllerBase
}
[HttpGet("all")]
[SwaggerOperation(Summary = "Get all brands", Description = "Retrieves a list of all available brands.")]
[EndpointDescription("Retrieves a list of all available brands.")]
[EndpointSummary("Get all brands")]
public async Task<ActionResult<IEnumerable<BrandType>>> GetAllBrands()
{
_logger.LogInformation("Processing api/brands/all request");
@@ -30,8 +30,8 @@ public class BrandController : ControllerBase
}
[HttpGet("state")]
[SwaggerOperation(Summary = "Get brands by state",
Description = "Retrieves a list of all brands by the state they are located in.")]
[EndpointDescription("Retrieves a list of all brands by the state they are located in.")]
[EndpointSummary("Get brands by state")]
public async Task<ActionResult<IEnumerable<BrandType>>> GetBrandsByState([FromQuery] string state)
{
_logger.LogInformation("Processing api/brands/state request");
@@ -42,9 +42,9 @@ public class BrandController : ControllerBase
}
[HttpGet("name")]
[SwaggerOperation(Summary = "Get brands by name",
Description =
"Retrieves a list of all available brands, where the brand name contains the provided search string. Case-insensitive.")]
[EndpointDescription(
"Retrieves a list of all available brands, where the brand name contains the provided search string. Case-insensitive.")]
[EndpointSummary("Get brands by name")]
public async Task<ActionResult<IEnumerable<BrandType>>> GetBrandsByName([FromQuery] string name)
{
_logger.LogInformation("Processing api/brands/name request");
+4 -4
View File
@@ -1,7 +1,6 @@
using backend.Models.NswFuelApi;
using backend.Services;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace backend.Controllers;
@@ -19,7 +18,8 @@ public class FuelTypeController : ControllerBase
}
[HttpGet("all")]
[SwaggerOperation(Summary = "Get all fuel types", Description = "Retrieves a list of all available fuel types.")]
[EndpointDescription("Retrieves a list of all available fuel types.")]
[EndpointSummary("Get all fuel types")]
public async Task<ActionResult<IEnumerable<FuelType>>> GetAllFuelTypes()
{
_logger.LogInformation("Processing api/fuel-types/all request");
@@ -30,8 +30,8 @@ public class FuelTypeController : ControllerBase
}
[HttpGet("common")]
[SwaggerOperation(Summary = "Get common fuel types",
Description = "Retrieves a list of the most common fuel types.")]
[EndpointDescription("Retrieves a list of the most common fuel types.")]
[EndpointSummary("Get common fuel types")]
public async Task<ActionResult<IEnumerable<FuelType>>> GetCommonFuelTypes()
{
_logger.LogInformation("Processing api/fuel-types/common request");
+11 -12
View File
@@ -3,7 +3,6 @@ using backend.Models.Utilities;
using backend.Services;
using backend.Validators;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace backend.Controllers;
@@ -24,8 +23,8 @@ public class PriceController : ControllerBase
}
[HttpGet("current")]
[SwaggerOperation(Summary = "Get all most recent prices",
Description = "Retrieves a list of all available prices, with only the most recent displayed.")]
[EndpointDescription("Retrieves a list of all available prices, with only the most recent displayed.")]
[EndpointSummary("Get all most recent prices")]
public async Task<ActionResult<Pagination<Price>>> GetAllCurrentPrices(
[FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10)
@@ -46,8 +45,8 @@ public class PriceController : ControllerBase
}
[HttpGet("current/station")]
[SwaggerOperation(Summary = "Get current prices by station code",
Description = "Retrieves a list of all current prices for the station with the code provided.")]
[EndpointDescription("Retrieves a list of all current prices for the station with the code provided.")]
[EndpointSummary("Get current prices by station code")]
public async Task<ActionResult<Pagination<Price>>> GetPricesByStationCode(
[FromQuery] int stationCode,
[FromQuery] string? fuelType,
@@ -70,8 +69,8 @@ public class PriceController : ControllerBase
}
[HttpGet("current/fuel-type")]
[SwaggerOperation(Summary = "Get all most recent prices by fuel type",
Description = "Retrieves a list of all most recent prices for the provided fuel type.")]
[EndpointDescription("Retrieves a list of all most recent prices for the provided fuel type.")]
[EndpointSummary("Get all most recent prices by fuel type")]
public async Task<ActionResult<Pagination<Price>>> GetCurrentPricesByFuelType(
[FromQuery] string fuelType,
[FromQuery] int pageNumber = 1,
@@ -93,8 +92,8 @@ public class PriceController : ControllerBase
}
[HttpGet("current/fuel-type/lowest")]
[SwaggerOperation(Summary = "Get lowest prices by fuel type",
Description = "Retrieves a list of the lowest prices for the provided fuel type.")]
[EndpointDescription("Retrieves a list of the lowest prices for the provided fuel type.")]
[EndpointSummary("Get lowest prices by fuel type")]
public async Task<ActionResult<Pagination<Price>>> GetLowestPricesByFuelType(
[FromQuery] string fuelType,
[FromQuery] int pageNumber = 1,
@@ -117,9 +116,9 @@ public class PriceController : ControllerBase
}
[HttpGet("period")]
[SwaggerOperation(Summary = "Get prices for a specific time period",
Description =
"Retrieves a list of prices aggregated by a default time bucket of one day. Time values are UTC, in ISO 8601 format: yyyy-MM-ddTHH:mm:ss.SSSZ")]
[EndpointDescription(
"Retrieves a list of prices aggregated by a default time bucket of one day. Time values are UTC, in ISO 8601 format: yyyy-MM-ddTHH:mm:ss.SSSZ")]
[EndpointSummary("Get prices for a specific time period")]
public async Task<ActionResult<Pagination<Price>>> GetPricesForTimePeriod(
[FromQuery] DateTimeOffset start,
[FromQuery] DateTimeOffset end,
+14 -15
View File
@@ -1,7 +1,6 @@
using backend.Models.Trends;
using backend.Services;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace backend.Controllers;
@@ -22,9 +21,9 @@ public class PriceTrendsController : ControllerBase
}
[HttpGet("")]
[SwaggerOperation(Summary = "Get a list of daily price averages",
Description =
"Retrieves a list of days, and the average price for that day, within the given period, and for the fuel type specified.")]
[EndpointDescription(
"Retrieves a list of days, and the average price for that day, within the given period, and for the fuel type specified.")]
[EndpointSummary("Get a list of daily price averages")]
public async Task<ActionResult<DailyPriceTrends>> GetPricesByStationCode(
[FromQuery] DateTimeOffset startDate,
[FromQuery] DateTimeOffset endDate,
@@ -41,9 +40,9 @@ public class PriceTrendsController : ControllerBase
}
[HttpGet("within-radius")]
[SwaggerOperation(Summary = "Get a list of daily price averages for stations within a given radius",
Description =
"Retrieves a list of days, and the average price for that day, within the given period, and for the fuel type and brand specified. Only stations within the given radius are included in the calculations.")]
[EndpointDescription(
"Retrieves a list of days, and the average price for that day, within the given period, and for the fuel type and brand specified. Only stations within the given radius are included in the calculations.")]
[EndpointSummary("Get a list of daily price averages for stations within a given radius")]
public async Task<ActionResult<DailyPriceTrends>> GetPricesByStationCodeWithinRadius(
[FromQuery] DateTimeOffset startDate,
[FromQuery] DateTimeOffset endDate,
@@ -54,12 +53,13 @@ public class PriceTrendsController : ControllerBase
[FromQuery] double radiusInMetres)
{
_logger.LogInformation("Processing api/trends/daily-averages/within-radius request");
var stationCodes =
(await _stationService.GetStationCodesWithinRadius(latitude, longitude, radiusInMetres, brand)).ToList();
if (stationCodes.Count == 0) return NotFound("No stations found within that radius");
var priceTrends = await _priceTrendsTrendsService.GetDailyPriceTrendsForPeriodByStationCodes(startDate, endDate,
fuelType.Trim().ToUpper(), stationCodes);
var priceTrends = await _priceTrendsTrendsService.GetDailyPriceTrendsForPeriodByStationCodes(
startDate, endDate, fuelType.Trim().ToUpper(), stationCodes);
if (priceTrends == null || !priceTrends.DailyAverages.Any()) return NotFound("No price trend data found");
@@ -67,9 +67,9 @@ public class PriceTrendsController : ControllerBase
}
[HttpGet("station-codes")]
[SwaggerOperation(Summary = "Get a history of daily prices for the selected stations",
Description =
"Retrieves a list of days, and the price averages for the fuel type on that day across the station codes specified, within the given period.")]
[EndpointDescription(
"Retrieves a list of days, and the price averages for the fuel type on that day across the station codes specified, within the given period.")]
[EndpointSummary("Get a history of daily prices for the selected stations")]
public async Task<ActionResult<DailyPriceTrends>> GetDailyPriceAveragesForPeriodByStationCodes(
[FromQuery] DateTimeOffset startDate,
[FromQuery] DateTimeOffset endDate,
@@ -78,9 +78,8 @@ public class PriceTrendsController : ControllerBase
{
_logger.LogInformation("Processing api/trends/daily-history/station-codes request");
var priceTrends =
await _priceTrendsTrendsService.GetDailyPriceTrendsForPeriodByStationCodes(startDate, endDate,
fuelType.Trim().ToUpper(), stationCodes);
var priceTrends = await _priceTrendsTrendsService.GetDailyPriceTrendsForPeriodByStationCodes(
startDate, endDate, fuelType.Trim().ToUpper(), stationCodes);
if (priceTrends == null || !priceTrends.DailyAverages.Any()) return NotFound("No price trend data found");
+9 -11
View File
@@ -3,7 +3,6 @@ using backend.Models.Utilities;
using backend.Services;
using backend.Validators;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace backend.Controllers;
@@ -24,7 +23,8 @@ public class StationController : ControllerBase
}
[HttpGet("all")]
[SwaggerOperation(Summary = "Get all stations", Description = "Retrieves a list of all available stations.")]
[EndpointDescription("Retrieves a list of all available stations.")]
[EndpointSummary("Get all stations")]
public async Task<ActionResult<Pagination<Station>>> GetAllStations(
[FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10)
@@ -45,8 +45,8 @@ public class StationController : ControllerBase
}
[HttpGet("station-code")]
[SwaggerOperation(Summary = "Get a station by station code",
Description = "Retrieves a single station, where the station code is equal to the provided station code.")]
[EndpointDescription("Retrieves a single station, where the station code is equal to the provided station code.")]
[EndpointSummary("Get a station by station code")]
public async Task<ActionResult<Station>> GetStationsByStationCode([FromQuery] int stationCode)
{
_logger.LogInformation("Processing api/stations/station-code request");
@@ -56,9 +56,9 @@ public class StationController : ControllerBase
}
[HttpGet("within-radius")]
[SwaggerOperation(Summary = "Get stations within radius",
Description =
"Retrieves a list of all stations within the area described by a circle with centre at the provided coordinates and a radius of the provided value in metres.")]
[EndpointDescription(
"Retrieves a list of all stations within the area described by a circle with centre at the provided coordinates and a radius of the provided value in metres.")]
[EndpointSummary("Get stations within radius")]
public async Task<ActionResult<Pagination<Station>>> GetStationsWithinRadius(
[FromQuery] double latitude,
[FromQuery] double longitude,
@@ -77,10 +77,8 @@ public class StationController : ControllerBase
$"Page size too large, maximum page size is {_globalControllerValidators.GetGlobalMaxPageSize()}");
}
var stations =
await _stationService.GetStationsWithinRadius(latitude, longitude, radiusInMetres, brand, stationName,
pageNumber,
pageSize);
var stations = await _stationService.GetStationsWithinRadius(
latitude, longitude, radiusInMetres, brand, stationName, pageNumber, pageSize);
if (!stations.Data.Any()) return NoContent();
return Ok(stations);
@@ -3,7 +3,6 @@ using backend.Models.Utilities;
using backend.Services;
using backend.Validators;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace backend.Controllers;
@@ -15,8 +14,10 @@ public class StationWithPricesController : ControllerBase
private readonly ILogger<StationWithPricesController> _logger;
private readonly IStationWithPricesService _stationWithPricesService;
public StationWithPricesController(IStationWithPricesService stationWithPricesService,
ILogger<StationWithPricesController> logger, IGlobalControllerValidators globalControllerValidators)
public StationWithPricesController(
IStationWithPricesService stationWithPricesService,
ILogger<StationWithPricesController> logger,
IGlobalControllerValidators globalControllerValidators)
{
_stationWithPricesService = stationWithPricesService;
_logger = logger;
@@ -24,22 +25,24 @@ public class StationWithPricesController : ControllerBase
}
[HttpGet("station-code")]
[SwaggerOperation(Summary = "Get a station with prices by station code",
Description =
"Retrieves a single station along with its current prices, where the station code is equal to the provided station code.")]
public async Task<ActionResult<StationWithPrices>> GetStationWithPricesByStationCode([FromQuery] int stationCode)
[EndpointDescription(
"Retrieves a single station along with its current prices, where the station code is equal to the provided station code.")]
[EndpointSummary("Get a station with prices by station code")]
public async Task<ActionResult<StationWithPrices>> GetStationWithPricesByStationCode(
[FromQuery] int stationCode)
{
_logger.LogInformation("Processing api/stations-with-prices/station-code request");
var result = await _stationWithPricesService.GetStationWithPricesByStationCode(stationCode);
if (result == null) return NotFound($"Station with code {stationCode} not found.");
if (result == null)
return NotFound($"Station with code {stationCode} not found.");
return Ok(result);
}
[HttpGet("within-radius")]
[SwaggerOperation(Summary = "Get stations with prices within radius",
Description =
"Retrieves a list of all stations within a specified radius of a given location along with their current prices.")]
[EndpointDescription(
"Retrieves a list of all stations within a specified radius of a given location along with their current prices.")]
[EndpointSummary("Get stations with prices within radius")]
public async Task<ActionResult<Pagination<StationWithPrices>>> GetStationsWithPricesWithinRadius(
[FromQuery] double latitude,
[FromQuery] double longitude,
@@ -59,17 +62,27 @@ public class StationWithPricesController : ControllerBase
$"Page size too large, maximum page size is {_globalControllerValidators.GetGlobalMaxPageSize()}");
}
var result =
await _stationWithPricesService.GetStationsWithPricesWithinRadius(latitude, longitude, radiusInMetres,
fuelType?.Trim().ToUpper(), brand, stationName, pageNumber, pageSize);
if (!result.Data.Any()) return NotFound("No stations found within radius");
var result = await _stationWithPricesService
.GetStationsWithPricesWithinRadius(
latitude,
longitude,
radiusInMetres,
fuelType?.Trim().ToUpper(),
brand,
stationName,
pageNumber,
pageSize
);
if (!result.Data.Any())
return NotFound("No stations found within radius");
return Ok(result);
}
[HttpGet("lowest-prices")]
[SwaggerOperation(Summary = "Get stations with lowest prices by fuel type",
Description = "Retrieves a list of stations with the lowest prices for a specific fuel type.")]
[EndpointDescription("Retrieves a list of stations with the lowest prices for a specific fuel type.")]
[EndpointSummary("Get stations with lowest prices by fuel type")]
public async Task<ActionResult<Pagination<StationWithPrices>>> GetStationsWithLowestPricesByFuelType(
[FromQuery] string fuelType,
[FromQuery] int pageNumber = 1,
@@ -84,17 +97,23 @@ public class StationWithPricesController : ControllerBase
$"Page size too large, maximum page size is {_globalControllerValidators.GetGlobalMaxPageSize()}");
}
var result =
await _stationWithPricesService.GetStationsWithLowestPricesByFuelType(fuelType.Trim().ToUpper(),
pageNumber, pageSize);
if (!result.Data.Any()) return NotFound($"No stations found with fuel type {fuelType.ToUpper()}");
var result = await _stationWithPricesService
.GetStationsWithLowestPricesByFuelType(
fuelType.Trim().ToUpper(),
pageNumber,
pageSize
);
if (!result.Data.Any())
return NotFound($"No stations found with fuel type {fuelType.ToUpper()}");
return Ok(result);
}
[HttpGet("lowest-prices/by-fuel-type/within-radius")]
[SwaggerOperation(Summary = "Get stations with lowest prices by fuel type, within a radius",
Description =
"Retrieves a list of stations with the lowest prices for a specific fuel type, within the specified radius.")]
[EndpointDescription(
"Retrieves a list of stations with the lowest prices for a specific fuel type, within the specified radius.")]
[EndpointSummary("Get stations with lowest prices by fuel type, within a radius")]
public async Task<ActionResult<Pagination<StationWithPrices>>> GetStationsWithLowestPricesByFuelTypeWithinRadius(
[FromQuery] string fuelType,
[FromQuery] double latitude,
@@ -112,11 +131,19 @@ public class StationWithPricesController : ControllerBase
$"Page size too large, maximum page size is {_globalControllerValidators.GetGlobalMaxPageSize()}");
}
var result =
await _stationWithPricesService.GetStationsWithLowestPricesByFuelTypeWithinRadius(fuelType.Trim().ToUpper(),
latitude, longitude, radiusInMetres, pageNumber, pageSize);
var result = await _stationWithPricesService
.GetStationsWithLowestPricesByFuelTypeWithinRadius(
fuelType.Trim().ToUpper(),
latitude,
longitude,
radiusInMetres,
pageNumber,
pageSize
);
if (!result.Data.Any())
return NotFound($"No stations found with fuel type {fuelType.ToUpper()} within the radius specified");
return Ok(result);
}
}
@@ -1,7 +1,6 @@
using backend.Models.SuburbBoundariesApi;
using backend.Services;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace backend.Controllers;
@@ -12,7 +11,8 @@ public class SuburbBoundaryController : ControllerBase
private readonly ILogger<SuburbBoundaryController> _logger;
private readonly ISuburbBoundariesService _suburbBoundariesService;
public SuburbBoundaryController(ISuburbBoundariesService suburbBoundariesService,
public SuburbBoundaryController(
ISuburbBoundariesService suburbBoundariesService,
ILogger<SuburbBoundaryController> logger)
{
_suburbBoundariesService = suburbBoundariesService;
@@ -20,9 +20,8 @@ public class SuburbBoundaryController : ControllerBase
}
[HttpGet("suburbs/all")]
[SwaggerOperation(Summary = "Get the ID and Name for every Suburb in the DB.",
Description =
"Retrieves a list of all of the suburbs available")]
[EndpointDescription("Retrieves a list of all of the suburbs available.")]
[EndpointSummary("Get the ID and Name for every Suburb in the DB.")]
public async Task<ActionResult<IEnumerable<Suburb>>> GetAllSuburbs()
{
_logger.LogInformation("Processing api/suburb-boundaries/suburbs/all request");
@@ -33,9 +32,8 @@ public class SuburbBoundaryController : ControllerBase
}
[HttpGet("suburbs/by-name")]
[SwaggerOperation(Summary = "Search for Suburbs in the DB by name",
Description =
"Retrieves a list of all of the Suburbs that contain the name input.")]
[EndpointDescription("Retrieves a list of all of the Suburbs that contain the name input.")]
[EndpointSummary("Search for Suburbs in the DB by name")]
public async Task<ActionResult<IEnumerable<Suburb>>> GetAllSuburbs([FromQuery] string name)
{
_logger.LogInformation("Processing api/suburb-boundaries/suburbs/by-name request");
@@ -46,9 +44,8 @@ public class SuburbBoundaryController : ControllerBase
}
[HttpGet("by-id")]
[SwaggerOperation(Summary = "Return a single SuburbBoundary",
Description =
"Retrieves the single SuburbBoundary, which matches the input ID.")]
[EndpointDescription("Retrieves the single SuburbBoundary, which matches the input ID.")]
[EndpointSummary("Return a single SuburbBoundary")]
public async Task<ActionResult<SuburbBoundary?>> GetSuburbBoundaryById([FromQuery] string id)
{
_logger.LogInformation("Processing api/suburb-boundaries/by-id request");
+26 -23
View File
@@ -3,7 +3,7 @@ using backend.Services.Init;
using Hangfire;
using Hangfire.Dashboard;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.OpenApi.Models;
using Scalar.AspNetCore;
var builder = WebApplication.CreateBuilder(args);
@@ -24,7 +24,8 @@ builder.Services.SetupConfiguration(configuration);
builder.Services.ConfigureServices(configuration);
builder.Services.SetupDatabase(configuration);
builder.Services.AddControllers();
builder.Services.AddSwaggerGen(c => c.EnableAnnotations());
builder.Services.AddOpenApi();
// builder.Services.AddSwaggerGen(c => c.EnableAnnotations());
var allowedOrigins = Environment.GetEnvironmentVariable("ALLOWED_ORIGINS")?.Split(',') ??
configuration.GetSection("AllowedOrigins").Get<string[]>();
@@ -53,28 +54,30 @@ app.UseForwardedHeaders(new ForwardedHeadersOptions
});
//adjust Swagger to use forwarded header info
app.UseSwagger(c =>
{
c.PreSerializeFilters.Add((swaggerDoc, httpRequest) =>
{
var forwardedHost = httpRequest.Headers["X-Forwarded-Host"].FirstOrDefault();
var forwardedProto = httpRequest.Headers["X-Forwarded-Proto"].FirstOrDefault();
var forwardedPathBase = httpRequest.Headers["X-Forwarded-Prefix"].FirstOrDefault();
var serverUrl = $"{forwardedProto ?? httpRequest.Scheme}://{forwardedHost ?? httpRequest.Host.Value}";
if (!string.IsNullOrEmpty(forwardedPathBase))
serverUrl += forwardedPathBase;
swaggerDoc.Servers = new List<OpenApiServer> { new() { Url = serverUrl } };
});
});
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("v1/swagger.json", "API v1");
c.RoutePrefix = "swagger";
});
// app.UseSwagger(c =>
// {
// c.PreSerializeFilters.Add((swaggerDoc, httpRequest) =>
// {
// var forwardedHost = httpRequest.Headers["X-Forwarded-Host"].FirstOrDefault();
// var forwardedProto = httpRequest.Headers["X-Forwarded-Proto"].FirstOrDefault();
// var forwardedPathBase = httpRequest.Headers["X-Forwarded-Prefix"].FirstOrDefault();
//
// var serverUrl = $"{forwardedProto ?? httpRequest.Scheme}://{forwardedHost ?? httpRequest.Host.Value}";
// if (!string.IsNullOrEmpty(forwardedPathBase))
// serverUrl += forwardedPathBase;
//
// swaggerDoc.Servers = new List<OpenApiServer> { new() { Url = serverUrl } };
// });
// });
//
// app.UseSwaggerUI(c =>
// {
// c.SwaggerEndpoint("v1/swagger.json", "API v1");
// c.RoutePrefix = "swagger";
// });
app.MapOpenApi();
app.MapScalarApiReference("/api-docs");
app.UseHttpsRedirection();
app.MapControllers();
app.UseRateLimiter();
+2 -2
View File
@@ -10,9 +10,9 @@
<ItemGroup>
<PackageReference Include="Hangfire.AspNetCore" Version="1.8.20" />
<PackageReference Include="Hangfire.PostgreSql" Version="1.20.12"/>
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.5" />
<PackageReference Include="Scalar.AspNetCore" Version="2.4.3" />
<PackageReference Include="ServiceStack.OrmLite.PostgreSQL" Version="8.8.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="8.1.1"/>
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="8.1.1"/>
</ItemGroup>
</Project>
+6 -6
View File
@@ -15,14 +15,14 @@
"@mantine/dates": "^8.0.1",
"@mantine/hooks": "^8.0.1",
"@mantine/notifications": "^8.0.1",
"@openapitools/openapi-generator-cli": "^2.20.0",
"@tanstack/react-query": "^5.76.1",
"@openapitools/openapi-generator-cli": "^2.20.2",
"@tanstack/react-query": "^5.77.2",
"@types/geojson": "^7946.0.16",
"axios": "^1.9.0",
"dayjs": "^1.11.13",
"dayjs-plugin-utc": "^0.1.2",
"leaflet": "^1.9.4",
"next": "^14.2.28",
"next": "^14.2.29",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.5.0",
@@ -32,9 +32,9 @@
},
"devDependencies": {
"@eslint/js": "^9.27.0",
"@types/leaflet": "^1.9.17",
"@types/node": "^22.15.18",
"@types/react": "^18.3.21",
"@types/leaflet": "^1.9.18",
"@types/node": "^22.15.21",
"@types/react": "^18.3.23",
"@types/react-dom": "^18.3.7",
"eslint": "^8.57.1",
"eslint-config-next": "^15.3.2",
+170 -181
View File
@@ -10,25 +10,25 @@ importers:
dependencies:
'@mantine/charts':
specifier: ^8.0.1
version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(recharts@2.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(recharts@2.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
'@mantine/core':
specifier: ^8.0.1
version: 8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
version: 8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/dates':
specifier: ^8.0.1
version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks':
specifier: ^8.0.1
version: 8.0.1(react@18.3.1)
'@mantine/notifications':
specifier: ^8.0.1
version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
version: 8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@openapitools/openapi-generator-cli':
specifier: ^2.20.0
version: 2.20.0
specifier: ^2.20.2
version: 2.20.2
'@tanstack/react-query':
specifier: ^5.76.1
version: 5.76.1(react@18.3.1)
specifier: ^5.77.2
version: 5.77.2(react@18.3.1)
'@types/geojson':
specifier: ^7946.0.16
version: 7946.0.16
@@ -45,8 +45,8 @@ importers:
specifier: ^1.9.4
version: 1.9.4
next:
specifier: ^14.2.28
version: 14.2.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
specifier: ^14.2.29
version: 14.2.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react:
specifier: ^18.3.1
version: 18.3.1
@@ -70,17 +70,17 @@ importers:
specifier: ^9.27.0
version: 9.27.0
'@types/leaflet':
specifier: ^1.9.17
version: 1.9.17
specifier: ^1.9.18
version: 1.9.18
'@types/node':
specifier: ^22.15.18
version: 22.15.18
specifier: ^22.15.21
version: 22.15.21
'@types/react':
specifier: ^18.3.21
version: 18.3.21
specifier: ^18.3.23
version: 18.3.23
'@types/react-dom':
specifier: ^18.3.7
version: 18.3.7(@types/react@18.3.21)
version: 18.3.7(@types/react@18.3.23)
eslint:
specifier: ^8.57.1
version: 8.57.1
@@ -111,8 +111,8 @@ importers:
packages:
'@babel/runtime@7.27.1':
resolution: {integrity: sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==}
'@babel/runtime@7.27.3':
resolution: {integrity: sha512-7EYtGezsdiDMyY80+65EzwiGmcJqpmcZCojSXaRgdrBaGtWTgDZKq69cPIVped6MkIM78cTQ2GOiEYjwOlG4xw==}
engines: {node: '>=6.9.0'}
'@emnapi/core@1.4.3':
@@ -342,11 +342,11 @@ packages:
axios: ^1.3.1
rxjs: ^7.0.0
'@nestjs/common@11.0.20':
resolution: {integrity: sha512-/GH8NDCczjn6+6RNEtSNAts/nq/wQE8L1qZ9TRjqjNqEsZNE1vpFuRIhmcO2isQZ0xY5rySnpaRdrOAul3gQ3A==}
'@nestjs/common@11.1.1':
resolution: {integrity: sha512-crzp+1qeZ5EGL0nFTPy9NrVMAaUWewV5AwtQyv6SQ9yQPXwRl9W9hm1pt0nAtUu5QbYMbSuo7lYcF81EjM+nCA==}
peerDependencies:
class-transformer: '*'
class-validator: '*'
class-transformer: '>=0.4.1'
class-validator: '>=0.13.2'
reflect-metadata: ^0.1.12 || ^0.2.0
rxjs: ^7.1.0
peerDependenciesMeta:
@@ -355,8 +355,8 @@ packages:
class-validator:
optional: true
'@nestjs/core@11.0.20':
resolution: {integrity: sha512-yUkEzBGiRNSEThVl6vMCXgoA9sDGWoRbJsTLdYdCC7lg7PE1iXBnna1FiBfQjT995pm0fjyM1e3WsXmyWeJXbw==}
'@nestjs/core@11.1.1':
resolution: {integrity: sha512-UFoUAgLKFT+RwHTANJdr0dF7p0qS9QjkaUPjg8aafnjM/qxxxrUVDB49nVvyMlk+Hr1+vvcNaOHbWWQBxoZcHA==}
engines: {node: '>= 20'}
peerDependencies:
'@nestjs/common': ^11.0.0
@@ -373,62 +373,62 @@ packages:
'@nestjs/websockets':
optional: true
'@next/env@14.2.28':
resolution: {integrity: sha512-PAmWhJfJQlP+kxZwCjrVd9QnR5x0R3u0mTXTiZDgSd4h5LdXmjxCCWbN9kq6hkZBOax8Rm3xDW5HagWyJuT37g==}
'@next/env@14.2.29':
resolution: {integrity: sha512-UzgLR2eBfhKIQt0aJ7PWH7XRPYw7SXz0Fpzdl5THjUnvxy4kfBk9OU4RNPNiETewEEtaBcExNFNn1QWH8wQTjg==}
'@next/eslint-plugin-next@15.3.2':
resolution: {integrity: sha512-ijVRTXBgnHT33aWnDtmlG+LJD+5vhc9AKTJPquGG5NKXjpKNjc62woIhFtrAcWdBobt8kqjCoaJ0q6sDQoX7aQ==}
'@next/swc-darwin-arm64@14.2.28':
resolution: {integrity: sha512-kzGChl9setxYWpk3H6fTZXXPFFjg7urptLq5o5ZgYezCrqlemKttwMT5iFyx/p1e/JeglTwDFRtb923gTJ3R1w==}
'@next/swc-darwin-arm64@14.2.29':
resolution: {integrity: sha512-wWtrAaxCVMejxPHFb1SK/PVV1WDIrXGs9ki0C/kUM8ubKHQm+3hU9MouUywCw8Wbhj3pewfHT2wjunLEr/TaLA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@next/swc-darwin-x64@14.2.28':
resolution: {integrity: sha512-z6FXYHDJlFOzVEOiiJ/4NG8aLCeayZdcRSMjPDysW297Up6r22xw6Ea9AOwQqbNsth8JNgIK8EkWz2IDwaLQcw==}
'@next/swc-darwin-x64@14.2.29':
resolution: {integrity: sha512-7Z/jk+6EVBj4pNLw/JQrvZVrAh9Bv8q81zCFSfvTMZ51WySyEHWVpwCEaJY910LyBftv2F37kuDPQm0w9CEXyg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@next/swc-linux-arm64-gnu@14.2.28':
resolution: {integrity: sha512-9ARHLEQXhAilNJ7rgQX8xs9aH3yJSj888ssSjJLeldiZKR4D7N08MfMqljk77fAwZsWwsrp8ohHsMvurvv9liQ==}
'@next/swc-linux-arm64-gnu@14.2.29':
resolution: {integrity: sha512-o6hrz5xRBwi+G7JFTHc+RUsXo2lVXEfwh4/qsuWBMQq6aut+0w98WEnoNwAwt7hkEqegzvazf81dNiwo7KjITw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@next/swc-linux-arm64-musl@14.2.28':
resolution: {integrity: sha512-p6gvatI1nX41KCizEe6JkF0FS/cEEF0u23vKDpl+WhPe/fCTBeGkEBh7iW2cUM0rvquPVwPWdiUR6Ebr/kQWxQ==}
'@next/swc-linux-arm64-musl@14.2.29':
resolution: {integrity: sha512-9i+JEHBOVgqxQ92HHRFlSW1EQXqa/89IVjtHgOqsShCcB/ZBjTtkWGi+SGCJaYyWkr/lzu51NTMCfKuBf7ULNw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@next/swc-linux-x64-gnu@14.2.28':
resolution: {integrity: sha512-nsiSnz2wO6GwMAX2o0iucONlVL7dNgKUqt/mDTATGO2NY59EO/ZKnKEr80BJFhuA5UC1KZOMblJHWZoqIJddpA==}
'@next/swc-linux-x64-gnu@14.2.29':
resolution: {integrity: sha512-B7JtMbkUwHijrGBOhgSQu2ncbCYq9E7PZ7MX58kxheiEOwdkM+jGx0cBb+rN5AeqF96JypEppK6i/bEL9T13lA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@next/swc-linux-x64-musl@14.2.28':
resolution: {integrity: sha512-+IuGQKoI3abrXFqx7GtlvNOpeExUH1mTIqCrh1LGFf8DnlUcTmOOCApEnPJUSLrSbzOdsF2ho2KhnQoO0I1RDw==}
'@next/swc-linux-x64-musl@14.2.29':
resolution: {integrity: sha512-yCcZo1OrO3aQ38B5zctqKU1Z3klOohIxug6qdiKO3Q3qNye/1n6XIs01YJ+Uf+TdpZQ0fNrOQI2HrTLF3Zprnw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@next/swc-win32-arm64-msvc@14.2.28':
resolution: {integrity: sha512-l61WZ3nevt4BAnGksUVFKy2uJP5DPz2E0Ma/Oklvo3sGj9sw3q7vBWONFRgz+ICiHpW5mV+mBrkB3XEubMrKaA==}
'@next/swc-win32-arm64-msvc@14.2.29':
resolution: {integrity: sha512-WnrfeOEtTVidI9Z6jDLy+gxrpDcEJtZva54LYC0bSKQqmyuHzl0ego+v0F/v2aXq0am67BRqo/ybmmt45Tzo4A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@next/swc-win32-ia32-msvc@14.2.28':
resolution: {integrity: sha512-+Kcp1T3jHZnJ9v9VTJ/yf1t/xmtFAc/Sge4v7mVc1z+NYfYzisi8kJ9AsY8itbgq+WgEwMtOpiLLJsUy2qnXZw==}
'@next/swc-win32-ia32-msvc@14.2.29':
resolution: {integrity: sha512-vkcriFROT4wsTdSeIzbxaZjTNTFKjSYmLd8q/GVH3Dn8JmYjUKOuKXHK8n+lovW/kdcpIvydO5GtN+It2CvKWA==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
'@next/swc-win32-x64-msvc@14.2.28':
resolution: {integrity: sha512-1gCmpvyhz7DkB1srRItJTnmR2UwQPAUXXIg9r0/56g3O8etGmwlX68skKXJOp9EejW3hhv7nSQUJ2raFiz4MoA==}
'@next/swc-win32-x64-msvc@14.2.29':
resolution: {integrity: sha512-iPPwUEKnVs7pwR0EBLJlwxLD7TTHWS/AoVZx1l9ZQzfQciqaFEr5AlYzA2uB6Fyby1IF18t4PL0nTpB+k4Tzlw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -459,8 +459,8 @@ packages:
engines: {node: '>=8.0.0', npm: '>=5.0.0'}
hasBin: true
'@openapitools/openapi-generator-cli@2.20.0':
resolution: {integrity: sha512-Amtd7/9Lodaxnmfsru8R5n0CW9lyWOI40UsppGMfuNFkFFbabq51/VAJFsOHkNnDRwVUc7AGKWjN5icphDGlTQ==}
'@openapitools/openapi-generator-cli@2.20.2':
resolution: {integrity: sha512-dNFwQcQu6+rmEWSJj4KUx468+p6Co7nfpVgi5QEfVhzKj7wBytz9GEhCN2qmVgtg3ZX8H6nxbXI8cjh7hAxAqg==}
engines: {node: '>=16'}
hasBin: true
@@ -483,11 +483,11 @@ packages:
'@swc/helpers@0.5.5':
resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
'@tanstack/query-core@5.76.0':
resolution: {integrity: sha512-FN375hb8ctzfNAlex5gHI6+WDXTNpe0nbxp/d2YJtnP+IBM6OUm7zcaoCW6T63BawGOYZBbKC0iPvr41TteNVg==}
'@tanstack/query-core@5.77.2':
resolution: {integrity: sha512-1lqJwPsR6GX6nZFw06erRt518O19tWU6Q+x0fJUygl4lxHCYF2nhzBPwLKk2NPjYOrpR0K567hxPc5K++xDe9Q==}
'@tanstack/react-query@5.76.1':
resolution: {integrity: sha512-YxdLZVGN4QkT5YT1HKZQWiIlcgauIXEIsMOTSjvyD5wLYK8YVvKZUPAysMqossFJJfDpJW3pFn7WNZuPOqq+fw==}
'@tanstack/react-query@5.77.2':
resolution: {integrity: sha512-BRHxWdy1mHmgAcYA/qy2IPLylT81oebLgkm9K85viN2Qol/Vq48t1dzDFeDIVQjTWDV96AmqsLNPlH5HjyKCxA==}
peerDependencies:
react: ^18 || ^19
@@ -537,11 +537,11 @@ packages:
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
'@types/leaflet@1.9.17':
resolution: {integrity: sha512-IJ4K6t7I3Fh5qXbQ1uwL3CFVbCi6haW9+53oLWgdKlLP7EaS21byWFJxxqOx9y8I0AP0actXSJLVMbyvxhkUTA==}
'@types/leaflet@1.9.18':
resolution: {integrity: sha512-ht2vsoPjezor5Pmzi5hdsA7F++v5UGq9OlUduWHmMZiuQGIpJ2WS5+Gg9HaAA79gNh1AIPtCqhzejcIZ3lPzXQ==}
'@types/node@22.15.18':
resolution: {integrity: sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==}
'@types/node@22.15.21':
resolution: {integrity: sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==}
'@types/prop-types@15.7.14':
resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
@@ -551,8 +551,8 @@ packages:
peerDependencies:
'@types/react': ^18.0.0
'@types/react@18.3.21':
resolution: {integrity: sha512-gXLBtmlcRJeT09/sI4PxVwyrku6SaNUj/6cMubjE6T6XdY1fDmBL7r0nX0jbSZPU/Xr0KuwLLZh6aOYY5d91Xw==}
'@types/react@18.3.23':
resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==}
'@typescript-eslint/eslint-plugin@8.32.1':
resolution: {integrity: sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==}
@@ -779,9 +779,6 @@ packages:
resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==}
engines: {node: '>=4'}
axios@1.8.4:
resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==}
axios@1.9.0:
resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==}
@@ -1077,8 +1074,8 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
es-abstract@1.23.9:
resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
es-abstract@1.23.10:
resolution: {integrity: sha512-MtUbM072wlJNyeYAe0mhzrD+M6DIJa96CZAOBBrhDbgKnB4MApIKefcyAB1eOdYn8cUNZgvwBvEzdoAYsxgEIw==}
engines: {node: '>= 0.4'}
es-define-property@1.0.1:
@@ -1296,8 +1293,8 @@ packages:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
file-type@20.4.1:
resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==}
file-type@20.5.0:
resolution: {integrity: sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==}
engines: {node: '>=18'}
fill-range@7.1.1:
@@ -1369,8 +1366,8 @@ packages:
resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
engines: {node: '>= 0.4'}
get-tsconfig@4.10.0:
resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==}
get-tsconfig@4.10.1:
resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==}
get-uri@6.0.4:
resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==}
@@ -1772,8 +1769,8 @@ packages:
resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
engines: {node: '>= 0.4.0'}
next@14.2.28:
resolution: {integrity: sha512-QLEIP/kYXynIxtcKB6vNjtWLVs3Y4Sb+EClTC/CSVzdLD1gIuItccpu/n1lhmduffI32iPGEK2cLLxxt28qgYA==}
next@14.2.29:
resolution: {integrity: sha512-s98mCOMOWLGGpGOfgKSnleXLuegvvH415qtRZXpSp00HeEgdmrxmwL9cgKU+h4XrhB16zEI5d/7BnkS3ATInsA==}
engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
@@ -2017,8 +2014,8 @@ packages:
'@types/react':
optional: true
react-remove-scroll@2.6.3:
resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==}
react-remove-scroll@2.7.0:
resolution: {integrity: sha512-sGsQtcjMqdQyijAHytfGEELB8FufGbfXIsvUTe+NLx1GDRJCXtCFLBLUI1eyZCKXXvbEU2C6gai0PZKoIE9Vbg==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': '*'
@@ -2329,8 +2326,8 @@ packages:
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
tinyglobby@0.2.13:
resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==}
tinyglobby@0.2.14:
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
engines: {node: '>=12.0.0'}
tmp@0.0.33:
@@ -2552,7 +2549,7 @@ packages:
snapshots:
'@babel/runtime@7.27.1': {}
'@babel/runtime@7.27.3': {}
'@emnapi/core@1.4.3':
dependencies:
@@ -2709,15 +2706,15 @@ snapshots:
'@lukeed/csprng@1.1.0': {}
'@mantine/charts@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(recharts@2.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))':
'@mantine/charts@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(recharts@2.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))':
dependencies:
'@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks': 8.0.1(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
recharts: 2.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
'@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks': 8.0.1(react@18.3.1)
@@ -2725,15 +2722,15 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-number-format: 5.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-remove-scroll: 2.6.3(@types/react@18.3.21)(react@18.3.1)
react-textarea-autosize: 8.5.9(@types/react@18.3.21)(react@18.3.1)
react-remove-scroll: 2.7.0(@types/react@18.3.23)(react@18.3.1)
react-textarea-autosize: 8.5.9(@types/react@18.3.23)(react@18.3.1)
type-fest: 4.41.0
transitivePeerDependencies:
- '@types/react'
'@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
'@mantine/dates@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks': 8.0.1(react@18.3.1)
clsx: 2.1.1
dayjs: 1.11.13
@@ -2744,9 +2741,9 @@ snapshots:
dependencies:
react: 18.3.1
'@mantine/notifications@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
'@mantine/notifications@8.0.1(@mantine/core@8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@8.0.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.21)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/core': 8.0.1(@mantine/hooks@8.0.1(react@18.3.1))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks': 8.0.1(react@18.3.1)
'@mantine/store': 8.0.1(react@18.3.1)
react: 18.3.1
@@ -2764,15 +2761,15 @@ snapshots:
'@tybys/wasm-util': 0.9.0
optional: true
'@nestjs/axios@4.0.0(@nestjs/common@11.0.20(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.8.4)(rxjs@7.8.2)':
'@nestjs/axios@4.0.0(@nestjs/common@11.1.1(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.9.0)(rxjs@7.8.2)':
dependencies:
'@nestjs/common': 11.0.20(reflect-metadata@0.2.2)(rxjs@7.8.2)
axios: 1.8.4
'@nestjs/common': 11.1.1(reflect-metadata@0.2.2)(rxjs@7.8.2)
axios: 1.9.0
rxjs: 7.8.2
'@nestjs/common@11.0.20(reflect-metadata@0.2.2)(rxjs@7.8.2)':
'@nestjs/common@11.1.1(reflect-metadata@0.2.2)(rxjs@7.8.2)':
dependencies:
file-type: 20.4.1
file-type: 20.5.0
iterare: 1.2.1
load-esm: 1.0.2
reflect-metadata: 0.2.2
@@ -2782,9 +2779,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@nestjs/core@11.0.20(@nestjs/common@11.0.20(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2)':
'@nestjs/core@11.1.1(@nestjs/common@11.1.1(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2)':
dependencies:
'@nestjs/common': 11.0.20(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/common': 11.1.1(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nuxt/opencollective': 0.4.1
fast-safe-stringify: 2.1.1
iterare: 1.2.1
@@ -2794,37 +2791,37 @@ snapshots:
tslib: 2.8.1
uid: 2.0.2
'@next/env@14.2.28': {}
'@next/env@14.2.29': {}
'@next/eslint-plugin-next@15.3.2':
dependencies:
fast-glob: 3.3.1
'@next/swc-darwin-arm64@14.2.28':
'@next/swc-darwin-arm64@14.2.29':
optional: true
'@next/swc-darwin-x64@14.2.28':
'@next/swc-darwin-x64@14.2.29':
optional: true
'@next/swc-linux-arm64-gnu@14.2.28':
'@next/swc-linux-arm64-gnu@14.2.29':
optional: true
'@next/swc-linux-arm64-musl@14.2.28':
'@next/swc-linux-arm64-musl@14.2.29':
optional: true
'@next/swc-linux-x64-gnu@14.2.28':
'@next/swc-linux-x64-gnu@14.2.29':
optional: true
'@next/swc-linux-x64-musl@14.2.28':
'@next/swc-linux-x64-musl@14.2.29':
optional: true
'@next/swc-win32-arm64-msvc@14.2.28':
'@next/swc-win32-arm64-msvc@14.2.29':
optional: true
'@next/swc-win32-ia32-msvc@14.2.28':
'@next/swc-win32-ia32-msvc@14.2.29':
optional: true
'@next/swc-win32-x64-msvc@14.2.28':
'@next/swc-win32-x64-msvc@14.2.29':
optional: true
'@nodelib/fs.scandir@2.1.5':
@@ -2853,13 +2850,13 @@ snapshots:
transitivePeerDependencies:
- encoding
'@openapitools/openapi-generator-cli@2.20.0':
'@openapitools/openapi-generator-cli@2.20.2':
dependencies:
'@nestjs/axios': 4.0.0(@nestjs/common@11.0.20(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.8.4)(rxjs@7.8.2)
'@nestjs/common': 11.0.20(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/core': 11.0.20(@nestjs/common@11.0.20(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/axios': 4.0.0(@nestjs/common@11.1.1(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.9.0)(rxjs@7.8.2)
'@nestjs/common': 11.1.1(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/core': 11.1.1(@nestjs/common@11.1.1(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nuxtjs/opencollective': 0.3.2
axios: 1.8.4
axios: 1.9.0
chalk: 4.1.2
commander: 8.3.0
compare-versions: 4.1.4
@@ -2900,11 +2897,11 @@ snapshots:
'@swc/counter': 0.1.3
tslib: 2.8.1
'@tanstack/query-core@5.76.0': {}
'@tanstack/query-core@5.77.2': {}
'@tanstack/react-query@5.76.1(react@18.3.1)':
'@tanstack/react-query@5.77.2(react@18.3.1)':
dependencies:
'@tanstack/query-core': 5.76.0
'@tanstack/query-core': 5.77.2
react: 18.3.1
'@tokenizer/inflate@0.2.7':
@@ -2952,21 +2949,21 @@ snapshots:
'@types/json5@0.0.29': {}
'@types/leaflet@1.9.17':
'@types/leaflet@1.9.18':
dependencies:
'@types/geojson': 7946.0.16
'@types/node@22.15.18':
'@types/node@22.15.21':
dependencies:
undici-types: 6.21.0
'@types/prop-types@15.7.14': {}
'@types/react-dom@18.3.7(@types/react@18.3.21)':
'@types/react-dom@18.3.7(@types/react@18.3.23)':
dependencies:
'@types/react': 18.3.21
'@types/react': 18.3.23
'@types/react@18.3.21':
'@types/react@18.3.23':
dependencies:
'@types/prop-types': 15.7.14
csstype: 3.1.3
@@ -3141,7 +3138,7 @@ snapshots:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-object-atoms: 1.1.1
get-intrinsic: 1.3.0
is-string: 1.1.1
@@ -3150,7 +3147,7 @@ snapshots:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-errors: 1.3.0
es-object-atoms: 1.1.1
es-shim-unscopables: 1.1.0
@@ -3160,7 +3157,7 @@ snapshots:
call-bind: 1.0.8
call-bound: 1.0.4
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-errors: 1.3.0
es-object-atoms: 1.1.1
es-shim-unscopables: 1.1.0
@@ -3169,21 +3166,21 @@ snapshots:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-shim-unscopables: 1.1.0
array.prototype.flatmap@1.3.3:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-shim-unscopables: 1.1.0
array.prototype.tosorted@1.1.4:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-errors: 1.3.0
es-shim-unscopables: 1.1.0
@@ -3192,7 +3189,7 @@ snapshots:
array-buffer-byte-length: 1.0.2
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-errors: 1.3.0
get-intrinsic: 1.3.0
is-array-buffer: 3.0.5
@@ -3213,14 +3210,6 @@ snapshots:
axe-core@4.10.3: {}
axios@1.8.4:
dependencies:
follow-redirects: 1.15.9
form-data: 4.0.2
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
axios@1.9.0:
dependencies:
follow-redirects: 1.15.9
@@ -3432,7 +3421,7 @@ snapshots:
date-fns@2.30.0:
dependencies:
'@babel/runtime': 7.27.1
'@babel/runtime': 7.27.3
dayjs-plugin-utc@0.1.2: {}
@@ -3488,7 +3477,7 @@ snapshots:
dom-helpers@5.2.1:
dependencies:
'@babel/runtime': 7.27.1
'@babel/runtime': 7.27.3
csstype: 3.1.3
dunder-proto@1.0.1:
@@ -3505,7 +3494,7 @@ snapshots:
emoji-regex@9.2.2: {}
es-abstract@1.23.9:
es-abstract@1.23.10:
dependencies:
array-buffer-byte-length: 1.0.2
arraybuffer.prototype.slice: 1.0.4
@@ -3568,7 +3557,7 @@ snapshots:
call-bind: 1.0.8
call-bound: 1.0.4
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-errors: 1.3.0
es-set-tostringtag: 2.1.0
function-bind: 1.1.2
@@ -3650,10 +3639,10 @@ snapshots:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.1
eslint: 8.57.1
get-tsconfig: 4.10.0
get-tsconfig: 4.10.1
is-bun-module: 2.0.0
stable-hash: 0.0.5
tinyglobby: 0.2.13
tinyglobby: 0.2.14
unrs-resolver: 1.7.2
optionalDependencies:
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.32.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)
@@ -3869,7 +3858,7 @@ snapshots:
dependencies:
flat-cache: 3.2.0
file-type@20.4.1:
file-type@20.5.0:
dependencies:
'@tokenizer/inflate': 0.2.7
strtok3: 10.2.2
@@ -3957,7 +3946,7 @@ snapshots:
es-errors: 1.3.0
get-intrinsic: 1.3.0
get-tsconfig@4.10.0:
get-tsconfig@4.10.1:
dependencies:
resolve-pkg-maps: 1.0.0
@@ -4353,9 +4342,9 @@ snapshots:
netmask@2.0.2: {}
next@14.2.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
next@14.2.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@next/env': 14.2.28
'@next/env': 14.2.29
'@swc/helpers': 0.5.5
busboy: 1.6.0
caniuse-lite: 1.0.30001718
@@ -4365,15 +4354,15 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
styled-jsx: 5.1.1(react@18.3.1)
optionalDependencies:
'@next/swc-darwin-arm64': 14.2.28
'@next/swc-darwin-x64': 14.2.28
'@next/swc-linux-arm64-gnu': 14.2.28
'@next/swc-linux-arm64-musl': 14.2.28
'@next/swc-linux-x64-gnu': 14.2.28
'@next/swc-linux-x64-musl': 14.2.28
'@next/swc-win32-arm64-msvc': 14.2.28
'@next/swc-win32-ia32-msvc': 14.2.28
'@next/swc-win32-x64-msvc': 14.2.28
'@next/swc-darwin-arm64': 14.2.29
'@next/swc-darwin-x64': 14.2.29
'@next/swc-linux-arm64-gnu': 14.2.29
'@next/swc-linux-arm64-musl': 14.2.29
'@next/swc-linux-x64-gnu': 14.2.29
'@next/swc-linux-x64-musl': 14.2.29
'@next/swc-win32-arm64-msvc': 14.2.29
'@next/swc-win32-ia32-msvc': 14.2.29
'@next/swc-win32-x64-msvc': 14.2.29
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
@@ -4408,14 +4397,14 @@ snapshots:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-object-atoms: 1.1.1
object.groupby@1.0.3:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
object.values@1.2.1:
dependencies:
@@ -4614,24 +4603,24 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-remove-scroll-bar@2.3.8(@types/react@18.3.21)(react@18.3.1):
react-remove-scroll-bar@2.3.8(@types/react@18.3.23)(react@18.3.1):
dependencies:
react: 18.3.1
react-style-singleton: 2.2.3(@types/react@18.3.21)(react@18.3.1)
react-style-singleton: 2.2.3(@types/react@18.3.23)(react@18.3.1)
tslib: 2.8.1
optionalDependencies:
'@types/react': 18.3.21
'@types/react': 18.3.23
react-remove-scroll@2.6.3(@types/react@18.3.21)(react@18.3.1):
react-remove-scroll@2.7.0(@types/react@18.3.23)(react@18.3.1):
dependencies:
react: 18.3.1
react-remove-scroll-bar: 2.3.8(@types/react@18.3.21)(react@18.3.1)
react-style-singleton: 2.2.3(@types/react@18.3.21)(react@18.3.1)
react-remove-scroll-bar: 2.3.8(@types/react@18.3.23)(react@18.3.1)
react-style-singleton: 2.2.3(@types/react@18.3.23)(react@18.3.1)
tslib: 2.8.1
use-callback-ref: 1.3.3(@types/react@18.3.21)(react@18.3.1)
use-sidecar: 1.1.3(@types/react@18.3.21)(react@18.3.1)
use-callback-ref: 1.3.3(@types/react@18.3.23)(react@18.3.1)
use-sidecar: 1.1.3(@types/react@18.3.23)(react@18.3.1)
optionalDependencies:
'@types/react': 18.3.21
'@types/react': 18.3.23
react-smooth@4.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
@@ -4641,26 +4630,26 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-style-singleton@2.2.3(@types/react@18.3.21)(react@18.3.1):
react-style-singleton@2.2.3(@types/react@18.3.23)(react@18.3.1):
dependencies:
get-nonce: 1.0.1
react: 18.3.1
tslib: 2.8.1
optionalDependencies:
'@types/react': 18.3.21
'@types/react': 18.3.23
react-textarea-autosize@8.5.9(@types/react@18.3.21)(react@18.3.1):
react-textarea-autosize@8.5.9(@types/react@18.3.23)(react@18.3.1):
dependencies:
'@babel/runtime': 7.27.1
'@babel/runtime': 7.27.3
react: 18.3.1
use-composed-ref: 1.4.0(@types/react@18.3.21)(react@18.3.1)
use-latest: 1.3.0(@types/react@18.3.21)(react@18.3.1)
use-composed-ref: 1.4.0(@types/react@18.3.23)(react@18.3.1)
use-latest: 1.3.0(@types/react@18.3.23)(react@18.3.1)
transitivePeerDependencies:
- '@types/react'
react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.27.1
'@babel/runtime': 7.27.3
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -4700,7 +4689,7 @@ snapshots:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-errors: 1.3.0
es-object-atoms: 1.1.1
get-intrinsic: 1.3.0
@@ -4916,14 +4905,14 @@ snapshots:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
string.prototype.matchall@4.0.12:
dependencies:
call-bind: 1.0.8
call-bound: 1.0.4
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-errors: 1.3.0
es-object-atoms: 1.1.1
get-intrinsic: 1.3.0
@@ -4937,7 +4926,7 @@ snapshots:
string.prototype.repeat@1.0.0:
dependencies:
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
string.prototype.trim@1.2.10:
dependencies:
@@ -4945,7 +4934,7 @@ snapshots:
call-bound: 1.0.4
define-data-property: 1.1.4
define-properties: 1.2.1
es-abstract: 1.23.9
es-abstract: 1.23.10
es-object-atoms: 1.1.1
has-property-descriptors: 1.0.2
@@ -5006,7 +4995,7 @@ snapshots:
tiny-invariant@1.3.3: {}
tinyglobby@0.2.13:
tinyglobby@0.2.14:
dependencies:
fdir: 6.4.4(picomatch@4.0.2)
picomatch: 4.0.2
@@ -5141,39 +5130,39 @@ snapshots:
dependencies:
punycode: 2.3.1
use-callback-ref@1.3.3(@types/react@18.3.21)(react@18.3.1):
use-callback-ref@1.3.3(@types/react@18.3.23)(react@18.3.1):
dependencies:
react: 18.3.1
tslib: 2.8.1
optionalDependencies:
'@types/react': 18.3.21
'@types/react': 18.3.23
use-composed-ref@1.4.0(@types/react@18.3.21)(react@18.3.1):
use-composed-ref@1.4.0(@types/react@18.3.23)(react@18.3.1):
dependencies:
react: 18.3.1
optionalDependencies:
'@types/react': 18.3.21
'@types/react': 18.3.23
use-isomorphic-layout-effect@1.2.1(@types/react@18.3.21)(react@18.3.1):
use-isomorphic-layout-effect@1.2.1(@types/react@18.3.23)(react@18.3.1):
dependencies:
react: 18.3.1
optionalDependencies:
'@types/react': 18.3.21
'@types/react': 18.3.23
use-latest@1.3.0(@types/react@18.3.21)(react@18.3.1):
use-latest@1.3.0(@types/react@18.3.23)(react@18.3.1):
dependencies:
react: 18.3.1
use-isomorphic-layout-effect: 1.2.1(@types/react@18.3.21)(react@18.3.1)
use-isomorphic-layout-effect: 1.2.1(@types/react@18.3.23)(react@18.3.1)
optionalDependencies:
'@types/react': 18.3.21
'@types/react': 18.3.23
use-sidecar@1.1.3(@types/react@18.3.21)(react@18.3.1):
use-sidecar@1.1.3(@types/react@18.3.23)(react@18.3.1):
dependencies:
detect-node-es: 1.1.0
react: 18.3.1
tslib: 2.8.1
optionalDependencies:
'@types/react': 18.3.21
'@types/react': 18.3.23
util-deprecate@1.0.2: {}