feat(app): Добавить пример со Scope (#5)

* feat(app): Добавить пример со Scope

* fix scope

* feat: добавить скоуп с внутренней зависимостью от репозитория (#6)

Co-authored-by: Artem Barkalov <artembark@gmail.com>

* feat: исправить обалсть видимости ProfileScope

* feat: добавить фикс namespace плагинов

---------

Co-authored-by: PetrovY <y.petrov@friflex.com>
Co-authored-by: Artem Barkalov <artembark@gmail.com>
This commit is contained in:
Yuri Petrov
2025-02-26 13:40:43 +03:00
committed by GitHub
parent af3b941711
commit ca4cb20d58
22 changed files with 684 additions and 135 deletions

7
.vscode/launch.json vendored
View File

@@ -7,6 +7,13 @@
"request": "launch", "request": "launch",
"program": "${workspaceFolder}/lib/targets/dev.dart" "program": "${workspaceFolder}/lib/targets/dev.dart"
}, },
{
"name": "stage",
"type": "dart",
"request": "launch",
"program": "${workspaceFolder}/lib/targets/stage.dart"
},
// { // {
// "name": "GMS_stage", // "name": "GMS_stage",
// "type": "dart", // "type": "dart",

View File

@@ -9,6 +9,18 @@ rootProject.buildDir = "../build"
subprojects { subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}" project.buildDir = "${rootProject.buildDir}/${project.name}"
} }
// Для поддержки плагинов не переведенных на namespace
subprojects {
afterEvaluate { project ->
if (project.hasProperty('android')) {
project.android {
if (namespace == null) {
namespace project.group
}
}
}
}
}
subprojects { subprojects {
project.evaluationDependsOn(":app") project.evaluationDependsOn(":app")
} }

View File

@@ -8,6 +8,12 @@ import 'package:friflex_starter/features/auth/domain/repository/i_auth_repositor
import 'package:friflex_starter/features/main/data/repository/main_mock_repository.dart'; import 'package:friflex_starter/features/main/data/repository/main_mock_repository.dart';
import 'package:friflex_starter/features/main/data/repository/main_repository.dart'; import 'package:friflex_starter/features/main/data/repository/main_repository.dart';
import 'package:friflex_starter/features/main/domain/repository/i_main_repository.dart'; import 'package:friflex_starter/features/main/domain/repository/i_main_repository.dart';
import 'package:friflex_starter/features/profile/data/repository/profile_mock_repository.dart';
import 'package:friflex_starter/features/profile/data/repository/profile_repository.dart';
import 'package:friflex_starter/features/profile/domain/repository/i_profile_repository.dart';
import 'package:friflex_starter/features/profile_scope/data/repository/profile_scope_mock_repository.dart';
import 'package:friflex_starter/features/profile_scope/data/repository/profile_scope_repository.dart';
import 'package:friflex_starter/features/profile_scope/domain/repository/i_profile_scope_repository.dart';
/// Список названий моковых репозиториев, которые должны быть подменены /// Список названий моковых репозиториев, которые должны быть подменены
/// для использования в сборке stage окружения /// для использования в сборке stage окружения
@@ -34,6 +40,12 @@ final class DiRepositories {
/// Интерфейс для работы с репозиторием главного сервиса /// Интерфейс для работы с репозиторием главного сервиса
late final IMainRepository mainRepository; late final IMainRepository mainRepository;
/// Интерфейс для работы с репозиторием профиля
late final IProfileRepository profileRepository;
/// Интерфейс для работы с репозиторием профиля scope
late final IProfileScopeRepository profileScopeRepository;
/// Метод для инициализации репозиториев в приложении /// Метод для инициализации репозиториев в приложении
/// ///
/// Принимает: /// Принимает:
@@ -60,7 +72,7 @@ final class DiRepositories {
onProgress(authRepository.name); onProgress(authRepository.name);
} on Object catch (error, stackTrace) { } on Object catch (error, stackTrace) {
onError( onError(
'Ошибка инициализации репозитория $IAuthRepository', 'Ошибка инициализации репозитория IAuthRepository',
error, error,
stackTrace, stackTrace,
); );
@@ -82,7 +94,51 @@ final class DiRepositories {
onProgress(mainRepository.name); onProgress(mainRepository.name);
} on Object catch (error, stackTrace) { } on Object catch (error, stackTrace) {
onError( onError(
'Ошибка инициализации репозитория $IMainRepository', 'Ошибка инициализации репозитория IMainRepository',
error,
stackTrace,
);
}
try {
// Инициализация репозитория профиля
profileRepository = _lazyInitRepo<IProfileRepository>(
mockFactory: ProfileMockRepository.new,
mainFactory: () => ProfileRepository(
httpClient: diContainer.httpClientFactory(
diContainer.debugService,
diContainer.appConfig,
),
),
onProgress: onProgress,
environment: diContainer.env,
);
onProgress(profileRepository.name);
} on Object catch (error, stackTrace) {
onError(
'Ошибка инициализации репозитория IProfileRepository',
error,
stackTrace,
);
}
try {
// Инициализация репозитория профиля scope
profileScopeRepository = _lazyInitRepo<IProfileScopeRepository>(
mockFactory: ProfileScopeMockRepository.new,
mainFactory: () => ProfileScopeRepository(
httpClient: diContainer.httpClientFactory(
diContainer.debugService,
diContainer.appConfig,
),
),
onProgress: onProgress,
environment: diContainer.env,
);
onProgress(mainRepository.name);
} on Object catch (error, stackTrace) {
onError(
'Ошибка инициализации репозитория IProfileScopeRepository',
error, error,
stackTrace, stackTrace,
); );

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
class MainScreen extends StatelessWidget { class MainScreen extends StatelessWidget {
const MainScreen({super.key}); const MainScreen({super.key});
@@ -9,6 +10,26 @@ class MainScreen extends StatelessWidget {
appBar: AppBar( appBar: AppBar(
title: const Text('Main Screen'), title: const Text('Main Screen'),
), ),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
context.push('/profile');
},
child: const Text('Открыть профиль'),
),
const SizedBox(height: 16),
ElevatedButton(
onPressed: () {
context.push('/profile_scope');
},
child: const Text('Открыть профиль с областью видимости'),
),
],
),
),
); );
} }
} }

