feat(repo): add dart_code_metrics
Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
analyzer:
|
analyzer:
|
||||||
|
plugins:
|
||||||
|
- dart_code_metrics
|
||||||
exclude:
|
exclude:
|
||||||
- packages/*/lib/**/*.g.dart
|
- packages/*/lib/**/*.g.dart
|
||||||
- packages/*/lib/src/emoji
|
- packages/*/lib/src/emoji
|
||||||
@@ -144,3 +146,42 @@ linter:
|
|||||||
- unnecessary_null_checks
|
- unnecessary_null_checks
|
||||||
- tighten_type_of_initializing_formals
|
- tighten_type_of_initializing_formals
|
||||||
- null_check_on_nullable_type_parameter
|
- null_check_on_nullable_type_parameter
|
||||||
|
|
||||||
|
# https://dartcodemetrics.dev/docs/getting-started/introduction
|
||||||
|
dart_code_metrics:
|
||||||
|
metrics-exclude:
|
||||||
|
- packages/*/test/**
|
||||||
|
metrics:
|
||||||
|
- weight-of-class: 0.33
|
||||||
|
- source-lines-of-code: 90
|
||||||
|
- cyclomatic-complexity: 20
|
||||||
|
- maximum-nesting-level: 5
|
||||||
|
rules:
|
||||||
|
# Dart Specific
|
||||||
|
- avoid-ignoring-return-values
|
||||||
|
# - avoid-non-null-assertion
|
||||||
|
- avoid-unused-parameters
|
||||||
|
- binary-expression-operand-order
|
||||||
|
- double-literal-format
|
||||||
|
# - member-ordering-extended
|
||||||
|
- member-ordering:
|
||||||
|
alphabetize: false
|
||||||
|
order:
|
||||||
|
- constructors
|
||||||
|
- public-fields
|
||||||
|
- private-fields
|
||||||
|
- no-boolean-literal-compare
|
||||||
|
- no-equal-arguments
|
||||||
|
- no-equal-then-else
|
||||||
|
- no-magic-number:
|
||||||
|
allowed: [ 3.14 ]
|
||||||
|
- prefer-match-file-name
|
||||||
|
# - prefer-trailing-comma:
|
||||||
|
# break-on: 2
|
||||||
|
|
||||||
|
# Flutter specific
|
||||||
|
- always-remove-listener
|
||||||
|
# - avoid-returning-widgets
|
||||||
|
- avoid-unnecessary-setstate
|
||||||
|
- avoid-wrapping-in-padding
|
||||||
|
|
||||||
|
|||||||
+16
-1
@@ -11,6 +11,10 @@ scripts:
|
|||||||
run: melos run analyze && melos run format
|
run: melos run analyze && melos run format
|
||||||
description: Run all static analysis checks
|
description: Run all static analysis checks
|
||||||
|
|
||||||
|
analyze:all:
|
||||||
|
run: melos run analyze && melos run metrics
|
||||||
|
description: Run all
|
||||||
|
|
||||||
analyze:
|
analyze:
|
||||||
run: |
|
run: |
|
||||||
melos exec -c 5 --ignore="*example*" -- \
|
melos exec -c 5 --ignore="*example*" -- \
|
||||||
@@ -24,6 +28,14 @@ scripts:
|
|||||||
description: |
|
description: |
|
||||||
Run `flutter format --set-exit-if-changed .` in all packages.
|
Run `flutter format --set-exit-if-changed .` in all packages.
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
run: |
|
||||||
|
melos exec -c 1 --ignore="*example*" -- \
|
||||||
|
flutter pub run dart_code_metrics:metrics analyze lib
|
||||||
|
description: |
|
||||||
|
Run `dart_code_metrics` in all packages.
|
||||||
|
- Note: you can also rely on your IDEs Dart Analysis / Issues window.
|
||||||
|
|
||||||
lint:pub:
|
lint:pub:
|
||||||
run: |
|
run: |
|
||||||
melos exec -c 5 --no-private --ignore="*example*" -- \
|
melos exec -c 5 --no-private --ignore="*example*" -- \
|
||||||
@@ -75,6 +87,9 @@ scripts:
|
|||||||
npx stream-chat-docusaurus -i -s
|
npx stream-chat-docusaurus -i -s
|
||||||
description: Runs the docusaurus documentation locally.
|
description: Runs the docusaurus documentation locally.
|
||||||
|
|
||||||
|
dev_dependencies:
|
||||||
|
dart_code_metrics: ^4.2.0-dev.1
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=2.12.0 <3.0.0'
|
sdk: '>=2.12.0 <3.0.0'
|
||||||
flutter: '>=1.22.4 <2.0.0'
|
flutter: '>=1.17.0 <2.0.0'
|
||||||
@@ -27,6 +27,7 @@ dependencies:
|
|||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
build_runner: ^2.0.1
|
build_runner: ^2.0.1
|
||||||
|
dart_code_metrics: ^4.2.0-dev.1
|
||||||
freezed: ^0.14.1+3
|
freezed: ^0.14.1+3
|
||||||
json_serializable: ^4.1.0
|
json_serializable: ^4.1.0
|
||||||
mocktail: ^0.1.1
|
mocktail: ^0.1.1
|
||||||
|
|||||||
@@ -55,10 +55,9 @@ flutter:
|
|||||||
uses-material-design: true
|
uses-material-design: true
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
dart_code_metrics: ^4.2.0-dev.1
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
golden_toolkit: ^0.9.0
|
golden_toolkit: ^0.9.0
|
||||||
mocktail: ^0.1.2
|
mocktail: ^0.1.2
|
||||||
path: ^1.8.0
|
path: ^1.8.0
|
||||||
pedantic: ^1.11.0
|
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ dependencies:
|
|||||||
stream_chat: ^3.0.0
|
stream_chat: ^3.0.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
dart_code_metrics: ^4.2.0-dev.1
|
||||||
fake_async: ^1.2.0
|
fake_async: ^1.2.0
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|||||||
@@ -17,5 +17,6 @@ dependencies:
|
|||||||
stream_chat_flutter: ^3.0.0
|
stream_chat_flutter: ^3.0.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
dart_code_metrics: ^4.2.0-dev.1
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
|
|||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.12.0 <3.0.0"
|
sdk: ">=2.12.0 <3.0.0"
|
||||||
|
flutter: ">=1.17.0"
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
@@ -22,8 +23,8 @@ dependencies:
|
|||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
build_runner: ^2.0.1
|
build_runner: ^2.0.1
|
||||||
|
dart_code_metrics: ^4.2.0-dev.1
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
mocktail: ^0.1.1
|
mocktail: ^0.1.1
|
||||||
moor_generator: ^4.2.1
|
moor_generator: ^4.2.1
|
||||||
pedantic: ^1.11.0
|
|
||||||
|
|||||||
Reference in New Issue
Block a user