diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml new file mode 100644 index 00000000..2866b04c --- /dev/null +++ b/.github/workflows/dart.yml @@ -0,0 +1,81 @@ +name: Dart + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +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 + 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 + + - uses: subosito/flutter-action@v2 + - name: Install dependencies + run: | + dart pub global activate melos + 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 + + - 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 + with: + path: ${{ matrix.path }}/${{ matrix.package }}/coverage/lcov.info + min_coverage: 90 + + - 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/host_on_github_pages.yml b/.github/workflows/host_on_github_pages.yml new file mode 100644 index 00000000..eaf5b0b1 --- /dev/null +++ b/.github/workflows/host_on_github_pages.yml @@ -0,0 +1,39 @@ +name: Host on GitHub Pages +on: + push: + 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 + - 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 + dart pub get + dart run melos bs --scope="*shop_app_example*" + + - name: Build web + run: | + cd examples/shop_app_example + flutter build web + + - name: Deploy to GitHub Pages 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: examples/shop_app_example/build/web diff --git a/.github/workflows/talker.yaml b/.github/workflows/talker.yaml deleted file mode 100644 index 8e712784..00000000 --- a/.github/workflows/talker.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker - -on: - push: - paths: - - "packages/talker/**" - - ".github/workflows/talker.yaml" - - pull_request: - paths: - - "packages/talker/**" - - ".github/workflows/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/talker_bloc_logger.yaml b/.github/workflows/talker_bloc_logger.yaml deleted file mode 100644 index 6da1064f..00000000 --- a/.github/workflows/talker_bloc_logger.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker_bloc_logger - -on: - push: - paths: - - "packages/talker_bloc_logger/**" - - ".github/workflows/talker_bloc_logger.yaml" - - pull_request: - paths: - - "packages/talker_bloc_logger/**" - - ".github/workflows/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/talker_dio_logger.yaml b/.github/workflows/talker_dio_logger.yaml deleted file mode 100644 index cdec4aa1..00000000 --- a/.github/workflows/talker_dio_logger.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker_dio_logger - -on: - push: - paths: - - "packages/talker_dio_logger/**" - - ".github/workflows/talker_dio_logger.yaml" - - pull_request: - paths: - - "packages/talker_dio_logger/**" - - ".github/workflows/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/talker_flutter.yaml b/.github/workflows/talker_flutter.yaml deleted file mode 100644 index 7d0643e0..00000000 --- a/.github/workflows/talker_flutter.yaml +++ /dev/null @@ -1,73 +0,0 @@ -name: talker_flutter - -on: - push: - paths: - - "packages/talker_flutter/**" - - ".github/workflows/talker_flutter.yaml" - - pull_request: - paths: - - "packages/talker_flutter/**" - - ".github/workflows/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/talker_logger.yaml b/.github/workflows/talker_logger.yaml deleted file mode 100644 index 7d09b71c..00000000 --- a/.github/workflows/talker_logger.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker_logger - -on: - push: - paths: - - "packages/talker_logger/**" - - ".github/workflows/talker_logger.yaml" - - pull_request: - paths: - - "packages/talker_logger/**" - - ".github/workflows/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/talker_riverpod_logger.yaml b/.github/workflows/talker_riverpod_logger.yaml deleted file mode 100644 index c6f958e2..00000000 --- a/.github/workflows/talker_riverpod_logger.yaml +++ /dev/null @@ -1,64 +0,0 @@ -name: talker_riverpod_logger - -on: - push: - paths: - - "packages/talker_riverpod_logger/**" - - ".github/workflows/talker_riverpod_logger.yaml" - - pull_request: - paths: - - "packages/talker_riverpod_logger/**" - - ".github/workflows/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 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/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 00000000..448d91f7 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,2 @@ +include: package:flutter_lints/flutter.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/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..b203419b --- /dev/null +++ b/melos.yaml @@ -0,0 +1,42 @@ +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 . + 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/packages/talker/analysis_options.yaml b/packages/talker/analysis_options.yaml deleted file mode 100644 index dee8927a..00000000 --- a/packages/talker/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/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/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_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_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/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_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_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/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_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/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/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_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/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_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: { 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_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_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 @@ - 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 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); } 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 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