View File

@@ -0,0 +1,14 @@
import '../../domain/repository/i_profile_repository.dart';
/// {@template ProfileMockRepository}
///
/// {@endtemplate}
final class ProfileMockRepository implements IProfileRepository {
@override
String get name => 'ProfileMockRepository';
@override
Future<String> fetchUserProfile(String id) {
return Future.value('MOCK Yura Petrov');
}
}

View File

@@ -0,0 +1,24 @@
import 'package:friflex_starter/app/http/i_http_client.dart';
import '../../domain/repository/i_profile_repository.dart';
/// {@template ProfileRepository}
///
/// {@endtemplate}
final class ProfileRepository implements IProfileRepository {
final IHttpClient httpClient;
ProfileRepository({required this.httpClient});
@override
String get name => 'ProfileRepository';
@override
Future<String> fetchUserProfile(String id) async {
// Какой-то запрос к серверу
await Future.delayed(const Duration(seconds: 1));
// httpClient.get('https://example.com/profile/$id');
return 'Yura Petrov';
}
}

View File

@@ -0,0 +1,39 @@
import 'package:equatable/equatable.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:friflex_starter/features/profile/domain/repository/i_profile_repository.dart';
part 'profile_event.dart';
part 'profile_state.dart';
class ProfileBloc extends Bloc<ProfileEvent, ProfileState> {
ProfileBloc(this._profileRepository) : super(ProfileInitialState()) {
// Вам необходимо добавлять только
// один обработчик событий в конструкторе
on<ProfileEvent>((event, emit) async {
if (event is ProfileFetchProfileEvent) {
await _fetchProfile(event, emit);
}
});
}
final IProfileRepository _profileRepository;
Future<void> _fetchProfile(
ProfileFetchProfileEvent event,
Emitter<ProfileState> emit,
) async {
try {
emit(ProfileWaitingState());
final data = await _profileRepository.fetchUserProfile(event.id);
emit(ProfileSuccessState(data: data));
} on Object catch (error, stackTrace) {
emit(
ProfileErrorState(
message: 'Ошибка при загрузке профиля',
error: error,
stackTrace: stackTrace,
),
);
}
}
}

View File

@@ -0,0 +1,17 @@
part of 'profile_bloc.dart';
sealed class ProfileEvent extends Equatable {
const ProfileEvent();
@override
List<Object> get props => [];
}
final class ProfileFetchProfileEvent extends ProfileEvent {
final String id;
const ProfileFetchProfileEvent({required this.id});
@override
List<Object> get props => [id];
}

View File

@@ -0,0 +1,36 @@
part of 'profile_bloc.dart';
sealed class ProfileState extends Equatable {
const ProfileState();
@override
List<Object> get props => [];
}
final class ProfileInitialState extends ProfileState {}
final class ProfileWaitingState extends ProfileState {}
final class ProfileErrorState extends ProfileState {
final String message;
final Object error;
final StackTrace? stackTrace;
const ProfileErrorState({
required this.message,
required this.error,
this.stackTrace,
});
@override
List<Object> get props => [message, error];
}
final class ProfileSuccessState extends ProfileState {
final Object data;
const ProfileSuccessState({required this.data});
@override
List<Object> get props => [data];
}

View File

@@ -0,0 +1,8 @@
import 'package:friflex_starter/di/di_base_repo.dart';
/// {@template IProfileRepository}
///
/// {@endtemplate}
abstract interface class IProfileRepository with DiBaseRepo {
Future<String> fetchUserProfile(String id);
}

View File

@@ -0,0 +1,48 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:friflex_starter/app/app_context_ext.dart';
import 'package:friflex_starter/features/profile/domain/bloc/profile_bloc.dart';
// Класс экрана, где мы инициализируем ProfileBloc
// и вызываем событие ProfileFetchProfileEvent
class ProfileScreen extends StatelessWidget {
const ProfileScreen({super.key});
@override
Widget build(BuildContext context) {
final profileRepository = context.di.repositories.profileRepository;
// Здесь мы инициализируем ProfileBloc
// и вызываем событие ProfileFetchProfileEvent
// Или любые другие события, которые вам нужны
return BlocProvider(
create: (context) => ProfileBloc(profileRepository)
..add(const ProfileFetchProfileEvent(id: '1')),
child: const _ProfileScreenView(),
);
}
}
/// Виджет, который отображает UI экрана
class _ProfileScreenView extends StatelessWidget {
const _ProfileScreenView();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Profile'),
),
body: Center(
child: BlocBuilder<ProfileBloc, ProfileState>(
builder: (context, state) {
return switch (state) {
ProfileSuccessState() => Text('Data: ${state.props.first}'),
ProfileErrorState() => Text('Error: ${state.message}'),
_ => const CircularProgressIndicator(),
};
},
),
),
);
}
}

View File

