From 0f7723b2481484bbbc4725f24fc3b2e77ed73b2b Mon Sep 17 00:00:00 2001
From: Parker Lougheed <parlough@gmail.com>
Date: Mon, 13 May 2024 14:27:15 -0700
Subject: [PATCH 1/3] Update CI and lints for Dart 3.4 release

---
 .github/workflows/dart.yml                   | 20 ++++++++++----------
 packages/analysis_defaults/lib/analysis.yaml |  2 ++
 packages/analysis_defaults/pubspec.yaml      |  2 +-
 packages/code_excerpt_updater/pubspec.yaml   |  2 +-
 packages/code_excerpter/pubspec.yaml         |  4 ++--
 packages/excerpter/pubspec.yaml              |  2 +-
 packages/inject_dartpad/pubspec.yaml         |  6 +++---
 7 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml
index 809a3a0..690c61b 100644
--- a/.github/workflows/dart.yml
+++ b/.github/workflows/dart.yml
@@ -39,23 +39,23 @@ jobs:
       - name: mono_repo self validate
         run: dart pub global run mono_repo generate --validate
   job_002:
-    name: "analyzer_and_format; Dart 3.3.0; PKGS: packages/code_excerpt_updater, packages/code_excerpter, packages/excerpter, packages/inject_dartpad; `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos .`"
+    name: "analyzer_and_format; Dart 3.4.0; PKGS: packages/code_excerpt_updater, packages/code_excerpter, packages/excerpter, packages/inject_dartpad; `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos .`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
         uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:packages/code_excerpt_updater-packages/code_excerpter-packages/excerpter-packages/inject_dartpad;commands:format-analyze"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:packages/code_excerpt_updater-packages/code_excerpter-packages/excerpter-packages/inject_dartpad;commands:format-analyze"
           restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:packages/code_excerpt_updater-packages/code_excerpter-packages/excerpter-packages/inject_dartpad
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:packages/code_excerpt_updater-packages/code_excerpter-packages/excerpter-packages/inject_dartpad
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
       - name: Setup Dart SDK
         uses: dart-lang/setup-dart@f0ead981b4d9a35b37f30d36160575d60931ec30
         with:
-          sdk: "3.3.0"
+          sdk: "3.4.0"
       - id: checkout
         name: Checkout repository
         uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b
@@ -185,23 +185,23 @@ jobs:
         if: "always() && steps.packages_inject_dartpad_pub_upgrade.conclusion == 'success'"
         working-directory: packages/inject_dartpad
   job_004:
-    name: "unit_test; Dart 3.3.0; PKGS: packages/code_excerpt_updater, packages/code_excerpter, packages/excerpter; `dart test`"
+    name: "unit_test; Dart 3.4.0; PKGS: packages/code_excerpt_updater, packages/code_excerpter, packages/excerpter; `dart test`"
     runs-on: ubuntu-latest
     steps:
       - name: Cache Pub hosted dependencies
         uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9
         with:
           path: "~/.pub-cache/hosted"
-          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:packages/code_excerpt_updater-packages/code_excerpter-packages/excerpter;commands:test"
+          key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:packages/code_excerpt_updater-packages/code_excerpter-packages/excerpter;commands:test"
           restore-keys: |
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:packages/code_excerpt_updater-packages/code_excerpter-packages/excerpter
-            os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:packages/code_excerpt_updater-packages/code_excerpter-packages/excerpter
+            os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0
             os:ubuntu-latest;pub-cache-hosted
             os:ubuntu-latest
       - name: Setup Dart SDK
         uses: dart-lang/setup-dart@f0ead981b4d9a35b37f30d36160575d60931ec30
         with:
-          sdk: "3.3.0"
+          sdk: "3.4.0"
       - id: checkout
         name: Checkout repository
         uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b
diff --git a/packages/analysis_defaults/lib/analysis.yaml b/packages/analysis_defaults/lib/analysis.yaml
index cba4f20..65de72e 100644
--- a/packages/analysis_defaults/lib/analysis.yaml
+++ b/packages/analysis_defaults/lib/analysis.yaml
@@ -14,6 +14,7 @@ linter:
     - implicit_reopen
     - invalid_case_patterns
     - matching_super_parameters
+    - missing_code_block_language_in_doc_comment
     - no_literal_bool_comparisons
     - no_self_assignments
     - package_api_docs
@@ -21,5 +22,6 @@ linter:
     - prefer_final_in_for_each
     - prefer_final_locals
     - unnecessary_breaks
+    - unnecessary_library_name
     - unnecessary_null_aware_operator_on_extension_on_nullable
     - use_enums
diff --git a/packages/analysis_defaults/pubspec.yaml b/packages/analysis_defaults/pubspec.yaml
index 351996c..0e2c058 100644
--- a/packages/analysis_defaults/pubspec.yaml
+++ b/packages/analysis_defaults/pubspec.yaml
@@ -3,7 +3,7 @@ description: Analysis defaults for Dart/Flutter site tools.
 publish_to: none
 
 environment:
-  sdk: ^3.3.0
+  sdk: ^3.4.0
 
 # NOTE: Code is not allowed in this package.
 # Do not add dependencies besides the underlying lints package.
diff --git a/packages/code_excerpt_updater/pubspec.yaml b/packages/code_excerpt_updater/pubspec.yaml
index 254430a..6fc9b85 100644
--- a/packages/code_excerpt_updater/pubspec.yaml
+++ b/packages/code_excerpt_updater/pubspec.yaml
@@ -2,7 +2,7 @@ name: code_excerpt_updater
 publish_to: none
 
 environment:
-  sdk: ^3.3.0
+  sdk: ^3.4.0
 
 dependencies:
   args: ^2.4.2
