add additional lints to dart_flutter_team_lints (#167)

* add additional lints to dart_flutter_team_lints

* mono_reo generate

* dart fix

* dartfmt

* revert unintentional changes

* updates from review
diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml
index f62eaa6..a31231b 100644
--- a/.github/workflows/dart.yml
+++ b/.github/workflows/dart.yml
@@ -39,16 +39,16 @@
       - name: mono_repo self validate
         run: dart pub global run mono_repo generate --validate
   job_002:
-    name: "analyze_and_format; Dart 2.19.0; PKGS: pkgs/corpus, pkgs/dart_flutter_team_lints, pkgs/repo_manage; `dart analyze --fatal-infos .`"
+    name: "analyze_and_format; Dart 2.19.0; PKGS: pkgs/corpus, pkgs/repo_manage; `dart analyze --fatal-infos .`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
         uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/corpus-pkgs/dart_flutter_team_lints-pkgs/repo_manage;commands:analyze"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/corpus-pkgs/repo_manage;commands:analyze"
           restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/corpus-pkgs/dart_flutter_team_lints-pkgs/repo_manage
+            os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/corpus-pkgs/repo_manage
             os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
@@ -68,15 +68,6 @@
         run: dart analyze --fatal-infos .
         if: "always() && steps.pkgs_corpus_pub_upgrade.conclusion == 'success'"
         working-directory: pkgs/corpus
-      - id: pkgs_dart_flutter_team_lints_pub_upgrade
-        name: pkgs/dart_flutter_team_lints; dart pub upgrade
-        run: dart pub upgrade
-        if: "always() && steps.checkout.conclusion == 'success'"
-        working-directory: pkgs/dart_flutter_team_lints
-      - name: "pkgs/dart_flutter_team_lints; dart analyze --fatal-infos ."
-        run: dart analyze --fatal-infos .
-        if: "always() && steps.pkgs_dart_flutter_team_lints_pub_upgrade.conclusion == 'success'"
-        working-directory: pkgs/dart_flutter_team_lints
       - id: pkgs_repo_manage_pub_upgrade
         name: pkgs/repo_manage; dart pub upgrade
         run: dart pub upgrade
@@ -89,16 +80,16 @@
     needs:
       - job_001
   job_003:
-    name: "analyze_and_format; Dart 3.0.0; PKG: pkgs/firehose; `dart analyze --fatal-infos .`"
+    name: "analyze_and_format; Dart 3.0.0; PKGS: pkgs/dart_flutter_team_lints, pkgs/firehose; `dart analyze --fatal-infos .`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
         uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/firehose;commands:analyze"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/dart_flutter_team_lints-pkgs/firehose;commands:analyze"
           restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/firehose
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/dart_flutter_team_lints-pkgs/firehose
             os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
@@ -109,6 +100,15 @@
       - id: checkout
         name: Checkout repository
         uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
+      - id: pkgs_dart_flutter_team_lints_pub_upgrade
+        name: pkgs/dart_flutter_team_lints; dart pub upgrade
+        run: dart pub upgrade
+        if: "always() && steps.checkout.conclusion == 'success'"
+        working-directory: pkgs/dart_flutter_team_lints
+      - name: "pkgs/dart_flutter_team_lints; dart analyze --fatal-infos ."
+        run: dart analyze --fatal-infos .
+        if: "always() && steps.pkgs_dart_flutter_team_lints_pub_upgrade.conclusion == 'success'"
+        working-directory: pkgs/dart_flutter_team_lints
       - id: pkgs_firehose_pub_upgrade
         name: pkgs/firehose; dart pub upgrade
         run: dart pub upgrade
@@ -275,23 +275,23 @@
       - job_004
       - job_005
   job_007:
-    name: "unit_test; Dart 2.19.0; PKG: pkgs/dart_flutter_team_lints; `dart test`"
+    name: "unit_test; Dart 3.0.0; PKG: pkgs/dart_flutter_team_lints; `dart test`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
         uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/dart_flutter_team_lints;commands:test_1"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/dart_flutter_team_lints;commands:test_1"
           restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/dart_flutter_team_lints
-            os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/dart_flutter_team_lints
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
       - name: Setup Dart SDK
         uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f
         with:
-          sdk: "2.19.0"
+          sdk: "3.0.0"
       - id: checkout
         name: Checkout repository
         uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
diff --git a/pkgs/blast_repo/lib/src/top_level.dart b/pkgs/blast_repo/lib/src/top_level.dart
index cc037a8..40ac0af 100644
--- a/pkgs/blast_repo/lib/src/top_level.dart
+++ b/pkgs/blast_repo/lib/src/top_level.dart
@@ -6,13 +6,13 @@
 import 'dart:convert';
 import 'dart:io';
 
-import 'package:blast_repo/src/tweaks/mono_repo_tweak.dart';
 import 'package:git/git.dart';
 
 import 'repo_tweak.dart';
 import 'tweaks/auto_publish_tweak.dart';
 import 'tweaks/dependabot_tweak.dart';
 import 'tweaks/github_action_tweak.dart';
+import 'tweaks/mono_repo_tweak.dart';
 import 'tweaks/no_reponse_tweak.dart';
 import 'utils.dart';
 
diff --git a/pkgs/corpus/bin/deps.dart b/pkgs/corpus/bin/deps.dart
index c5ef3f7..f120a2a 100644
--- a/pkgs/corpus/bin/deps.dart
+++ b/pkgs/corpus/bin/deps.dart
@@ -57,7 +57,7 @@
 
   var targetPackage = await pub.getPackageInfo(packageName);
 
-  final dateOneYearAgo = DateTime.now().subtract(Duration(days: 365));
+  final dateOneYearAgo = DateTime.now().subtract(const Duration(days: 365));
 
   var limit = packageLimit == null ? null : int.parse(packageLimit);
 
diff --git a/pkgs/corpus/lib/api.dart b/pkgs/corpus/lib/api.dart
index 0749e37..258d49f 100644
--- a/pkgs/corpus/lib/api.dart
+++ b/pkgs/corpus/lib/api.dart
@@ -49,7 +49,7 @@
       'packages': fromPackages.toJson(),
       'libraries': fromLibraries.toJson(),
     };
