From 8f7250f31333320cdd9be854916a3245752972cb Mon Sep 17 00:00:00 2001 From: Honza Bittner Date: Mon, 23 Mar 2026 11:20:54 +0100 Subject: [PATCH 1/2] Adhere to DCM 1.36.0 --- dcm_global.yaml | 2 +- packages/netglade_analysis/CHANGELOG.md | 14 ++++++++++++++ packages/netglade_analysis/README.md | 2 +- packages/netglade_analysis/lib/dcm.yaml | 19 ++++++++++++++++--- packages/netglade_analysis/pubspec.yaml | 2 +- .../example/pubspec.yaml | 2 +- packages/netglade_flutter_utils/pubspec.yaml | 2 +- packages/netglade_utils/example/pubspec.yaml | 2 +- packages/netglade_utils/pubspec.yaml | 2 +- 9 files changed, 37 insertions(+), 10 deletions(-) diff --git a/dcm_global.yaml b/dcm_global.yaml index 4108b6d..345b89b 100644 --- a/dcm_global.yaml +++ b/dcm_global.yaml @@ -1 +1 @@ -version: "1.35.0" +version: "1.36.0" diff --git a/packages/netglade_analysis/CHANGELOG.md b/packages/netglade_analysis/CHANGELOG.md index 7c5dd10..5398672 100644 --- a/packages/netglade_analysis/CHANGELOG.md +++ b/packages/netglade_analysis/CHANGELOG.md @@ -1,3 +1,17 @@ +## 22.0.0 +- Adhere to DCM 1.36.0: + - avoid-throw + - avoid-unassigned-local-variable + - avoid-unnecessary-parentheses + - prefer-non-nulls + - avoid-disposing-late-fields + - prefer-correct-static-icon-provider + - add-equatable-props + - avoid-implementation-in-mocks + - pass-mock-object + - prefer-correct-any-matcher + - use-then-answer + ## 21.0.0 - Adhere to DCM 1.34.0 and 1.35.0: - Add avoid-complex-conditions diff --git a/packages/netglade_analysis/README.md b/packages/netglade_analysis/README.md index 0cc9e3c..526e448 100644 --- a/packages/netglade_analysis/README.md +++ b/packages/netglade_analysis/README.md @@ -23,7 +23,7 @@ To use the lints, add as a dev dependency in your `pubspec.yaml`: ```yaml dev_dependencies: - netglade_analysis: ^21.0.0 + netglade_analysis: ^22.0.0 ``` Then, add an include in `analysis_options.yaml`: diff --git a/packages/netglade_analysis/lib/dcm.yaml b/packages/netglade_analysis/lib/dcm.yaml index 043062b..b1a7364 100644 --- a/packages/netglade_analysis/lib/dcm.yaml +++ b/packages/netglade_analysis/lib/dcm.yaml @@ -171,12 +171,14 @@ dart_code_metrics: - avoid-suspicious-super-overrides - avoid-throw-in-catch-block - avoid-throw-objects-without-tostring + # - avoid-throw # for now we just manually check this - avoid-top-level-members-in-tests: include: - test/**/*_test.dart # - avoid-type-casts # needed when working with JSONs - avoid-unassigned-fields - avoid-unassigned-late-fields + - avoid-unassigned-local-variable - avoid-unassigned-stream-subscriptions - avoid-uncaught-future-errors - avoid-unconditional-break @@ -205,6 +207,7 @@ dart_code_metrics: - avoid-unnecessary-nullable-parameters - avoid-unnecessary-nullable-return-type - avoid-unnecessary-overrides + - avoid-unnecessary-parentheses - avoid-unnecessary-patterns - avoid-unnecessary-reassignment - avoid-unnecessary-return @@ -407,6 +410,7 @@ dart_code_metrics: # - prefer-named-imports # * OK, we just don't have global config - prefer-named-parameters: max-number: 2 + - prefer-non-nulls - prefer-null-aware-elements - prefer-null-aware-spread - prefer-overriding-parent-equality @@ -467,6 +471,7 @@ dart_code_metrics: # - add-copy-with # * OK, we just don't have global config - always-remove-listener - avoid-border-all + - avoid-disposing-late-fields - avoid-empty-setstate - avoid-expanded-as-spacer - avoid-flexible-outside-flex @@ -504,6 +509,7 @@ dart_code_metrics: - prefer-container: min-sequence: 2 - prefer-correct-edge-insets-constructor + - prefer-correct-static-icon-provider - prefer-dedicated-media-query-methods - prefer-define-hero-tag - prefer-extracting-callbacks @@ -549,8 +555,8 @@ dart_code_metrics: - avoid-passing-build-context-to-blocs - avoid-returning-value-from-cubit-methods - check-is-not-closed-after-async-gap - # additional-methods: - # - onSafe # ? Don't put onSafe here, it automatically checks whether bloc is closed in emit + # additional-methods: + # - onSafe # ? Don't put onSafe here, it automatically checks whether bloc is closed in emit - emit-new-bloc-state-instances - handle-bloc-event-subclasses: additional-methods: @@ -581,6 +587,7 @@ dart_code_metrics: - use-ref-read-synchronously ### Equatable + - add-equatable-props # - extend-equatable # * OK, we just don't have global config - list-all-equatable-fields - prefer-equatable-mixin @@ -598,6 +605,12 @@ dart_code_metrics: ### Fake Async - avoid-async-callback-in-fake-async + ### Mocktail + - avoid-implementation-in-mocks + - pass-mock-object + - prefer-correct-any-matcher + - use-then-answer + ### Get It - avoid-functions-in-register-singleton: severity: error @@ -655,7 +668,7 @@ dart_code_metrics: - prefer-publish-to-none - prefer-semver-version - pubspec-ordering - + metrics: # Function / Method Metrics cyclomatic-complexity: 20 diff --git a/packages/netglade_analysis/pubspec.yaml b/packages/netglade_analysis/pubspec.yaml index 57dbff6..36ddde9 100644 --- a/packages/netglade_analysis/pubspec.yaml +++ b/packages/netglade_analysis/pubspec.yaml @@ -1,7 +1,7 @@ name: netglade_analysis resolution: workspace description: Lint rules for Dart and Flutter used internally at netglade. -version: 21.0.0 +version: 22.0.0 repository: https://github.com/netglade/flutter_core/tree/main/packages/netglade_analysis issue_tracker: https://github.com/netglade/flutter_core/issues homepage: https://github.com/netglade/flutter_core diff --git a/packages/netglade_flutter_utils/example/pubspec.yaml b/packages/netglade_flutter_utils/example/pubspec.yaml index 54d36c9..7796395 100644 --- a/packages/netglade_flutter_utils/example/pubspec.yaml +++ b/packages/netglade_flutter_utils/example/pubspec.yaml @@ -10,7 +10,7 @@ environment: dependencies: flutter: sdk: flutter - netglade_analysis: ^21.0.0 + netglade_analysis: ^22.0.0 netglade_flutter_utils: path: .. diff --git a/packages/netglade_flutter_utils/pubspec.yaml b/packages/netglade_flutter_utils/pubspec.yaml index 5d43737..983dd2f 100644 --- a/packages/netglade_flutter_utils/pubspec.yaml +++ b/packages/netglade_flutter_utils/pubspec.yaml @@ -20,7 +20,7 @@ dev_dependencies: flutter_test: sdk: flutter mocktail: ^1.0.0 - netglade_analysis: ^21.0.0 + netglade_analysis: ^22.0.0 test: ^1.25.8 flutter: diff --git a/packages/netglade_utils/example/pubspec.yaml b/packages/netglade_utils/example/pubspec.yaml index 0a8f01a..192716b 100644 --- a/packages/netglade_utils/example/pubspec.yaml +++ b/packages/netglade_utils/example/pubspec.yaml @@ -7,6 +7,6 @@ environment: sdk: ^3.10.0 dependencies: - netglade_analysis: ^21.0.0 + netglade_analysis: ^22.0.0 netglade_utils: path: .. diff --git a/packages/netglade_utils/pubspec.yaml b/packages/netglade_utils/pubspec.yaml index 9799d91..efb3def 100644 --- a/packages/netglade_utils/pubspec.yaml +++ b/packages/netglade_utils/pubspec.yaml @@ -18,5 +18,5 @@ dependencies: mocktail: ^1.0.0 dev_dependencies: - netglade_analysis: ^21.0.0 + netglade_analysis: ^22.0.0 test: ^1.25.2 From 1a55e42b05b3f58cf54952f1e2ed16322f562921 Mon Sep 17 00:00:00 2001 From: Honza Bittner Date: Mon, 23 Mar 2026 11:25:04 +0100 Subject: [PATCH 2/2] update --- packages/netglade_analysis/CHANGELOG.md | 2 -- packages/netglade_analysis/lib/dcm.yaml | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/netglade_analysis/CHANGELOG.md b/packages/netglade_analysis/CHANGELOG.md index 5398672..bf4b34a 100644 --- a/packages/netglade_analysis/CHANGELOG.md +++ b/packages/netglade_analysis/CHANGELOG.md @@ -1,10 +1,8 @@ ## 22.0.0 - Adhere to DCM 1.36.0: - - avoid-throw - avoid-unassigned-local-variable - avoid-unnecessary-parentheses - prefer-non-nulls - - avoid-disposing-late-fields - prefer-correct-static-icon-provider - add-equatable-props - avoid-implementation-in-mocks diff --git a/packages/netglade_analysis/lib/dcm.yaml b/packages/netglade_analysis/lib/dcm.yaml index b1a7364..d61dc10 100644 --- a/packages/netglade_analysis/lib/dcm.yaml +++ b/packages/netglade_analysis/lib/dcm.yaml @@ -471,7 +471,7 @@ dart_code_metrics: # - add-copy-with # * OK, we just don't have global config - always-remove-listener - avoid-border-all - - avoid-disposing-late-fields + # - avoid-disposing-late-fields # not sure it works for us - avoid-empty-setstate - avoid-expanded-as-spacer - avoid-flexible-outside-flex