feat(repo): add dart_code_metrics

Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
Sahil Kumar
2021-10-01 16:44:19 +05:30
committed by xsahil03x
parent 62714e375d
commit 6e48f9754d
7 changed files with 67 additions and 8 deletions
+42 -1
View File
@@ -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
@@ -143,4 +145,43 @@ linter:
- cast_nullable_to_non_nullable - cast_nullable_to_non_nullable
- 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
+18 -3
View File
@@ -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*" -- \
@@ -71,10 +83,13 @@ scripts:
docs: docs:
run: | run: |
npm install -g https://github.com/GetStream/stream-chat-docusaurus-cli && npm install -g https://github.com/GetStream/stream-chat-docusaurus-cli &&
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'
+1
View File
@@ -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
+1 -2
View File
@@ -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