diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml index e8b2448..65703b1 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/test-package.yml @@ -47,7 +47,7 @@ jobs: # Add macos-latest and/or windows-latest if relevant for this package os: [ubuntu-latest] # Add stable if the package should also be tested on stable - sdk: [2.18.0, dev] + sdk: [2.19.0, dev] steps: - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab - uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f diff --git a/CHANGELOG.md b/CHANGELOG.md index 16515ba..f8374ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ * Change the validation of `mandatory` options; they now perform validation when the value is retrieved (from the `ArgResults` object), instead of when the args are parsed. +* Require Dart 2.19. ## 2.4.1 diff --git a/analysis_options.yaml b/analysis_options.yaml index a9dbdb5..424f0d3 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,27 +1,18 @@ # https://dart.dev/guides/language/analysis-options -include: package:lints/recommended.yaml + +include: package:dart_flutter_team_lints/analysis_options.yaml linter: rules: - - always_declare_return_types - - avoid_dynamic_calls - avoid_unused_constructor_parameters - cancel_subscriptions - comment_references - - directives_ordering - - lines_longer_than_80_chars - literal_only_boolean_expressions - missing_whitespace_between_adjacent_strings - no_adjacent_strings_in_list - no_runtimeType_toString - - omit_local_variable_types - package_api_docs - prefer_relative_imports - - prefer_single_quotes - test_types_in_equals - - throw_in_finally - - type_annotate_public_apis - - unawaited_futures - unnecessary_await_in_return - - unnecessary_lambdas - use_super_parameters diff --git a/example/command_runner/draw.dart b/example/command_runner/draw.dart index 3f0baec..35a3601 100644 --- a/example/command_runner/draw.dart +++ b/example/command_runner/draw.dart @@ -33,7 +33,7 @@ class SquareCommand extends Command { @override FutureOr? run() { - final size = int.parse(argResults?['size'] ?? '20'); + final size = int.parse(argResults?['size'] as String? ?? '20'); final char = (globalResults?['char'] as String?)?[0] ?? '#'; return draw(size, size, char, (x, y) => true); } @@ -55,7 +55,7 @@ class CircleCommand extends Command { @override FutureOr? run() { - final size = 2 * int.parse(argResults?['radius'] ?? '10'); + final size = 2 * int.parse(argResults?['radius'] as String? ?? '10'); final char = (globalResults?['char'] as String?)?[0] ?? '#'; return draw(size, size, char, (x, y) => x * x + y * y < 1); } @@ -93,7 +93,7 @@ class EquilateralTriangleCommand extends Command { @override FutureOr? run() { - final size = int.parse(argResults?['size'] ?? '20'); + final size = int.parse(argResults?['size'] as String? ?? '20'); final char = (globalResults?['char'] as String?)?[0] ?? '#'; return drawTriangle(size, size * sqrt(3) ~/ 2, char); } @@ -116,8 +116,8 @@ class IsoscelesTriangleCommand extends Command { @override FutureOr? run() { - final width = int.parse(argResults?['width'] ?? '50'); - final height = int.parse(argResults?['height'] ?? '10'); + final width = int.parse(argResults?['width'] as String? ?? '50'); + final height = int.parse(argResults?['height'] as String? ?? '10'); final char = (globalResults?['char'] as String?)?[0] ?? '#'; return drawTriangle(width, height, char); } diff --git a/lib/command_runner.dart b/lib/command_runner.dart index 183264d..1845160 100644 --- a/lib/command_runner.dart +++ b/lib/command_runner.dart @@ -192,13 +192,13 @@ class CommandRunner { commands = command._subcommands as Map>; commandString += ' ${argResults.name}'; - if (argResults.options.contains('help') && argResults['help']) { + if (argResults.options.contains('help') && (argResults['help'] as bool)) { command.printUsage(); return null; } } - if (topLevelResults['help']) { + if (topLevelResults['help'] as bool) { command!.printUsage(); return null; } diff --git a/pubspec.yaml b/pubspec.yaml index dec55a9..3166e1d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,8 +9,8 @@ topics: - cli environment: - sdk: '>=2.18.0 <3.0.0' + sdk: '>=2.19.0 <4.0.0' dev_dependencies: - lints: ^2.0.0 + dart_flutter_team_lints: ^1.0.0 test: ^1.16.0 diff --git a/test/command_runner_test.dart b/test/command_runner_test.dart index 9031dd1..cc80c6b 100644 --- a/test/command_runner_test.dart +++ b/test/command_runner_test.dart @@ -755,5 +755,5 @@ class _MandatoryOptionCommand extends Command { String get name => 'mandatory-option-command'; @override - String run() => argResults!['mandatory-option']; + String run() => argResults!['mandatory-option'] as String; }