diff --git a/.gitignore b/.gitignore index 4e648d2..ffab0ff 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,3 @@ *.iws .idea/ .vscode/ - -*.mapper.dart diff --git a/app/analysis_options.yaml b/app/analysis_options.yaml index 91b8bc8..f32099a 100644 --- a/app/analysis_options.yaml +++ b/app/analysis_options.yaml @@ -12,6 +12,9 @@ analyzer: exclude: - "**/*.g.dart" - "**/*.freezed.dart" + - "build/**/*.dart" + - "lib/src/rust/*.dart" + - "lib/src/rust/**/*.dart" errors: invalid_annotation_target: ignore linter: diff --git a/app/lib/game/board/game.dart b/app/lib/game/board/game.dart new file mode 100644 index 0000000..afee02d --- /dev/null +++ b/app/lib/game/board/game.dart @@ -0,0 +1,3 @@ +import 'package:flame/game.dart'; + +class BoardGame extends FlameGame {} diff --git a/app/lib/game/board/grid.dart b/app/lib/game/board/grid.dart new file mode 100644 index 0000000..5e9cb39 --- /dev/null +++ b/app/lib/game/board/grid.dart @@ -0,0 +1,3 @@ +import 'package:flame/components.dart'; + +class BoardGrid extends Component {} diff --git a/app/lib/game/board.dart b/app/lib/game/world/game.dart similarity index 93% rename from app/lib/game/board.dart rename to app/lib/game/world/game.dart index 28988d3..fe15a35 100644 --- a/app/lib/game/board.dart +++ b/app/lib/game/world/game.dart @@ -8,9 +8,9 @@ import 'package:flame/game.dart'; import 'package:flame_tiled/flame_tiled.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; -import 'package:qeck/game/inventory.dart'; -import 'package:qeck/game/player.dart'; -import 'package:qeck/game/wall.dart'; +import 'package:qeck/game/world/inventory.dart'; +import 'package:qeck/game/world/player.dart'; +import 'package:qeck/game/world/wall.dart'; import 'package:qeck/services/network.dart'; class SpacedSpriteSheet { @@ -34,7 +34,7 @@ class SpacedSpriteSheet { } } -class BoardGame extends FlameGame with KeyboardEvents, HasCollisionDetection { +class GameWorld extends FlameGame with KeyboardEvents, HasCollisionDetection { final NetworkingService networkingService; final BoardPlayer _player = BoardPlayer(true); final Map _players = {}; @@ -43,7 +43,7 @@ class BoardGame extends FlameGame with KeyboardEvents, HasCollisionDetection { Vector2 get tileSize => _tileSize; final VoidCallback onEscape; - BoardGame({ + GameWorld({ required this.networkingService, required this.onEscape, }); @@ -52,7 +52,11 @@ class BoardGame extends FlameGame with KeyboardEvents, HasCollisionDetection { @override Future onLoad() async { - final component = await TiledComponent.load('map.tmx', _tileSize); + final component = await TiledComponent.load( + 'map.tmx', + _tileSize, + useAtlas: false, + ); final objects = component.tileMap.getLayer('Objects')?.objects; final spawn = objects?.firstWhere( diff --git a/app/lib/game/inventory.dart b/app/lib/game/world/inventory.dart similarity index 98% rename from app/lib/game/inventory.dart rename to app/lib/game/world/inventory.dart index 9b6b93b..9f2b6dd 100644 --- a/app/lib/game/inventory.dart +++ b/app/lib/game/world/inventory.dart @@ -4,7 +4,7 @@ import 'dart:ui'; import 'package:flame/components.dart'; import 'package:flame/events.dart'; import 'package:flame/flame.dart'; -import 'package:qeck/game/board.dart'; +import 'package:qeck/game/world/game.dart'; class HudSpriteSheet { final SpacedSpriteSheet _spriteSheet; diff --git a/app/lib/game/player.dart b/app/lib/game/world/player.dart similarity index 98% rename from app/lib/game/player.dart rename to app/lib/game/world/player.dart index e407a7f..c603b48 100644 --- a/app/lib/game/player.dart +++ b/app/lib/game/world/player.dart @@ -8,8 +8,8 @@ import 'package:flame/effects.dart'; import 'package:flame/extensions.dart'; import 'package:flame/flame.dart'; import 'package:flame/text.dart'; -import 'package:qeck/game/board.dart'; -import 'package:qeck/game/wall.dart'; +import 'package:qeck/game/world/game.dart'; +import 'package:qeck/game/world/wall.dart'; import 'package:qeck/models/message.dart'; import 'package:qeck/models/state.dart'; @@ -50,7 +50,7 @@ extension RendererExtension on PlayerState { class BoardPlayer extends SpriteAnimationGroupComponent<(PlayerState, PlayerDirection)> - with HasGameRef, CollisionCallbacks { + with HasGameRef, CollisionCallbacks { final bool isSelf; NetworkingUser _user; diff --git a/app/lib/game/wall.dart b/app/lib/game/world/wall.dart similarity index 100% rename from app/lib/game/wall.dart rename to app/lib/game/world/wall.dart diff --git a/app/lib/main.dart b/app/lib/main.dart index 38634b0..8863e55 100644 --- a/app/lib/main.dart +++ b/app/lib/main.dart @@ -28,8 +28,8 @@ String? dataPath; Future main(List args) async { WidgetsFlutterBinding.ensureInitialized(); - usePathUrlStrategy(); + final argParser = ArgParser(); argParser.addOption('path', abbr: 'p'); final result = argParser.parse(args); @@ -44,7 +44,7 @@ Future main(List args) async { value: settingsCubit, child: RepositoryProvider( create: (context) => NetworkingService(settingsCubit), - child: FlowApp(), + child: QeckApp(), ), ), ); @@ -74,8 +74,8 @@ List getLocales() => .where((l) => !kUnsupportedLanguages.contains(l.toString())) .toList(); -class FlowApp extends StatelessWidget { - FlowApp({super.key}); +class QeckApp extends StatelessWidget { + QeckApp({super.key}); @override Widget build(BuildContext context) { diff --git a/app/lib/models/table.dart b/app/lib/models/table.dart new file mode 100644 index 0000000..a4e24b0 --- /dev/null +++ b/app/lib/models/table.dart @@ -0,0 +1,53 @@ +import 'package:dart_mappable/dart_mappable.dart'; + +part 'table.mapper.dart'; + +@MappableClass() +class GridLocation with GridLocationMappable { + final int x, y; + + GridLocation(this.x, this.y); +} + +@MappableClass() +class GameTable with GameTableMappable { + final Map cells; + final Map boards; + + GameTable({ + this.cells = const {}, + this.boards = const {}, + }); +} + +@MappableClass() +class TableCell with TableCellMappable { + final List objects; + + TableCell(this.objects); +} + +@MappableClass() +class GameBoard with GameBoardMappable { + final AssetLocation asset; + + GameBoard(this.asset); +} + +@MappableClass() +class GameObject with GameObjectMappable { + final AssetLocation asset; + final String? variation; + + GameObject({ + required this.asset, + this.variation, + }); +} + +@MappableClass() +class AssetLocation with AssetLocationMappable { + final String namespace, id; + + AssetLocation(this.namespace, this.id); +} diff --git a/app/lib/models/table.mapper.dart b/app/lib/models/table.mapper.dart new file mode 100644 index 0000000..5085bc1 --- /dev/null +++ b/app/lib/models/table.mapper.dart @@ -0,0 +1,685 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter + +part of 'table.dart'; + +class GridLocationMapper extends ClassMapperBase { + GridLocationMapper._(); + + static GridLocationMapper? _instance; + static GridLocationMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = GridLocationMapper._()); + } + return _instance!; + } + + @override + final String id = 'GridLocation'; + + static int _$x(GridLocation v) => v.x; + static const Field _f$x = Field('x', _$x); + static int _$y(GridLocation v) => v.y; + static const Field _f$y = Field('y', _$y); + + @override + final MappableFields fields = const { + #x: _f$x, + #y: _f$y, + }; + + static GridLocation _instantiate(DecodingData data) { + return GridLocation(data.dec(_f$x), data.dec(_f$y)); + } + + @override + final Function instantiate = _instantiate; + + static GridLocation fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static GridLocation fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin GridLocationMappable { + String toJson() { + return GridLocationMapper.ensureInitialized() + .encodeJson(this as GridLocation); + } + + Map toMap() { + return GridLocationMapper.ensureInitialized() + .encodeMap(this as GridLocation); + } + + GridLocationCopyWith get copyWith => + _GridLocationCopyWithImpl(this as GridLocation, $identity, $identity); + @override + String toString() { + return GridLocationMapper.ensureInitialized() + .stringifyValue(this as GridLocation); + } + + @override + bool operator ==(Object other) { + return GridLocationMapper.ensureInitialized() + .equalsValue(this as GridLocation, other); + } + + @override + int get hashCode { + return GridLocationMapper.ensureInitialized() + .hashValue(this as GridLocation); + } +} + +extension GridLocationValueCopy<$R, $Out> + on ObjectCopyWith<$R, GridLocation, $Out> { + GridLocationCopyWith<$R, GridLocation, $Out> get $asGridLocation => + $base.as((v, t, t2) => _GridLocationCopyWithImpl(v, t, t2)); +} + +abstract class GridLocationCopyWith<$R, $In extends GridLocation, $Out> + implements ClassCopyWith<$R, $In, $Out> { + $R call({int? x, int? y}); + GridLocationCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} + +class _GridLocationCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, GridLocation, $Out> + implements GridLocationCopyWith<$R, GridLocation, $Out> { + _GridLocationCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + GridLocationMapper.ensureInitialized(); + @override + $R call({int? x, int? y}) => + $apply(FieldCopyWithData({if (x != null) #x: x, if (y != null) #y: y})); + @override + GridLocation $make(CopyWithData data) => + GridLocation(data.get(#x, or: $value.x), data.get(#y, or: $value.y)); + + @override + GridLocationCopyWith<$R2, GridLocation, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _GridLocationCopyWithImpl($value, $cast, t); +} + +class GameTableMapper extends ClassMapperBase { + GameTableMapper._(); + + static GameTableMapper? _instance; + static GameTableMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = GameTableMapper._()); + GridLocationMapper.ensureInitialized(); + TableCellMapper.ensureInitialized(); + GameBoardMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'GameTable'; + + static Map _$cells(GameTable v) => v.cells; + static const Field> _f$cells = + Field('cells', _$cells, opt: true, def: const {}); + static Map _$boards(GameTable v) => v.boards; + static const Field> _f$boards = + Field('boards', _$boards, opt: true, def: const {}); + + @override + final MappableFields fields = const { + #cells: _f$cells, + #boards: _f$boards, + }; + + static GameTable _instantiate(DecodingData data) { + return GameTable(cells: data.dec(_f$cells), boards: data.dec(_f$boards)); + } + + @override + final Function instantiate = _instantiate; + + static GameTable fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static GameTable fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin GameTableMappable { + String toJson() { + return GameTableMapper.ensureInitialized() + .encodeJson(this as GameTable); + } + + Map toMap() { + return GameTableMapper.ensureInitialized() + .encodeMap(this as GameTable); + } + + GameTableCopyWith get copyWith => + _GameTableCopyWithImpl(this as GameTable, $identity, $identity); + @override + String toString() { + return GameTableMapper.ensureInitialized() + .stringifyValue(this as GameTable); + } + + @override + bool operator ==(Object other) { + return GameTableMapper.ensureInitialized() + .equalsValue(this as GameTable, other); + } + + @override + int get hashCode { + return GameTableMapper.ensureInitialized().hashValue(this as GameTable); + } +} + +extension GameTableValueCopy<$R, $Out> on ObjectCopyWith<$R, GameTable, $Out> { + GameTableCopyWith<$R, GameTable, $Out> get $asGameTable => + $base.as((v, t, t2) => _GameTableCopyWithImpl(v, t, t2)); +} + +abstract class GameTableCopyWith<$R, $In extends GameTable, $Out> + implements ClassCopyWith<$R, $In, $Out> { + MapCopyWith<$R, GridLocation, TableCell, + TableCellCopyWith<$R, TableCell, TableCell>> get cells; + MapCopyWith<$R, GridLocation, GameBoard, + GameBoardCopyWith<$R, GameBoard, GameBoard>> get boards; + $R call( + {Map? cells, + Map? boards}); + GameTableCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} + +class _GameTableCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, GameTable, $Out> + implements GameTableCopyWith<$R, GameTable, $Out> { + _GameTableCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + GameTableMapper.ensureInitialized(); + @override + MapCopyWith<$R, GridLocation, TableCell, + TableCellCopyWith<$R, TableCell, TableCell>> + get cells => MapCopyWith( + $value.cells, (v, t) => v.copyWith.$chain(t), (v) => call(cells: v)); + @override + MapCopyWith<$R, GridLocation, GameBoard, + GameBoardCopyWith<$R, GameBoard, GameBoard>> + get boards => MapCopyWith($value.boards, (v, t) => v.copyWith.$chain(t), + (v) => call(boards: v)); + @override + $R call( + {Map? cells, + Map? boards}) => + $apply(FieldCopyWithData({ + if (cells != null) #cells: cells, + if (boards != null) #boards: boards + })); + @override + GameTable $make(CopyWithData data) => GameTable( + cells: data.get(#cells, or: $value.cells), + boards: data.get(#boards, or: $value.boards)); + + @override + GameTableCopyWith<$R2, GameTable, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _GameTableCopyWithImpl($value, $cast, t); +} + +class TableCellMapper extends ClassMapperBase { + TableCellMapper._(); + + static TableCellMapper? _instance; + static TableCellMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = TableCellMapper._()); + GameObjectMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'TableCell'; + + static List _$objects(TableCell v) => v.objects; + static const Field> _f$objects = + Field('objects', _$objects); + + @override + final MappableFields fields = const { + #objects: _f$objects, + }; + + static TableCell _instantiate(DecodingData data) { + return TableCell(data.dec(_f$objects)); + } + + @override + final Function instantiate = _instantiate; + + static TableCell fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static TableCell fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin TableCellMappable { + String toJson() { + return TableCellMapper.ensureInitialized() + .encodeJson(this as TableCell); + } + + Map toMap() { + return TableCellMapper.ensureInitialized() + .encodeMap(this as TableCell); + } + + TableCellCopyWith get copyWith => + _TableCellCopyWithImpl(this as TableCell, $identity, $identity); + @override + String toString() { + return TableCellMapper.ensureInitialized() + .stringifyValue(this as TableCell); + } + + @override + bool operator ==(Object other) { + return TableCellMapper.ensureInitialized() + .equalsValue(this as TableCell, other); + } + + @override + int get hashCode { + return TableCellMapper.ensureInitialized().hashValue(this as TableCell); + } +} + +extension TableCellValueCopy<$R, $Out> on ObjectCopyWith<$R, TableCell, $Out> { + TableCellCopyWith<$R, TableCell, $Out> get $asTableCell => + $base.as((v, t, t2) => _TableCellCopyWithImpl(v, t, t2)); +} + +abstract class TableCellCopyWith<$R, $In extends TableCell, $Out> + implements ClassCopyWith<$R, $In, $Out> { + ListCopyWith<$R, GameObject, GameObjectCopyWith<$R, GameObject, GameObject>> + get objects; + $R call({List? objects}); + TableCellCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} + +class _TableCellCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, TableCell, $Out> + implements TableCellCopyWith<$R, TableCell, $Out> { + _TableCellCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + TableCellMapper.ensureInitialized(); + @override + ListCopyWith<$R, GameObject, GameObjectCopyWith<$R, GameObject, GameObject>> + get objects => ListCopyWith($value.objects, + (v, t) => v.copyWith.$chain(t), (v) => call(objects: v)); + @override + $R call({List? objects}) => + $apply(FieldCopyWithData({if (objects != null) #objects: objects})); + @override + TableCell $make(CopyWithData data) => + TableCell(data.get(#objects, or: $value.objects)); + + @override + TableCellCopyWith<$R2, TableCell, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _TableCellCopyWithImpl($value, $cast, t); +} + +class GameObjectMapper extends ClassMapperBase { + GameObjectMapper._(); + + static GameObjectMapper? _instance; + static GameObjectMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = GameObjectMapper._()); + AssetLocationMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'GameObject'; + + static AssetLocation _$asset(GameObject v) => v.asset; + static const Field _f$asset = + Field('asset', _$asset); + static String? _$variation(GameObject v) => v.variation; + static const Field _f$variation = + Field('variation', _$variation, opt: true); + + @override + final MappableFields fields = const { + #asset: _f$asset, + #variation: _f$variation, + }; + + static GameObject _instantiate(DecodingData data) { + return GameObject( + asset: data.dec(_f$asset), variation: data.dec(_f$variation)); + } + + @override + final Function instantiate = _instantiate; + + static GameObject fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static GameObject fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin GameObjectMappable { + String toJson() { + return GameObjectMapper.ensureInitialized() + .encodeJson(this as GameObject); + } + + Map toMap() { + return GameObjectMapper.ensureInitialized() + .encodeMap(this as GameObject); + } + + GameObjectCopyWith get copyWith => + _GameObjectCopyWithImpl(this as GameObject, $identity, $identity); + @override + String toString() { + return GameObjectMapper.ensureInitialized() + .stringifyValue(this as GameObject); + } + + @override + bool operator ==(Object other) { + return GameObjectMapper.ensureInitialized() + .equalsValue(this as GameObject, other); + } + + @override + int get hashCode { + return GameObjectMapper.ensureInitialized().hashValue(this as GameObject); + } +} + +extension GameObjectValueCopy<$R, $Out> + on ObjectCopyWith<$R, GameObject, $Out> { + GameObjectCopyWith<$R, GameObject, $Out> get $asGameObject => + $base.as((v, t, t2) => _GameObjectCopyWithImpl(v, t, t2)); +} + +abstract class GameObjectCopyWith<$R, $In extends GameObject, $Out> + implements ClassCopyWith<$R, $In, $Out> { + AssetLocationCopyWith<$R, AssetLocation, AssetLocation> get asset; + $R call({AssetLocation? asset, String? variation}); + GameObjectCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} + +class _GameObjectCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, GameObject, $Out> + implements GameObjectCopyWith<$R, GameObject, $Out> { + _GameObjectCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + GameObjectMapper.ensureInitialized(); + @override + AssetLocationCopyWith<$R, AssetLocation, AssetLocation> get asset => + $value.asset.copyWith.$chain((v) => call(asset: v)); + @override + $R call({AssetLocation? asset, Object? variation = $none}) => + $apply(FieldCopyWithData({ + if (asset != null) #asset: asset, + if (variation != $none) #variation: variation + })); + @override + GameObject $make(CopyWithData data) => GameObject( + asset: data.get(#asset, or: $value.asset), + variation: data.get(#variation, or: $value.variation)); + + @override + GameObjectCopyWith<$R2, GameObject, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _GameObjectCopyWithImpl($value, $cast, t); +} + +class AssetLocationMapper extends ClassMapperBase { + AssetLocationMapper._(); + + static AssetLocationMapper? _instance; + static AssetLocationMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = AssetLocationMapper._()); + } + return _instance!; + } + + @override + final String id = 'AssetLocation'; + + static String _$namespace(AssetLocation v) => v.namespace; + static const Field _f$namespace = + Field('namespace', _$namespace); + static String _$id(AssetLocation v) => v.id; + static const Field _f$id = Field('id', _$id); + + @override + final MappableFields fields = const { + #namespace: _f$namespace, + #id: _f$id, + }; + + static AssetLocation _instantiate(DecodingData data) { + return AssetLocation(data.dec(_f$namespace), data.dec(_f$id)); + } + + @override + final Function instantiate = _instantiate; + + static AssetLocation fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static AssetLocation fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin AssetLocationMappable { + String toJson() { + return AssetLocationMapper.ensureInitialized() + .encodeJson(this as AssetLocation); + } + + Map toMap() { + return AssetLocationMapper.ensureInitialized() + .encodeMap(this as AssetLocation); + } + + AssetLocationCopyWith + get copyWith => _AssetLocationCopyWithImpl( + this as AssetLocation, $identity, $identity); + @override + String toString() { + return AssetLocationMapper.ensureInitialized() + .stringifyValue(this as AssetLocation); + } + + @override + bool operator ==(Object other) { + return AssetLocationMapper.ensureInitialized() + .equalsValue(this as AssetLocation, other); + } + + @override + int get hashCode { + return AssetLocationMapper.ensureInitialized() + .hashValue(this as AssetLocation); + } +} + +extension AssetLocationValueCopy<$R, $Out> + on ObjectCopyWith<$R, AssetLocation, $Out> { + AssetLocationCopyWith<$R, AssetLocation, $Out> get $asAssetLocation => + $base.as((v, t, t2) => _AssetLocationCopyWithImpl(v, t, t2)); +} + +abstract class AssetLocationCopyWith<$R, $In extends AssetLocation, $Out> + implements ClassCopyWith<$R, $In, $Out> { + $R call({String? namespace, String? id}); + AssetLocationCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} + +class _AssetLocationCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, AssetLocation, $Out> + implements AssetLocationCopyWith<$R, AssetLocation, $Out> { + _AssetLocationCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + AssetLocationMapper.ensureInitialized(); + @override + $R call({String? namespace, String? id}) => $apply(FieldCopyWithData( + {if (namespace != null) #namespace: namespace, if (id != null) #id: id})); + @override + AssetLocation $make(CopyWithData data) => AssetLocation( + data.get(#namespace, or: $value.namespace), data.get(#id, or: $value.id)); + + @override + AssetLocationCopyWith<$R2, AssetLocation, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _AssetLocationCopyWithImpl($value, $cast, t); +} + +class GameBoardMapper extends ClassMapperBase { + GameBoardMapper._(); + + static GameBoardMapper? _instance; + static GameBoardMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = GameBoardMapper._()); + AssetLocationMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'GameBoard'; + + static AssetLocation _$asset(GameBoard v) => v.asset; + static const Field _f$asset = + Field('asset', _$asset); + + @override + final MappableFields fields = const { + #asset: _f$asset, + }; + + static GameBoard _instantiate(DecodingData data) { + return GameBoard(data.dec(_f$asset)); + } + + @override + final Function instantiate = _instantiate; + + static GameBoard fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static GameBoard fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin GameBoardMappable { + String toJson() { + return GameBoardMapper.ensureInitialized() + .encodeJson(this as GameBoard); + } + + Map toMap() { + return GameBoardMapper.ensureInitialized() + .encodeMap(this as GameBoard); + } + + GameBoardCopyWith get copyWith => + _GameBoardCopyWithImpl(this as GameBoard, $identity, $identity); + @override + String toString() { + return GameBoardMapper.ensureInitialized() + .stringifyValue(this as GameBoard); + } + + @override + bool operator ==(Object other) { + return GameBoardMapper.ensureInitialized() + .equalsValue(this as GameBoard, other); + } + + @override + int get hashCode { + return GameBoardMapper.ensureInitialized().hashValue(this as GameBoard); + } +} + +extension GameBoardValueCopy<$R, $Out> on ObjectCopyWith<$R, GameBoard, $Out> { + GameBoardCopyWith<$R, GameBoard, $Out> get $asGameBoard => + $base.as((v, t, t2) => _GameBoardCopyWithImpl(v, t, t2)); +} + +abstract class GameBoardCopyWith<$R, $In extends GameBoard, $Out> + implements ClassCopyWith<$R, $In, $Out> { + AssetLocationCopyWith<$R, AssetLocation, AssetLocation> get asset; + $R call({AssetLocation? asset}); + GameBoardCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} + +class _GameBoardCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, GameBoard, $Out> + implements GameBoardCopyWith<$R, GameBoard, $Out> { + _GameBoardCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + GameBoardMapper.ensureInitialized(); + @override + AssetLocationCopyWith<$R, AssetLocation, AssetLocation> get asset => + $value.asset.copyWith.$chain((v) => call(asset: v)); + @override + $R call({AssetLocation? asset}) => + $apply(FieldCopyWithData({if (asset != null) #asset: asset})); + @override + GameBoard $make(CopyWithData data) => + GameBoard(data.get(#asset, or: $value.asset)); + + @override + GameBoardCopyWith<$R2, GameBoard, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _GameBoardCopyWithImpl($value, $cast, t); +} diff --git a/app/lib/pages/board/page.dart b/app/lib/pages/board/page.dart index 661e028..eef3b3a 100644 --- a/app/lib/pages/board/page.dart +++ b/app/lib/pages/board/page.dart @@ -5,7 +5,7 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:go_router/go_router.dart'; import 'package:phosphor_flutter/phosphor_flutter.dart'; import 'package:qeck/api/settings.dart'; -import 'package:qeck/game/board.dart'; +import 'package:qeck/game/world/game.dart'; import 'package:qeck/main.dart'; import 'package:qeck/pages/board/connect.dart'; import 'package:qeck/pages/board/create.dart'; @@ -112,7 +112,7 @@ class BoardPage extends StatelessWidget { ), ), body: GameWidget( - game: BoardGame( + game: GameWorld( networkingService: context.read(), onEscape: () => _scaffoldKey.currentState?.openDrawer(), ), diff --git a/app/pubspec.lock b/app/pubspec.lock index a001393..4c85014 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -53,10 +53,10 @@ packages: dependency: "direct main" description: name: barcode - sha256: "91b143666f7bb13636f716b6d4e412e372ab15ff7969799af8c9e30a382e9385" + sha256: "1fe4a55344505850517ce72d4a3a7b9ccf51b0dc1631ee7e552f6eacc4947f96" url: "https://pub.dev" source: hosted - version: "2.2.6" + version: "2.2.7" bloc: dependency: transitive description: @@ -327,6 +327,11 @@ packages: url: "https://pub.dev" source: hosted version: "8.1.5" + flutter_driver: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" flutter_lints: dependency: "direct dev" description: @@ -370,10 +375,10 @@ packages: dependency: "direct dev" description: name: freezed - sha256: "91bce569d4805ea5bad6619a3e8690df8ad062a235165af4c0c5d928dda15eaf" + sha256: a434911f643466d78462625df76fd9eb13e57348ff43fe1f77bbe909522c67a1 url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "2.5.2" freezed_annotation: dependency: "direct main" description: @@ -390,6 +395,11 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.0" + fuchsia_remote_debug_protocol: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" glob: dependency: transitive description: @@ -402,10 +412,10 @@ packages: dependency: "direct main" description: name: go_router - sha256: f6ba8eed5fa831e461122de577d4a26674a1d836e2956abe6c0f6c4d952e6673 + sha256: "771c8feb40ad0ef639973d7ecf1b43d55ffcedb2207fd43fab030f5639e40446" url: "https://pub.dev" source: hosted - version: "13.2.3" + version: "13.2.4" graphs: dependency: transitive description: @@ -438,6 +448,11 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" + integration_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" intl: dependency: "direct main" description: @@ -637,10 +652,10 @@ packages: dependency: "direct main" description: name: path_provider - sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b + sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" path_provider_android: dependency: transitive description: @@ -730,6 +745,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.5.1" + process: + dependency: transitive + description: + name: process + sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" + url: "https://pub.dev" + source: hosted + version: "5.0.2" provider: dependency: transitive description: @@ -782,10 +805,10 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02" + sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180 url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.3" shared_preferences_android: dependency: transitive description: @@ -911,6 +934,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + sync_http: + dependency: transitive + description: + name: sync_http + sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" + url: "https://pub.dev" + source: hosted + version: "0.3.1" term_glyph: dependency: transitive description: @@ -963,10 +994,10 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" + sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e" url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.2.6" url_launcher_android: dependency: transitive description: @@ -1087,6 +1118,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.5" + webdriver: + dependency: transitive + description: + name: webdriver + sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + url: "https://pub.dev" + source: hosted + version: "3.0.3" win32: dependency: transitive description: diff --git a/app/pubspec.yaml b/app/pubspec.yaml index 4bd719c..748e6b7 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -43,12 +43,12 @@ dependencies: flutter_svg: ^2.0.10+1 window_manager: ^0.3.8 # Database - shared_preferences: ^2.2.0 + shared_preferences: ^2.2.3 # Generation - barcode: ^2.2.6 + barcode: ^2.2.7 # Internal flutter_bloc: ^8.1.3 - url_launcher: ^6.2.5 + url_launcher: ^6.2.6 # Networking http: ^1.2.1 web_socket_channel: ^2.4.5 @@ -65,8 +65,8 @@ dependencies: # Information device_info_plus: ^10.1.0 package_info_plus: ^7.0.0 - path_provider: ^2.1.2 - go_router: ^13.2.3 + path_provider: ^2.1.3 + go_router: ^13.2.4 json_annotation: ^4.8.1 dynamic_color: ^1.7.0 rxdart: ^0.27.7 @@ -79,9 +79,11 @@ dev_dependencies: sdk: flutter build_runner: ^2.4.9 flutter_lints: ^3.0.2 - freezed: ^2.5.1 + freezed: ^2.5.2 json_serializable: ^6.7.1 dart_mappable_builder: ^4.2.3 + integration_test: + sdk: flutter # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec # The following section is specific to Flutter. diff --git a/app/scripts/build-rpm.sh b/app/scripts/build-rpm.sh index d60b631..2dc1a96 100644 --- a/app/scripts/build-rpm.sh +++ b/app/scripts/build-rpm.sh @@ -37,4 +37,4 @@ cd ../../ # Build RPM QA_RPATHS=$[ 0x0001|0x0010 ] rpmbuild -bb build/SPECS/linwood-qeck.spec --define "_topdir $(pwd)/build" # Copy RPM to build folder -cp build/RPMS/x86_64/linwood-qeck-*.rpm build/linwood-qeck-linux.rpm +cp build/RPMS/x86_64/linwood-qeck-*.rpm build/linwood-qeck-linux-x86_64.rpm \ No newline at end of file diff --git a/app/test_driver/integration_test.dart b/app/test_driver/integration_test.dart new file mode 100644 index 0000000..b38629c --- /dev/null +++ b/app/test_driver/integration_test.dart @@ -0,0 +1,3 @@ +import 'package:integration_test/integration_test_driver.dart'; + +Future main() => integrationDriver(); diff --git a/docs/package.json b/docs/package.json index 3547148..f99a65a 100644 --- a/docs/package.json +++ b/docs/package.json @@ -52,7 +52,7 @@ "@docusaurus/module-type-aliases": "3.2.1", "@docusaurus/tsconfig": "3.2.1", "markdownlint-cli2": "^0.13.0", - "typescript": "^5.4.4", + "typescript": "^5.4.5", "webpack": "^5.91.0" } } \ No newline at end of file diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 3eef1b0..411df09 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -7,25 +7,25 @@ settings: dependencies: '@docusaurus/core': specifier: 3.2.1 - version: 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + version: 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/plugin-client-redirects': specifier: 3.2.1 - version: 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + version: 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/plugin-content-docs': specifier: 3.2.1 - version: 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + version: 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/plugin-pwa': specifier: 3.2.1 - version: 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + version: 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/preset-classic': specifier: 3.2.1 - version: 3.2.1(@algolia/client-search@4.23.2)(@swc/core@1.4.13)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.4.4) + version: 3.2.1(@algolia/client-search@4.23.3)(@swc/core@1.4.13)(@types/react@18.2.78)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.4.5) '@docusaurus/theme-common': specifier: 3.2.1 - version: 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + version: 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@mdx-js/react': specifier: ^3.0.1 - version: 3.0.1(@types/react@18.2.75)(react@18.2.0) + version: 3.0.1(@types/react@18.2.78)(react@18.2.0) '@swc/core': specifier: ^1.4.13 version: 1.4.13 @@ -68,166 +68,166 @@ devDependencies: specifier: ^0.13.0 version: 0.13.0 typescript: - specifier: ^5.4.4 - version: 5.4.4 + specifier: ^5.4.5 + version: 5.4.5 webpack: specifier: ^5.91.0 version: 5.91.0(@swc/core@1.4.13) packages: - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0): + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights dev: false - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch dev: false - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2): + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2) - '@algolia/client-search': 4.23.2 - algoliasearch: 4.23.2 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 dev: false - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2): + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/client-search': 4.23.2 - algoliasearch: 4.23.2 + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 dev: false - /@algolia/cache-browser-local-storage@4.23.2: - resolution: {integrity: sha512-PvRQdCmtiU22dw9ZcTJkrVKgNBVAxKgD0/cfiqyxhA5+PHzA2WDt6jOmZ9QASkeM2BpyzClJb/Wr1yt2/t78Kw==} + /@algolia/cache-browser-local-storage@4.23.3: + resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==} dependencies: - '@algolia/cache-common': 4.23.2 + '@algolia/cache-common': 4.23.3 dev: false - /@algolia/cache-common@4.23.2: - resolution: {integrity: sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==} + /@algolia/cache-common@4.23.3: + resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} dev: false - /@algolia/cache-in-memory@4.23.2: - resolution: {integrity: sha512-rfbi/SnhEa3MmlqQvgYz/9NNJ156NkU6xFxjbxBtLWnHbpj+qnlMoKd+amoiacHRITpajg6zYbLM9dnaD3Bczw==} + /@algolia/cache-in-memory@4.23.3: + resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==} dependencies: - '@algolia/cache-common': 4.23.2 + '@algolia/cache-common': 4.23.3 dev: false - /@algolia/client-account@4.23.2: - resolution: {integrity: sha512-VbrOCLIN/5I7iIdskSoSw3uOUPF516k4SjDD4Qz3BFwa3of7D9A0lzBMAvQEJJEPHWdVraBJlGgdJq/ttmquJQ==} + /@algolia/client-account@4.23.3: + resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==} dependencies: - '@algolia/client-common': 4.23.2 - '@algolia/client-search': 4.23.2 - '@algolia/transporter': 4.23.2 + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/transporter': 4.23.3 dev: false - /@algolia/client-analytics@4.23.2: - resolution: {integrity: sha512-lLj7irsAztGhMoEx/SwKd1cwLY6Daf1Q5f2AOsZacpppSvuFvuBrmkzT7pap1OD/OePjLKxicJS8wNA0+zKtuw==} + /@algolia/client-analytics@4.23.3: + resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==} dependencies: - '@algolia/client-common': 4.23.2 - '@algolia/client-search': 4.23.2 - '@algolia/requester-common': 4.23.2 - '@algolia/transporter': 4.23.2 + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 dev: false - /@algolia/client-common@4.23.2: - resolution: {integrity: sha512-Q2K1FRJBern8kIfZ0EqPvUr3V29ICxCm/q42zInV+VJRjldAD9oTsMGwqUQ26GFMdFYmqkEfCbY4VGAiQhh22g==} + /@algolia/client-common@4.23.3: + resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} dependencies: - '@algolia/requester-common': 4.23.2 - '@algolia/transporter': 4.23.2 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 dev: false - /@algolia/client-personalization@4.23.2: - resolution: {integrity: sha512-vwPsgnCGhUcHhhQG5IM27z8q7dWrN9itjdvgA6uKf2e9r7vB+WXt4OocK0CeoYQt3OGEAExryzsB8DWqdMK5wg==} + /@algolia/client-personalization@4.23.3: + resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==} dependencies: - '@algolia/client-common': 4.23.2 - '@algolia/requester-common': 4.23.2 - '@algolia/transporter': 4.23.2 + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 dev: false - /@algolia/client-search@4.23.2: - resolution: {integrity: sha512-CxSB29OVGSE7l/iyoHvamMonzq7Ev8lnk/OkzleODZ1iBcCs3JC/XgTIKzN/4RSTrJ9QybsnlrN/bYCGufo7qw==} + /@algolia/client-search@4.23.3: + resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} dependencies: - '@algolia/client-common': 4.23.2 - '@algolia/requester-common': 4.23.2 - '@algolia/transporter': 4.23.2 + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 dev: false /@algolia/events@4.0.1: resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} dev: false - /@algolia/logger-common@4.23.2: - resolution: {integrity: sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==} + /@algolia/logger-common@4.23.3: + resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} dev: false - /@algolia/logger-console@4.23.2: - resolution: {integrity: sha512-oo+lnxxEmlhTBTFZ3fGz1O8PJ+G+8FiAoMY2Qo3Q4w23xocQev6KqDTA1JQAGPDxAewNA2VBwWOsVXeXFjrI/Q==} + /@algolia/logger-console@4.23.3: + resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==} dependencies: - '@algolia/logger-common': 4.23.2 + '@algolia/logger-common': 4.23.3 dev: false - /@algolia/recommend@4.23.2: - resolution: {integrity: sha512-Q75CjnzRCDzgIlgWfPnkLtrfF4t82JCirhalXkSSwe/c1GH5pWh4xUyDOR3KTMo+YxxX3zTlrL/FjHmUJEWEcg==} + /@algolia/recommend@4.23.3: + resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==} dependencies: - '@algolia/cache-browser-local-storage': 4.23.2 - '@algolia/cache-common': 4.23.2 - '@algolia/cache-in-memory': 4.23.2 - '@algolia/client-common': 4.23.2 - '@algolia/client-search': 4.23.2 - '@algolia/logger-common': 4.23.2 - '@algolia/logger-console': 4.23.2 - '@algolia/requester-browser-xhr': 4.23.2 - '@algolia/requester-common': 4.23.2 - '@algolia/requester-node-http': 4.23.2 - '@algolia/transporter': 4.23.2 + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 dev: false - /@algolia/requester-browser-xhr@4.23.2: - resolution: {integrity: sha512-TO9wLlp8+rvW9LnIfyHsu8mNAMYrqNdQ0oLF6eTWFxXfxG3k8F/Bh7nFYGk2rFAYty4Fw4XUtrv/YjeNDtM5og==} + /@algolia/requester-browser-xhr@4.23.3: + resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==} dependencies: - '@algolia/requester-common': 4.23.2 + '@algolia/requester-common': 4.23.3 dev: false - /@algolia/requester-common@4.23.2: - resolution: {integrity: sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==} + /@algolia/requester-common@4.23.3: + resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} dev: false - /@algolia/requester-node-http@4.23.2: - resolution: {integrity: sha512-SVzgkZM/malo+2SB0NWDXpnT7nO5IZwuDTaaH6SjLeOHcya1o56LSWXk+3F3rNLz2GVH+I/rpYKiqmHhSOjerw==} + /@algolia/requester-node-http@4.23.3: + resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==} dependencies: - '@algolia/requester-common': 4.23.2 + '@algolia/requester-common': 4.23.3 dev: false - /@algolia/transporter@4.23.2: - resolution: {integrity: sha512-GY3aGKBy+8AK4vZh8sfkatDciDVKad5rTY2S10Aefyjh7e7UGBP4zigf42qVXwU8VOPwi7l/L7OACGMOFcjB0Q==} + /@algolia/transporter@4.23.3: + resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} dependencies: - '@algolia/cache-common': 4.23.2 - '@algolia/logger-common': 4.23.2 - '@algolia/requester-common': 4.23.2 + '@algolia/cache-common': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/requester-common': 4.23.3 dev: false /@ampproject/remapping@2.3.0: @@ -1584,7 +1584,7 @@ packages: resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} dev: false - /@docsearch/react@3.6.0(@algolia/client-search@4.23.2)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): + /@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(@types/react@18.2.78)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -1601,11 +1601,11 @@ packages: search-insights: optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)(search-insights@2.13.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) '@docsearch/css': 3.6.0 - '@types/react': 18.2.75 - algoliasearch: 4.23.2 + '@types/react': 18.2.78 + algoliasearch: 4.23.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) search-insights: 2.13.0 @@ -1613,7 +1613,7 @@ packages: - '@algolia/client-search' dev: false - /@docusaurus/core@3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/core@3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-ZeMAqNvy0eBv2dThEeMuNzzuu+4thqMQakhxsgT5s02A8LqRcdkg+rbcnuNqUIpekQ4GRx3+M5nj0ODJhBXo9w==} engines: {node: '>=18.0'} hasBin: true @@ -1669,10 +1669,10 @@ packages: mini-css-extract-plugin: 2.8.1(webpack@5.91.0) p-map: 4.0.0 postcss: 8.4.38 - postcss-loader: 7.3.4(postcss@8.4.38)(typescript@5.4.4)(webpack@5.91.0) + postcss-loader: 7.3.4(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0) prompts: 2.4.2 react: 18.2.0 - react-dev-utils: 12.0.1(typescript@5.4.4)(webpack@5.91.0) + react-dev-utils: 12.0.1(typescript@5.4.5)(webpack@5.91.0) react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) @@ -1689,7 +1689,7 @@ packages: update-notifier: 6.0.2 url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.91.0) webpack: 5.91.0(@swc/core@1.4.13) - webpack-bundle-analyzer: 4.10.1 + webpack-bundle-analyzer: 4.10.2 webpack-dev-server: 4.15.2(webpack@5.91.0) webpack-merge: 5.10.0 webpackbar: 5.0.2(webpack@5.91.0) @@ -1782,7 +1782,7 @@ packages: '@docusaurus/react-loadable': 5.5.2(react@18.2.0) '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@types/history': 4.7.11 - '@types/react': 18.2.75 + '@types/react': 18.2.78 '@types/react-router-config': 5.0.11 '@types/react-router-dom': 5.3.3 react: 18.2.0 @@ -1796,14 +1796,14 @@ packages: - uglify-js - webpack-cli - /@docusaurus/plugin-client-redirects@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-client-redirects@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-GgzuqwbqNQSP5s/ouUrOQFuHI8m4Rn8a5CHuWkwpqj+5lbQMsABcvsoiWjrH9M00CzN48q+slSbJy7rtHjn7zg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/logger': 3.2.1 '@docusaurus/utils': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) '@docusaurus/utils-common': 3.2.1(@docusaurus/types@3.2.1) @@ -1834,14 +1834,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-blog@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-content-blog@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-lOx0JfhlGZoZu6pEJfeEpSISZR5dQbJGGvb42IP13G5YThNHhG9R9uoWuo4IOimPqBC7sHThdLA3VLevk61Fsw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/logger': 3.2.1 '@docusaurus/mdx-loader': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) @@ -1879,14 +1879,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-docs@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-content-docs@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-GHe5b/lCskAR8QVbfWAfPAApvRZgqk7FN3sOHgjCtjzQACZxkHmq6QqyqZ8Jp45V7lVck4wt2Xw2IzBJ7Cz3bA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/logger': 3.2.1 '@docusaurus/mdx-loader': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/module-type-aliases': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) @@ -1923,14 +1923,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-pages@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-content-pages@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-TOqVfMVTAHqWNEGM94Drz+PUpHDbwFy6ucHFgyTx9zJY7wPNSG5EN+rd/mU7OvAi26qpOn2o9xTdUmb28QLjEQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/mdx-loader': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) @@ -1959,14 +1959,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-debug@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-debug@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-AMKq8NuUKf2sRpN1m/sIbqbRbnmk+rSA+8mNU1LNxEl9BW9F/Gng8m9HKlzeyMPrf5XidzS1jqkuTLDJ6KIrFw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) fs-extra: 11.2.0 @@ -1993,14 +1993,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-analytics@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-google-analytics@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-/rJ+9u+Px0eTCiF4TNcNtj3kHf8cp6K1HCwOTdbsSlz6Xn21syZYcy+f1VM9wF6HrvUkXUcbM5TDCvg2IRL6bQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils-validation': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) react: 18.2.0 @@ -2025,14 +2025,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-gtag@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-google-gtag@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-XtuJnlMvYfppeVdUyKiDIJAa/gTJKCQU92z8CLZZ9ibJdgVjFOLS10s0hIC0eL5z0U2u2loJz2rZ63HOkNHbBA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils-validation': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) '@types/gtag.js': 0.0.12 @@ -2058,14 +2058,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-tag-manager@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-google-tag-manager@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-wiS/kE0Ny5pnjTxVCs8ljRnkL1RVMj59t6jmSsgEX7piDOoaXSMIUaoIt9ogS/v132uO0xEsxHstkRUZHQyPcQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils-validation': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) react: 18.2.0 @@ -2090,7 +2090,7 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-pwa@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-pwa@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-deZ0Sg3tNDzk+sr4rgmN4Dcq94zZbRnpU+Ef/qFLIaBDdBlGUg9jRP4bWwU+jRwqOYxD8wqCoPB43RB078xM7w==} engines: {node: '>=18.0'} peerDependencies: @@ -2099,8 +2099,8 @@ packages: dependencies: '@babel/core': 7.24.4 '@babel/preset-env': 7.24.4(@babel/core@7.24.4) - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/theme-common': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/theme-common': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/theme-translations': 3.2.1 '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) @@ -2138,14 +2138,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-sitemap@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/plugin-sitemap@3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-uWZ7AxzdeaQSTCwD2yZtOiEm9zyKU+wqCmi/Sf25kQQqqFSBZUStXfaQ8OHP9cecnw893ZpZ811rPhB/wfujJw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/logger': 3.2.1 '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) @@ -2175,25 +2175,25 @@ packages: - webpack-cli dev: false - /@docusaurus/preset-classic@3.2.1(@algolia/client-search@4.23.2)(@swc/core@1.4.13)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.4.4): + /@docusaurus/preset-classic@3.2.1(@algolia/client-search@4.23.3)(@swc/core@1.4.13)(@types/react@18.2.78)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.4.5): resolution: {integrity: sha512-E3OHSmttpEBcSMhfPBq3EJMBxZBM01W1rnaCUTXy9EHvkmB5AwgTfW1PwGAybPAX579ntE03R+2zmXdizWfKnQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-content-blog': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-content-docs': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-content-pages': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-debug': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-google-analytics': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-google-gtag': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-google-tag-manager': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-sitemap': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/theme-classic': 3.2.1(@swc/core@1.4.13)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/theme-common': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/theme-search-algolia': 3.2.1(@algolia/client-search@4.23.2)(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-content-blog': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-content-docs': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-content-pages': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-debug': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-google-analytics': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-google-gtag': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-google-tag-manager': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-sitemap': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/theme-classic': 3.2.1(@swc/core@1.4.13)(@types/react@18.2.78)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/theme-common': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/theme-search-algolia': 3.2.1(@algolia/client-search@4.23.3)(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(@types/react@18.2.78)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.4.5) '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2224,30 +2224,30 @@ packages: peerDependencies: react: '*' dependencies: - '@types/react': 18.2.75 + '@types/react': 18.2.78 prop-types: 15.8.1 react: 18.2.0 - /@docusaurus/theme-classic@3.2.1(@swc/core@1.4.13)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/theme-classic@3.2.1(@swc/core@1.4.13)(@types/react@18.2.78)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-+vSbnQyoWjc6vRZi4vJO2dBU02wqzynsai15KK+FANZudrYaBHtkbLZAQhgmxzBGVpxzi87gRohlMm+5D8f4tA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/mdx-loader': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/module-type-aliases': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-content-docs': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-content-pages': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/theme-common': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/plugin-content-blog': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-content-docs': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-content-pages': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/theme-common': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/theme-translations': 3.2.1 '@docusaurus/types': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) '@docusaurus/utils-common': 3.2.1(@docusaurus/types@3.2.1) '@docusaurus/utils-validation': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) - '@mdx-js/react': 3.0.1(@types/react@18.2.75)(react@18.2.0) + '@mdx-js/react': 3.0.1(@types/react@18.2.78)(react@18.2.0) clsx: 2.1.0 copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.43 @@ -2282,7 +2282,7 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-common@3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4): + /@docusaurus/theme-common@3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5): resolution: {integrity: sha512-d+adiD7L9xv6EvfaAwUqdKf4orsM3jqgeqAM+HAjgL/Ux0GkVVnfKr+tsoe+4ow4rHe6NUt+nkkW8/K8dKdilA==} engines: {node: '>=18.0'} peerDependencies: @@ -2291,13 +2291,13 @@ packages: dependencies: '@docusaurus/mdx-loader': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/module-type-aliases': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-content-docs': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/plugin-content-pages': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/plugin-content-blog': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-content-docs': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/plugin-content-pages': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/utils': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) '@docusaurus/utils-common': 3.2.1(@docusaurus/types@3.2.1) '@types/history': 4.7.11 - '@types/react': 18.2.75 + '@types/react': 18.2.78 '@types/react-router-config': 5.0.11 clsx: 2.1.0 parse-numeric-range: 1.3.0 @@ -2326,23 +2326,23 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-search-algolia@3.2.1(@algolia/client-search@4.23.2)(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.4.4): + /@docusaurus/theme-search-algolia@3.2.1(@algolia/client-search@4.23.3)(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(@types/react@18.2.78)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.4.5): resolution: {integrity: sha512-bzhCrpyXBXzeydNUH83II2akvFEGfhsNTPPWsk5N7e+odgQCQwoHhcF+2qILbQXjaoZ6B3c48hrvkyCpeyqGHw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docsearch/react': 3.6.0(@algolia/client-search@4.23.2)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) - '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(@types/react@18.2.78)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) + '@docusaurus/core': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/logger': 3.2.1 - '@docusaurus/plugin-content-docs': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) - '@docusaurus/theme-common': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.4) + '@docusaurus/plugin-content-docs': 3.2.1(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) + '@docusaurus/theme-common': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.5) '@docusaurus/theme-translations': 3.2.1 '@docusaurus/utils': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) '@docusaurus/utils-validation': 3.2.1(@docusaurus/types@3.2.1)(@swc/core@1.4.13) - algoliasearch: 4.23.2 - algoliasearch-helper: 3.17.0(algoliasearch@4.23.2) + algoliasearch: 4.23.3 + algoliasearch-helper: 3.17.0(algoliasearch@4.23.3) clsx: 2.1.0 eta: 2.2.0 fs-extra: 11.2.0 @@ -2394,7 +2394,7 @@ packages: dependencies: '@mdx-js/mdx': 3.0.1 '@types/history': 4.7.11 - '@types/react': 18.2.75 + '@types/react': 18.2.78 commander: 5.1.0 joi: 17.12.3 react: 18.2.0 @@ -2547,7 +2547,7 @@ packages: '@types/estree': 1.0.5 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 - '@types/mdx': 2.0.12 + '@types/mdx': 2.0.13 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-build-jsx: 3.0.1 @@ -2570,14 +2570,14 @@ packages: transitivePeerDependencies: - supports-color - /@mdx-js/react@3.0.1(@types/react@18.2.75)(react@18.2.0): + /@mdx-js/react@3.0.1(@types/react@18.2.78)(react@18.2.0): resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} peerDependencies: '@types/react': '>=16' react: '>=16' dependencies: - '@types/mdx': 2.0.12 - '@types/react': 18.2.75 + '@types/mdx': 2.0.13 + '@types/react': 18.2.78 react: 18.2.0 dev: false @@ -2719,7 +2719,7 @@ packages: /@surma/rollup-plugin-off-main-thread@2.2.3: resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} dependencies: - ejs: 3.1.9 + ejs: 3.1.10 json5: 2.2.3 magic-string: 0.25.9 string.prototype.matchall: 4.0.11 @@ -3041,11 +3041,11 @@ packages: /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.56.7 + '@types/eslint': 8.56.9 '@types/estree': 1.0.5 - /@types/eslint@8.56.7: - resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} + /@types/eslint@8.56.9: + resolution: {integrity: sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -3134,8 +3134,8 @@ packages: dependencies: '@types/unist': 3.0.2 - /@types/mdx@2.0.12: - resolution: {integrity: sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==} + /@types/mdx@2.0.13: + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} /@types/mime@1.3.5: resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} @@ -3182,24 +3182,24 @@ packages: resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.75 + '@types/react': 18.2.78 '@types/react-router': 5.1.20 /@types/react-router-dom@5.3.3: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.75 + '@types/react': 18.2.78 '@types/react-router': 5.1.20 /@types/react-router@5.1.20: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.75 + '@types/react': 18.2.78 - /@types/react@18.2.75: - resolution: {integrity: sha512-+DNnF7yc5y0bHkBTiLKqXFe+L4B3nvOphiMY3tuA5X10esmjqk7smyBZzbGTy2vsiy/Bnzj8yFIBL8xhRacoOg==} + /@types/react@18.2.78: + resolution: {integrity: sha512-qOwdPnnitQY4xKlKayt42q5W5UQrSHjgoXNVEtxeqdITJ99k4VXJOP3vt8Rkm9HmgJpH50UNU+rlqfkfWOqp0A==} dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 @@ -3462,33 +3462,33 @@ packages: uri-js: 4.4.1 dev: false - /algoliasearch-helper@3.17.0(algoliasearch@4.23.2): + /algoliasearch-helper@3.17.0(algoliasearch@4.23.3): resolution: {integrity: sha512-R5422OiQjvjlK3VdpNQ/Qk7KsTIGeM5ACm8civGifOVWdRRV/3SgXuKmeNxe94Dz6fwj/IgpVmXbHutU4mHubg==} peerDependencies: algoliasearch: '>= 3.1 < 6' dependencies: '@algolia/events': 4.0.1 - algoliasearch: 4.23.2 + algoliasearch: 4.23.3 dev: false - /algoliasearch@4.23.2: - resolution: {integrity: sha512-8aCl055IsokLuPU8BzLjwzXjb7ty9TPcUFFOk0pYOwsE5DMVhE3kwCMFtsCFKcnoPZK7oObm+H5mbnSO/9ioxQ==} + /algoliasearch@4.23.3: + resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} dependencies: - '@algolia/cache-browser-local-storage': 4.23.2 - '@algolia/cache-common': 4.23.2 - '@algolia/cache-in-memory': 4.23.2 - '@algolia/client-account': 4.23.2 - '@algolia/client-analytics': 4.23.2 - '@algolia/client-common': 4.23.2 - '@algolia/client-personalization': 4.23.2 - '@algolia/client-search': 4.23.2 - '@algolia/logger-common': 4.23.2 - '@algolia/logger-console': 4.23.2 - '@algolia/recommend': 4.23.2 - '@algolia/requester-browser-xhr': 4.23.2 - '@algolia/requester-common': 4.23.2 - '@algolia/requester-node-http': 4.23.2 - '@algolia/transporter': 4.23.2 + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-account': 4.23.3 + '@algolia/client-analytics': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-personalization': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/recommend': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 dev: false /animate.css@4.1.1: @@ -3609,7 +3609,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001608 + caniuse-lite: 1.0.30001609 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -3782,8 +3782,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001608 - electron-to-chromium: 1.4.731 + caniuse-lite: 1.0.30001609 + electron-to-chromium: 1.4.736 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) @@ -3860,13 +3860,13 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001608 + caniuse-lite: 1.0.30001609 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001608: - resolution: {integrity: sha512-cjUJTQkk9fQlJR2s4HMuPMvTiRggl0rAVMtthQuyOlDWuqHXqN8azLq+pi8B2TjwKJ32diHjUqRIKeFX4z1FoA==} + /caniuse-lite@1.0.30001609: + resolution: {integrity: sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==} /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -4213,7 +4213,7 @@ packages: yaml: 1.10.2 dev: false - /cosmiconfig@8.3.6(typescript@5.4.4): + /cosmiconfig@8.3.6(typescript@5.4.5): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -4226,7 +4226,7 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.4.4 + typescript: 5.4.5 dev: false /cross-spawn@7.0.3: @@ -4714,16 +4714,16 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false - /ejs@3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + /ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} engines: {node: '>=0.10.0'} hasBin: true dependencies: jake: 10.8.7 dev: false - /electron-to-chromium@1.4.731: - resolution: {integrity: sha512-+TqVfZjpRz2V/5SPpmJxq9qK620SC5SqCnxQIOi7i/U08ZDcTpKbT7Xjj9FU5CbXTMUb4fywbIr8C7cGv4hcjw==} + /electron-to-chromium@1.4.736: + resolution: {integrity: sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==} /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5208,7 +5208,7 @@ packages: is-callable: 1.2.7 dev: false - /fork-ts-checker-webpack-plugin@6.5.3(typescript@5.4.4)(webpack@5.91.0): + /fork-ts-checker-webpack-plugin@6.5.3(typescript@5.4.5)(webpack@5.91.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -5235,7 +5235,7 @@ packages: schema-utils: 2.7.0 semver: 7.6.0 tapable: 1.1.3 - typescript: 5.4.4 + typescript: 5.4.5 webpack: 5.91.0(@swc/core@1.4.13) dev: false @@ -6151,11 +6151,6 @@ packages: dependencies: isobject: 3.0.1 - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: false - /is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} dependencies: @@ -7766,14 +7761,14 @@ packages: postcss-selector-parser: 6.0.16 dev: false - /postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.4.4)(webpack@5.91.0): + /postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0): resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 dependencies: - cosmiconfig: 8.3.6(typescript@5.4.4) + cosmiconfig: 8.3.6(typescript@5.4.5) jiti: 1.21.0 postcss: 8.4.38 semver: 7.6.0 @@ -8247,7 +8242,7 @@ packages: react: 18.2.0 dev: false - /react-dev-utils@12.0.1(typescript@5.4.4)(webpack@5.91.0): + /react-dev-utils@12.0.1(typescript@5.4.5)(webpack@5.91.0): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -8266,7 +8261,7 @@ packages: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.4.4)(webpack@5.91.0) + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.4.5)(webpack@5.91.0) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -8281,7 +8276,7 @@ packages: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - typescript: 5.4.4 + typescript: 5.4.5 webpack: 5.91.0(@swc/core@1.4.13) transitivePeerDependencies: - eslint @@ -9512,8 +9507,8 @@ packages: is-typedarray: 1.0.0 dev: false - /typescript@5.4.4: - resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true @@ -9778,8 +9773,8 @@ packages: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: false - /webpack-bundle-analyzer@4.10.1: - resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==} + /webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} engines: {node: '>= 10.13.0'} hasBin: true dependencies: @@ -9791,7 +9786,6 @@ packages: escape-string-regexp: 4.0.0 gzip-size: 6.0.0 html-escaper: 2.0.2 - is-plain-object: 5.0.0 opener: 1.5.2 picocolors: 1.0.0 sirv: 2.0.4 diff --git a/tools/pubspec.lock b/tools/pubspec.lock index 1cc6f89..a1476b4 100644 --- a/tools/pubspec.lock +++ b/tools/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: "direct main" description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: diff --git a/tools/pubspec.yaml b/tools/pubspec.yaml index 1b9bb8c..65a3524 100644 --- a/tools/pubspec.yaml +++ b/tools/pubspec.yaml @@ -2,7 +2,7 @@ name: qeck_tools environment: sdk: ">=2.13.0 <3.0.0" dependencies: - args: ^2.4.2 + args: ^2.5.0 intl: ^0.19.0 lints: ^3.0.0 shelf: ^1.4.1