Bump deps (#253)

* Migrate first chunk

* Upgrade rest of the deps

* Remove unawaited

* Enabled new lints

* Remove old TODO

* Update podlock
This commit is contained in:
Marcin Wojnarowski 2021-09-12 22:47:05 +02:00 committed by GitHub
parent 992a62b33c
commit e2f9c43675
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 276 additions and 188 deletions

View File

@ -32,13 +32,16 @@ linter:
- directives_ordering - directives_ordering
- empty_catches - empty_catches
- empty_constructor_bodies - empty_constructor_bodies
- eol_at_end_of_file
- exhaustive_cases - exhaustive_cases
- file_names - file_names
- hash_and_equals - hash_and_equals
- implementation_imports - implementation_imports
- invariant_booleans
- library_names - library_names
- library_prefixes - library_prefixes
- non_constant_identifier_names - non_constant_identifier_names
- noop_primitive_operations
- null_check_on_nullable_type_parameter - null_check_on_nullable_type_parameter
- omit_local_variable_types - omit_local_variable_types
- one_member_abstracts - one_member_abstracts
@ -101,6 +104,7 @@ linter:
- unrelated_type_equality_checks - unrelated_type_equality_checks
- use_full_hex_values_for_flutter_colors - use_full_hex_values_for_flutter_colors
- use_is_even_rather_than_modulo - use_is_even_rather_than_modulo
- use_test_throws_matchers
- use_raw_strings - use_raw_strings
- use_rethrow_when_possible - use_rethrow_when_possible
- use_setters_to_change_properties - use_setters_to_change_properties

View File

@ -5,11 +5,11 @@ PODS:
- FMDB/standard (2.7.5) - FMDB/standard (2.7.5)
- image_picker (0.0.1): - image_picker (0.0.1):
- Flutter - Flutter
- package_info (0.0.1): - package_info_plus (0.4.5):
- Flutter - Flutter
- path_provider (0.0.1): - path_provider (0.0.1):
- Flutter - Flutter
- share (0.0.1): - share_plus (0.0.1):
- Flutter - Flutter
- shared_preferences (0.0.1): - shared_preferences (0.0.1):
- Flutter - Flutter
@ -22,9 +22,9 @@ PODS:
DEPENDENCIES: DEPENDENCIES:
- Flutter (from `Flutter`) - Flutter (from `Flutter`)
- image_picker (from `.symlinks/plugins/image_picker/ios`) - image_picker (from `.symlinks/plugins/image_picker/ios`)
- package_info (from `.symlinks/plugins/package_info/ios`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider (from `.symlinks/plugins/path_provider/ios`) - path_provider (from `.symlinks/plugins/path_provider/ios`)
- share (from `.symlinks/plugins/share/ios`) - share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`)
- url_launcher (from `.symlinks/plugins/url_launcher/ios`) - url_launcher (from `.symlinks/plugins/url_launcher/ios`)
@ -38,12 +38,12 @@ EXTERNAL SOURCES:
:path: Flutter :path: Flutter
image_picker: image_picker:
:path: ".symlinks/plugins/image_picker/ios" :path: ".symlinks/plugins/image_picker/ios"
package_info: package_info_plus:
:path: ".symlinks/plugins/package_info/ios" :path: ".symlinks/plugins/package_info_plus/ios"
path_provider: path_provider:
:path: ".symlinks/plugins/path_provider/ios" :path: ".symlinks/plugins/path_provider/ios"
share: share_plus:
:path: ".symlinks/plugins/share/ios" :path: ".symlinks/plugins/share_plus/ios"
shared_preferences: shared_preferences:
:path: ".symlinks/plugins/shared_preferences/ios" :path: ".symlinks/plugins/shared_preferences/ios"
sqflite: sqflite:
@ -52,16 +52,16 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher/ios" :path: ".symlinks/plugins/url_launcher/ios"
SPEC CHECKSUMS: SPEC CHECKSUMS:
Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
image_picker: 50e7c7ff960e5f58faa4d1f4af84a771c671bc4a image_picker: e06f7a68f000bd36f552c1847e33cda96ed31f1f
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62 package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
share: 0b2c3e82132f5888bccca3351c504d0003b3b410 share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef
PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
COCOAPODS: 1.10.1 COCOAPODS: 1.11.0

View File

@ -3,8 +3,6 @@ import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'ref.dart';
class Debounce { class Debounce {
final bool loading; final bool loading;
final VoidCallback callback; final VoidCallback callback;
@ -27,14 +25,14 @@ Debounce useDebounce(
final timerHandle = useRef<Timer?>(null); final timerHandle = useRef<Timer?>(null);
cancel() { cancel() {
timerHandle.current?.cancel(); timerHandle.value?.cancel();
loading.value = false; loading.value = false;
} }
useEffect(() => () => timerHandle.current?.cancel(), []); useEffect(() => () => timerHandle.value?.cancel(), []);
start() { start() {
timerHandle.current = Timer(delayDuration, () async { timerHandle.value = Timer(delayDuration, () async {
loading.value = true; loading.value = true;
await callback(); await callback();
cancel(); cancel();

View File

@ -3,8 +3,6 @@ import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'ref.dart';
class DelayedLoading { class DelayedLoading {
final bool pending; final bool pending;
final bool loading; final bool loading;
@ -32,11 +30,11 @@ DelayedLoading useDelayedLoading(
loading: loading.value, loading: loading.value,
pending: pending.value, pending: pending.value,
start: () { start: () {
timerHandle.current = Timer(delayDuration, () => loading.value = true); timerHandle.value = Timer(delayDuration, () => loading.value = true);
pending.value = true; pending.value = true;
}, },
cancel: () { cancel: () {
timerHandle.current?.cancel(); timerHandle.value?.cancel();
pending.value = false; pending.value = false;
loading.value = false; loading.value = false;
}, },

View File

@ -3,7 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
/// creates an [AsyncSnapshot] from the Future returned from the valueBuilder. /// creates an [AsyncSnapshot] from the Future returned from the valueBuilder.
/// [keys] can be used to rebuild the Future /// [keys] can be used to rebuild the Future
AsyncSnapshot<T?> useMemoFuture<T>( AsyncSnapshot<T> useMemoFuture<T>(
Future<T> Function() valueBuilder, [ Future<T> Function() valueBuilder, [
List<Object?> keys = const <Object>[], List<Object?> keys = const <Object>[],
]) => ]) =>

View File

@ -1,9 +0,0 @@
import 'package:flutter_hooks/flutter_hooks.dart';
class Ref<T> {
T current;
Ref(this.current);
}
/// see React's useRef
Ref<T> useRef<T>(T initialValue) => useMemoized(() => Ref(initialValue));

View File

@ -18,8 +18,10 @@ class Refreshable<T> {
/// ///
/// `keys` will re-run the initial fetching thus yielding a /// `keys` will re-run the initial fetching thus yielding a
/// loading state in the AsyncSnapshot /// loading state in the AsyncSnapshot
Refreshable<T?> useRefreshable<T>(AsyncValueGetter<T> fetcher, Refreshable<T> useRefreshable<T extends Object>(
[List<Object> keys = const <Object>[]]) { AsyncValueGetter<T> fetcher, [
List<Object> keys = const <Object>[],
]) {
final newData = useState<T?>(null); final newData = useState<T?>(null);
final snapshot = useMemoFuture(() async { final snapshot = useMemoFuture(() async {
newData.value = null; newData.value = null;
@ -28,7 +30,7 @@ Refreshable<T?> useRefreshable<T>(AsyncValueGetter<T> fetcher,
final outSnapshot = () { final outSnapshot = () {
if (newData.value != null) { if (newData.value != null) {
return AsyncSnapshot.withData(ConnectionState.done, newData.value); return AsyncSnapshot.withData(ConnectionState.done, newData.value!);
} }
return snapshot; return snapshot;
}(); }();

View File

@ -114,7 +114,7 @@ class CreatePostPage extends HookWidget {
uploadPicture(Jwt token) async { uploadPicture(Jwt token) async {
try { try {
final pic = await imagePicker.getImage(source: ImageSource.gallery); final pic = await imagePicker.pickImage(source: ImageSource.gallery);
// pic is null when the picker was cancelled // pic is null when the picker was cancelled
if (pic != null) { if (pic != null) {
imageUploadLoading.value = true; imageUploadLoading.value = true;

View File

@ -38,7 +38,7 @@ class InstancePage extends HookWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final theme = Theme.of(context); final theme = Theme.of(context);
final siteSnap = useFuture(siteFuture, initialData: null); final siteSnap = useFuture(siteFuture);
final colorOnCard = textColorBasedOnBackground(theme.cardColor); final colorOnCard = textColorBasedOnBackground(theme.cardColor);
final accStore = useAccountsStore(); final accStore = useAccountsStore();
final scrollController = useScrollController(); final scrollController = useScrollController();
@ -233,7 +233,7 @@ class _AboutTab extends HookWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final theme = Theme.of(context); final theme = Theme.of(context);
final commSnap = useFuture(communitiesFuture, initialData: null); final commSnap = useFuture(communitiesFuture);
final accStore = useAccountsStore(); final accStore = useAccountsStore();
void goToCommunities() { void goToCommunities() {

View File

@ -8,7 +8,6 @@ import 'package:url_launcher/url_launcher.dart' as ul;
import '../hooks/delayed_loading.dart'; import '../hooks/delayed_loading.dart';
import '../hooks/image_picker.dart'; import '../hooks/image_picker.dart';
import '../hooks/ref.dart';
import '../hooks/stores.dart'; import '../hooks/stores.dart';
import '../l10n/l10n.dart'; import '../l10n/l10n.dart';
import '../util/more_icon.dart'; import '../util/more_icon.dart';
@ -151,8 +150,8 @@ class _ManageAccount extends HookWidget {
showReadPosts: showReadPosts.value, showReadPosts: showReadPosts.value,
sendNotificationsToEmail: sendNotificationsToEmail.value, sendNotificationsToEmail: sendNotificationsToEmail.value,
auth: token.raw, auth: token.raw,
avatar: avatar.current, avatar: avatar.value,
banner: banner.current, banner: banner.value,
matrixUserId: matrixUserController.text.isEmpty matrixUserId: matrixUserController.text.isEmpty
? null ? null
: matrixUserController.text, : matrixUserController.text,
@ -163,8 +162,8 @@ class _ManageAccount extends HookWidget {
email: emailController.text.isEmpty ? null : emailController.text, email: emailController.text.isEmpty ? null : emailController.text,
)); ));
informAcceptedAvatarRef.current?.call(); informAcceptedAvatarRef.value?.call();
informAcceptedBannerRef.current?.call(); informAcceptedBannerRef.value?.call();
ScaffoldMessenger.of(context).showSnackBar(const SnackBar( ScaffoldMessenger.of(context).showSnackBar(const SnackBar(
content: Text('User settings saved'), content: Text('User settings saved'),
@ -243,16 +242,16 @@ class _ManageAccount extends HookWidget {
_ImagePicker( _ImagePicker(
user: user, user: user,
name: L10n.of(context)!.avatar, name: L10n.of(context)!.avatar,
initialUrl: avatar.current, initialUrl: avatar.value,
onChange: (value) => avatar.current = value, onChange: (value) => avatar.value = value,
informAcceptedRef: informAcceptedAvatarRef, informAcceptedRef: informAcceptedAvatarRef,
), ),
const SizedBox(height: 8), const SizedBox(height: 8),
_ImagePicker( _ImagePicker(
user: user, user: user,
name: L10n.of(context)!.banner, name: L10n.of(context)!.banner,
initialUrl: banner.current, initialUrl: banner.value,
onChange: (value) => banner.current = value, onChange: (value) => banner.value = value,
informAcceptedRef: informAcceptedBannerRef, informAcceptedRef: informAcceptedBannerRef,
), ),
const SizedBox(height: 8), const SizedBox(height: 8),
@ -396,7 +395,7 @@ class _ImagePicker extends HookWidget {
/// _ImagePicker will set the ref to a callback that can inform _ImagePicker /// _ImagePicker will set the ref to a callback that can inform _ImagePicker
/// that the current picture is accepted /// that the current picture is accepted
/// and should no longer allow for deletion of it /// and should no longer allow for deletion of it
final Ref<VoidCallback?> informAcceptedRef; final ObjectRef<VoidCallback?> informAcceptedRef;
const _ImagePicker({ const _ImagePicker({
Key? key, Key? key,
@ -413,7 +412,7 @@ class _ImagePicker extends HookWidget {
// basically saves the very first initialUrl // basically saves the very first initialUrl
final initialUrl = useRef(this.initialUrl); final initialUrl = useRef(this.initialUrl);
final theme = Theme.of(context); final theme = Theme.of(context);
final url = useState(initialUrl.current); final url = useState(initialUrl.value);
final pictrsDeleteToken = useState<PictrsUploadFile?>(null); final pictrsDeleteToken = useState<PictrsUploadFile?>(null);
final imagePicker = useImagePicker(); final imagePicker = useImagePicker();
@ -422,7 +421,7 @@ class _ImagePicker extends HookWidget {
uploadImage() async { uploadImage() async {
try { try {
final pic = await imagePicker.getImage(source: ImageSource.gallery); final pic = await imagePicker.pickImage(source: ImageSource.gallery);
// pic is null when the picker was cancelled // pic is null when the picker was cancelled
if (pic != null) { if (pic != null) {
delayedLoading.start(); delayedLoading.start();
@ -456,15 +455,15 @@ class _ImagePicker extends HookWidget {
if (updateState) { if (updateState) {
pictrsDeleteToken.value = null; pictrsDeleteToken.value = null;
url.value = initialUrl.current; url.value = initialUrl.value;
onChange?.call(url.value); onChange?.call(url.value);
} }
} }
useEffect(() { useEffect(() {
informAcceptedRef.current = () { informAcceptedRef.value = () {
pictrsDeleteToken.value = null; pictrsDeleteToken.value = null;
initialUrl.current = url.value; initialUrl.value = url.value;
}; };
return () { return () {

View File

@ -314,7 +314,6 @@ class AccountsConfigPage extends HookWidget {
); );
} }
// TODO: speeddial v3 has really stupid defaults here https://github.com/darioielardi/flutter_speed_dial/issues/149
return Scaffold( return Scaffold(
key: _scaffoldKey, key: _scaffoldKey,
appBar: AppBar( appBar: AppBar(
@ -324,12 +323,10 @@ class AccountsConfigPage extends HookWidget {
animatedIcon: AnimatedIcons.menu_close, // TODO: change to + => x animatedIcon: AnimatedIcons.menu_close, // TODO: change to + => x
curve: Curves.bounceIn, curve: Curves.bounceIn,
tooltip: 'Add account or instance', tooltip: 'Add account or instance',
overlayColor: theme.canvasColor,
children: [ children: [
SpeedDialChild( SpeedDialChild(
child: const Icon(Icons.person_add), child: const Icon(Icons.person_add),
label: 'Add account', label: 'Add account',
labelBackgroundColor: theme.canvasColor,
onTap: () => showCupertinoModalPopup( onTap: () => showCupertinoModalPopup(
context: context, context: context,
builder: (_) => builder: (_) =>
@ -337,7 +334,6 @@ class AccountsConfigPage extends HookWidget {
), ),
SpeedDialChild( SpeedDialChild(
child: const Icon(Icons.dns), child: const Icon(Icons.dns),
labelBackgroundColor: theme.canvasColor,
label: 'Add instance', label: 'Add instance',
onTap: () => showCupertinoModalPopup( onTap: () => showCupertinoModalPopup(
context: context, builder: (_) => const AddInstancePage()), context: context, builder: (_) => const AddInstancePage()),

View File

@ -25,7 +25,7 @@ class UserPage extends HookWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final userDetailsSnap = useFuture(_userDetails, initialData: null); final userDetailsSnap = useFuture(_userDetails);
final body = () { final body = () {
if (userDetailsSnap.hasData) { if (userDetailsSnap.hasData) {

View File

@ -1,6 +1,8 @@
import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:share/share.dart'; import 'package:share_plus/share_plus.dart';
/// A `package:share` wrapper that fallbacks to copying contents to the clipboard /// A `package:share` wrapper that fallbacks to copying contents to the clipboard
/// on platforms that do not support native sharing /// on platforms that do not support native sharing
@ -10,16 +12,28 @@ Future<void> share(
Rect? sharePositionOrigin, Rect? sharePositionOrigin,
required BuildContext context, required BuildContext context,
}) async { }) async {
if (Platform.isLinux || Platform.isWindows) {
await _fallbackShare(text, context: context);
return;
}
try { try {
return await Share.share( await Share.share(
text, text,
subject: subject, subject: subject,
sharePositionOrigin: sharePositionOrigin, sharePositionOrigin: sharePositionOrigin,
); );
} on MissingPluginException { } on MissingPluginException {
await Clipboard.setData(ClipboardData(text: text)); await _fallbackShare(text, context: context);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Copied data to clipboard!')),
);
} }
} }
Future<void> _fallbackShare(
String text, {
required BuildContext context,
}) async {
await Clipboard.setData(ClipboardData(text: text));
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Copied data to clipboard!')),
);
}

View File

@ -1,3 +0,0 @@
/// Explicitely indicate to the `unawaited_futures` lint
/// that the future is not awaited for on purpose
void unawaited<T>(Future<T> future) {}

View File

@ -1,9 +1,8 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:flutter_markdown/flutter_markdown.dart';
import 'package:package_info/package_info.dart'; import 'package:package_info_plus/package_info_plus.dart';
import '../gen/assets.gen.dart'; import '../gen/assets.gen.dart';
import '../hooks/memo_future.dart'; import '../hooks/memo_future.dart';
@ -17,21 +16,7 @@ class AboutTile extends HookWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final packageInfoSnap = useMemoFuture( final packageInfoSnap = useMemoFuture(PackageInfo.fromPlatform);
() async {
try {
return await PackageInfo.fromPlatform();
} on MissingPluginException {
// when we get here it means PackageInfo does not support this platform
return PackageInfo(
appName: 'lemmur',
packageName: '',
version: '',
buildNumber: '',
);
}
},
);
final assetBundle = DefaultAssetBundle.of(context); final assetBundle = DefaultAssetBundle.of(context);
final changelogSnap = final changelogSnap =
useMemoFuture(() => assetBundle.loadString('CHANGELOG.md')); useMemoFuture(() => assetBundle.loadString('CHANGELOG.md'));

View File

@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import '../hooks/ref.dart';
import 'bottom_safe.dart'; import 'bottom_safe.dart';
class InfiniteScrollController { class InfiniteScrollController {
@ -77,9 +76,9 @@ class InfiniteScroll<T> extends HookWidget {
if (controller != null) { if (controller != null) {
controller?.clear = () { controller?.clear = () {
data.value = []; data.value = [];
hasMore.current = true; hasMore.value = true;
page.current = 1; page.value = 1;
dataSet.current.clear(); dataSet.value.clear();
}; };
} }
@ -89,9 +88,9 @@ class InfiniteScroll<T> extends HookWidget {
return RefreshIndicator( return RefreshIndicator(
onRefresh: () async { onRefresh: () async {
data.value = []; data.value = [];
hasMore.current = true; hasMore.value = true;
page.current = 1; page.value = 1;
dataSet.current.clear(); dataSet.value.clear();
await HapticFeedback.mediumImpact(); await HapticFeedback.mediumImpact();
await Future.delayed(const Duration(seconds: 1)); await Future.delayed(const Duration(seconds: 1));
@ -107,35 +106,35 @@ class InfiniteScroll<T> extends HookWidget {
i -= 1; i -= 1;
// if we are done but we have no data it means the list is empty // if we are done but we have no data it means the list is empty
if (!hasMore.current && data.value.isEmpty) { if (!hasMore.value && data.value.isEmpty) {
return Center(child: noItems); return Center(child: noItems);
} }
// reached the bottom, fetch more // reached the bottom, fetch more
if (i == data.value.length) { if (i == data.value.length) {
// if there are no more, skip // if there are no more, skip
if (!hasMore.current) { if (!hasMore.value) {
return const BottomSafe(); return const BottomSafe();
} }
// if it's already fetching more, skip // if it's already fetching more, skip
if (!isFetching.current) { if (!isFetching.value) {
isFetching.current = true; isFetching.value = true;
fetcher(page.current, batchSize).then((incoming) { fetcher(page.value, batchSize).then((incoming) {
// if got less than the batchSize, mark the list as done // if got less than the batchSize, mark the list as done
if (incoming.length < batchSize) { if (incoming.length < batchSize) {
hasMore.current = false; hasMore.value = false;
} }
final newData = incoming.where( final newData = incoming.where(
(e) => !dataSet.current.contains(uniquePropFunc(e)), (e) => !dataSet.value.contains(uniquePropFunc(e)),
); );
// append new data // append new data
data.value = [...data.value, ...newData]; data.value = [...data.value, ...newData];
dataSet.current.addAll(newData.map(uniquePropFunc)); dataSet.value.addAll(newData.map(uniquePropFunc));
page.current += 1; page.value += 1;
}).whenComplete(() => isFetching.current = false); }).whenComplete(() => isFetching.value = false);
} }
return SafeArea( return SafeArea(

View File

@ -7,14 +7,14 @@ packages:
name: _fe_analyzer_shared name: _fe_analyzer_shared
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "22.0.0" version: "25.0.0"
analyzer: analyzer:
dependency: transitive dependency: transitive
description: description:
name: analyzer name: analyzer
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.7.2" version: "2.2.0"
archive: archive:
dependency: transitive dependency: transitive
description: description:
@ -28,7 +28,7 @@ packages:
name: args name: args
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.2.0"
async: async:
dependency: transitive dependency: transitive
description: description:
@ -49,63 +49,77 @@ packages:
name: build name: build
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0"
build_config: build_config:
dependency: transitive dependency: transitive
description: description:
name: build_config name: build_config
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.7" version: "1.0.0"
build_daemon: build_daemon:
dependency: transitive dependency: transitive
description: description:
name: build_daemon name: build_daemon
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.10" version: "3.0.0"
build_resolvers: build_resolvers:
dependency: transitive dependency: transitive
description: description:
name: build_resolvers name: build_resolvers
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.4"
build_runner: build_runner:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: build_runner name: build_runner
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.12.2" version: "2.1.2"
build_runner_core: build_runner_core:
dependency: transitive dependency: transitive
description: description:
name: build_runner_core name: build_runner_core
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.1.12" version: "7.1.0"
built_collection: built_collection:
dependency: transitive dependency: transitive
description: description:
name: built_collection name: built_collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.0.0" version: "5.1.1"
built_value: built_value:
dependency: transitive dependency: transitive
description: description:
name: built_value name: built_value
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.0.4" version: "8.1.2"
cached_network_image: cached_network_image:
dependency: "direct main" dependency: "direct main"
description: description:
name: cached_network_image name: cached_network_image
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.0" version: "3.1.0"
cached_network_image_platform_interface:
dependency: transitive
description:
name: cached_network_image_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
cached_network_image_web:
dependency: transitive
description:
name: cached_network_image_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@ -133,7 +147,7 @@ packages:
name: cli_util name: cli_util
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.3.0" version: "0.3.3"
clock: clock:
dependency: transitive dependency: transitive
description: description:
@ -147,7 +161,7 @@ packages:
name: code_builder name: code_builder
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.7.0" version: "4.1.0"
collection: collection:
dependency: transitive dependency: transitive
description: description:
@ -161,7 +175,14 @@ packages:
name: convert name: convert
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.0" version: "3.0.1"
cross_file:
dependency: transitive
description:
name: cross_file
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.1+5"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
@ -175,14 +196,14 @@ packages:
name: cupertino_icons name: cupertino_icons
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.2" version: "1.0.3"
dart_style: dart_style:
dependency: transitive dependency: transitive
description: description:
name: dart_style name: dart_style
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
@ -196,14 +217,14 @@ packages:
name: ffi name: ffi
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "1.1.2"
file: file:
dependency: transitive dependency: transitive
description: description:
name: file name: file
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.1.0" version: "6.1.2"
fixnum: fixnum:
dependency: transitive dependency: transitive
description: description:
@ -229,21 +250,21 @@ packages:
name: flutter_cache_manager name: flutter_cache_manager
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.1" version: "3.1.2"
flutter_hooks: flutter_hooks:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_hooks name: flutter_hooks
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.16.0" version: "0.18.0"
flutter_launcher_icons: flutter_launcher_icons:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: flutter_launcher_icons name: flutter_launcher_icons
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.9.0" version: "0.9.2"
flutter_localizations: flutter_localizations:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@ -255,7 +276,7 @@ packages:
name: flutter_markdown name: flutter_markdown
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.1" version: "0.6.6"
flutter_mobx: flutter_mobx:
dependency: "direct main" dependency: "direct main"
description: description:
@ -269,14 +290,14 @@ packages:
name: flutter_plugin_android_lifecycle name: flutter_plugin_android_lifecycle
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.0.3"
flutter_speed_dial: flutter_speed_dial:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_speed_dial name: flutter_speed_dial
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.5" version: "4.3.0"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -293,14 +314,21 @@ packages:
name: freezed name: freezed
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.14.1+2" version: "0.14.5"
freezed_annotation: freezed_annotation:
dependency: "direct main" dependency: "direct main"
description: description:
name: freezed_annotation name: freezed_annotation
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.14.2" version: "0.14.3"
frontend_server_client:
dependency: transitive
description:
name: frontend_server_client
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.2"
fuzzy: fuzzy:
dependency: "direct main" dependency: "direct main"
description: description:
@ -321,21 +349,21 @@ packages:
name: graphs name: graphs
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "2.0.0"
http: http:
dependency: transitive dependency: transitive
description: description:
name: http name: http
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.13.1" version: "0.13.3"
http_multi_server: http_multi_server:
dependency: transitive dependency: transitive
description: description:
name: http_multi_server name: http_multi_server
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.0" version: "3.0.1"
http_parser: http_parser:
dependency: transitive dependency: transitive
description: description:
@ -349,28 +377,28 @@ packages:
name: image name: image
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.2" version: "3.0.4"
image_picker: image_picker:
dependency: "direct main" dependency: "direct main"
description: description:
name: image_picker name: image_picker
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.7.4" version: "0.8.4"
image_picker_for_web: image_picker_for_web:
dependency: transitive dependency: transitive
description: description:
name: image_picker_for_web name: image_picker_for_web
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.3"
image_picker_platform_interface: image_picker_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: image_picker_platform_interface name: image_picker_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.4.1"
intl: intl:
dependency: "direct main" dependency: "direct main"
description: description:
@ -384,7 +412,7 @@ packages:
name: io name: io
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "1.0.3"
js: js:
dependency: transitive dependency: transitive
description: description:
@ -398,14 +426,14 @@ packages:
name: json_annotation name: json_annotation
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.0.1" version: "4.1.0"
json_serializable: json_serializable:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: json_serializable name: json_serializable
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.1.0" version: "5.0.0"
keyboard_dismisser: keyboard_dismisser:
dependency: "direct main" dependency: "direct main"
description: description:
@ -482,7 +510,7 @@ packages:
name: mobx_codegen name: mobx_codegen
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.2" version: "2.0.3"
modal_bottom_sheet: modal_bottom_sheet:
dependency: "direct main" dependency: "direct main"
description: description:
@ -511,13 +539,48 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
package_info: package_info_plus:
dependency: "direct main" dependency: "direct main"
description: description:
name: package_info name: package_info_plus
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "1.0.6"
package_info_plus_linux:
dependency: transitive
description:
name: package_info_plus_linux
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
package_info_plus_macos:
dependency: transitive
description:
name: package_info_plus_macos
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
package_info_plus_web:
dependency: transitive
description:
name: package_info_plus_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
package_info_plus_windows:
dependency: transitive
description:
name: package_info_plus_windows
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
path: path:
dependency: transitive dependency: transitive
description: description:
@ -531,21 +594,21 @@ packages:
name: path_provider name: path_provider
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.0.3"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
name: path_provider_linux name: path_provider_linux
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
path_provider_macos: path_provider_macos:
dependency: transitive dependency: transitive
description: description:
name: path_provider_macos name: path_provider_macos
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
path_provider_platform_interface: path_provider_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -559,21 +622,21 @@ packages:
name: path_provider_windows name: path_provider_windows
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.3"
pedantic: pedantic:
dependency: transitive dependency: transitive
description: description:
name: pedantic name: pedantic
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.11.0" version: "1.11.1"
petitparser: petitparser:
dependency: transitive dependency: transitive
description: description:
name: petitparser name: petitparser
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.1.0" version: "4.3.0"
photo_view: photo_view:
dependency: "direct main" dependency: "direct main"
description: description:
@ -589,14 +652,14 @@ packages:
name: platform name: platform
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.0" version: "3.0.2"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: plugin_platform_interface name: plugin_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.1"
pool: pool:
dependency: transitive dependency: transitive
description: description:
@ -610,14 +673,14 @@ packages:
name: process name: process
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.2.1" version: "4.2.3"
provider: provider:
dependency: "direct main" dependency: "direct main"
description: description:
name: provider name: provider
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.0.0" version: "6.0.0"
pub_semver: pub_semver:
dependency: transitive dependency: transitive
description: description:
@ -638,35 +701,70 @@ packages:
name: rxdart name: rxdart
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.26.0" version: "0.27.2"
share: share_plus:
dependency: "direct main" dependency: "direct main"
description: description:
name: share name: share_plus
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.4"
share_plus_linux:
dependency: transitive
description:
name: share_plus_linux
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
share_plus_macos:
dependency: transitive
description:
name: share_plus_macos
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
share_plus_platform_interface:
dependency: transitive
description:
name: share_plus_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
share_plus_web:
dependency: transitive
description:
name: share_plus_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
share_plus_windows:
dependency: transitive
description:
name: share_plus_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.3"
shared_preferences: shared_preferences:
dependency: "direct main" dependency: "direct main"
description: description:
name: shared_preferences name: shared_preferences
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.5" version: "2.0.7"
shared_preferences_linux: shared_preferences_linux:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_linux name: shared_preferences_linux
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
shared_preferences_macos: shared_preferences_macos:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_macos name: shared_preferences_macos
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
shared_preferences_platform_interface: shared_preferences_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -680,21 +778,21 @@ packages:
name: shared_preferences_web name: shared_preferences_web
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
shared_preferences_windows: shared_preferences_windows:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_windows name: shared_preferences_windows
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
shelf: shelf:
dependency: transitive dependency: transitive
description: description:
name: shelf name: shelf
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.0" version: "1.2.0"
shelf_web_socket: shelf_web_socket:
dependency: transitive dependency: transitive
description: description:
@ -713,7 +811,14 @@ packages:
name: source_gen name: source_gen
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "1.1.0"
source_helper:
dependency: transitive
description:
name: source_helper
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.1"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
@ -727,14 +832,14 @@ packages:
name: sqflite name: sqflite
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0+3" version: "2.0.0+4"
sqflite_common: sqflite_common:
dependency: transitive dependency: transitive
description: description:
name: sqflite_common name: sqflite_common
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0+2" version: "2.0.1+1"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -790,7 +895,7 @@ packages:
name: timeago name: timeago
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.2" version: "3.1.0"
timing: timing:
dependency: transitive dependency: transitive
description: description:
@ -811,49 +916,49 @@ packages:
name: url_launcher name: url_launcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.3" version: "6.0.10"
url_launcher_linux: url_launcher_linux:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_linux name: url_launcher_linux
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
url_launcher_macos: url_launcher_macos:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_macos name: url_launcher_macos
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
url_launcher_platform_interface: url_launcher_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_platform_interface name: url_launcher_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.2" version: "2.0.4"
url_launcher_web: url_launcher_web:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_web name: url_launcher_web
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.4"
url_launcher_windows: url_launcher_windows:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_windows name: url_launcher_windows
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.2"
uuid: uuid:
dependency: transitive dependency: transitive
description: description:
name: uuid name: uuid
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.3" version: "3.0.4"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
@ -874,14 +979,14 @@ packages:
name: web_socket_channel name: web_socket_channel
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.5" version: "2.2.9"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
@ -895,7 +1000,7 @@ packages:
name: xml name: xml
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.1.0" version: "5.3.0"
yaml: yaml:
dependency: transitive dependency: transitive
description: description:
@ -904,5 +1009,5 @@ packages:
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
sdks: sdks:
dart: ">=2.12.0 <3.0.0" dart: ">=2.14.0 <3.0.0"
flutter: ">=1.24.0-10.2.pre" flutter: ">=2.0.0"

View File

@ -22,7 +22,7 @@ environment:
dependencies: dependencies:
# widgets # widgets
flutter_speed_dial: ^3.0.5 flutter_speed_dial: ^4.3.0
# TODO: bring back to pub hosted when fix is released # TODO: bring back to pub hosted when fix is released
photo_view: photo_view:
git: git:
@ -34,15 +34,15 @@ dependencies:
modal_bottom_sheet: ^2.0.0 modal_bottom_sheet: ^2.0.0
# native # native
share: ^2.0.1 share_plus: ^2.1.4
url_launcher: ^6.0.3 url_launcher: ^6.0.3
shared_preferences: ^2.0.5 shared_preferences: ^2.0.5
package_info: ^2.0.0 package_info_plus: ^1.0.6
image_picker: ^0.7.4 image_picker: ^0.8.4
# state management # state management
flutter_hooks: ^0.16.0 flutter_hooks: ^0.18.0
provider: ^5.0.0 provider: ^6.0.0
mobx: ^2.0.4 mobx: ^2.0.4
flutter_mobx: ^2.0.2 flutter_mobx: ^2.0.2
@ -52,9 +52,9 @@ dependencies:
lemmy_api_client: ^0.16.0 lemmy_api_client: ^0.16.0
intl: ^0.17.0 intl: ^0.17.0
matrix4_transform: ^2.0.0 matrix4_transform: ^2.0.0
json_annotation: ^4.0.1 json_annotation: ^4.1.0
keyboard_dismisser: ^2.0.0 keyboard_dismisser: ^2.0.0
freezed_annotation: ^0.14.2 freezed_annotation: ^0.14.3
flutter: flutter:
sdk: flutter sdk: flutter
@ -68,9 +68,9 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_launcher_icons: ^0.9.0 flutter_launcher_icons: ^0.9.2
json_serializable: ^4.1.0 json_serializable: ^5.0.0
build_runner: ^1.11.1 build_runner: ^2.1.2
mobx_codegen: ^2.0.2 mobx_codegen: ^2.0.2
freezed: ^0.14.1+2 freezed: ^0.14.1+2