From 1d7d9dd541c967fa9075252ecd97710ac0089c0b Mon Sep 17 00:00:00 2001 From: Niels Date: Wed, 23 Oct 2024 09:35:02 +0200 Subject: [PATCH] feat: refactor --- analysis_options.yaml | 9 -- example/pubspec.yaml | 28 ---- lib/flutter_start.dart | 6 - lib/src/go_router.dart | 46 ------- lib/src/routes.dart | 5 - .../flutter_start_userstory_go_router.dart | 123 ------------------ melos.yaml | 39 ++++++ {example => packages/example}/.gitignore | 0 .../example}/analysis_options.yaml | 0 {example => packages/example}/lib/main.dart | 27 +++- packages/example/pubspec.yaml | 53 ++++++++ packages/flutter_start/.gitignore | 29 +++++ packages/flutter_start/CHANGELOG.md | 3 + packages/flutter_start/LICENSE | 1 + packages/flutter_start/README.md | 39 ++++++ packages/flutter_start/analysis_options.yaml | 4 + packages/flutter_start/lib/flutter_start.dart | 4 + .../lib}/src/models/start_configuration.dart | 2 +- .../lib}/src/services/killswitch_service.dart | 0 .../flutter_start_userstory_navigator.dart | 6 +- .../src/widgets/default_splash_screen.dart | 0 packages/flutter_start/pubspec.yaml | 63 +++++++++ .../start_repository_interface/.gitignore | 29 +++++ .../start_repository_interface/CHANGELOG.md | 3 + packages/start_repository_interface/LICENSE | 1 + packages/start_repository_interface/README.md | 39 ++++++ .../analysis_options.yaml | 4 + .../lib/start_repository_interface.dart | 7 + .../start_repository_interface/pubspec.yaml | 54 ++++++++ .../test/start_repository_interface_test.dart | 12 ++ pubspec.yaml | 33 +---- 31 files changed, 413 insertions(+), 256 deletions(-) delete mode 100644 analysis_options.yaml delete mode 100644 example/pubspec.yaml delete mode 100644 lib/flutter_start.dart delete mode 100644 lib/src/go_router.dart delete mode 100644 lib/src/routes.dart delete mode 100644 lib/src/user_stories/flutter_start_userstory_go_router.dart create mode 100644 melos.yaml rename {example => packages/example}/.gitignore (100%) rename {example => packages/example}/analysis_options.yaml (100%) rename {example => packages/example}/lib/main.dart (79%) create mode 100644 packages/example/pubspec.yaml create mode 100644 packages/flutter_start/.gitignore create mode 100644 packages/flutter_start/CHANGELOG.md create mode 100644 packages/flutter_start/LICENSE create mode 100644 packages/flutter_start/README.md create mode 100644 packages/flutter_start/analysis_options.yaml create mode 100644 packages/flutter_start/lib/flutter_start.dart rename {lib => packages/flutter_start/lib}/src/models/start_configuration.dart (97%) rename {lib => packages/flutter_start/lib}/src/services/killswitch_service.dart (100%) rename {lib => packages/flutter_start/lib}/src/user_stories/flutter_start_userstory_navigator.dart (95%) rename {lib => packages/flutter_start/lib}/src/widgets/default_splash_screen.dart (100%) create mode 100644 packages/flutter_start/pubspec.yaml create mode 100644 packages/start_repository_interface/.gitignore create mode 100644 packages/start_repository_interface/CHANGELOG.md create mode 100644 packages/start_repository_interface/LICENSE create mode 100644 packages/start_repository_interface/README.md create mode 100644 packages/start_repository_interface/analysis_options.yaml create mode 100644 packages/start_repository_interface/lib/start_repository_interface.dart create mode 100644 packages/start_repository_interface/pubspec.yaml create mode 100644 packages/start_repository_interface/test/start_repository_interface_test.dart diff --git a/analysis_options.yaml b/analysis_options.yaml deleted file mode 100644 index e2b30bf..0000000 --- a/analysis_options.yaml +++ /dev/null @@ -1,9 +0,0 @@ -include: package:flutter_iconica_analysis/analysis_options.yaml - -# Possible to overwrite the rules from the package - -analyzer: - exclude: - -linter: - rules: \ No newline at end of file diff --git a/example/pubspec.yaml b/example/pubspec.yaml deleted file mode 100644 index bc6afea..0000000 --- a/example/pubspec.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: example -description: "Flutter_start example app" -publish_to: "none" - -environment: - sdk: ">=3.2.5 <4.0.0" - -dependencies: - flutter: - sdk: flutter - go_router: any - flutter_start: - path: ../ - flutter_introduction_shared_preferences: - hosted: https://forgejo.internal.iconica.nl/api/packages/internal/pub/ - version: ^5.0.0 - -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^2.0.0 - flutter_iconica_analysis: - git: - url: https://github.com/Iconica-Development/flutter_iconica_analysis - ref: 6.0.0 - -flutter: - uses-material-design: true diff --git a/lib/flutter_start.dart b/lib/flutter_start.dart deleted file mode 100644 index 1ff6b63..0000000 --- a/lib/flutter_start.dart +++ /dev/null @@ -1,6 +0,0 @@ -export 'package:flutter_introduction/flutter_introduction.dart'; -export 'package:flutter_introduction_shared_preferences/flutter_introduction_shared_preferences.dart'; -export 'package:flutter_start/src/models/start_configuration.dart'; -export 'package:flutter_start/src/routes.dart'; -export 'package:flutter_start/src/user_stories/flutter_start_userstory_go_router.dart'; -export 'package:flutter_start/src/user_stories/flutter_start_userstory_navigator.dart'; diff --git a/lib/src/go_router.dart b/lib/src/go_router.dart deleted file mode 100644 index 1a6b03a..0000000 --- a/lib/src/go_router.dart +++ /dev/null @@ -1,46 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Iconica -// -// SPDX-License-Identifier: BSD-3-Clause - -import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; - -/// Builds a screen with a fade transition. -/// -/// The [context] parameter is the [BuildContext] in which this widget is built. -/// The [state] parameter is the [GoRouterState] that contains -/// the current routing state. -/// The [child] parameter is the widget that will be displayed on the screen. -/// -/// Returns a [CustomTransitionPage] with a fade transition. -CustomTransitionPage buildScreenWithFadeTransition({ - required BuildContext context, - required GoRouterState state, - required Widget child, -}) => - CustomTransitionPage( - key: state.pageKey, - child: child, - transitionsBuilder: (context, animation, secondaryAnimation, child) => - FadeTransition(opacity: animation, child: child), - ); - -/// Builds a screen without any transition. -/// -/// The [context] parameter is the [BuildContext] in which this widget is built. -/// The [state] parameter is the [GoRouterState] that contains -/// the current routing state. -/// The [child] parameter is the widget that will be displayed on the screen. -/// -/// Returns a [CustomTransitionPage] without any transition. -CustomTransitionPage buildScreenWithoutTransition({ - required BuildContext context, - required GoRouterState state, - required Widget child, -}) => - CustomTransitionPage( - key: state.pageKey, - child: child, - transitionsBuilder: (context, animation, secondaryAnimation, child) => - child, - ); diff --git a/lib/src/routes.dart b/lib/src/routes.dart deleted file mode 100644 index ad1bcb8..0000000 --- a/lib/src/routes.dart +++ /dev/null @@ -1,5 +0,0 @@ -mixin StartUserStoryRoutes { - static const String splashScreen = '/splashScreen'; - static const String introduction = '/introduction'; - static const String home = '/home'; -} diff --git a/lib/src/user_stories/flutter_start_userstory_go_router.dart b/lib/src/user_stories/flutter_start_userstory_go_router.dart deleted file mode 100644 index 57df7e0..0000000 --- a/lib/src/user_stories/flutter_start_userstory_go_router.dart +++ /dev/null @@ -1,123 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Iconica -// -// SPDX-License-Identifier: BSD-3-Clause - -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:flutter_introduction/flutter_introduction.dart'; -import 'package:flutter_introduction_shared_preferences/flutter_introduction_shared_preferences.dart'; -import 'package:flutter_start/src/go_router.dart'; -import 'package:flutter_start/src/models/start_configuration.dart'; -import 'package:flutter_start/src/routes.dart'; -import 'package:flutter_start/src/services/killswitch_service.dart'; -import 'package:flutter_start/src/widgets/default_splash_screen.dart'; -import 'package:go_router/go_router.dart'; - -List getStartStoryRoutes({ - StartUserStoryConfiguration? configuration = - const StartUserStoryConfiguration(), -}) => - [ - GoRoute( - path: StartUserStoryRoutes.splashScreen, - pageBuilder: (context, state) { - var go = context.go; - var isAllowedToPassThrough = false; - String? routeAfterSplash; - Future splashLoadingMethod() async { - await Future.wait( - [ - Future.delayed( - Duration.zero, - () async { - if (configuration!.useKillswitch) { - var killswitchService = configuration.killswitchService ?? - DefaultKillswitchService(); - - isAllowedToPassThrough = - await killswitchService.isKillswitchActive(); - } - - if (context.mounted) - routeAfterSplash = await configuration.splashScreenFuture - ?.call(context) ?? - configuration.homeScreenRoute; - }, - ), - Future.delayed( - Duration( - seconds: configuration!.minimumSplashScreenDuration, - ), - () async {}, - ), - ], - ); - - if (configuration.useKillswitch && isAllowedToPassThrough) return; - - if ((!configuration.showIntroduction) && context.mounted) { - return go( - routeAfterSplash ?? StartUserStoryRoutes.home, - ); - } - return go(StartUserStoryRoutes.introduction); - } - - if (configuration!.splashScreenBuilder == null) { - unawaited(splashLoadingMethod()); - } - return buildScreenWithoutTransition( - context: context, - state: state, - child: configuration.splashScreenBuilder?.call( - context, - () async => splashLoadingMethod(), - ) ?? - Scaffold( - backgroundColor: configuration.splashScreenBackgroundColor, - body: Center( - child: - configuration.splashScreenCenterWidget?.call(context) ?? - defaultSplashScreen(context), - ), - ), - ); - }, - ), - GoRoute( - path: StartUserStoryRoutes.introduction, - pageBuilder: (context, state) { - var introduction = Introduction( - service: configuration!.introductionService ?? - IntroductionService( - SharedPreferencesIntroductionDataProvider(), - ), - navigateTo: () { - context.go( - configuration.homeScreenRoute ?? StartUserStoryRoutes.home, - ); - }, - options: configuration.introductionOptionsBuilder?.call(context) ?? - const IntroductionOptions(), - physics: configuration.introductionScrollPhysics, - child: configuration.introductionFallbackScreen, - ); - - return buildScreenWithoutTransition( - context: context, - state: state, - child: PopScope( - canPop: configuration.canPopFromIntroduction, - child: configuration.introductionBuilder?.call( - context, - introduction, - ) ?? - Scaffold( - body: introduction, - ), - ), - ); - }, - ), - ]; diff --git a/melos.yaml b/melos.yaml new file mode 100644 index 0000000..c01170e --- /dev/null +++ b/melos.yaml @@ -0,0 +1,39 @@ +name: flutter_start + +packages: + - packages/** + +command: + version: + branch: master + +scripts: + lint:all: + run: dart run melos run analyze && dart run melos run format-check + description: Run all static analysis checks. + + get: + run: | + melos exec -c 1 -- "flutter pub get" + melos exec --scope="*example*" -c 1 -- "flutter pub get" + + upgrade: + run: melos exec -c 1 -- "flutter pub upgrade" + + create: + # run create in the example folder of flutter_chat_view + run: melos exec --scope="*example*" -c 1 -- "flutter create ." + + analyze: + run: | + dart run melos exec -c 1 -- \ + flutter analyze --fatal-infos + description: Run `flutter analyze` for all packages. + + format: + run: dart run melos exec dart format . + description: Run `dart format` for all packages. + + format-check: + run: dart run melos exec dart format . --set-exit-if-changed + description: Run `dart format` checks for all packages. \ No newline at end of file diff --git a/example/.gitignore b/packages/example/.gitignore similarity index 100% rename from example/.gitignore rename to packages/example/.gitignore diff --git a/example/analysis_options.yaml b/packages/example/analysis_options.yaml similarity index 100% rename from example/analysis_options.yaml rename to packages/example/analysis_options.yaml diff --git a/example/lib/main.dart b/packages/example/lib/main.dart similarity index 79% rename from example/lib/main.dart rename to packages/example/lib/main.dart index 443e605..f6f643c 100644 --- a/example/lib/main.dart +++ b/packages/example/lib/main.dart @@ -21,7 +21,7 @@ class Home extends StatelessWidget { @override Widget build(BuildContext context) => NavigatorStartUserStory( - configuration: config, + // configuration: config, onComplete: (context) async { await Navigator.of(context).pushReplacement( MaterialPageRoute(builder: (context) => const HomeEntry()), @@ -30,17 +30,34 @@ class Home extends StatelessWidget { ); } -List getStartRoutes() => getStartStoryRoutes( - configuration: config, - ); - StartUserStoryConfiguration config = StartUserStoryConfiguration( // showIntroduction: false, + introductionService: MyIntroductionService(), splashScreenBuilder: (context, onFinish) => SplashScreen( onFinish: onFinish, ), ); +class MyIntroductionService implements IntroductionService { + @override + Future onComplete() { + // TODO: implement onComplete + throw UnimplementedError(); + } + + @override + Future onSkip() { + // TODO: implement onSkip + throw UnimplementedError(); + } + + @override + Future shouldShow() { + // TODO: implement shouldShow + throw UnimplementedError(); + } +} + class SplashScreen extends StatefulWidget { const SplashScreen({ required this.onFinish, diff --git a/packages/example/pubspec.yaml b/packages/example/pubspec.yaml new file mode 100644 index 0000000..beb1f35 --- /dev/null +++ b/packages/example/pubspec.yaml @@ -0,0 +1,53 @@ +name: example +description: "Flutter_start example app" +publish_to: "none" + +environment: + sdk: ">=3.2.5 <4.0.0" + +dependencies: + flutter: + sdk: flutter + go_router: any + flutter_start: + path: ../flutter_start/ + flutter_introduction_shared_preferences: + git: + url: https://github.com/Iconica-Development/flutter_introduction.git + path: packages/flutter_introduction_shared_preferences + ref: 5.0.0 + # hosted: https://forgejo.internal.iconica.nl/api/packages/internal/pub/ + # version: ^5.0.0 + +dependency_overrides: + flutter_data_interface: + git: + url: https://github.com/Iconica-Development/flutter_data_interface.git + ref: 1.0.1 + flutter_introduction_interface: + git: + url: https://github.com/Iconica-Development/flutter_introduction.git + path: packages/flutter_introduction_interface + ref: 5.0.0 + flutter_introduction_service: + git: + url: https://github.com/Iconica-Development/flutter_introduction.git + path: packages/flutter_introduction_service + ref: 5.0.0 + flutter_introduction_widget: + git: + url: https://github.com/Iconica-Development/flutter_introduction.git + path: packages/flutter_introduction_widget + ref: 5.0.0 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^2.0.0 + flutter_iconica_analysis: + git: + url: https://github.com/Iconica-Development/flutter_iconica_analysis + ref: 6.0.0 + +flutter: + uses-material-design: true diff --git a/packages/flutter_start/.gitignore b/packages/flutter_start/.gitignore new file mode 100644 index 0000000..ac5aa98 --- /dev/null +++ b/packages/flutter_start/.gitignore @@ -0,0 +1,29 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +build/ diff --git a/packages/flutter_start/CHANGELOG.md b/packages/flutter_start/CHANGELOG.md new file mode 100644 index 0000000..41cc7d8 --- /dev/null +++ b/packages/flutter_start/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 + +* TODO: Describe initial release. diff --git a/packages/flutter_start/LICENSE b/packages/flutter_start/LICENSE new file mode 100644 index 0000000..ba75c69 --- /dev/null +++ b/packages/flutter_start/LICENSE @@ -0,0 +1 @@ +TODO: Add your license here. diff --git a/packages/flutter_start/README.md b/packages/flutter_start/README.md new file mode 100644 index 0000000..4a260d8 --- /dev/null +++ b/packages/flutter_start/README.md @@ -0,0 +1,39 @@ + + +TODO: Put a short description of the package here that helps potential users +know whether this package might be useful for them. + +## Features + +TODO: List what your package can do. Maybe include images, gifs, or videos. + +## Getting started + +TODO: List prerequisites and provide or point to information on how to +start using the package. + +## Usage + +TODO: Include short and useful examples for package users. Add longer examples +to `/example` folder. + +```dart +const like = 'sample'; +``` + +## Additional information + +TODO: Tell users more about the package: where to find more information, how to +contribute to the package, how to file issues, what response they can expect +from the package authors, and more. diff --git a/packages/flutter_start/analysis_options.yaml b/packages/flutter_start/analysis_options.yaml new file mode 100644 index 0000000..a5744c1 --- /dev/null +++ b/packages/flutter_start/analysis_options.yaml @@ -0,0 +1,4 @@ +include: package:flutter_lints/flutter.yaml + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/packages/flutter_start/lib/flutter_start.dart b/packages/flutter_start/lib/flutter_start.dart new file mode 100644 index 0000000..6ffc038 --- /dev/null +++ b/packages/flutter_start/lib/flutter_start.dart @@ -0,0 +1,4 @@ +export 'package:flutter_introduction/flutter_introduction.dart'; +export 'package:flutter_introduction_shared_preferences/flutter_introduction_shared_preferences.dart'; +export 'src/models/start_configuration.dart'; +export 'src/user_stories/flutter_start_userstory_navigator.dart'; diff --git a/lib/src/models/start_configuration.dart b/packages/flutter_start/lib/src/models/start_configuration.dart similarity index 97% rename from lib/src/models/start_configuration.dart rename to packages/flutter_start/lib/src/models/start_configuration.dart index b4bc32d..0adfb97 100644 --- a/lib/src/models/start_configuration.dart +++ b/packages/flutter_start/lib/src/models/start_configuration.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_introduction/flutter_introduction.dart'; -import 'package:flutter_start/src/services/killswitch_service.dart'; +import '../services/killswitch_service.dart'; /// An immutable class that represents the configuration for /// starting a user story. diff --git a/lib/src/services/killswitch_service.dart b/packages/flutter_start/lib/src/services/killswitch_service.dart similarity index 100% rename from lib/src/services/killswitch_service.dart rename to packages/flutter_start/lib/src/services/killswitch_service.dart diff --git a/lib/src/user_stories/flutter_start_userstory_navigator.dart b/packages/flutter_start/lib/src/user_stories/flutter_start_userstory_navigator.dart similarity index 95% rename from lib/src/user_stories/flutter_start_userstory_navigator.dart rename to packages/flutter_start/lib/src/user_stories/flutter_start_userstory_navigator.dart index 3774db2..d15f6df 100644 --- a/lib/src/user_stories/flutter_start_userstory_navigator.dart +++ b/packages/flutter_start/lib/src/user_stories/flutter_start_userstory_navigator.dart @@ -1,9 +1,9 @@ import 'dart:async'; import 'package:flutter/material.dart'; -import 'package:flutter_start/flutter_start.dart'; -import 'package:flutter_start/src/services/killswitch_service.dart'; -import 'package:flutter_start/src/widgets/default_splash_screen.dart'; +import '../../flutter_start.dart'; +import '../services/killswitch_service.dart'; +import '../widgets/default_splash_screen.dart'; /// Initial screen of the user story. /// diff --git a/lib/src/widgets/default_splash_screen.dart b/packages/flutter_start/lib/src/widgets/default_splash_screen.dart similarity index 100% rename from lib/src/widgets/default_splash_screen.dart rename to packages/flutter_start/lib/src/widgets/default_splash_screen.dart diff --git a/packages/flutter_start/pubspec.yaml b/packages/flutter_start/pubspec.yaml new file mode 100644 index 0000000..d6bd635 --- /dev/null +++ b/packages/flutter_start/pubspec.yaml @@ -0,0 +1,63 @@ +name: flutter_start +description: "Flutter_start is a package that allows you to jumpstart your application with a splashScreen, introduction and a home." +version: 4.2.1 + +# publish_to: https://forgejo.internal.iconica.nl/api/packages/internal/pub +publish_to: 'none' + +environment: + sdk: ">=3.2.5 <4.0.0" + +dependencies: + flutter: + sdk: flutter + cupertino_icons: ">=1.0.2 <2.0.0" + go_router: ">=14.2.0 <15.0.0" + http: ">=1.2.1 <2.0.0" + package_info_plus: ">=8.0.0 <9.0.0" + flutter_introduction: + git: + url: https://github.com/Iconica-Development/flutter_introduction.git + path: packages/flutter_introduction + ref: 5.0.0 + # hosted: https://forgejo.internal.iconica.nl/api/packages/internal/pub + # version: "^5.0.0" + flutter_introduction_shared_preferences: + git: + url: https://github.com/Iconica-Development/flutter_introduction.git + path: packages/flutter_introduction_shared_preferences + ref: 5.0.0 + # hosted: https://forgejo.internal.iconica.nl/api/packages/internal/pub/ + # version: ^5.0.0 + +dependency_overrides: + flutter_data_interface: + git: + url: https://github.com/Iconica-Development/flutter_data_interface.git + ref: 1.0.1 + flutter_introduction_interface: + git: + url: https://github.com/Iconica-Development/flutter_introduction.git + path: packages/flutter_introduction_interface + ref: 5.0.0 + flutter_introduction_service: + git: + url: https://github.com/Iconica-Development/flutter_introduction.git + path: packages/flutter_introduction_service + ref: 5.0.0 + flutter_introduction_widget: + git: + url: https://github.com/Iconica-Development/flutter_introduction.git + path: packages/flutter_introduction_widget + ref: 5.0.0 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_iconica_analysis: + git: + url: https://github.com/Iconica-Development/flutter_iconica_analysis + ref: 6.0.0 + +flutter: + uses-material-design: true diff --git a/packages/start_repository_interface/.gitignore b/packages/start_repository_interface/.gitignore new file mode 100644 index 0000000..ac5aa98 --- /dev/null +++ b/packages/start_repository_interface/.gitignore @@ -0,0 +1,29 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +build/ diff --git a/packages/start_repository_interface/CHANGELOG.md b/packages/start_repository_interface/CHANGELOG.md new file mode 100644 index 0000000..41cc7d8 --- /dev/null +++ b/packages/start_repository_interface/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 + +* TODO: Describe initial release. diff --git a/packages/start_repository_interface/LICENSE b/packages/start_repository_interface/LICENSE new file mode 100644 index 0000000..ba75c69 --- /dev/null +++ b/packages/start_repository_interface/LICENSE @@ -0,0 +1 @@ +TODO: Add your license here. diff --git a/packages/start_repository_interface/README.md b/packages/start_repository_interface/README.md new file mode 100644 index 0000000..4a260d8 --- /dev/null +++ b/packages/start_repository_interface/README.md @@ -0,0 +1,39 @@ + + +TODO: Put a short description of the package here that helps potential users +know whether this package might be useful for them. + +## Features + +TODO: List what your package can do. Maybe include images, gifs, or videos. + +## Getting started + +TODO: List prerequisites and provide or point to information on how to +start using the package. + +## Usage + +TODO: Include short and useful examples for package users. Add longer examples +to `/example` folder. + +```dart +const like = 'sample'; +``` + +## Additional information + +TODO: Tell users more about the package: where to find more information, how to +contribute to the package, how to file issues, what response they can expect +from the package authors, and more. diff --git a/packages/start_repository_interface/analysis_options.yaml b/packages/start_repository_interface/analysis_options.yaml new file mode 100644 index 0000000..a5744c1 --- /dev/null +++ b/packages/start_repository_interface/analysis_options.yaml @@ -0,0 +1,4 @@ +include: package:flutter_lints/flutter.yaml + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/packages/start_repository_interface/lib/start_repository_interface.dart b/packages/start_repository_interface/lib/start_repository_interface.dart new file mode 100644 index 0000000..927fb58 --- /dev/null +++ b/packages/start_repository_interface/lib/start_repository_interface.dart @@ -0,0 +1,7 @@ +library start_repository_interface; + +/// A Calculator. +class Calculator { + /// Returns [value] plus 1. + int addOne(int value) => value + 1; +} diff --git a/packages/start_repository_interface/pubspec.yaml b/packages/start_repository_interface/pubspec.yaml new file mode 100644 index 0000000..afda727 --- /dev/null +++ b/packages/start_repository_interface/pubspec.yaml @@ -0,0 +1,54 @@ +name: start_repository_interface +description: "A new Flutter package project." +version: 0.0.1 +homepage: + +environment: + sdk: ^3.5.3 + flutter: ">=1.17.0" + +dependencies: + flutter: + sdk: flutter + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^4.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # To add assets to your package, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + # + # For details regarding assets in packages, see + # https://flutter.dev/to/asset-from-package + # + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/to/resolution-aware-images + + # To add custom fonts to your package, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts in packages, see + # https://flutter.dev/to/font-from-package diff --git a/packages/start_repository_interface/test/start_repository_interface_test.dart b/packages/start_repository_interface/test/start_repository_interface_test.dart new file mode 100644 index 0000000..eba62b8 --- /dev/null +++ b/packages/start_repository_interface/test/start_repository_interface_test.dart @@ -0,0 +1,12 @@ +import 'package:flutter_test/flutter_test.dart'; + +import 'package:start_repository_interface/start_repository_interface.dart'; + +void main() { + test('adds one to input values', () { + final calculator = Calculator(); + expect(calculator.addOne(2), 3); + expect(calculator.addOne(-7), -6); + expect(calculator.addOne(0), 1); + }); +} diff --git a/pubspec.yaml b/pubspec.yaml index 34fca36..dc5142d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,33 +1,6 @@ -name: flutter_start -description: "Flutter_start is a package that allows you to jumpstart your application with a splashScreen, introduction and a home." -version: 4.2.1 - -publish_to: https://forgejo.internal.iconica.nl/api/packages/internal/pub +name: flutter_start_workspace environment: - sdk: ">=3.2.5 <4.0.0" - -dependencies: - flutter: - sdk: flutter - cupertino_icons: ">=1.0.2 <2.0.0" - go_router: ">=14.2.0 <15.0.0" - http: ">=1.2.1 <2.0.0" - package_info_plus: ">=8.0.0 <9.0.0" - flutter_introduction: - hosted: https://forgejo.internal.iconica.nl/api/packages/internal/pub - version: "^5.0.0" - flutter_introduction_shared_preferences: - hosted: https://forgejo.internal.iconica.nl/api/packages/internal/pub/ - version: ^5.0.0 - + sdk: ">=3.1.0 <4.0.0" dev_dependencies: - flutter_test: - sdk: flutter - flutter_iconica_analysis: - git: - url: https://github.com/Iconica-Development/flutter_iconica_analysis - ref: 6.0.0 - -flutter: - uses-material-design: true + melos: ^6.1.0 \ No newline at end of file