@@ -0,0 +1,14 @@
import '../../domain/repository/i_profile_scope_repository.dart';
/// {@template ProfileScopeMockRepository}
///
/// {@endtemplate}
final class ProfileScopeMockRepository implements IProfileScopeRepository {
@override
String get name => 'ProfileScopeMockRepository';
@override
Future<String> fetchUserProfile(String id) async {
return 'MOCK Yura Petrov';
}
}

View File

@@ -0,0 +1,24 @@
import 'package:friflex_starter/app/http/i_http_client.dart';
import '../../domain/repository/i_profile_scope_repository.dart';
/// {@template ProfileScopeRepository}
///
/// {@endtemplate}
final class ProfileScopeRepository implements IProfileScopeRepository {
final IHttpClient httpClient;
ProfileScopeRepository({required this.httpClient});
@override
String get name => 'ProfileScopeRepository';
@override
Future<String> fetchUserProfile(String id) async {
// Какой-то запрос к серверу
await Future.delayed(const Duration(seconds: 1));
// httpClient.get('https://example.com/profile/$id');
return 'Yura Petrov';
}
}

View File

@@ -0,0 +1,41 @@
import 'package:equatable/equatable.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:friflex_starter/features/profile_scope/domain/repository/i_profile_scope_repository.dart';
part 'profile_scope_event.dart';
part 'profile_scope_state.dart';
class ProfileScopeBloc extends Bloc<ProfileScopeEvent, ProfileScopeState> {
ProfileScopeBloc({required IProfileScopeRepository profileRepository})
: _profileRepository = profileRepository,
super(ProfileScopeInitialState()) {
// Вам необходимо добавлять только
// один обработчик событий в конструкторе
on<ProfileScopeEvent>((event, emit) async {
return switch (event) {
ProfileScopeFetchProfileEvent() => await _fetchProfile(event, emit),
};
});
}
final IProfileScopeRepository _profileRepository;
Future<void> _fetchProfile(
ProfileScopeFetchProfileEvent event,
Emitter<ProfileScopeState> emit,
) async {
try {
emit(ProfileScopeWaitingState());
final data = await _profileRepository.fetchUserProfile(event.id);
emit(ProfileScopeSuccessState(data: data));
} on Object catch (error, stackTrace) {
emit(
ProfileScopeErrorState(
message: 'Ошибка при загрузке профиля',
error: error,
stackTrace: stackTrace,
),
);
}
}
}

View File

@@ -0,0 +1,17 @@
part of 'profile_scope_bloc.dart';
sealed class ProfileScopeEvent extends Equatable {
const ProfileScopeEvent();
@override
List<Object> get props => [];
}
final class ProfileScopeFetchProfileEvent extends ProfileScopeEvent {
final String id;
const ProfileScopeFetchProfileEvent({required this.id});
@override
List<Object> get props => [id];
}

View File

@@ -0,0 +1,36 @@
part of 'profile_scope_bloc.dart';
sealed class ProfileScopeState extends Equatable {
const ProfileScopeState();
@override
List<Object> get props => [];
}
final class ProfileScopeInitialState extends ProfileScopeState {}
final class ProfileScopeWaitingState extends ProfileScopeState {}
final class ProfileScopeErrorState extends ProfileScopeState {
final String message;
final Object error;
final StackTrace? stackTrace;
const ProfileScopeErrorState({
required this.message,
required this.error,
this.stackTrace,
});
@override
List<Object> get props => [message, error];
}
final class ProfileScopeSuccessState extends ProfileScopeState {
final Object data;
const ProfileScopeSuccessState({required this.data});
@override
List<Object> get props => [data];
}

View File

@@ -0,0 +1,8 @@
import 'package:friflex_starter/di/di_base_repo.dart';
/// {@template IProfileScopeRepository}
///
/// {@endtemplate}
abstract interface class IProfileScopeRepository with DiBaseRepo {
Future<String> fetchUserProfile(String id);
}

View File

@@ -0,0 +1,77 @@
import 'package:flutter/material.dart';
import 'package:friflex_starter/app/app_context_ext.dart';
import 'package:friflex_starter/features/profile_scope/domain/bloc/profile_scope_bloc.dart';
class ProfileInheritedScope extends InheritedWidget {
const ProfileInheritedScope({
required this.profileScopeBloc,
required super.child,
super.key,
});
final ProfileScopeBloc profileScopeBloc;
@override
bool updateShouldNotify(ProfileInheritedScope oldWidget) =>
profileScopeBloc != oldWidget.profileScopeBloc;
}
class ProfileScope extends StatefulWidget {
const ProfileScope({
required this.child,
super.key,
});
final Widget child;
static ProfileInheritedScope? maybeOf(
BuildContext context, {
bool listen = false,
}) {
return listen
? context.dependOnInheritedWidgetOfExactType<ProfileInheritedScope>()
: context.getInheritedWidgetOfExactType<ProfileInheritedScope>();
}
static ProfileInheritedScope of(
BuildContext context, {
bool listen = false,
}) {
final result = maybeOf(context, listen: listen);
if (result == null) {
throw StateError(
'ProfileScope is not found above widget ${context.widget}',
);
}
return result;
}
@override
State<StatefulWidget> createState() => _ProfileScopeState();
}
class _ProfileScopeState extends State<ProfileScope> {
late final ProfileScopeBloc _profileScopeBloc;
@override
void initState() {
super.initState();
_profileScopeBloc =
ProfileScopeBloc(profileRepository: context.di.repositories.profileScopeRepository);
_profileScopeBloc.add(const ProfileScopeFetchProfileEvent(id: '1'));
}
@override
void dispose() {
_profileScopeBloc.close();
super.dispose();
}
@override
Widget build(BuildContext context) {
return ProfileInheritedScope(profileScopeBloc: _profileScopeBloc, child: widget.child);
}
}

View File