-    file.writeAsStringSync(JsonEncoder.withIndent('  ').convert(json));
+    file.writeAsStringSync(const JsonEncoder.withIndent('  ').convert(json));
   }
 
   /// Returns whether we found any references to the target package.
@@ -70,8 +70,8 @@
   }
 
   static ApiUsage fromFile(PackageInfo packageInfo, File file) {
-    var json =
-        JsonDecoder().convert(file.readAsStringSync()) as Map<String, dynamic>;
+    var json = const JsonDecoder().convert(file.readAsStringSync())
+        as Map<String, dynamic>;
     return ApiUsage(
       packageInfo,
       References.fromJson(json['packages'] as Map<String, dynamic>),
diff --git a/pkgs/corpus/lib/report.dart b/pkgs/corpus/lib/report.dart
index 86bd72d..1a5c192 100644
--- a/pkgs/corpus/lib/report.dart
+++ b/pkgs/corpus/lib/report.dart
@@ -4,9 +4,8 @@
 
 import 'dart:io';
 
-import 'package:corpus/pub.dart';
-
 import 'api.dart';
+import 'pub.dart';
 import 'utils.dart';
 
 abstract class ReportTarget {
diff --git a/pkgs/corpus/test/api_test.dart b/pkgs/corpus/test/api_test.dart
index 6555645..1d2d836 100644
--- a/pkgs/corpus/test/api_test.dart
+++ b/pkgs/corpus/test/api_test.dart
@@ -18,10 +18,10 @@
 
     setUp(() {
       var json =
-          JsonDecoder().convert(_sampleUsageJson) as Map<String, dynamic>;
+          const JsonDecoder().convert(_sampleUsageJson) as Map<String, dynamic>;
       sampleUsage = ApiUsage(
-        PackageInfo.from(
-            JsonDecoder().convert(_packageInfoJson) as Map<String, dynamic>),
+        PackageInfo.from(const JsonDecoder().convert(_packageInfoJson)
+            as Map<String, dynamic>),
         References.fromJson(json['packages'] as Map<String, dynamic>),
         References.fromJson(json['libraries'] as Map<String, dynamic>),
       );
@@ -42,8 +42,8 @@
       sampleUsage.toFile(tempFile);
 
       var result = ApiUsage.fromFile(
-        PackageInfo.from(
-            JsonDecoder().convert(_packageInfoJson) as Map<String, dynamic>),
+        PackageInfo.from(const JsonDecoder().convert(_packageInfoJson)
+            as Map<String, dynamic>),
         tempFile,
       );
 
diff --git a/pkgs/corpus/test/data/dart_library_references.dart b/pkgs/corpus/test/data/dart_library_references.dart
index 44f94a0..44c82cc 100644
--- a/pkgs/corpus/test/data/dart_library_references.dart
+++ b/pkgs/corpus/test/data/dart_library_references.dart
@@ -11,6 +11,6 @@
   map['three'] = 3;
   print(map);
 
-  var local = Queue();
-  Queue.castFrom(local);
+  var local = Queue<Object>();
+  Queue.castFrom<Object, String>(local);
 }
diff --git a/pkgs/dart_flutter_team_lints/CHANGELOG.md b/pkgs/dart_flutter_team_lints/CHANGELOG.md
index 7258459..9a01b78 100644
--- a/pkgs/dart_flutter_team_lints/CHANGELOG.md
+++ b/pkgs/dart_flutter_team_lints/CHANGELOG.md
@@ -1,3 +1,13 @@
+## 2.0.0
+
+- Enable `strict-inference`.
+- Added `comment_references`.
+- Added `conditional_uri_does_not_exist`.
+- Added `prefer_const_constructors`.
+- Added `prefer_relative_imports`.
+- Added `test_types_in_equals`.
+- Added `use_super_parameters`.
+
 ## 1.0.0
 
 - Added `collection_methods_unrelated_type`.
diff --git a/pkgs/dart_flutter_team_lints/lib/analysis_options.yaml b/pkgs/dart_flutter_team_lints/lib/analysis_options.yaml
index 11659ff..20d006a 100644
--- a/pkgs/dart_flutter_team_lints/lib/analysis_options.yaml
+++ b/pkgs/dart_flutter_team_lints/lib/analysis_options.yaml
@@ -18,6 +18,7 @@
 analyzer:
   language:
     strict-casts: true
+    strict-inference: true
 
 linter:
   rules:
@@ -35,8 +36,10 @@
     - lines_longer_than_80_chars
     - omit_local_variable_types
     - prefer_asserts_in_initializer_lists
+    - prefer_const_constructors
     - prefer_generic_function_type_aliases
     - prefer_is_empty
+    - prefer_relative_imports
     - prefer_single_quotes
     - prefer_typing_uninitialized_variables
     - sort_pub_dependencies
@@ -47,6 +50,7 @@
     - unnecessary_statements
     - use_is_even_rather_than_modulo
     - use_string_in_part_of_directives
+    - use_super_parameters
 
     # correctness
     - always_declare_return_types
@@ -54,11 +58,14 @@
     - avoid_dynamic_calls
     - await_only_futures
     - collection_methods_unrelated_type
+    - comment_references
+    - conditional_uri_does_not_exist
     - dangling_library_doc_comments
     - hash_and_equals
     - implicit_call_tearoffs
     - no_duplicate_case_values
     - only_throw_errors
+    - test_types_in_equals
     - throw_in_finally
     - type_annotate_public_apis
     - unawaited_futures
diff --git a/pkgs/dart_flutter_team_lints/pubspec.yaml b/pkgs/dart_flutter_team_lints/pubspec.yaml
index dfba5ab..886263e 100644
--- a/pkgs/dart_flutter_team_lints/pubspec.yaml
+++ b/pkgs/dart_flutter_team_lints/pubspec.yaml
@@ -1,10 +1,10 @@
 name: dart_flutter_team_lints
 description: An analysis rule set used by the Dart and Flutter teams.
-version: 1.0.0
+version: 2.0.0
 repository: https://github.com/dart-lang/ecosystem/tree/main/pkgs/dart_flutter_team_lints
 
 environment:
-  sdk: '>=2.19.0 <3.0.0'
+  sdk: ^3.0.0
 
 dependencies:
   lints: ^2.0.0
diff --git a/pkgs/firehose/lib/firehose.dart b/pkgs/firehose/lib/firehose.dart
index 8011dcc..4091a64 100644
--- a/pkgs/firehose/lib/firehose.dart
+++ b/pkgs/firehose/lib/firehose.dart
@@ -7,10 +7,9 @@
 import 'dart:io';
 import 'dart:math';
 
-import 'package:firehose/src/repo.dart';
-
 import 'src/github.dart';
 import 'src/pub.dart';
+import 'src/repo.dart';
 import 'src/utils.dart';
 
 const String _botSuffix = '[bot]';
diff --git a/pkgs/firehose/lib/src/github.dart b/pkgs/firehose/lib/src/github.dart
index c0400d9..6e57f90 100644
--- a/pkgs/firehose/lib/src/github.dart
+++ b/pkgs/firehose/lib/src/github.dart
@@ -6,10 +6,11 @@
 import 'dart:convert';
 import 'dart:io';
 
-import 'package:firehose/src/repo.dart';
 import 'package:http/http.dart' as http;
 import 'package:path/path.dart' as path;
 
+import 'repo.dart';
+
 // TODO:(devoncarew): Consider replacing some of this class with package:github.
 
 class Github {
diff --git a/pkgs/firehose/lib/src/health/health.dart b/pkgs/firehose/lib/src/health/health.dart
index a1e511a..dcd2437 100644
--- a/pkgs/firehose/lib/src/health/health.dart
+++ b/pkgs/firehose/lib/src/health/health.dart
@@ -8,8 +8,8 @@
 import 'dart:math';
 
 import 'package:collection/collection.dart';
-import 'package:firehose/firehose.dart';
 
+import '../../firehose.dart';
 import '../github.dart';
 import '../utils.dart';
 import 'changelog.dart';
diff --git a/pkgs/firehose/lib/src/repo.dart b/pkgs/firehose/lib/src/repo.dart
index 511c06a..8336a5a 100644
--- a/pkgs/firehose/lib/src/repo.dart
+++ b/pkgs/firehose/lib/src/repo.dart
@@ -4,11 +4,11 @@
 
 import 'dart:io';
 
-import 'package:firehose/src/changelog.dart';
 import 'package:path/path.dart' as path;
 import 'package:pubspec_parse/pubspec_parse.dart';
 import 'package:yaml/yaml.dart' as yaml;
 
+import 'changelog.dart';
 import 'github.dart';
 
 class Repository {
diff --git a/pkgs/repo_manage/lib/issue_transfer.dart b/pkgs/repo_manage/lib/issue_transfer.dart
index 130c9d3..2d0bef8 100644
--- a/pkgs/repo_manage/lib/issue_transfer.dart
+++ b/pkgs/repo_manage/lib/issue_transfer.dart
@@ -199,7 +199,7 @@
       }
 
       print('Waiting a bit to allow Github to catch up...');
-      await Future<void>.delayed(Duration(seconds: 5));
+      await Future<void>.delayed(const Duration(seconds: 5));
     }
   }
 
diff --git a/pkgs/repo_manage/lib/weekly.dart b/pkgs/repo_manage/lib/weekly.dart
index 3500d03..cc98024 100644
--- a/pkgs/repo_manage/lib/weekly.dart
+++ b/pkgs/repo_manage/lib/weekly.dart
@@ -59,10 +59,10 @@
         final now = DateTime.now();
         final currentDay = now.weekday;
         final thisWeek = now.subtract(Duration(days: currentDay - 1));
-        firstReportingDay = thisWeek.subtract(Duration(days: 7));
+        firstReportingDay = thisWeek.subtract(const Duration(days: 7));
       }
 
-      lastReportingDay = firstReportingDay.add(Duration(days: 6));
+      lastReportingDay = firstReportingDay.add(const Duration(days: 6));
     }
 
     var repos = noteableRepos.map(RepositorySlug.full).toList();