- Complete MVP with Repository Pattern, SQLite storage - Provider + ChangeNotifier state management - Navigation 2.0 with deep link support - Habit CRUD with twoDayRule, notifications, categories - Backup/Restore via JSON - Statistics with streak tracking - Material You theme support - Biometric lock support - Desktop widget support - 27 languages i18n structure - Comprehensive test suite (87/89 passing)
1 line
15 KiB
Plaintext
1 line
15 KiB
Plaintext
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"audio_session","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/audio_session-0.1.25/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"awesome_notifications","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/awesome_notifications-0.11.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/file_picker-8.3.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_file_dialog","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_file_dialog-3.0.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_localization","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_localization-0.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_native_splash","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_splash-2.4.7/","native_build":true,"dependencies":[],"dev_dependency":true},{"name":"flutter_soloud","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_soloud-2.1.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"home_widget","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/home_widget-0.6.0/","native_build":true,"dependencies":["path_provider_foundation"],"dev_dependency":false},{"name":"local_auth_darwin","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/local_auth_darwin-1.6.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/share_plus-10.1.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/sqflite_darwin-2.4.2/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"audio_session","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/audio_session-0.1.25/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"awesome_notifications","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/awesome_notifications-0.11.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"dynamic_color","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/dynamic_color-1.8.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/file_picker-8.3.7/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"flutter_file_dialog","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_file_dialog-3.0.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_localization","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_localization-0.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_native_splash","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_splash-2.4.7/","native_build":true,"dependencies":[],"dev_dependency":true},{"name":"flutter_plugin_android_lifecycle","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-2.0.34/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_soloud","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_soloud-2.1.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"home_widget","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/home_widget-0.6.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"jni","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/jni-1.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"jni_flutter","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/jni_flutter-1.0.1/","native_build":true,"dependencies":["jni"],"dev_dependency":false},{"name":"local_auth_android","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/local_auth_android-1.0.56/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"path_provider_android","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/path_provider_android-2.3.1/","native_build":false,"dependencies":["jni","jni_flutter"],"dev_dependency":false},{"name":"share_plus","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/share_plus-10.1.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_android-2.4.23/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_android","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/sqflite_android-2.4.2+2/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"audio_session","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/audio_session-0.1.25/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"awesome_notifications","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/awesome_notifications-0.11.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"dynamic_color","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/dynamic_color-1.8.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/file_picker-8.3.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_localization","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_localization-0.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_soloud","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_soloud-2.1.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_darwin","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/local_auth_darwin-1.6.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/path_provider_foundation-2.5.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"screen_retriever_macos","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/screen_retriever_macos-0.2.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/share_plus-10.1.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_foundation-2.5.6/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/sqflite_darwin-2.4.2/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"window_manager","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/window_manager-0.4.3/","native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"awesome_notifications","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/awesome_notifications-0.11.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"dynamic_color","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/dynamic_color-1.8.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/file_picker-8.3.7/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"flutter_localization","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_localization-0.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_soloud","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_soloud-2.1.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"jni","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/jni-1.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"screen_retriever_linux","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/screen_retriever_linux-0.2.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/share_plus-10.1.4/","native_build":false,"dependencies":["url_launcher_linux"],"dev_dependency":false},{"name":"shared_preferences_linux","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false},{"name":"url_launcher_linux","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-3.2.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"window_manager","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/window_manager-0.4.3/","native_build":true,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"awesome_notifications","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/awesome_notifications-0.11.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"dynamic_color","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/dynamic_color-1.8.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/file_picker-8.3.7/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"flutter_localization","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_localization-0.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_soloud","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_soloud-2.1.7/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"jni","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/jni-1.0.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_windows","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/local_auth_windows-1.0.11/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"screen_retriever_windows","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/screen_retriever_windows-0.2.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"share_plus","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/share_plus-10.1.4/","native_build":true,"dependencies":["url_launcher_windows"],"dev_dependency":false},{"name":"shared_preferences_windows","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false},{"name":"url_launcher_windows","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-3.1.5/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"window_manager","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/window_manager-0.4.3/","native_build":true,"dependencies":[],"dev_dependency":false}],"web":[{"name":"audio_session","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/audio_session-0.1.25/","dependencies":[],"dev_dependency":false},{"name":"awesome_notifications","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/awesome_notifications-0.11.0/","dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/file_picker-8.3.7/","dependencies":[],"dev_dependency":false},{"name":"flutter_localization","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_localization-0.2.3/","dependencies":[],"dev_dependency":false},{"name":"flutter_native_splash","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/flutter_native_splash-2.4.7/","dependencies":[],"dev_dependency":true},{"name":"share_plus","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/share_plus-10.1.4/","dependencies":["url_launcher_web"],"dev_dependency":false},{"name":"shared_preferences_web","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false},{"name":"url_launcher_web","path":"/root/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_web-2.4.1/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"audio_session","dependencies":[]},{"name":"awesome_notifications","dependencies":[]},{"name":"dynamic_color","dependencies":[]},{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_file_dialog","dependencies":[]},{"name":"flutter_localization","dependencies":["shared_preferences"]},{"name":"flutter_native_splash","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"flutter_soloud","dependencies":["path_provider"]},{"name":"home_widget","dependencies":["path_provider","path_provider_foundation"]},{"name":"jni","dependencies":[]},{"name":"jni_flutter","dependencies":["jni"]},{"name":"local_auth","dependencies":["local_auth_android","local_auth_darwin","local_auth_windows"]},{"name":"local_auth_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"local_auth_darwin","dependencies":[]},{"name":"local_auth_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":["jni","jni_flutter"]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"screen_retriever","dependencies":["screen_retriever_linux","screen_retriever_macos","screen_retriever_windows"]},{"name":"screen_retriever_linux","dependencies":[]},{"name":"screen_retriever_macos","dependencies":[]},{"name":"screen_retriever_windows","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":["sqflite_android","sqflite_darwin"]},{"name":"sqflite_android","dependencies":[]},{"name":"sqflite_darwin","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]},{"name":"window_manager","dependencies":["screen_retriever"]}],"date_created":"2026-04-13 10:47:30.258307","version":"3.35.7","swift_package_manager_enabled":{"ios":false,"macos":false}} |