@@ -0,0 +1,39 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:friflex_starter/features/profile_scope/domain/bloc/profile_scope_bloc.dart';
import 'package:friflex_starter/features/profile_scope/presentation/profile_scope.dart';
// Класс экрана, где мы инициализируем ProfileScopeBloc
class ProfileScopeScreen extends StatelessWidget {
const ProfileScopeScreen({super.key});
@override
Widget build(BuildContext context) {
return const ProfileScope(
child: _ProfileScopeView(),
);
}
}
class _ProfileScopeView extends StatelessWidget {
const _ProfileScopeView();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Profile Scope')),
body: Center(
child: BlocBuilder<ProfileScopeBloc, ProfileScopeState>(
bloc: ProfileScope.of(context).profileScopeBloc,
builder: (context, state) {
return switch (state) {
ProfileScopeSuccessState() => Text('Data: ${state.props.first}'),
ProfileScopeErrorState() => Text('Error: ${state.message}'),
_ => const CircularProgressIndicator(),
};
},
),
),
);
}
}

View File

@@ -2,6 +2,8 @@ import 'package:flutter/cupertino.dart';
import 'package:friflex_starter/features/debug/debug_routes.dart'; import 'package:friflex_starter/features/debug/debug_routes.dart';
import 'package:friflex_starter/features/debug/i_debug_service.dart'; import 'package:friflex_starter/features/debug/i_debug_service.dart';
import 'package:friflex_starter/features/main/presentation/main_routes.dart'; import 'package:friflex_starter/features/main/presentation/main_routes.dart';
import 'package:friflex_starter/features/profile/presentation/screens/profile_screen.dart';
import 'package:friflex_starter/features/profile_scope/presentation/screens/profile_scope_screen.dart';
import 'package:friflex_starter/features/root/root_screen.dart'; import 'package:friflex_starter/features/root/root_screen.dart';
import 'package:friflex_starter/features/splash/splash_screen.dart'; import 'package:friflex_starter/features/splash/splash_screen.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
@@ -37,6 +39,14 @@ class AppRouter {
path: '/splash', path: '/splash',
builder: (context, state) => const SplashScreen(), builder: (context, state) => const SplashScreen(),
), ),
GoRoute(
path: '/profile',
builder: (context, state) => const ProfileScreen(),
),
GoRoute(
path: '/profile_scope',
builder: (context, state) => const ProfileScopeScreen(),
),
], ],
); );
} }

View File

