Require Dart 3, update lints (#61)

diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml
index 7e593e5..7ad5f74 100644
--- a/.github/workflows/test-package.yml
+++ b/.github/workflows/test-package.yml
@@ -47,7 +47,7 @@
       matrix:
         # Add macos-latest and/or windows-latest if relevant for this package.
         os: [ubuntu-latest]
-        sdk: [2.18.0, dev]
+        sdk: [3.0.0, dev]
     steps:
       - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
       - uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 57b31ba..fa7af43 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,6 @@
-## 1.2.1-dev
+## 1.2.1-wip
+
+* Require Dart 3.0.0
 
 ## 1.2.0
 
diff --git a/analysis_options.yaml b/analysis_options.yaml
index b507c06..0b97591 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,5 +1,5 @@
 # https://dart.dev/guides/language/analysis-options
-include: package:lints/recommended.yaml
+include: package:dart_flutter_team_lints/analysis_options.yaml
 
 analyzer:
   language:
@@ -9,11 +9,8 @@
 
 linter:
   rules:
-    - always_declare_return_types
     - avoid_bool_literals_in_conditional_expressions
-    - avoid_catching_errors
     - avoid_classes_with_only_static_members
-    - avoid_dynamic_calls
     - avoid_private_typedef_functions
     - avoid_redundant_argument_values
     - avoid_returning_null_for_future
@@ -22,33 +19,20 @@
     - avoid_void_async
     - cancel_subscriptions
     - comment_references
-    - directives_ordering
     - join_return_with_assignment
-    - 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
-    - only_throw_errors
     - package_api_docs
-    - prefer_asserts_in_initializer_lists
     - prefer_const_constructors
     - prefer_const_declarations
     - prefer_expression_function_bodies
     - prefer_final_locals
     - prefer_relative_imports
-    - prefer_single_quotes
-    - sort_pub_dependencies
     - test_types_in_equals
-    - throw_in_finally
-    - type_annotate_public_apis
-    - unawaited_futures
     - unnecessary_await_in_return
-    - unnecessary_lambdas
-    - unnecessary_parenthesis
     - unnecessary_raw_strings
-    - unnecessary_statements
     - use_if_null_to_convert_nulls_to_bools
     - use_raw_strings
     - use_string_buffers
diff --git a/lib/string_scanner.dart b/lib/string_scanner.dart
index 7f36eef..e641ae7 100644
--- a/lib/string_scanner.dart
+++ b/lib/string_scanner.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 
 /// A library for parsing strings using a sequence of patterns.
+library;
+
 export 'src/exception.dart';
 export 'src/line_scanner.dart';
 export 'src/span_scanner.dart';
diff --git a/pubspec.yaml b/pubspec.yaml
index b297e50..40682ec 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,14 +1,14 @@
 name: string_scanner
-version: 1.2.1-dev
+version: 1.2.1-wip
 description: A class for parsing strings using a sequence of patterns.
 repository: https://github.com/dart-lang/string_scanner
 
 environment:
-  sdk: ">=2.18.0 <3.0.0"
+  sdk: ^3.0.0
 
 dependencies:
   source_span: ^1.8.0
 
 dev_dependencies:
-  lints: ^2.0.0
+  dart_flutter_team_lints: ^1.0.0
   test: ^1.16.0