diff --git a/pkg/dartdev/analysis_options.yaml b/pkg/dartdev/analysis_options.yaml index b5b773671db..3faacee7e6a 100644 --- a/pkg/dartdev/analysis_options.yaml +++ b/pkg/dartdev/analysis_options.yaml @@ -1,23 +1,11 @@ -include: package:pedantic/analysis_options.1.9.0.yaml - -analyzer: - errors: - # Increase the severity of several hints. - prefer_single_quotes: warning - unused_import: warning - unnecessary_brace_in_string_interps: warning - - # Ignore one pedantic lint - omit_local_variable_types: ignore +include: package:lints/recommended.yaml linter: rules: - - always_declare_return_types - - depend_on_referenced_packages - - directives_ordering - - overridden_fields - - prefer_single_quotes - - sort_pub_dependencies - - unnecessary_brace_in_string_interps - - unnecessary_overrides - - unnecessary_parenthesis + # Disable implementation_imports. + implementation_imports: false + + # Enable additional rules. + depend_on_referenced_packages: true + directives_ordering: true + sort_pub_dependencies: true diff --git a/pkg/dartdev/benchmark/bench.dart b/pkg/dartdev/benchmark/bench.dart index fc62a8948f8..abfeaff2ac8 100644 --- a/pkg/dartdev/benchmark/bench.dart +++ b/pkg/dartdev/benchmark/bench.dart @@ -34,14 +34,14 @@ void main(List args) async { } if (!argResults.wasParsed('dart-sdk')) { - print('No value passed for \`dart-sdk\`.'); + print('No value passed for `dart-sdk`.'); print(''); printUsage(argParser); io.exit(1); } if (!argResults.wasParsed('run')) { - print('No value passed for \`run\`.'); + print('No value passed for `run`.'); print(''); printUsage(argParser); io.exit(1); @@ -143,7 +143,7 @@ class DartRunStartup extends Benchmark { : super( 'run-script-startup', 'Benchmark the startup time of a minimal Dart script, executed with ' - '\`dart run\` (μs).', + '`dart run` (μs).', ); @override diff --git a/pkg/dartdev/lib/dartdev.dart b/pkg/dartdev/lib/dartdev.dart index cbe7945e9ba..83ba6bd8d39 100644 --- a/pkg/dartdev/lib/dartdev.dart +++ b/pkg/dartdev/lib/dartdev.dart @@ -231,6 +231,7 @@ class DartdevRunner extends CommandRunner { exitCode = 1; } finally { stopwatch.stop(); + if (analytics.enabled) { unawaited( analytics.sendTiming( @@ -240,6 +241,7 @@ class DartdevRunner extends CommandRunner { ), ); } + // Set the exitCode, if it wasn't set in the catch block above. exitCode ??= 0; @@ -265,7 +267,8 @@ class DartdevRunner extends CommandRunner { analytics.enabled = true; } analytics.close(); - return exitCode; } + + return exitCode; } } diff --git a/pkg/dartdev/lib/src/commands/analyze.dart b/pkg/dartdev/lib/src/commands/analyze.dart index 254a78035d5..a4c02bec041 100644 --- a/pkg/dartdev/lib/src/commands/analyze.dart +++ b/pkg/dartdev/lib/src/commands/analyze.dart @@ -207,7 +207,7 @@ class AnalyzeCommand extends DartdevCommand { } // Emit "file:line:col * Error message. Correction (code)." - var message = ansi.emphasized('${error.message}'); + var message = ansi.emphasized(error.message); if (error.correction != null) { message += ' ${error.correction}'; } diff --git a/pkg/dartdev/lib/src/commands/fix.dart b/pkg/dartdev/lib/src/commands/fix.dart index c053a29282e..60d2e46e86a 100644 --- a/pkg/dartdev/lib/src/commands/fix.dart +++ b/pkg/dartdev/lib/src/commands/fix.dart @@ -128,12 +128,12 @@ To use the tool, run either ['dart fix --dry-run'] for a preview of the proposed var fileCount = 0; var fixCount = 0; - details.forEach((d) { + for (var d in details) { ++fileCount; - d.fixes.forEach((f) { + for (var f in d.fixes) { fixCount += f.occurrences; - }); - }); + } + } if (dryRun) { log.stdout(''); diff --git a/pkg/dartdev/lib/src/commands/run.dart b/pkg/dartdev/lib/src/commands/run.dart index c4bd9f1a864..22e9e1a6dfc 100644 --- a/pkg/dartdev/lib/src/commands/run.dart +++ b/pkg/dartdev/lib/src/commands/run.dart @@ -110,10 +110,9 @@ class RunCommand extends DartdevCommand { ); if (verbose) { - argParser - ..addSeparator( - 'Advanced options:', - ); + argParser.addSeparator( + 'Advanced options:', + ); } argParser ..addMultiOption( diff --git a/pkg/dartdev/lib/src/events.dart b/pkg/dartdev/lib/src/events.dart index 26e47dfb880..eb30e7805b5 100644 --- a/pkg/dartdev/lib/src/events.dart +++ b/pkg/dartdev/lib/src/events.dart @@ -64,7 +64,7 @@ Future sendUsageEvent( specifiedExperiments = specifiedExperiments?.toList() ?? []; // Sort the flag lists to slightly reduce the explosion of possibilities. - commandFlags..sort(); + commandFlags.sort(); specifiedExperiments.sort(); // Insert a seperator before and after the flags list to make it easier to filter diff --git a/pkg/dartdev/lib/src/templates/console_full.dart b/pkg/dartdev/lib/src/templates/console_full.dart index f2e8b7abe53..5797c9a6452 100644 --- a/pkg/dartdev/lib/src/templates/console_full.dart +++ b/pkg/dartdev/lib/src/templates/console_full.dart @@ -26,7 +26,7 @@ class ConsoleFullGenerator extends DefaultGenerator { @override String getInstallInstructions( String directory, - String scriptName, + String scriptPath, ) => super.getInstallInstructions(directory, null); } diff --git a/pkg/dartdev/lib/src/templates/console_simple.dart b/pkg/dartdev/lib/src/templates/console_simple.dart index a90c2ef6fa5..376249ba29a 100644 --- a/pkg/dartdev/lib/src/templates/console_simple.dart +++ b/pkg/dartdev/lib/src/templates/console_simple.dart @@ -24,7 +24,7 @@ class ConsoleSimpleGenerator extends DefaultGenerator { @override String getInstallInstructions( String directory, - String scriptName, + String scriptPath, ) => super.getInstallInstructions(directory, null); } diff --git a/pkg/dartdev/lib/src/templates/package_simple.dart b/pkg/dartdev/lib/src/templates/package_simple.dart index 9d9eb596c1f..651e5e453b1 100644 --- a/pkg/dartdev/lib/src/templates/package_simple.dart +++ b/pkg/dartdev/lib/src/templates/package_simple.dart @@ -27,11 +27,11 @@ class PackageSimpleGenerator extends DefaultGenerator { @override String getInstallInstructions( String directory, - String projectName, + String scriptPath, ) => super.getInstallInstructions( directory, - 'example/${projectName}_example', + 'example/${scriptPath}_example', ); } diff --git a/pkg/dartdev/lib/src/templates/server_shelf.dart b/pkg/dartdev/lib/src/templates/server_shelf.dart index 97794bbe28a..45873bc964d 100644 --- a/pkg/dartdev/lib/src/templates/server_shelf.dart +++ b/pkg/dartdev/lib/src/templates/server_shelf.dart @@ -27,7 +27,7 @@ class ServerShelfGenerator extends DefaultGenerator { @override String getInstallInstructions( String directory, - String scriptName, + String scriptPath, ) => super.getInstallInstructions( directory, diff --git a/pkg/dartdev/lib/src/templates/web_simple.dart b/pkg/dartdev/lib/src/templates/web_simple.dart index 73ae51a88b7..4bceae156bc 100644 --- a/pkg/dartdev/lib/src/templates/web_simple.dart +++ b/pkg/dartdev/lib/src/templates/web_simple.dart @@ -28,7 +28,7 @@ class WebSimpleGenerator extends DefaultGenerator { @override String getInstallInstructions( String directory, - String scriptName, + String scriptPath, ) => ' cd ${p.relative(directory)}\n' ' dart pub global activate webdev\n' diff --git a/pkg/dartdev/pubspec.yaml b/pkg/dartdev/pubspec.yaml index 20071f4e808..3887bdf9f4f 100644 --- a/pkg/dartdev/pubspec.yaml +++ b/pkg/dartdev/pubspec.yaml @@ -32,6 +32,7 @@ dependencies: usage: ^3.4.0 dev_dependencies: + lints: any pub_semver: any test: ^1.0.0 yaml: any diff --git a/pkg/dartdev/test/commands/create_test.dart b/pkg/dartdev/test/commands/create_test.dart index 0982a0c31a2..5af3323e85c 100644 --- a/pkg/dartdev/test/commands/create_test.dart +++ b/pkg/dartdev/test/commands/create_test.dart @@ -141,7 +141,7 @@ void defineCreateTests() { // Create tests for each template. for (String templateId in CreateCommand.legalTemplateIds) { - test('$templateId', () { + test(templateId, () { p = project(); const projectName = 'template_project'; ProcessResult result = p.runSync([