diff --git a/packages/code_excerpter/pubspec.yaml b/packages/code_excerpter/pubspec.yaml
index 998359f..4492cc2 100644
--- a/packages/code_excerpter/pubspec.yaml
+++ b/packages/code_excerpter/pubspec.yaml
@@ -2,7 +2,7 @@ name: code_excerpter
 publish_to: none
 
 environment:
-  sdk: ^3.3.0
+  sdk: ^3.4.0
 
 dependencies:
   build: ^2.4.1
@@ -13,5 +13,5 @@ dependencies:
 dev_dependencies:
   analysis_defaults:
     path: ../analysis_defaults
-  build_runner: ^2.4.8
+  build_runner: ^2.4.9
   test: ^1.25.2
diff --git a/packages/excerpter/pubspec.yaml b/packages/excerpter/pubspec.yaml
index 46d470a..efa483a 100644
--- a/packages/excerpter/pubspec.yaml
+++ b/packages/excerpter/pubspec.yaml
@@ -5,7 +5,7 @@ publish_to: none
 repository: https://github.com/dart-lang/site-shared/tree/main/packages/excerpter
 
 environment:
-  sdk: ^3.3.0
+  sdk: ^3.4.0
 
 dependencies:
   args: ^2.4.2
diff --git a/packages/inject_dartpad/pubspec.yaml b/packages/inject_dartpad/pubspec.yaml
index e000736..a9e6a42 100644
--- a/packages/inject_dartpad/pubspec.yaml
+++ b/packages/inject_dartpad/pubspec.yaml
@@ -2,7 +2,7 @@ name: inject_dartpad
 publish_to: none
 
 environment:
-  sdk: ^3.3.0
+  sdk: ^3.4.0
 
 dependencies:
   html_unescape: ^2.0.0
@@ -11,8 +11,8 @@ dependencies:
 dev_dependencies:
   analysis_defaults:
     path: ../analysis_defaults
-  build_runner: ^2.4.8
-  build_web_compilers: ^4.0.9
+  build_runner: ^2.4.9
+  build_web_compilers: ^4.0.10
   path: ^1.9.0
   test: ^1.25.2
   webdev: any

From 39b27ca71f3ca02a00e6d847515b4ccfc2038911 Mon Sep 17 00:00:00 2001
From: Parker Lougheed <parlough@gmail.com>
Date: Mon, 13 May 2024 14:40:02 -0700
Subject: [PATCH 2/3] Update for dart_flutter_team_lints v3.1

---
 packages/analysis_defaults/lib/analysis.yaml | 1 -
 packages/analysis_defaults/pubspec.yaml      | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/packages/analysis_defaults/lib/analysis.yaml b/packages/analysis_defaults/lib/analysis.yaml
index 65de72e..da3f20d 100644
--- a/packages/analysis_defaults/lib/analysis.yaml
+++ b/packages/analysis_defaults/lib/analysis.yaml
@@ -22,6 +22,5 @@ linter:
     - prefer_final_in_for_each
     - prefer_final_locals
     - unnecessary_breaks
-    - unnecessary_library_name
     - unnecessary_null_aware_operator_on_extension_on_nullable
     - use_enums
diff --git a/packages/analysis_defaults/pubspec.yaml b/packages/analysis_defaults/pubspec.yaml
index 0e2c058..e3275e3 100644
--- a/packages/analysis_defaults/pubspec.yaml
+++ b/packages/analysis_defaults/pubspec.yaml
@@ -8,4 +8,4 @@ environment:
 # NOTE: Code is not allowed in this package.
 # Do not add dependencies besides the underlying lints package.
 dependencies:
-  dart_flutter_team_lints: ^3.0.0
+  dart_flutter_team_lints: ^3.1.0

From d14b997fbfc82f03df6759f562d19c6c72cb2bb7 Mon Sep 17 00:00:00 2001
From: Parker Lougheed <parlough@gmail.com>
Date: Mon, 13 May 2024 14:40:55 -0700
Subject: [PATCH 3/3] Add missing code block language

---
 .../lib/src/diff/hunk.dart                    | 24 ++++++++++---------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/packages/code_excerpt_updater/lib/src/diff/hunk.dart b/packages/code_excerpt_updater/lib/src/diff/hunk.dart
index e4dab2d..1fadca5 100644
--- a/packages/code_excerpt_updater/lib/src/diff/hunk.dart
+++ b/packages/code_excerpt_updater/lib/src/diff/hunk.dart
@@ -5,19 +5,21 @@ const eol = '\n';
 /// A unified-diff hunk consisting of a line-range header followed by the
 /// unified diff line details. For example:
 ///
-///     @@ -1,10 +1,12 @@
-///      import 'package:flutter/material.dart';
-///     +import 'package:english_words/english_words.dart';
+/// ```diff
+/// @@ -1,10 +1,12 @@
+///  import 'package:flutter/material.dart';
+/// +import 'package:english_words/english_words.dart';
 ///
-///      void main() => runApp(MyApp());
+///  void main() => runApp(MyApp());
 ///
-///      class MyApp extends StatelessWidget {
-///        @override
-///        Widget build(BuildContext context) {
-///     +    final wordPair = WordPair.random();
-///          return MaterialApp(
-///            title: 'Welcome to Flutter',
-///            home: Scaffold(
+///  class MyApp extends StatelessWidget {
+///    @override
+///    Widget build(BuildContext context) {
+/// +    final wordPair = WordPair.random();
+///      return MaterialApp(
+///        title: 'Welcome to Flutter',
+///        home: Scaffold(
+///  ```
 class Hunk {
   static final Hunk empty = Hunk('');