@@ -6,7 +6,7 @@ packages:
description: description:
name: _fe_analyzer_shared name: _fe_analyzer_shared
sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "76.0.0" version: "76.0.0"
_macros: _macros:
@@ -19,7 +19,7 @@ packages:
description: description:
name: analyzer name: analyzer
sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.11.0" version: "6.11.0"
app_services: app_services:
@@ -34,7 +34,7 @@ packages:
description: description:
name: archive name: archive
sha256: "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a" sha256: "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.0.2" version: "4.0.2"
args: args:
@@ -42,23 +42,23 @@ packages:
description: description:
name: args name: args
sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.6.0" version: "2.6.0"
asn1lib: asn1lib:
dependency: transitive dependency: transitive
description: description:
name: asn1lib name: asn1lib
sha256: "4bae5ae63e6d6dd17c4aac8086f3dec26c0236f6a0f03416c6c19d830c367cf5" sha256: "1c296cd268f486cabcc3930e9b93a8133169305f18d722916e675959a88f6d2c"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.5.8" version: "1.5.9"
async: async:
dependency: transitive dependency: transitive
description: description:
name: async name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.11.0" version: "2.11.0"
bloc: bloc:
@@ -66,7 +66,7 @@ packages:
description: description:
name: bloc name: bloc
sha256: "106842ad6569f0b60297619e9e0b1885c2fb9bf84812935490e6c5275777804e" sha256: "106842ad6569f0b60297619e9e0b1885c2fb9bf84812935490e6c5275777804e"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "8.1.4" version: "8.1.4"
boolean_selector: boolean_selector:
@@ -74,7 +74,7 @@ packages:
description: description:
name: boolean_selector name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.1" version: "2.1.1"
build: build:
@@ -82,7 +82,7 @@ packages:
description: description:
name: build name: build
sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.4.2" version: "2.4.2"
build_config: build_config:
@@ -90,31 +90,31 @@ packages:
description: description:
name: build_config name: build_config
sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.2" version: "1.1.2"
build_daemon: build_daemon:
dependency: transitive dependency: transitive
description: description:
name: build_daemon name: build_daemon
sha256: "294a2edaf4814a378725bfe6358210196f5ea37af89ecd81bfa32960113d4948" sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.0.3" version: "4.0.4"
build_resolvers: build_resolvers:
dependency: transitive dependency: transitive
description: description:
name: build_resolvers name: build_resolvers
sha256: "99d3980049739a985cf9b21f30881f46db3ebc62c5b8d5e60e27440876b1ba1e" sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.4.3" version: "2.4.4"
build_runner: build_runner:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: build_runner name: build_runner
sha256: "74691599a5bc750dc96a6b4bfd48f7d9d66453eab04c7f4063134800d6a5c573" sha256: "74691599a5bc750dc96a6b4bfd48f7d9d66453eab04c7f4063134800d6a5c573"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.4.14" version: "2.4.14"
build_runner_core: build_runner_core:
@@ -122,7 +122,7 @@ packages:
description: description:
name: build_runner_core name: build_runner_core
sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "8.0.0" version: "8.0.0"
built_collection: built_collection:
@@ -130,7 +130,7 @@ packages:
description: description:
name: built_collection name: built_collection
sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.1.1" version: "5.1.1"
built_value: built_value:
@@ -138,7 +138,7 @@ packages:
description: description:
name: built_value name: built_value
sha256: "28a712df2576b63c6c005c465989a348604960c0958d28be5303ba9baa841ac2" sha256: "28a712df2576b63c6c005c465989a348604960c0958d28be5303ba9baa841ac2"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "8.9.3" version: "8.9.3"
characters: characters:
@@ -146,7 +146,7 @@ packages:
description: description:
name: characters name: characters
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.3.0" version: "1.3.0"
checked_yaml: checked_yaml:
@@ -154,7 +154,7 @@ packages:
description: description:
name: checked_yaml name: checked_yaml
sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.3" version: "2.0.3"
clock: clock:
@@ -162,7 +162,7 @@ packages:
description: description:
name: clock name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.1" version: "1.1.1"
code_builder: code_builder:
@@ -170,7 +170,7 @@ packages:
description: description:
name: code_builder name: code_builder
sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.10.1" version: "4.10.1"
collection: collection:
@@ -178,7 +178,7 @@ packages:
description: description:
name: collection name: collection
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.19.0" version: "1.19.0"
color: color:
@@ -186,7 +186,7 @@ packages:
description: description:
name: color name: color
sha256: ddcdf1b3badd7008233f5acffaf20ca9f5dc2cd0172b75f68f24526a5f5725cb sha256: ddcdf1b3badd7008233f5acffaf20ca9f5dc2cd0172b75f68f24526a5f5725cb
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.0.0" version: "3.0.0"
convert: convert:
@@ -194,7 +194,7 @@ packages:
description: description:
name: convert name: convert
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
crypto: crypto:
@@ -202,7 +202,7 @@ packages:
description: description:
name: crypto name: crypto
sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.0.6" version: "3.0.6"
cupertino_icons: cupertino_icons:
@@ -210,23 +210,23 @@ packages:
description: description:
name: cupertino_icons name: cupertino_icons
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.8" version: "1.0.8"
dart_style: dart_style:
dependency: transitive dependency: transitive
description: description:
name: dart_style name: dart_style
sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab" sha256: "7306ab8a2359a48d22310ad823521d723acfed60ee1f7e37388e8986853b6820"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.3.7" version: "2.3.8"
dartx: dartx:
dependency: transitive dependency: transitive
description: description:
name: dartx name: dartx
sha256: "8b25435617027257d43e6508b5fe061012880ddfdaa75a71d607c3de2a13d244" sha256: "8b25435617027257d43e6508b5fe061012880ddfdaa75a71d607c3de2a13d244"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.2.0" version: "1.2.0"
dio: dio:
@@ -234,7 +234,7 @@ packages:
description: description:
name: dio name: dio
sha256: "5598aa796bbf4699afd5c67c0f5f6e2ed542afc956884b9cd58c306966efc260" sha256: "5598aa796bbf4699afd5c67c0f5f6e2ed542afc956884b9cd58c306966efc260"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.7.0" version: "5.7.0"
dio_web_adapter: dio_web_adapter:
@@ -242,7 +242,7 @@ packages:
description: description:
name: dio_web_adapter name: dio_web_adapter
sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8" sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
encrypt: encrypt:
@@ -250,7 +250,7 @@ packages:
description: description:
name: encrypt name: encrypt
sha256: "62d9aa4670cc2a8798bab89b39fc71b6dfbacf615de6cf5001fb39f7e4a996a2" sha256: "62d9aa4670cc2a8798bab89b39fc71b6dfbacf615de6cf5001fb39f7e4a996a2"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.0.3" version: "5.0.3"
envied: envied:
@@ -258,7 +258,7 @@ packages:
description: description:
name: envied name: envied
sha256: "08a9012e5d93e1a816919a52e37c7b8367e73ebb8d52d1ca7dd6fcd875a2cd2c" sha256: "08a9012e5d93e1a816919a52e37c7b8367e73ebb8d52d1ca7dd6fcd875a2cd2c"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.1" version: "1.0.1"
envied_generator: envied_generator:
@@ -266,15 +266,15 @@ packages:
description: description:
name: envied_generator name: envied_generator
sha256: "9a49ca9f3744069661c4f2c06993647699fae2773bca10b593fbb3228d081027" sha256: "9a49ca9f3744069661c4f2c06993647699fae2773bca10b593fbb3228d081027"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.1" version: "1.0.1"
equatable: equatable:
dependency: transitive dependency: "direct main"
description: description:
name: equatable name: equatable
sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7" sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.7" version: "2.0.7"
fake_async: fake_async:
@@ -282,7 +282,7 @@ packages:
description: description:
name: fake_async name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.3.1" version: "1.3.1"
ffi: ffi:
@@ -290,7 +290,7 @@ packages:
description: description:
name: ffi name: ffi
sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.3" version: "2.1.3"
file: file:
@@ -298,7 +298,7 @@ packages:
description: description:
name: file name: file
sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "7.0.1" version: "7.0.1"
fixnum: fixnum:
@@ -306,7 +306,7 @@ packages:
description: description:
name: fixnum name: fixnum
sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.1" version: "1.1.1"
flutter: flutter:
@@ -319,7 +319,7 @@ packages:
description: description:
name: flutter_bloc name: flutter_bloc
sha256: "890c51c8007f0182360e523518a0c732efb89876cb4669307af7efada5b55557" sha256: "890c51c8007f0182360e523518a0c732efb89876cb4669307af7efada5b55557"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "8.1.1" version: "8.1.1"
flutter_gen: flutter_gen:
@@ -327,7 +327,7 @@ packages:
description: description:
name: flutter_gen name: flutter_gen
sha256: d7e4e57f606d73628b97765a67fdfb5a97e24cd2183e170afa8d1f62e48a9d5c sha256: d7e4e57f606d73628b97765a67fdfb5a97e24cd2183e170afa8d1f62e48a9d5c
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.8.0" version: "5.8.0"
flutter_gen_core: flutter_gen_core:
@@ -335,7 +335,7 @@ packages:
description: description:
name: flutter_gen_core name: flutter_gen_core
sha256: "46ecf0e317413dd065547887c43f93f55e9653e83eb98dc13dd07d40dd225325" sha256: "46ecf0e317413dd065547887c43f93f55e9653e83eb98dc13dd07d40dd225325"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.8.0" version: "5.8.0"
flutter_gen_runner: flutter_gen_runner:
@@ -343,7 +343,7 @@ packages:
description: description:
name: flutter_gen_runner name: flutter_gen_runner
sha256: "77f0a02fc30d9fcf2549fe874eb3fde091435724904bcbb1af60aa40cbfab1f4" sha256: "77f0a02fc30d9fcf2549fe874eb3fde091435724904bcbb1af60aa40cbfab1f4"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.8.0" version: "5.8.0"
flutter_lints: flutter_lints:
@@ -351,7 +351,7 @@ packages:
description: description:
name: flutter_lints name: flutter_lints
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.3" version: "2.0.3"
flutter_localizations: flutter_localizations:
@@ -364,7 +364,7 @@ packages:
description: description:
name: flutter_secure_storage name: flutter_secure_storage
sha256: "98352186ee7ad3639ccc77ad7924b773ff6883076ab952437d20f18a61f0a7c5" sha256: "98352186ee7ad3639ccc77ad7924b773ff6883076ab952437d20f18a61f0a7c5"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "8.0.0" version: "8.0.0"
flutter_secure_storage_aurora: flutter_secure_storage_aurora:
@@ -381,7 +381,7 @@ packages:
description: description:
name: flutter_secure_storage_linux name: flutter_secure_storage_linux
sha256: bf7404619d7ab5c0a1151d7c4e802edad8f33535abfbeff2f9e1fe1274e2d705 sha256: bf7404619d7ab5c0a1151d7c4e802edad8f33535abfbeff2f9e1fe1274e2d705
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.2.2" version: "1.2.2"
flutter_secure_storage_macos: flutter_secure_storage_macos:
@@ -389,7 +389,7 @@ packages:
description: description:
name: flutter_secure_storage_macos name: flutter_secure_storage_macos
sha256: "6c0a2795a2d1de26ae202a0d78527d163f4acbb11cde4c75c670f3a0fc064247" sha256: "6c0a2795a2d1de26ae202a0d78527d163f4acbb11cde4c75c670f3a0fc064247"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.1.3" version: "3.1.3"
flutter_secure_storage_platform_interface: flutter_secure_storage_platform_interface:
@@ -397,7 +397,7 @@ packages:
description: description:
name: flutter_secure_storage_platform_interface name: flutter_secure_storage_platform_interface
sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8 sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.2" version: "1.1.2"
flutter_secure_storage_web: flutter_secure_storage_web:
@@ -405,7 +405,7 @@ packages:
description: description:
name: flutter_secure_storage_web name: flutter_secure_storage_web
sha256: f4ebff989b4f07b2656fb16b47852c0aab9fed9b4ec1c70103368337bc1886a9 sha256: f4ebff989b4f07b2656fb16b47852c0aab9fed9b4ec1c70103368337bc1886a9
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.2.1" version: "1.2.1"
flutter_secure_storage_windows: flutter_secure_storage_windows:
@@ -413,7 +413,7 @@ packages:
description: description:
name: flutter_secure_storage_windows name: flutter_secure_storage_windows
sha256: "38f9501c7cb6f38961ef0e1eacacee2b2d4715c63cc83fe56449c4d3d0b47255" sha256: "38f9501c7cb6f38961ef0e1eacacee2b2d4715c63cc83fe56449c4d3d0b47255"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.1" version: "2.1.1"
flutter_svg: flutter_svg:
@@ -421,7 +421,7 @@ packages:
description: description:
name: flutter_svg name: flutter_svg
sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.17" version: "2.0.17"
flutter_test: flutter_test:
@@ -447,23 +447,23 @@ packages:
description: description:
name: frontend_server_client name: frontend_server_client
sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.0.0" version: "4.0.0"
glob: glob:
dependency: transitive dependency: transitive
description: description:
name: glob name: glob
sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.2" version: "2.1.3"
go_router: go_router:
dependency: "direct main" dependency: "direct main"
description: description:
name: go_router name: go_router
sha256: "7c2d40b59890a929824f30d442e810116caf5088482629c894b9e4478c67472d" sha256: "7c2d40b59890a929824f30d442e810116caf5088482629c894b9e4478c67472d"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "14.6.3" version: "14.6.3"
graphs: graphs:
@@ -471,7 +471,7 @@ packages:
description: description:
name: graphs name: graphs
sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.3.2" version: "2.3.2"
hashcodes: hashcodes:
@@ -479,7 +479,7 @@ packages:
description: description:
name: hashcodes name: hashcodes
sha256: "80f9410a5b3c8e110c4b7604546034749259f5d6dcca63e0d3c17c9258f1a651" sha256: "80f9410a5b3c8e110c4b7604546034749259f5d6dcca63e0d3c17c9258f1a651"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
http: http:
@@ -487,7 +487,7 @@ packages:
description: description:
name: http name: http
sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.3.0" version: "1.3.0"
http_multi_server: http_multi_server:
@@ -495,7 +495,7 @@ packages:
description: description:
name: http_multi_server name: http_multi_server
sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.2.2" version: "3.2.2"
http_parser: http_parser:
@@ -503,7 +503,7 @@ packages:
description: description:
name: http_parser name: http_parser
sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.1.2" version: "4.1.2"
i_app_services: i_app_services:
@@ -518,7 +518,7 @@ packages:
description: description:
name: image_size_getter name: image_size_getter
sha256: "9a299e3af2ebbcfd1baf21456c3c884037ff524316c97d8e56035ea8fdf35653" sha256: "9a299e3af2ebbcfd1baf21456c3c884037ff524316c97d8e56035ea8fdf35653"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.4.0" version: "2.4.0"
intl: intl:
@@ -526,7 +526,7 @@ packages:
description: description:
name: intl name: intl
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.19.0" version: "0.19.0"
io: io:
@@ -534,7 +534,7 @@ packages:
description: description:
name: io name: io
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.5" version: "1.0.5"
js: js:
@@ -542,7 +542,7 @@ packages:
description: description:
name: js name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.6.7" version: "0.6.7"
json_annotation: json_annotation:
@@ -550,7 +550,7 @@ packages:
description: description:
name: json_annotation name: json_annotation
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.9.0" version: "4.9.0"
leak_tracker: leak_tracker:
@@ -558,7 +558,7 @@ packages:
description: description:
name: leak_tracker name: leak_tracker
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "10.0.7" version: "10.0.7"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
@@ -566,7 +566,7 @@ packages:
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.0.8" version: "3.0.8"
leak_tracker_testing: leak_tracker_testing:
@@ -574,7 +574,7 @@ packages:
description: description:
name: leak_tracker_testing name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.0.1" version: "3.0.1"
lints: lints:
@@ -582,7 +582,7 @@ packages:
description: description:
name: lints name: lints
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.1" version: "2.1.1"
logging: logging:
@@ -590,7 +590,7 @@ packages:
description: description:
name: logging name: logging
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.3.0" version: "1.3.0"
lottie: lottie:
@@ -598,7 +598,7 @@ packages:
description: description:
name: lottie name: lottie
sha256: c5fa04a80a620066c15cf19cc44773e19e9b38e989ff23ea32e5903ef1015950 sha256: c5fa04a80a620066c15cf19cc44773e19e9b38e989ff23ea32e5903ef1015950
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.3.1" version: "3.3.1"
macros: macros:
@@ -606,7 +606,7 @@ packages:
description: description:
name: macros name: macros
sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.1.3-main.0" version: "0.1.3-main.0"
matcher: matcher:
@@ -614,7 +614,7 @@ packages:
description: description:
name: matcher name: matcher
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.12.16+1" version: "0.12.16+1"
material_color_utilities: material_color_utilities:
@@ -622,7 +622,7 @@ packages:
description: description:
name: material_color_utilities name: material_color_utilities
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.11.1" version: "0.11.1"
meta: meta:
@@ -630,7 +630,7 @@ packages:
description: description:
name: meta name: meta
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.15.0" version: "1.15.0"
mime: mime:
@@ -638,7 +638,7 @@ packages:
description: description:
name: mime name: mime
sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
nested: nested:
@@ -646,7 +646,7 @@ packages:
description: description:
name: nested name: nested
sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.0" version: "1.0.0"
package_config: package_config:
@@ -654,7 +654,7 @@ packages:
description: description:
name: package_config name: package_config
sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67" sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.1" version: "2.1.1"
path: path:
@@ -662,7 +662,7 @@ packages:
description: description:
name: path name: path
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.9.0" version: "1.9.0"
path_parsing: path_parsing:
@@ -670,7 +670,7 @@ packages:
description: description:
name: path_parsing name: path_parsing
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
path_provider: path_provider:
@@ -678,7 +678,7 @@ packages:
description: description:
name: path_provider name: path_provider
sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.4" version: "2.1.4"
path_provider_android: path_provider_android:
@@ -686,7 +686,7 @@ packages:
description: description:
name: path_provider_android name: path_provider_android
sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2" sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.2.15" version: "2.2.15"
path_provider_aurora: path_provider_aurora:
@@ -703,7 +703,7 @@ packages:
description: description:
name: path_provider_foundation name: path_provider_foundation
sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.4.1" version: "2.4.1"
path_provider_linux: path_provider_linux:
@@ -711,7 +711,7 @@ packages:
description: description:
name: path_provider_linux name: path_provider_linux
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.2.1" version: "2.2.1"
path_provider_platform_interface: path_provider_platform_interface:
@@ -719,7 +719,7 @@ packages:
description: description:
name: path_provider_platform_interface name: path_provider_platform_interface
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.2" version: "2.1.2"
path_provider_windows: path_provider_windows:
@@ -727,7 +727,7 @@ packages:
description: description:
name: path_provider_windows name: path_provider_windows
sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.3.0" version: "2.3.0"
petitparser: petitparser:
@@ -735,7 +735,7 @@ packages:
description: description:
name: petitparser name: petitparser
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.0.2" version: "6.0.2"
platform: platform:
@@ -743,7 +743,7 @@ packages:
description: description:
name: platform name: platform
sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.1.6" version: "3.1.6"
plugin_platform_interface: plugin_platform_interface:
@@ -751,7 +751,7 @@ packages:
description: description:
name: plugin_platform_interface name: plugin_platform_interface
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.8" version: "2.1.8"
pointycastle: pointycastle:
@@ -759,7 +759,7 @@ packages:
description: description:
name: pointycastle name: pointycastle
sha256: "4be0097fcf3fd3e8449e53730c631200ebc7b88016acecab2b0da2f0149222fe" sha256: "4be0097fcf3fd3e8449e53730c631200ebc7b88016acecab2b0da2f0149222fe"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.9.1" version: "3.9.1"
pool: pool:
@@ -767,7 +767,7 @@ packages:
description: description:
name: pool name: pool
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.5.1" version: "1.5.1"
posix: posix:
@@ -775,7 +775,7 @@ packages:
description: description:
name: posix name: posix
sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.0.1" version: "6.0.1"
provider: provider:
@@ -783,7 +783,7 @@ packages:
description: description:
name: provider name: provider
sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.1.2" version: "6.1.2"
pub_semver: pub_semver:
@@ -791,7 +791,7 @@ packages:
description: description:
name: pub_semver name: pub_semver
sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.5" version: "2.1.5"
pubspec_parse: pubspec_parse:
@@ -799,7 +799,7 @@ packages:
description: description:
name: pubspec_parse name: pubspec_parse
sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.5.0" version: "1.5.0"
recase: recase:
@@ -807,7 +807,7 @@ packages:
description: description:
name: recase name: recase
sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.1.0" version: "4.1.0"
shelf: shelf:
@@ -815,7 +815,7 @@ packages:
description: description:
name: shelf name: shelf
sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.4.2" version: "1.4.2"
shelf_web_socket: shelf_web_socket:
@@ -823,7 +823,7 @@ packages:
description: description:
name: shelf_web_socket name: shelf_web_socket
sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67 sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
sky_engine: sky_engine:
@@ -836,7 +836,7 @@ packages:
description: description:
name: source_gen name: source_gen
sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.5.0" version: "1.5.0"
source_span: source_span:
@@ -844,7 +844,7 @@ packages:
description: description:
name: source_span name: source_span
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.10.0" version: "1.10.0"
stack_trace: stack_trace:
@@ -852,7 +852,7 @@ packages:
description: description:
name: stack_trace name: stack_trace
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.12.0" version: "1.12.0"
stream_channel: stream_channel:
@@ -860,7 +860,7 @@ packages:
description: description:
name: stream_channel name: stream_channel
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.2" version: "2.1.2"
stream_transform: stream_transform:
@@ -868,7 +868,7 @@ packages:
description: description:
name: stream_transform name: stream_transform
sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.1" version: "2.1.1"
string_scanner: string_scanner:
@@ -876,7 +876,7 @@ packages:
description: description:
name: string_scanner name: string_scanner
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.3.0" version: "1.3.0"
term_glyph: term_glyph:
@@ -884,7 +884,7 @@ packages:
description: description:
name: term_glyph name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.2.1" version: "1.2.1"
test_api: test_api:
@@ -892,7 +892,7 @@ packages:
description: description:
name: test_api name: test_api
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.7.3" version: "0.7.3"
time: time:
@@ -900,7 +900,7 @@ packages:
description: description:
name: time name: time
sha256: "370572cf5d1e58adcb3e354c47515da3f7469dac3a95b447117e728e7be6f461" sha256: "370572cf5d1e58adcb3e354c47515da3f7469dac3a95b447117e728e7be6f461"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.5" version: "2.1.5"
timing: timing:
@@ -908,7 +908,7 @@ packages:
description: description:
name: timing name: timing
sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.2" version: "1.0.2"
typed_data: typed_data:
@@ -916,7 +916,7 @@ packages:
description: description:
name: typed_data name: typed_data
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.4.0" version: "1.4.0"
vector_graphics: vector_graphics:
@@ -924,7 +924,7 @@ packages:
description: description:
name: vector_graphics name: vector_graphics
sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de" sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.18" version: "1.1.18"
vector_graphics_codec: vector_graphics_codec:
@@ -932,7 +932,7 @@ packages:
description: description:
name: vector_graphics_codec name: vector_graphics_codec
sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146" sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.13" version: "1.1.13"
vector_graphics_compiler: vector_graphics_compiler:
@@ -940,7 +940,7 @@ packages:
description: description:
name: vector_graphics_compiler name: vector_graphics_compiler
sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.16" version: "1.1.16"
vector_math: vector_math:
@@ -948,7 +948,7 @@ packages:
description: description:
name: vector_math name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.4" version: "2.1.4"
vm_service: vm_service:
@@ -956,7 +956,7 @@ packages:
description: description:
name: vm_service name: vm_service
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "14.3.0" version: "14.3.0"
watcher: watcher:
@@ -964,7 +964,7 @@ packages:
description: description:
name: watcher name: watcher
sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.1" version: "1.1.1"
web: web:
@@ -972,7 +972,7 @@ packages:
description: description:
name: web name: web
sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
web_socket: web_socket:
@@ -980,23 +980,23 @@ packages:
description: description:
name: web_socket name: web_socket
sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.1.6" version: "0.1.6"
web_socket_channel: web_socket_channel:
dependency: transitive dependency: transitive
description: description:
name: web_socket_channel name: web_socket_channel
sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.0.1" version: "3.0.2"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
name: xdg_directories name: xdg_directories
sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
xml: xml:
@@ -1004,7 +1004,7 @@ packages:
description: description:
name: xml name: xml
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.5.0" version: "6.5.0"
yaml: yaml:
@@ -1012,7 +1012,7 @@ packages:
description: description:
name: yaml name: yaml
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
url: "https://pub.dev" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.1.3" version: "3.1.3"
sdks: sdks:

View File

@@ -32,6 +32,7 @@ dependencies:
### Аврора реализация ### ### Аврора реализация ###
path: app_services/aurora/app_services path: app_services/aurora/app_services
equatable: ^2.0.7
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: