From 5e327e9665352c1ffa290db8e9e930791ebdf3f5 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 16:27:03 +0530 Subject: [PATCH 01/16] chore: Setup Melos monorepo configuration and update dependencies - Add melos.yaml for project configuration - Add root pubspec.yaml with dev dependencies - Update flutter_bloc dependency in shop_app_example - Add talker_logger dependency overrides in various pubspec_overrides.yaml files --- examples/shop_app_example/pubspec.yaml | 2 +- melos.yaml | 22 +++++++++++++++++++ .../talker_bloc_logger/pubspec_overrides.yaml | 5 ++++- .../example/pubspec_overrides.yaml | 7 +++++- .../talker_dio_logger/pubspec_overrides.yaml | 5 ++++- .../example/pubspec_overrides.yaml | 5 ++++- .../talker_flutter/pubspec_overrides.yaml | 5 ++++- .../talker_http_logger/pubspec_overrides.yaml | 5 ++++- .../example/pubspec_overrides.yaml | 5 ++++- .../pubspec_overrides.yaml | 5 ++++- pubspec.yaml | 8 +++++++ 11 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 melos.yaml create mode 100644 pubspec.yaml diff --git a/examples/shop_app_example/pubspec.yaml b/examples/shop_app_example/pubspec.yaml index 2f03215a..41cd9568 100644 --- a/examples/shop_app_example/pubspec.yaml +++ b/examples/shop_app_example/pubspec.yaml @@ -14,7 +14,7 @@ dependencies: talker_bloc_logger: ^4.6.7 get_it: ^7.6.7 - flutter_bloc: ^8.1.3 + flutter_bloc: ^9.0.0 equatable: ^2.0.5 dio: ^5.4.0 url_launcher: ^6.3.1 diff --git a/melos.yaml b/melos.yaml new file mode 100644 index 00000000..8514cf64 --- /dev/null +++ b/melos.yaml @@ -0,0 +1,22 @@ +name: talker +repository: https://github.com/Frezyx/talker + +packages: + - packages/* + - packages/*/* + - examples/* + +command: + version: + workspaceChangelog: false + fetchTags: false + updateGitTagRefs: false + includeCommitId: false + linkToCommits: false + +ide: + intellij: + moduleNamePrefix: '' + +scripts: + lint: dart format . --set-exit-if-changed && flutter analyze --fatal-infos . diff --git a/packages/talker_bloc_logger/pubspec_overrides.yaml b/packages/talker_bloc_logger/pubspec_overrides.yaml index cb8ebb9f..c96f1186 100644 --- a/packages/talker_bloc_logger/pubspec_overrides.yaml +++ b/packages/talker_bloc_logger/pubspec_overrides.yaml @@ -1,4 +1,7 @@ +# melos_managed_dependency_overrides: talker_logger dependency_overrides: talker: path: - ../talker \ No newline at end of file + ../talker + talker_logger: + path: ../talker_logger diff --git a/packages/talker_dio_logger/example/pubspec_overrides.yaml b/packages/talker_dio_logger/example/pubspec_overrides.yaml index d2182cdc..0489cb35 100644 --- a/packages/talker_dio_logger/example/pubspec_overrides.yaml +++ b/packages/talker_dio_logger/example/pubspec_overrides.yaml @@ -1,7 +1,12 @@ +# melos_managed_dependency_overrides: talker,talker_logger dependency_overrides: + talker: + path: ../../talker talker_dio_logger: path: ../../talker_dio_logger talker_flutter: path: - ../../talker_flutter \ No newline at end of file + ../../talker_flutter + talker_logger: + path: ../../talker_logger diff --git a/packages/talker_dio_logger/pubspec_overrides.yaml b/packages/talker_dio_logger/pubspec_overrides.yaml index cb8ebb9f..c96f1186 100644 --- a/packages/talker_dio_logger/pubspec_overrides.yaml +++ b/packages/talker_dio_logger/pubspec_overrides.yaml @@ -1,4 +1,7 @@ +# melos_managed_dependency_overrides: talker_logger dependency_overrides: talker: path: - ../talker \ No newline at end of file + ../talker + talker_logger: + path: ../talker_logger diff --git a/packages/talker_flutter/example/pubspec_overrides.yaml b/packages/talker_flutter/example/pubspec_overrides.yaml index 4fc3718f..d668a2e3 100644 --- a/packages/talker_flutter/example/pubspec_overrides.yaml +++ b/packages/talker_flutter/example/pubspec_overrides.yaml @@ -1,7 +1,10 @@ +# melos_managed_dependency_overrides: talker_logger dependency_overrides: talker: path: ../../talker talker_flutter: path: - ../ \ No newline at end of file + ../ + talker_logger: + path: ../../talker_logger diff --git a/packages/talker_flutter/pubspec_overrides.yaml b/packages/talker_flutter/pubspec_overrides.yaml index cb8ebb9f..c96f1186 100644 --- a/packages/talker_flutter/pubspec_overrides.yaml +++ b/packages/talker_flutter/pubspec_overrides.yaml @@ -1,4 +1,7 @@ +# melos_managed_dependency_overrides: talker_logger dependency_overrides: talker: path: - ../talker \ No newline at end of file + ../talker + talker_logger: + path: ../talker_logger diff --git a/packages/talker_http_logger/pubspec_overrides.yaml b/packages/talker_http_logger/pubspec_overrides.yaml index cb8ebb9f..c96f1186 100644 --- a/packages/talker_http_logger/pubspec_overrides.yaml +++ b/packages/talker_http_logger/pubspec_overrides.yaml @@ -1,4 +1,7 @@ +# melos_managed_dependency_overrides: talker_logger dependency_overrides: talker: path: - ../talker \ No newline at end of file + ../talker + talker_logger: + path: ../talker_logger diff --git a/packages/talker_riverpod_logger/example/pubspec_overrides.yaml b/packages/talker_riverpod_logger/example/pubspec_overrides.yaml index 7bc3aaaf..22bbb46e 100644 --- a/packages/talker_riverpod_logger/example/pubspec_overrides.yaml +++ b/packages/talker_riverpod_logger/example/pubspec_overrides.yaml @@ -1,7 +1,10 @@ +# melos_managed_dependency_overrides: talker_logger dependency_overrides: talker_riverpod_logger: path: .. talker: path: - ../../talker \ No newline at end of file + ../../talker + talker_logger: + path: ../../talker_logger diff --git a/packages/talker_riverpod_logger/pubspec_overrides.yaml b/packages/talker_riverpod_logger/pubspec_overrides.yaml index cb8ebb9f..c96f1186 100644 --- a/packages/talker_riverpod_logger/pubspec_overrides.yaml +++ b/packages/talker_riverpod_logger/pubspec_overrides.yaml @@ -1,4 +1,7 @@ +# melos_managed_dependency_overrides: talker_logger dependency_overrides: talker: path: - ../talker \ No newline at end of file + ../talker + talker_logger: + path: ../talker_logger diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 00000000..ea77026f --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,8 @@ +name: talker + +environment: + sdk: '>=3.2.0 <4.0.0' + +dev_dependencies: + flutter_lints: ^5.0.0 + melos: ^6.3.2 From c7e931284f2407ed5d5df6b4e264a55af7fae0b2 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 18:39:37 +0530 Subject: [PATCH 02/16] chore: Consolidate deployment and testing scripts into Melos configuration - Remove utility shell scripts for deployment, testing, and package management - Add new Melos scripts for test running and shop app example deployment - Simplify project maintenance by centralizing scripts in melos.yaml --- melos.yaml | 20 +++++++++++++++++ utils/deploy_web.sh | 6 ------ utils/pub_clean_all.sh | 22 ------------------- utils/pub_get_all.sh | 42 ------------------------------------ utils/pub_get_all_offline.sh | 22 ------------------- utils/publish_all.sh | 29 ------------------------- utils/test.sh | 25 --------------------- 7 files changed, 20 insertions(+), 146 deletions(-) delete mode 100644 utils/deploy_web.sh delete mode 100644 utils/pub_clean_all.sh delete mode 100644 utils/pub_get_all.sh delete mode 100644 utils/pub_get_all_offline.sh delete mode 100644 utils/publish_all.sh delete mode 100755 utils/test.sh diff --git a/melos.yaml b/melos.yaml index 8514cf64..b203419b 100644 --- a/melos.yaml +++ b/melos.yaml @@ -20,3 +20,23 @@ ide: scripts: lint: dart format . --set-exit-if-changed && flutter analyze --fatal-infos . + test:select: + description: Run tests and generate coverage trace file for a selected package. + run: flutter test --no-pub --coverage + exec: + concurrency: 6 + orderDependents: true + packageFilters: + dirExists: test + test: + run: melos run test:select --no-select + description: Run all Flutter tests in this project. + deploy-shop-app-example: + description: Deploy the shop app example to GitHub Pages. + run: | + cd examples/shop_app_example + flutter pub get + dart pub global activate peanut + flutter pub global run peanut + git push origin --set-upstream gh-pages -f + diff --git a/utils/deploy_web.sh b/utils/deploy_web.sh deleted file mode 100644 index 1b095c1e..00000000 --- a/utils/deploy_web.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -cd examples/shop_app_example -flutter pub get -flutter pub global run peanut -git push origin --set-upstream gh-pages -f \ No newline at end of file diff --git a/utils/pub_clean_all.sh b/utils/pub_clean_all.sh deleted file mode 100644 index 63f28190..00000000 --- a/utils/pub_clean_all.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -cd packages - -echo "talker" -cd talker -flutter clean -cd .. - -echo "talker_flutter" -cd talker_flutter -flutter clean - -echo "talker_flutter_example" -cd example -flutter clean -cd ../.. - -echo "talker_logger" -cd talker_logger -flutter clean -cd .. \ No newline at end of file diff --git a/utils/pub_get_all.sh b/utils/pub_get_all.sh deleted file mode 100644 index 532aced7..00000000 --- a/utils/pub_get_all.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh - -echo "talker" -cd packages/talker -flutter pub get - -echo "talker_flutter" -cd ../talker_flutter -flutter pub get - -echo "talker_flutter_example" -cd example -flutter pub get -cd .. - -echo "talker_logger" -cd ../talker_logger -flutter pub get - -echo "talker_dio_logger" -cd ../talker_dio_logger -flutter pub get - -echo "talker_bloc_logger" -cd ../talker_bloc_logger -flutter pub get - -echo "talker_http_logger" -cd ../talker_http_logger -flutter pub get - -echo "talker_riverpod_logger" -cd ../talker_riverpod_logger -flutter pub get - -echo "shop_app_example" -cd ../../examples/shop_app_example -flutter pub get - -echo "custom_logs_example" -cd ../../examples/custom_logs_example -flutter pub get \ No newline at end of file diff --git a/utils/pub_get_all_offline.sh b/utils/pub_get_all_offline.sh deleted file mode 100644 index 011b331e..00000000 --- a/utils/pub_get_all_offline.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -cd packages - -echo "talker" -cd talker -flutter pub get --offline -cd .. - -echo "talker_flutter" -cd talker_flutter -flutter pub get --offline - -echo "talker_flutter_example" -cd example -flutter pub get --offline -cd ../.. - -echo "talker_logger" -cd talker_logger -flutter pub get --offline -cd .. \ No newline at end of file diff --git a/utils/publish_all.sh b/utils/publish_all.sh deleted file mode 100644 index 8cd139f7..00000000 --- a/utils/publish_all.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -cd packages/talker_logger -flutter pub publish -cd ../../ - -cd packages/talker -flutter pub publish -cd ../../ - -cd packages/talker_flutter -flutter pub publish -cd ../../ - -cd packages/talker_dio_logger -flutter pub publish -cd ../../ - -cd packages/talker_bloc_logger -flutter pub publish -cd ../../ - -cd packages/talker_riverpod_logger -flutter pub publish -cd ../../ - -cd packages/talker_http_logger -flutter pub publish -cd ../../ \ No newline at end of file diff --git a/utils/test.sh b/utils/test.sh deleted file mode 100755 index 92aaae20..00000000 --- a/utils/test.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -echo "talker" -cd packages/talker -dart test - -echo "talker_flutter" -cd ../talker_flutter -flutter test - -echo "talker_logger" -cd ../talker_logger -dart test - -echo "talker_dio_logger" -cd ../talker_dio_logger -dart test - -echo "talker_bloc_logger" -cd ../talker_bloc_logger -dart test - -echo "talker_riverpod_logger" -cd ../talker_riverpod_logger -dart test \ No newline at end of file From 22ba45f6aeb9363116a306c8a80402b613410461 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:02:57 +0530 Subject: [PATCH 03/16] chore: Add GitHub Actions workflows for Talker packages - Set up matrix build strategy for multiple packages --- .github/workflows/dart.yml | 58 +++++++++++++++++++ .../deploy_docs_site.yaml | 0 .../{workflows => workflows_v1}/talker.yaml | 4 +- .../talker_bloc_logger.yaml | 4 +- .../talker_dio_logger.yaml | 4 +- .../talker_flutter.yaml | 4 +- .../talker_logger.yaml | 4 +- .../talker_riverpod_logger.yaml | 4 +- 8 files changed, 70 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/dart.yml rename .github/{workflows_old => workflows_v0}/deploy_docs_site.yaml (100%) rename .github/{workflows => workflows_v1}/talker.yaml (94%) rename .github/{workflows => workflows_v1}/talker_bloc_logger.yaml (93%) rename .github/{workflows => workflows_v1}/talker_dio_logger.yaml (93%) rename .github/{workflows => workflows_v1}/talker_flutter.yaml (94%) rename .github/{workflows => workflows_v1}/talker_logger.yaml (94%) rename .github/{workflows => workflows_v1}/talker_riverpod_logger.yaml (93%) diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml new file mode 100644 index 00000000..d1029750 --- /dev/null +++ b/.github/workflows/dart.yml @@ -0,0 +1,58 @@ +name: Dart + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + # All the packages are specified by their name and not path. + # This is because the package is passed to the 'melos exec' command + package: + - talker + - talker_bloc_logger + - talker_dio_logger + - talker_flutter + - talker_http_logger + - talker_logger + - talker_riverpod_logger + include: + - package: talker_flutter + path: packages + test: false + steps: + - uses: actions/checkout@v3 + + - uses: subosito/flutter-action@v2 + - name: Install dependencies + run: | + dart pub global activate melos + dart pub get + dart run melos bs + + - name: Analyze package + run: melos exec --scope="${{ matrix.package }}" -- dart analyze --fatal-infos + + - name: Check Code Coverage + uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 + with: + path: ${{ matrix.path }}/${{ matrix.package }}/coverage/lcov.info + min_coverage: 90 + + - name: Run tests + if: matrix.test + run: melos exec --scope="${{ matrix.package }}" -- flutter test --coverage + + - name: Upload coverage reports to Codecov + if: matrix.test + uses: codecov/codecov-action@v5 + with: + token: ${{ secrets.CODECOV_TOKEN }} + flags: ${{ matrix.package }} + files: ${{ matrix.path }}/${{ matrix.package }}/coverage/lcov.info + diff --git a/.github/workflows_old/deploy_docs_site.yaml b/.github/workflows_v0/deploy_docs_site.yaml similarity index 100% rename from .github/workflows_old/deploy_docs_site.yaml rename to .github/workflows_v0/deploy_docs_site.yaml diff --git a/.github/workflows/talker.yaml b/.github/workflows_v1/talker.yaml similarity index 94% rename from .github/workflows/talker.yaml rename to .github/workflows_v1/talker.yaml index 8e712784..9defb7dd 100644 --- a/.github/workflows/talker.yaml +++ b/.github/workflows_v1/talker.yaml @@ -4,12 +4,12 @@ on: push: paths: - "packages/talker/**" - - ".github/workflows/talker.yaml" + - "/talker.yaml" pull_request: paths: - "packages/talker/**" - - ".github/workflows/talker.yaml" + - "/talker.yaml" jobs: build: diff --git a/.github/workflows/talker_bloc_logger.yaml b/.github/workflows_v1/talker_bloc_logger.yaml similarity index 93% rename from .github/workflows/talker_bloc_logger.yaml rename to .github/workflows_v1/talker_bloc_logger.yaml index 6da1064f..d5340c55 100644 --- a/.github/workflows/talker_bloc_logger.yaml +++ b/.github/workflows_v1/talker_bloc_logger.yaml @@ -4,12 +4,12 @@ on: push: paths: - "packages/talker_bloc_logger/**" - - ".github/workflows/talker_bloc_logger.yaml" + - "/talker_bloc_logger.yaml" pull_request: paths: - "packages/talker_bloc_logger/**" - - ".github/workflows/talker_bloc_logger.yaml" + - "/talker_bloc_logger.yaml" jobs: build: diff --git a/.github/workflows/talker_dio_logger.yaml b/.github/workflows_v1/talker_dio_logger.yaml similarity index 93% rename from .github/workflows/talker_dio_logger.yaml rename to .github/workflows_v1/talker_dio_logger.yaml index cdec4aa1..3b5d64b1 100644 --- a/.github/workflows/talker_dio_logger.yaml +++ b/.github/workflows_v1/talker_dio_logger.yaml @@ -4,12 +4,12 @@ on: push: paths: - "packages/talker_dio_logger/**" - - ".github/workflows/talker_dio_logger.yaml" + - "/talker_dio_logger.yaml" pull_request: paths: - "packages/talker_dio_logger/**" - - ".github/workflows/talker_dio_logger.yaml" + - "/talker_dio_logger.yaml" jobs: build: diff --git a/.github/workflows/talker_flutter.yaml b/.github/workflows_v1/talker_flutter.yaml similarity index 94% rename from .github/workflows/talker_flutter.yaml rename to .github/workflows_v1/talker_flutter.yaml index 7d0643e0..64178782 100644 --- a/.github/workflows/talker_flutter.yaml +++ b/.github/workflows_v1/talker_flutter.yaml @@ -4,12 +4,12 @@ on: push: paths: - "packages/talker_flutter/**" - - ".github/workflows/talker_flutter.yaml" + - "/talker_flutter.yaml" pull_request: paths: - "packages/talker_flutter/**" - - ".github/workflows/talker_flutter.yaml" + - "/talker_flutter.yaml" jobs: build: diff --git a/.github/workflows/talker_logger.yaml b/.github/workflows_v1/talker_logger.yaml similarity index 94% rename from .github/workflows/talker_logger.yaml rename to .github/workflows_v1/talker_logger.yaml index 7d09b71c..fbc42aa1 100644 --- a/.github/workflows/talker_logger.yaml +++ b/.github/workflows_v1/talker_logger.yaml @@ -4,12 +4,12 @@ on: push: paths: - "packages/talker_logger/**" - - ".github/workflows/talker_logger.yaml" + - "/talker_logger.yaml" pull_request: paths: - "packages/talker_logger/**" - - ".github/workflows/talker_logger.yaml" + - "/talker_logger.yaml" jobs: build: diff --git a/.github/workflows/talker_riverpod_logger.yaml b/.github/workflows_v1/talker_riverpod_logger.yaml similarity index 93% rename from .github/workflows/talker_riverpod_logger.yaml rename to .github/workflows_v1/talker_riverpod_logger.yaml index c6f958e2..78a1ac8b 100644 --- a/.github/workflows/talker_riverpod_logger.yaml +++ b/.github/workflows_v1/talker_riverpod_logger.yaml @@ -4,12 +4,12 @@ on: push: paths: - "packages/talker_riverpod_logger/**" - - ".github/workflows/talker_riverpod_logger.yaml" + - "/talker_riverpod_logger.yaml" pull_request: paths: - "packages/talker_riverpod_logger/**" - - ".github/workflows/talker_riverpod_logger.yaml" + - "/talker_riverpod_logger.yaml" jobs: build: From 836b01747bd4e223196ff5b9ef45a36a2f57602c Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:05:31 +0530 Subject: [PATCH 04/16] chore: Update GitHub Actions workflow for code coverage and testing --- .github/workflows/dart.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index d1029750..153cc0bf 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -39,15 +39,12 @@ jobs: run: melos exec --scope="${{ matrix.package }}" -- dart analyze --fatal-infos - name: Check Code Coverage + if: matrix.test uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 with: path: ${{ matrix.path }}/${{ matrix.package }}/coverage/lcov.info min_coverage: 90 - - name: Run tests - if: matrix.test - run: melos exec --scope="${{ matrix.package }}" -- flutter test --coverage - - name: Upload coverage reports to Codecov if: matrix.test uses: codecov/codecov-action@v5 From 88022d438062b540fae69a882134617f0f6bef18 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:06:50 +0530 Subject: [PATCH 05/16] chore: Update GitHub Actions workflow branch configuration - Change workflow trigger branches from "main" to "master" --- .github/workflows/dart.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index 153cc0bf..c96fc50b 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -2,9 +2,9 @@ name: Dart on: push: - branches: [ "main" ] + branches: [ "master" ] pull_request: - branches: [ "main" ] + branches: [ "master" ] jobs: build: From 03f32c7276c60c993a6917d582d29567b44fb1e8 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:11:52 +0530 Subject: [PATCH 06/16] chore: Expand GitHub Actions workflow package testing matrix - Add test configurations for additional Talker packages - Include talker, talker_bloc_logger, talker_dio_logger, talker_http_logger, talker_logger, and talker_riverpod_logger - Maintain existing configuration for talker_flutter package --- .github/workflows/dart.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index c96fc50b..0ea5f13c 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -22,9 +22,28 @@ jobs: - talker_logger - talker_riverpod_logger include: + - package: talker + path: packages + test: true + - package: talker_bloc_logger + path: packages + test: true + - package: talker_dio_logger + path: packages + test: true - package: talker_flutter path: packages test: false + - package: talker_http_logger + path: packages + test: true + - package: talker_logger + path: packages + test: true + - package: talker_riverpod_logger + path: packages + test: true + steps: - uses: actions/checkout@v3 From 58853ff5c9ea5ea07bf8bdcd73aa40cca2d5a967 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:14:20 +0530 Subject: [PATCH 07/16] chore: Add test coverage step to GitHub Actions workflow --- .github/workflows/dart.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index 0ea5f13c..783feaaf 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -57,6 +57,10 @@ jobs: - name: Analyze package run: melos exec --scope="${{ matrix.package }}" -- dart analyze --fatal-infos + - name: Run tests + if: matrix.test + run: melos exec --scope="${{ matrix.package }}" -- flutter test --coverage + - name: Check Code Coverage if: matrix.test uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 From 2d6515b45eb8fba8ab9d38814d68ff976cb04e95 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:26:15 +0530 Subject: [PATCH 08/16] feat(talker_http_logger): Add settings tests for hidden headers configuration --- .github/workflows/dart.yml | 3 ++ .../talker_http_logger_settings_test.dart | 45 +++++++++++++++++++ .../test/talker_http_logger_test.dart | 1 - 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 packages/talker_http_logger/test/talker_http_logger_settings_test.dart delete mode 100644 packages/talker_http_logger/test/talker_http_logger_test.dart diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index 783feaaf..2866b04c 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -54,6 +54,9 @@ jobs: dart pub get dart run melos bs + - name: Format package + run: melos exec --scope="${{ matrix.package }}" -- dart format . --set-exit-if-changed + - name: Analyze package run: melos exec --scope="${{ matrix.package }}" -- dart analyze --fatal-infos diff --git a/packages/talker_http_logger/test/talker_http_logger_settings_test.dart b/packages/talker_http_logger/test/talker_http_logger_settings_test.dart new file mode 100644 index 00000000..6197d571 --- /dev/null +++ b/packages/talker_http_logger/test/talker_http_logger_settings_test.dart @@ -0,0 +1,45 @@ +import 'package:talker_http_logger/talker_http_logger_settings.dart'; +import 'package:test/test.dart'; + +void main() { + group('TalkerHttpLoggerSettings', () { + test( + 'Given a TalkerHttpLoggerSettings ' + 'When instantiated without parameters ' + 'Then it should have an empty set for hiddenHeaders', () { + // Arrange & Act + const settings = TalkerHttpLoggerSettings(); + + // Assert + expect(settings.hiddenHeaders, isEmpty); + }); + + test( + 'Given a TalkerHttpLoggerSettings ' + 'When instantiated with a set of hidden headers ' + 'Then it should correctly store the provided headers', () { + // Arrange + const hiddenHeaders = {'Authorization', 'Cookie'}; + + // Act + const settings = TalkerHttpLoggerSettings(hiddenHeaders: hiddenHeaders); + + // Assert + expect(settings.hiddenHeaders, equals(hiddenHeaders)); + }); + + test( + 'Given a TalkerHttpLoggerSettings ' + 'When instantiated with an empty set ' + 'Then it should store an empty set', () { + // Arrange + const hiddenHeaders = {}; + + // Act + const settings = TalkerHttpLoggerSettings(hiddenHeaders: hiddenHeaders); + + // Assert + expect(settings.hiddenHeaders, isEmpty); + }); + }); +} diff --git a/packages/talker_http_logger/test/talker_http_logger_test.dart b/packages/talker_http_logger/test/talker_http_logger_test.dart deleted file mode 100644 index 8b137891..00000000 --- a/packages/talker_http_logger/test/talker_http_logger_test.dart +++ /dev/null @@ -1 +0,0 @@ - From 83bad3afde74e42b9b04c5c9effcc07833e6b27e Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:29:15 +0530 Subject: [PATCH 09/16] refactor: formatted talker_http_logger_example.dart --- .../talker_http_logger/example/talker_http_logger_example.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/talker_http_logger/example/talker_http_logger_example.dart b/packages/talker_http_logger/example/talker_http_logger_example.dart index 75ff2dd3..657fdfb0 100644 --- a/packages/talker_http_logger/example/talker_http_logger_example.dart +++ b/packages/talker_http_logger/example/talker_http_logger_example.dart @@ -5,8 +5,7 @@ import 'package:talker_http_logger/talker_http_logger_settings.dart'; void main(List args) async { final client = InterceptedClient.build(interceptors: [ TalkerHttpLogger( - settings: TalkerHttpLoggerSettings( - hiddenHeaders: {'Authorization'})), + settings: TalkerHttpLoggerSettings(hiddenHeaders: {'Authorization'})), ]); await client.get("https://google.com".toUri(), headers: { From 051891ffdb2f9bb932aacffaca1fc22f7bfbd78f Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:41:52 +0530 Subject: [PATCH 10/16] chore: Add GitHub Pages deployment workflow for shop app example --- .github/workflows/host_on_github_pages.yml | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/host_on_github_pages.yml diff --git a/.github/workflows/host_on_github_pages.yml b/.github/workflows/host_on_github_pages.yml new file mode 100644 index 00000000..c5966a53 --- /dev/null +++ b/.github/workflows/host_on_github_pages.yml @@ -0,0 +1,39 @@ +name: Host on GitHub Pages +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup Flutter + uses: subosito/flutter-action@v2 + with: + channel: 'stable' + - run: flutter --version + + - name: Cache pub dependencies + uses: actions/cache@v2 + with: + path: ${{ env.FLUTTER_HOME }}/.pub-cache + key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }} + restore-keys: ${{ runner.os }}-pub- + + - name: Download pub dependencies + run: | + flutter pub get + dart pub global activate peanut + flutter pub global run peanut + + - name: Deploy to GitHub Pages 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: examples/shop_app_example/build/web From 6b4b7875b00c93acdf18bc2a36733177a86c19cd Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:48:00 +0530 Subject: [PATCH 11/16] chore: Optimize GitHub Pages deployment workflow - Simplify Flutter setup by removing explicit channel specification - Remove pub dependencies cache step - Add Melos bootstrap command to prepare workspace - Streamline dependency installation process --- .github/workflows/host_on_github_pages.yml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/host_on_github_pages.yml b/.github/workflows/host_on_github_pages.yml index c5966a53..d684bcca 100644 --- a/.github/workflows/host_on_github_pages.yml +++ b/.github/workflows/host_on_github_pages.yml @@ -13,23 +13,15 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Setup Flutter uses: subosito/flutter-action@v2 - with: - channel: 'stable' - run: flutter --version - - name: Cache pub dependencies - uses: actions/cache@v2 - with: - path: ${{ env.FLUTTER_HOME }}/.pub-cache - key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }} - restore-keys: ${{ runner.os }}-pub- - - - name: Download pub dependencies + - name: Install dependencies run: | - flutter pub get + dart pub global activate melos + dart pub get + dart run melos bs dart pub global activate peanut flutter pub global run peanut From 55c14d84e009c0df565875f72554e3b1d0053c07 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:51:03 +0530 Subject: [PATCH 12/16] chore: Update GitHub Pages workflow to build shop app example --- .github/workflows/host_on_github_pages.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/host_on_github_pages.yml b/.github/workflows/host_on_github_pages.yml index d684bcca..e073dcc6 100644 --- a/.github/workflows/host_on_github_pages.yml +++ b/.github/workflows/host_on_github_pages.yml @@ -23,6 +23,10 @@ jobs: dart pub get dart run melos bs dart pub global activate peanut + + - name: Build web + run: | + cd examples/shop_app_example flutter pub global run peanut - name: Deploy to GitHub Pages 🚀 From c3d26523254359a6f44933d6ae6bc63b551d3586 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 19:56:29 +0530 Subject: [PATCH 13/16] chore: Add pub dependencies cache to GitHub Pages workflow for shop app example --- .github/workflows/host_on_github_pages.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/host_on_github_pages.yml b/.github/workflows/host_on_github_pages.yml index e073dcc6..e942ce82 100644 --- a/.github/workflows/host_on_github_pages.yml +++ b/.github/workflows/host_on_github_pages.yml @@ -13,10 +13,18 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + - name: Setup Flutter uses: subosito/flutter-action@v2 - run: flutter --version + - name: Cache pub dependencies + uses: actions/cache@v2 + with: + path: ${{ env.FLUTTER_HOME }}/.pub-cache + key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }} + restore-keys: ${{ runner.os }}-pub- + - name: Install dependencies run: | dart pub global activate melos @@ -27,7 +35,7 @@ jobs: - name: Build web run: | cd examples/shop_app_example - flutter pub global run peanut + flutter build web - name: Deploy to GitHub Pages 🚀 uses: JamesIves/github-pages-deploy-action@v4 From 4b53459de75d328d21e43725db11d90154907d74 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 20:16:38 +0530 Subject: [PATCH 14/16] chore: Cleanup GitHub Actions workflows - Remove deprecated v1 workflows for individual Talker packages - Update GitHub Pages workflow to scope Melos bootstrap to shop_app_example - Remove pull request triggers from GitHub Pages workflow --- .github/workflows/host_on_github_pages.yml | 6 +- .github/workflows_v1/talker.yaml | 64 ---------------- .github/workflows_v1/talker_bloc_logger.yaml | 64 ---------------- .github/workflows_v1/talker_dio_logger.yaml | 64 ---------------- .github/workflows_v1/talker_flutter.yaml | 73 ------------------- .github/workflows_v1/talker_logger.yaml | 64 ---------------- .../workflows_v1/talker_riverpod_logger.yaml | 64 ---------------- 7 files changed, 1 insertion(+), 398 deletions(-) delete mode 100644 .github/workflows_v1/talker.yaml delete mode 100644 .github/workflows_v1/talker_bloc_logger.yaml delete mode 100644 .github/workflows_v1/talker_dio_logger.yaml delete mode 100644 .github/workflows_v1/talker_flutter.yaml delete mode 100644 .github/workflows_v1/talker_logger.yaml delete mode 100644 .github/workflows_v1/talker_riverpod_logger.yaml diff --git a/.github/workflows/host_on_github_pages.yml b/.github/workflows/host_on_github_pages.yml index e942ce82..eaf5b0b1 100644 --- a/.github/workflows/host_on_github_pages.yml +++ b/.github/workflows/host_on_github_pages.yml @@ -2,9 +2,6 @@ name: Host on GitHub Pages on: push: branches: [ "master" ] - pull_request: - branches: [ "master" ] - # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -29,8 +26,7 @@ jobs: run: | dart pub global activate melos dart pub get - dart run melos bs - dart pub global activate peanut + dart run melos bs --scope="*shop_app_example*" - name: Build web run: | diff --git a/.github/workflows_v1/talker.yaml b/.github/workflows_v1/talker.yaml deleted file mode 100644 index 9defb7dd..00000000 --- a/.github/workflows_v1/talker.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker - -on: - push: - paths: - - "packages/talker/**" - - "/talker.yaml" - - pull_request: - paths: - - "packages/talker/**" - - "/talker.yaml" - -jobs: - build: - defaults: - run: - working-directory: packages/talker - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - java-version: "12.x" - distribution: 'zulu' - - uses: subosito/flutter-action@v2 - with: - channel: "stable" - - - name: Install Dependencies - run: flutter pub get - - - name: Format - run: dart format --set-exit-if-changed . - - - name: Analyze - run: flutter analyze --fatal-infos --fatal-warnings . - - - name: Run tests - run: flutter test --no-pub --coverage - - - name: Check Code Coverage - uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - with: - path: packages/talker/coverage/lcov.info - min_coverage: 90 - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - # - name: Run Tests - # run: | - # pub global activate test_coverage - # export PATH=$PATH:$HOME/.pub-cache/bin - # test_coverage - # - name: Check Code Coverage - # uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - # with: - # min_coverage: 30 - # path: talker_logger/coverage/lcov.info diff --git a/.github/workflows_v1/talker_bloc_logger.yaml b/.github/workflows_v1/talker_bloc_logger.yaml deleted file mode 100644 index d5340c55..00000000 --- a/.github/workflows_v1/talker_bloc_logger.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker_bloc_logger - -on: - push: - paths: - - "packages/talker_bloc_logger/**" - - "/talker_bloc_logger.yaml" - - pull_request: - paths: - - "packages/talker_bloc_logger/**" - - "/talker_bloc_logger.yaml" - -jobs: - build: - defaults: - run: - working-directory: packages/talker_bloc_logger - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - java-version: "12.x" - distribution: 'zulu' - - uses: subosito/flutter-action@v2 - with: - channel: "stable" - - - name: Install Dependencies - run: flutter pub get - - - name: Format - run: dart format --set-exit-if-changed . - - - name: Analyze - run: flutter analyze --fatal-infos --fatal-warnings . - - - name: Run tests - run: flutter test --no-pub --coverage - - - name: Check Code Coverage - uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - with: - path: packages/talker_bloc_logger/coverage/lcov.info - min_coverage: 90 - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - # - name: Run Tests - # run: | - # pub global activate test_coverage - # export PATH=$PATH:$HOME/.pub-cache/bin - # test_coverage - # - name: Check Code Coverage - # uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - # with: - # min_coverage: 30 - # path: talker_bloc_logger_logger/coverage/lcov.info diff --git a/.github/workflows_v1/talker_dio_logger.yaml b/.github/workflows_v1/talker_dio_logger.yaml deleted file mode 100644 index 3b5d64b1..00000000 --- a/.github/workflows_v1/talker_dio_logger.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker_dio_logger - -on: - push: - paths: - - "packages/talker_dio_logger/**" - - "/talker_dio_logger.yaml" - - pull_request: - paths: - - "packages/talker_dio_logger/**" - - "/talker_dio_logger.yaml" - -jobs: - build: - defaults: - run: - working-directory: packages/talker_dio_logger - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - java-version: "12.x" - distribution: 'zulu' - - uses: subosito/flutter-action@v2 - with: - channel: "stable" - - - name: Install Dependencies - run: flutter pub get - - - name: Format - run: dart format --set-exit-if-changed . - - - name: Analyze - run: flutter analyze --fatal-infos --fatal-warnings . - - - name: Run tests - run: flutter test --no-pub --coverage - - - name: Check Code Coverage - uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - with: - path: packages/talker_dio_logger/coverage/lcov.info - min_coverage: 90 - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - # - name: Run Tests - # run: | - # pub global activate test_coverage - # export PATH=$PATH:$HOME/.pub-cache/bin - # test_coverage - # - name: Check Code Coverage - # uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - # with: - # min_coverage: 30 - # path: talker_dio_logger_logger/coverage/lcov.info diff --git a/.github/workflows_v1/talker_flutter.yaml b/.github/workflows_v1/talker_flutter.yaml deleted file mode 100644 index 64178782..00000000 --- a/.github/workflows_v1/talker_flutter.yaml +++ /dev/null @@ -1,73 +0,0 @@ -name: talker_flutter - -on: - push: - paths: - - "packages/talker_flutter/**" - - "/talker_flutter.yaml" - - pull_request: - paths: - - "packages/talker_flutter/**" - - "/talker_flutter.yaml" - -jobs: - build: - defaults: - run: - working-directory: packages/talker_flutter - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - java-version: "12.x" - distribution: "zulu" - - uses: subosito/flutter-action@v2 - with: - channel: "stable" - - - name: Install Dependencies - run: flutter pub get - - - name: Format - run: dart format --set-exit-if-changed . - - - name: Analyze - run: flutter analyze --fatal-infos --fatal-warnings . - - # - name: Run tests - # run: flutter test --no-pub --coverage - - # - name: Check Code Coverage - # uses: VeryGoodOpenSource/very_good_coverage@v1.2.0 - # with: - # path: packages/talker_flutter/coverage/lcov.info - # min_coverage: 0 - - # - name: Upload coverage to Codecov - # uses: codecov/codecov-action@v1 - # with: - # token: ${{ secrets.CODECOV_TOKEN }} - - # - name: Build WEB - # run: | - # cd example - # flutter build web --release --web-renderer canvaskit - - # - name: Deploy WEB - # run: | - # cd example/build/web - # git init - - # git config --global user.email youngfrezyx@gmail.com - # git config --global user.name Stanislav Ilin - # git status - - # git remote add origin https://${{secrets.commit_secret}}@github.com/Frezyx/talker.git - # git checkout -b gh-pages - # git add --all - # git commit -m "update" - # git push origin gh-pages -f diff --git a/.github/workflows_v1/talker_logger.yaml b/.github/workflows_v1/talker_logger.yaml deleted file mode 100644 index fbc42aa1..00000000 --- a/.github/workflows_v1/talker_logger.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker_logger - -on: - push: - paths: - - "packages/talker_logger/**" - - "/talker_logger.yaml" - - pull_request: - paths: - - "packages/talker_logger/**" - - "/talker_logger.yaml" - -jobs: - build: - defaults: - run: - working-directory: packages/talker_logger - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - java-version: "12.x" - distribution: 'zulu' - - uses: subosito/flutter-action@v2 - with: - channel: "stable" - - - name: Install Dependencies - run: flutter pub get - - - name: Format - run: dart format --set-exit-if-changed . - - - name: Analyze - run: flutter analyze --fatal-infos --fatal-warnings . - - - name: Run tests - run: flutter test --no-pub --coverage - - - name: Check Code Coverage - uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - with: - path: packages/talker_logger/coverage/lcov.info - min_coverage: 90 - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - # - name: Run Tests - # run: | - # pub global activate test_coverage - # export PATH=$PATH:$HOME/.pub-cache/bin - # test_coverage - # - name: Check Code Coverage - # uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - # with: - # min_coverage: 30 - # path: talker_logger/coverage/lcov.info diff --git a/.github/workflows_v1/talker_riverpod_logger.yaml b/.github/workflows_v1/talker_riverpod_logger.yaml deleted file mode 100644 index 78a1ac8b..00000000 --- a/.github/workflows_v1/talker_riverpod_logger.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker_riverpod_logger - -on: - push: - paths: - - "packages/talker_riverpod_logger/**" - - "/talker_riverpod_logger.yaml" - - pull_request: - paths: - - "packages/talker_riverpod_logger/**" - - "/talker_riverpod_logger.yaml" - -jobs: - build: - defaults: - run: - working-directory: packages/talker_riverpod_logger - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - java-version: "12.x" - distribution: 'zulu' - - uses: subosito/flutter-action@v2 - with: - channel: "stable" - - - name: Install Dependencies - run: flutter pub get - - - name: Format - run: dart format --set-exit-if-changed . - - - name: Analyze - run: flutter analyze --fatal-infos --fatal-warnings . - - - name: Run tests - run: flutter test --no-pub --coverage - - - name: Check Code Coverage - uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - with: - path: packages/talker_riverpod_logger/coverage/lcov.info - min_coverage: 90 - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - # - name: Run Tests - # run: | - # pub global activate test_coverage - # export PATH=$PATH:$HOME/.pub-cache/bin - # test_coverage - # - name: Check Code Coverage - # uses: VeryGoodOpenSource/very_good_coverage@v3.0.0 - # with: - # min_coverage: 30 - # path: talker_bloc_logger_logger/coverage/lcov.info From c4726af74a878d4b68999ae75cf276a468d74a81 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 20:43:20 +0530 Subject: [PATCH 15/16] chore: Consolidate analysis_options.yaml configuration - Add root-level analysis_options.yaml with recommended lints - Remove redundant analysis_options.yaml files from individual packages and examples - Standardize static analysis configuration across the project --- ...ysis_options.yaml => analysis_options.yaml | 0 .../shop_app_example/analysis_options.yaml | 29 ------------------ .../talker_bloc_logger/analysis_options.yaml | 30 ------------------- .../talker_dio_logger/analysis_options.yaml | 30 ------------------- .../example/analysis_options.yaml | 29 ------------------ packages/talker_flutter/analysis_options.yaml | 4 --- .../example/analysis_options.yaml | 29 ------------------ .../talker_http_logger/analysis_options.yaml | 30 ------------------- packages/talker_logger/analysis_options.yaml | 1 - .../analysis_options.yaml | 30 ------------------- .../example/analysis_options.yaml | 12 -------- 11 files changed, 224 deletions(-) rename packages/talker/analysis_options.yaml => analysis_options.yaml (100%) delete mode 100644 examples/shop_app_example/analysis_options.yaml delete mode 100644 packages/talker_bloc_logger/analysis_options.yaml delete mode 100644 packages/talker_dio_logger/analysis_options.yaml delete mode 100644 packages/talker_dio_logger/example/analysis_options.yaml delete mode 100644 packages/talker_flutter/analysis_options.yaml delete mode 100644 packages/talker_flutter/example/analysis_options.yaml delete mode 100644 packages/talker_http_logger/analysis_options.yaml delete mode 100644 packages/talker_logger/analysis_options.yaml delete mode 100644 packages/talker_riverpod_logger/analysis_options.yaml delete mode 100644 packages/talker_riverpod_logger/example/analysis_options.yaml diff --git a/packages/talker/analysis_options.yaml b/analysis_options.yaml similarity index 100% rename from packages/talker/analysis_options.yaml rename to analysis_options.yaml diff --git a/examples/shop_app_example/analysis_options.yaml b/examples/shop_app_example/analysis_options.yaml deleted file mode 100644 index 61b6c4de..00000000 --- a/examples/shop_app_example/analysis_options.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/packages/talker_bloc_logger/analysis_options.yaml b/packages/talker_bloc_logger/analysis_options.yaml deleted file mode 100644 index dee8927a..00000000 --- a/packages/talker_bloc_logger/analysis_options.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/packages/talker_dio_logger/analysis_options.yaml b/packages/talker_dio_logger/analysis_options.yaml deleted file mode 100644 index dee8927a..00000000 --- a/packages/talker_dio_logger/analysis_options.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/packages/talker_dio_logger/example/analysis_options.yaml b/packages/talker_dio_logger/example/analysis_options.yaml deleted file mode 100644 index 61b6c4de..00000000 --- a/packages/talker_dio_logger/example/analysis_options.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/packages/talker_flutter/analysis_options.yaml b/packages/talker_flutter/analysis_options.yaml deleted file mode 100644 index a5744c1c..00000000 --- a/packages/talker_flutter/analysis_options.yaml +++ /dev/null @@ -1,4 +0,0 @@ -include: package:flutter_lints/flutter.yaml - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/packages/talker_flutter/example/analysis_options.yaml b/packages/talker_flutter/example/analysis_options.yaml deleted file mode 100644 index 61b6c4de..00000000 --- a/packages/talker_flutter/example/analysis_options.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/packages/talker_http_logger/analysis_options.yaml b/packages/talker_http_logger/analysis_options.yaml deleted file mode 100644 index dee8927a..00000000 --- a/packages/talker_http_logger/analysis_options.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/packages/talker_logger/analysis_options.yaml b/packages/talker_logger/analysis_options.yaml deleted file mode 100644 index 55309e9e..00000000 --- a/packages/talker_logger/analysis_options.yaml +++ /dev/null @@ -1 +0,0 @@ -include: package:lint/analysis_options.yaml diff --git a/packages/talker_riverpod_logger/analysis_options.yaml b/packages/talker_riverpod_logger/analysis_options.yaml deleted file mode 100644 index dee8927a..00000000 --- a/packages/talker_riverpod_logger/analysis_options.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/packages/talker_riverpod_logger/example/analysis_options.yaml b/packages/talker_riverpod_logger/example/analysis_options.yaml deleted file mode 100644 index 5cc96816..00000000 --- a/packages/talker_riverpod_logger/example/analysis_options.yaml +++ /dev/null @@ -1,12 +0,0 @@ -linter: - rules: - # Useful for packages but not for apps - type_annotate_public_apis: false - - # generates false positives - close_sinks: false - - # Our example actually wants to print to the console - avoid_print: false - - public_member_api_docs: false \ No newline at end of file From dcac5e30c0776ee9b69f2fec70fbe8afb8fc8930 Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Thu, 30 Jan 2025 20:52:10 +0530 Subject: [PATCH 16/16] refactor: Modernize Dart code with null safety and constructor syntax - Update constructor syntax across multiple packages using super parameters - Replace deprecated `Key? key` pattern with `super.key` - Simplify constructor initializations in Talker packages - Remove redundant library declarations and update library syntax - Minor code style improvements and linting adjustments --- analysis_options.yaml | 30 +------------------ packages/talker/example/talker_example.dart | 2 +- .../talker/test/talker_custom_log_test.dart | 4 +-- .../talker/test/talker_settings_test.dart | 2 +- .../talker_bloc_logger/test/logs_test.dart | 5 ++-- .../talker_dio_logger/test/logger_test.dart | 1 + .../extended_example/extended_example.dart | 10 +++---- packages/talker_flutter/example/lib/main.dart | 6 ++-- .../talker_wrapper_example.dart | 10 +++---- .../talker_actions_bottom_sheet.dart | 15 ++++------ .../lib/src/ui/talker_builder.dart | 4 +-- .../lib/src/ui/talker_listener.dart | 4 +-- .../src/ui/talker_monitor/talker_monitor.dart | 4 +-- .../talker_monitor_typed_logs_screen.dart | 4 +-- .../widgets/talker_monitor_card.dart | 4 +-- .../lib/src/ui/talker_screen.dart | 4 +-- .../talker_settings_bottom_sheet.dart | 4 +-- .../widgets/talker_setting_card.dart | 4 +-- .../lib/src/ui/talker_view.dart | 5 ++-- .../src/ui/talker_wrapper/talker_wrapper.dart | 4 +-- .../lib/src/ui/widgets/base_card.dart | 4 +-- .../lib/src/ui/widgets/bottom_sheet.dart | 4 +-- .../lib/src/ui/widgets/data_card.dart | 4 +-- .../lib/src/ui/widgets/snackbar.dart | 4 +-- .../src/ui/widgets/talker_view_appbar.dart | 10 +++---- .../download_logs/download_logs_web.dart | 1 + .../talker_flutter/lib/talker_flutter.dart | 2 +- .../lib/talker_http_logger.dart | 14 ++++----- .../lib/talker_bloc_logger_example.dart | 1 + 29 files changed, 68 insertions(+), 102 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index dee8927a..448d91f7 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,30 +1,2 @@ -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. +include: package:flutter_lints/flutter.yaml -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/packages/talker/example/talker_example.dart b/packages/talker/example/talker_example.dart index 541a35e2..71298844 100644 --- a/packages/talker/example/talker_example.dart +++ b/packages/talker/example/talker_example.dart @@ -36,7 +36,7 @@ Future main() async { } class YourCustomLog extends TalkerLog { - YourCustomLog(String message) : super(message); + YourCustomLog(String super.message); /// Your own log key (for color customization in settings) static const logKey = 'custom_log_key'; diff --git a/packages/talker/test/talker_custom_log_test.dart b/packages/talker/test/talker_custom_log_test.dart index 7073c915..ee8fb36f 100644 --- a/packages/talker/test/talker_custom_log_test.dart +++ b/packages/talker/test/talker_custom_log_test.dart @@ -8,7 +8,7 @@ final _customLogTitle = 'Custom'; final _customLog2Key = 'custom_log_2_key'; class TestCustomLog extends TalkerLog { - TestCustomLog(String message) : super(message); + TestCustomLog(String super.message); @override String get title => _customLogTitle; @@ -21,7 +21,7 @@ class TestCustomLog extends TalkerLog { } class Test2CustomLog extends TalkerLog { - Test2CustomLog(String message) : super(message); + Test2CustomLog(String super.message); @override String? get key => _customLog2Key; diff --git a/packages/talker/test/talker_settings_test.dart b/packages/talker/test/talker_settings_test.dart index 8b16d554..f0ccde70 100644 --- a/packages/talker/test/talker_settings_test.dart +++ b/packages/talker/test/talker_settings_test.dart @@ -95,7 +95,7 @@ void main() { } class HttpTalkerLog extends TalkerLog { - HttpTalkerLog(String message) : super(message); + HttpTalkerLog(String super.message); @override AnsiPen get pen => AnsiPen()..blue(); diff --git a/packages/talker_bloc_logger/test/logs_test.dart b/packages/talker_bloc_logger/test/logs_test.dart index 7602ba56..9413f033 100644 --- a/packages/talker_bloc_logger/test/logs_test.dart +++ b/packages/talker_bloc_logger/test/logs_test.dart @@ -8,12 +8,13 @@ class FakeBloc extends Bloc { } class FakeTransition extends Transition { - FakeTransition({required currentState, required event, required nextState}) + const FakeTransition( + {required currentState, required event, required nextState}) : super(currentState: currentState, event: event, nextState: nextState); } class FakeChange extends Change { - FakeChange({required currentState, required nextState}) + const FakeChange({required currentState, required nextState}) : super(currentState: currentState, nextState: nextState); } diff --git a/packages/talker_dio_logger/test/logger_test.dart b/packages/talker_dio_logger/test/logger_test.dart index 34a842a4..d70c09b4 100644 --- a/packages/talker_dio_logger/test/logger_test.dart +++ b/packages/talker_dio_logger/test/logger_test.dart @@ -81,6 +81,7 @@ void main() { "lastHeader": "lastHeaderValue", }); logger.onRequest(options, RequestInterceptorHandler()); + // ignore: avoid_print print(talker.history); expect( talker.history.last.generateTextMessage(), diff --git a/packages/talker_flutter/example/lib/extended_example/extended_example.dart b/packages/talker_flutter/example/lib/extended_example/extended_example.dart index 9e723f68..c916dfb7 100644 --- a/packages/talker_flutter/example/lib/extended_example/extended_example.dart +++ b/packages/talker_flutter/example/lib/extended_example/extended_example.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:talker_flutter/talker_flutter.dart'; class ExtendedExample extends StatefulWidget { - const ExtendedExample({Key? key}) : super(key: key); + const ExtendedExample({super.key}); @override State createState() => _ExtendedExampleState(); @@ -139,7 +139,7 @@ class _ExtendedExampleState extends State { } class CustomLog extends TalkerLog { - CustomLog(String message) : super(message); + CustomLog(String super.message); @override AnsiPen get pen => AnsiPen()..xterm(49); @@ -148,18 +148,18 @@ class CustomLog extends TalkerLog { String generateTextMessage({ TimeFormat timeFormat = TimeFormat.timeAndSeconds, }) { - return '| Custom leading | ' + (message ?? ''); + return '| Custom leading | ${message ?? ''}'; } } class BarButton extends StatelessWidget { const BarButton({ - Key? key, + super.key, required this.onTap, required this.title, this.backgroundColor, this.titleColor, - }) : super(key: key); + }); final VoidCallback onTap; final String title; diff --git a/packages/talker_flutter/example/lib/main.dart b/packages/talker_flutter/example/lib/main.dart index 6d05b533..42a64500 100644 --- a/packages/talker_flutter/example/lib/main.dart +++ b/packages/talker_flutter/example/lib/main.dart @@ -29,9 +29,9 @@ void main() { class BaseExample extends StatefulWidget { const BaseExample({ - Key? key, + super.key, required this.talker, - }) : super(key: key); + }); final Talker talker; @@ -94,7 +94,7 @@ class _BaseExampleState extends State { } class YourCustomLog extends TalkerLog { - YourCustomLog(String message) : super(message); + YourCustomLog(String super.message); /// Your own log key (for color customization in settings) static const logKey = 'custom_log_key'; diff --git a/packages/talker_flutter/example/lib/talker_wrapper_example/talker_wrapper_example.dart b/packages/talker_flutter/example/lib/talker_wrapper_example/talker_wrapper_example.dart index 84a62acf..b32c0b4e 100644 --- a/packages/talker_flutter/example/lib/talker_wrapper_example/talker_wrapper_example.dart +++ b/packages/talker_flutter/example/lib/talker_wrapper_example/talker_wrapper_example.dart @@ -2,8 +2,7 @@ import 'package:flutter/material.dart'; import 'package:talker_flutter/talker_flutter.dart'; class CustomErrorMessagesExample extends StatelessWidget { - const CustomErrorMessagesExample({Key? key, required this.talker}) - : super(key: key); + const CustomErrorMessagesExample({super.key, required this.talker}); final Talker talker; @@ -22,9 +21,8 @@ class CustomErrorMessagesExample extends StatelessWidget { class _Home extends StatelessWidget { const _Home({ - Key? key, required this.talker, - }) : super(key: key); + }); final Talker talker; @@ -75,9 +73,9 @@ class _Home extends StatelessWidget { class ExceptionSnackbar extends StatelessWidget { const ExceptionSnackbar({ - Key? key, + super.key, required this.data, - }) : super(key: key); + }); final TalkerException data; diff --git a/packages/talker_flutter/lib/src/ui/talker_actions/talker_actions_bottom_sheet.dart b/packages/talker_flutter/lib/src/ui/talker_actions/talker_actions_bottom_sheet.dart index 4d4cbb2a..f2aa59a0 100644 --- a/packages/talker_flutter/lib/src/ui/talker_actions/talker_actions_bottom_sheet.dart +++ b/packages/talker_flutter/lib/src/ui/talker_actions/talker_actions_bottom_sheet.dart @@ -4,10 +4,10 @@ import 'package:talker_flutter/talker_flutter.dart'; class TalkerActionsBottomSheet extends StatelessWidget { const TalkerActionsBottomSheet({ - Key? key, + super.key, required this.talkerScreenTheme, required this.actions, - }) : super(key: key); + }); final TalkerScreenTheme talkerScreenTheme; final List actions; @@ -26,17 +26,13 @@ class TalkerActionsBottomSheet extends StatelessWidget { child: Column( mainAxisSize: MainAxisSize.min, children: [ - ...actions - .asMap() - .entries - .map( + ...actions.asMap().entries.map( (e) => _ActionTile( talkerScreenTheme: talkerScreenTheme, action: e.value, showDivider: e.key != actions.length - 1, ), - ) - .toList(), + ), ], ), ), @@ -46,11 +42,10 @@ class TalkerActionsBottomSheet extends StatelessWidget { class _ActionTile extends StatelessWidget { const _ActionTile({ - Key? key, required this.action, required this.talkerScreenTheme, this.showDivider = true, - }) : super(key: key); + }); final TalkerActionItem action; final TalkerScreenTheme talkerScreenTheme; diff --git a/packages/talker_flutter/lib/src/ui/talker_builder.dart b/packages/talker_flutter/lib/src/ui/talker_builder.dart index f5bea29d..009c8735 100644 --- a/packages/talker_flutter/lib/src/ui/talker_builder.dart +++ b/packages/talker_flutter/lib/src/ui/talker_builder.dart @@ -8,10 +8,10 @@ typedef TalkerWidgetBuilder = Widget Function( class TalkerBuilder extends StatelessWidget { const TalkerBuilder({ - Key? key, + super.key, required this.talker, required this.builder, - }) : super(key: key); + }); final Talker talker; final TalkerWidgetBuilder builder; diff --git a/packages/talker_flutter/lib/src/ui/talker_listener.dart b/packages/talker_flutter/lib/src/ui/talker_listener.dart index 577afe91..5377fb18 100644 --- a/packages/talker_flutter/lib/src/ui/talker_listener.dart +++ b/packages/talker_flutter/lib/src/ui/talker_listener.dart @@ -28,11 +28,11 @@ import 'package:talker_flutter/talker_flutter.dart'; /// class TalkerListener extends StatefulWidget { const TalkerListener({ - Key? key, + super.key, required this.child, required this.talker, required this.listener, - }) : super(key: key); + }); /// An [Talker] implementation final Talker talker; diff --git a/packages/talker_flutter/lib/src/ui/talker_monitor/talker_monitor.dart b/packages/talker_flutter/lib/src/ui/talker_monitor/talker_monitor.dart index 7bd5b370..c794955c 100644 --- a/packages/talker_flutter/lib/src/ui/talker_monitor/talker_monitor.dart +++ b/packages/talker_flutter/lib/src/ui/talker_monitor/talker_monitor.dart @@ -5,10 +5,10 @@ import 'package:talker_flutter/talker_flutter.dart'; class TalkerMonitor extends StatelessWidget { const TalkerMonitor({ - Key? key, + super.key, required this.theme, required this.talker, - }) : super(key: key); + }); /// Theme for customize [TalkerScreen] final TalkerScreenTheme theme; diff --git a/packages/talker_flutter/lib/src/ui/talker_monitor/talker_monitor_typed_logs_screen.dart b/packages/talker_flutter/lib/src/ui/talker_monitor/talker_monitor_typed_logs_screen.dart index eaaa5342..75ad94ab 100644 --- a/packages/talker_flutter/lib/src/ui/talker_monitor/talker_monitor_typed_logs_screen.dart +++ b/packages/talker_flutter/lib/src/ui/talker_monitor/talker_monitor_typed_logs_screen.dart @@ -4,11 +4,11 @@ import 'package:talker_flutter/talker_flutter.dart'; class TalkerMonitorTypedLogsScreen extends StatelessWidget { const TalkerMonitorTypedLogsScreen({ - Key? key, + super.key, required this.exceptions, required this.theme, required this.typeName, - }) : super(key: key); + }); final String typeName; final TalkerScreenTheme theme; diff --git a/packages/talker_flutter/lib/src/ui/talker_monitor/widgets/talker_monitor_card.dart b/packages/talker_flutter/lib/src/ui/talker_monitor/widgets/talker_monitor_card.dart index c6870648..f8c84b84 100644 --- a/packages/talker_flutter/lib/src/ui/talker_monitor/widgets/talker_monitor_card.dart +++ b/packages/talker_flutter/lib/src/ui/talker_monitor/widgets/talker_monitor_card.dart @@ -4,7 +4,7 @@ import 'package:talker_flutter/talker_flutter.dart'; class TalkerMonitorCard extends StatelessWidget { const TalkerMonitorCard({ - Key? key, + super.key, required this.logs, required this.title, this.subtitle, @@ -13,7 +13,7 @@ class TalkerMonitorCard extends StatelessWidget { required this.icon, this.onTap, required this.theme, - }) : super(key: key); + }); final String title; final String? subtitle; diff --git a/packages/talker_flutter/lib/src/ui/talker_screen.dart b/packages/talker_flutter/lib/src/ui/talker_screen.dart index 4ab2de9f..ff073350 100644 --- a/packages/talker_flutter/lib/src/ui/talker_screen.dart +++ b/packages/talker_flutter/lib/src/ui/talker_screen.dart @@ -4,7 +4,7 @@ import 'package:talker_flutter/talker_flutter.dart'; /// UI view for output of all Talker logs and errors class TalkerScreen extends StatelessWidget { const TalkerScreen({ - Key? key, + super.key, required this.talker, this.appBarTitle = 'Talker', this.theme = const TalkerScreenTheme(), @@ -12,7 +12,7 @@ class TalkerScreen extends StatelessWidget { this.appBarLeading, this.isLogsExpanded = true, this.isLogOrderReversed = true, - }) : super(key: key); + }); /// Talker implementation final Talker talker; diff --git a/packages/talker_flutter/lib/src/ui/talker_settings/talker_settings_bottom_sheet.dart b/packages/talker_flutter/lib/src/ui/talker_settings/talker_settings_bottom_sheet.dart index a8d5c46c..134bd1d9 100644 --- a/packages/talker_flutter/lib/src/ui/talker_settings/talker_settings_bottom_sheet.dart +++ b/packages/talker_flutter/lib/src/ui/talker_settings/talker_settings_bottom_sheet.dart @@ -7,10 +7,10 @@ import 'package:talker_flutter/talker_flutter.dart'; class TalkerSettingsBottomSheet extends StatefulWidget { const TalkerSettingsBottomSheet({ - Key? key, + super.key, required this.talkerScreenTheme, required this.talker, - }) : super(key: key); + }); /// Theme for customize [TalkerScreen] final TalkerScreenTheme talkerScreenTheme; diff --git a/packages/talker_flutter/lib/src/ui/talker_settings/widgets/talker_setting_card.dart b/packages/talker_flutter/lib/src/ui/talker_settings/widgets/talker_setting_card.dart index d269ca49..12963128 100644 --- a/packages/talker_flutter/lib/src/ui/talker_settings/widgets/talker_setting_card.dart +++ b/packages/talker_flutter/lib/src/ui/talker_settings/widgets/talker_setting_card.dart @@ -5,13 +5,13 @@ import 'package:talker_flutter/talker_flutter.dart'; class TalkerSettingsCard extends StatelessWidget { const TalkerSettingsCard({ - Key? key, + super.key, required this.talkerScreenTheme, required this.title, required this.enabled, required this.onChanged, this.canEdit = true, - }) : super(key: key); + }); final String title; final bool enabled; diff --git a/packages/talker_flutter/lib/src/ui/talker_view.dart b/packages/talker_flutter/lib/src/ui/talker_view.dart index cc4748f1..807e05cb 100644 --- a/packages/talker_flutter/lib/src/ui/talker_view.dart +++ b/packages/talker_flutter/lib/src/ui/talker_view.dart @@ -11,7 +11,7 @@ import 'talker_actions/talker_actions.dart'; class TalkerView extends StatefulWidget { const TalkerView( - {Key? key, + {super.key, required this.talker, this.controller, this.scrollController, @@ -20,8 +20,7 @@ class TalkerView extends StatefulWidget { this.itemsBuilder, this.appBarLeading, this.isLogsExpanded = true, - this.isLogOrderReversed = true}) - : super(key: key); + this.isLogOrderReversed = true}); /// Talker implementation final Talker talker; diff --git a/packages/talker_flutter/lib/src/ui/talker_wrapper/talker_wrapper.dart b/packages/talker_flutter/lib/src/ui/talker_wrapper/talker_wrapper.dart index fd2798b7..e1d36908 100644 --- a/packages/talker_flutter/lib/src/ui/talker_wrapper/talker_wrapper.dart +++ b/packages/talker_flutter/lib/src/ui/talker_wrapper/talker_wrapper.dart @@ -13,11 +13,11 @@ part 'talker_wrapper_options.dart'; /// error and exceptions messages output class TalkerWrapper extends StatelessWidget { const TalkerWrapper({ - Key? key, + super.key, required this.talker, required this.child, this.options = const TalkerWrapperOptions(), - }) : super(key: key); + }); final Talker talker; final Widget child; diff --git a/packages/talker_flutter/lib/src/ui/widgets/base_card.dart b/packages/talker_flutter/lib/src/ui/widgets/base_card.dart index c8c79656..82599767 100644 --- a/packages/talker_flutter/lib/src/ui/widgets/base_card.dart +++ b/packages/talker_flutter/lib/src/ui/widgets/base_card.dart @@ -3,12 +3,12 @@ import 'package:talker_flutter/src/ui/theme/default_theme.dart'; class TalkerBaseCard extends StatelessWidget { const TalkerBaseCard({ - Key? key, + super.key, required this.child, required this.color, this.padding = const EdgeInsets.all(8), this.backgroundColor = defaultCardBackgroundColor, - }) : super(key: key); + }); final Widget child; final Color color; diff --git a/packages/talker_flutter/lib/src/ui/widgets/bottom_sheet.dart b/packages/talker_flutter/lib/src/ui/widgets/bottom_sheet.dart index e32a6f8a..d55f76da 100644 --- a/packages/talker_flutter/lib/src/ui/widgets/bottom_sheet.dart +++ b/packages/talker_flutter/lib/src/ui/widgets/bottom_sheet.dart @@ -3,11 +3,11 @@ import 'package:talker_flutter/talker_flutter.dart'; class BaseBottomSheet extends StatelessWidget { const BaseBottomSheet({ - Key? key, + super.key, required this.talkerScreenTheme, required this.child, required this.title, - }) : super(key: key); + }); final TalkerScreenTheme talkerScreenTheme; final Widget child; diff --git a/packages/talker_flutter/lib/src/ui/widgets/data_card.dart b/packages/talker_flutter/lib/src/ui/widgets/data_card.dart index b3feb569..a645beed 100644 --- a/packages/talker_flutter/lib/src/ui/widgets/data_card.dart +++ b/packages/talker_flutter/lib/src/ui/widgets/data_card.dart @@ -5,7 +5,7 @@ import 'package:talker_flutter/talker_flutter.dart'; class TalkerDataCard extends StatefulWidget { const TalkerDataCard({ - Key? key, + super.key, required this.data, this.onCopyTap, this.onTap, @@ -13,7 +13,7 @@ class TalkerDataCard extends StatefulWidget { this.margin, required this.color, this.backgroundColor = defaultCardBackgroundColor, - }) : super(key: key); + }); final TalkerData data; final VoidCallback? onCopyTap; diff --git a/packages/talker_flutter/lib/src/ui/widgets/snackbar.dart b/packages/talker_flutter/lib/src/ui/widgets/snackbar.dart index 6326f8e3..dcd10b0b 100644 --- a/packages/talker_flutter/lib/src/ui/widgets/snackbar.dart +++ b/packages/talker_flutter/lib/src/ui/widgets/snackbar.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; class SnackbarContent extends StatelessWidget { const SnackbarContent({ - Key? key, + super.key, required this.message, required this.title, this.backgroundColor = Colors.red, @@ -10,7 +10,7 @@ class SnackbarContent extends StatelessWidget { this.titleTextStyle, this.messageTextStyle, this.dismissButtonText, - }) : super(key: key); + }); final String title; final String message; diff --git a/packages/talker_flutter/lib/src/ui/widgets/talker_view_appbar.dart b/packages/talker_flutter/lib/src/ui/widgets/talker_view_appbar.dart index 513570b8..dc3c8dee 100644 --- a/packages/talker_flutter/lib/src/ui/widgets/talker_view_appbar.dart +++ b/packages/talker_flutter/lib/src/ui/widgets/talker_view_appbar.dart @@ -5,7 +5,7 @@ import 'package:talker_flutter/talker_flutter.dart'; class TalkerViewAppBar extends StatelessWidget { const TalkerViewAppBar({ - Key? key, + super.key, required this.title, required this.leading, required this.talker, @@ -18,7 +18,7 @@ class TalkerViewAppBar extends StatelessWidget { required this.onSettingsTap, required this.onActionsTap, required this.onToggleTitle, - }) : super(key: key); + }); final String? title; final Widget? leading; @@ -164,10 +164,9 @@ class TalkerViewAppBar extends StatelessWidget { class _SearchTextField extends StatelessWidget { const _SearchTextField({ - Key? key, required this.talkerTheme, required this.controller, - }) : super(key: key); + }); final TalkerScreenTheme talkerTheme; final TalkerViewController controller; @@ -212,11 +211,10 @@ class _SearchTextField extends StatelessWidget { class _MonitorButton extends StatelessWidget { const _MonitorButton({ - Key? key, required this.talker, required this.onPressed, required this.talkerTheme, - }) : super(key: key); + }); final Talker talker; final TalkerScreenTheme talkerTheme; diff --git a/packages/talker_flutter/lib/src/utils/download_logs/download_logs_web.dart b/packages/talker_flutter/lib/src/utils/download_logs/download_logs_web.dart index 47fb3f08..ffc83672 100644 --- a/packages/talker_flutter/lib/src/utils/download_logs/download_logs_web.dart +++ b/packages/talker_flutter/lib/src/utils/download_logs/download_logs_web.dart @@ -3,6 +3,7 @@ import 'dart:js_interop'; import 'package:web/web.dart'; Future downloadFile(String logs) async { + // ignore:invalid_runtime_check_with_js_interop_types final jsArray = JSArray.from(logs.toJS as JSObject); final blob = Blob(jsArray, BlobPropertyBag(type: 'text/plain')); diff --git a/packages/talker_flutter/lib/talker_flutter.dart b/packages/talker_flutter/lib/talker_flutter.dart index b9e18dfe..77e0ce5f 100644 --- a/packages/talker_flutter/lib/talker_flutter.dart +++ b/packages/talker_flutter/lib/talker_flutter.dart @@ -1,4 +1,4 @@ -library talker_flutter; +library; export 'src/src.dart'; export 'package:talker/talker.dart'; diff --git a/packages/talker_http_logger/lib/talker_http_logger.dart b/packages/talker_http_logger/lib/talker_http_logger.dart index 8de5bbf6..272bf282 100644 --- a/packages/talker_http_logger/lib/talker_http_logger.dart +++ b/packages/talker_http_logger/lib/talker_http_logger.dart @@ -1,4 +1,4 @@ -library talker_http_logger; +library; import 'dart:convert'; @@ -48,10 +48,10 @@ const _hiddenValue = '*****'; class HttpRequestLog extends TalkerLog { HttpRequestLog( - String title, { + String super.title, { required this.request, this.settings = const TalkerHttpLoggerSettings(), - }) : super(title); + }); final BaseRequest request; @@ -93,10 +93,10 @@ class HttpRequestLog extends TalkerLog { class HttpResponseLog extends TalkerLog { HttpResponseLog( - String title, { + String super.title, { required this.response, this.settings = const TalkerHttpLoggerSettings(), - }) : super(title); + }); final BaseResponse response; @@ -131,10 +131,10 @@ class HttpResponseLog extends TalkerLog { class HttpErrorLog extends TalkerLog { HttpErrorLog( - String title, { + String super.title, { required this.response, this.settings = const TalkerHttpLoggerSettings(), - }) : super(title); + }); final BaseResponse response; diff --git a/packages/talker_riverpod_logger/example/lib/talker_bloc_logger_example.dart b/packages/talker_riverpod_logger/example/lib/talker_bloc_logger_example.dart index 9498731c..74825b89 100644 --- a/packages/talker_riverpod_logger/example/lib/talker_bloc_logger_example.dart +++ b/packages/talker_riverpod_logger/example/lib/talker_bloc_logger_example.dart @@ -57,6 +57,7 @@ Future main() async { final comics = await repository.fetchComics(); for (final comic in comics) { + // ignore: avoid_print print(comic.title); }