From 3b047b80f92e0d9273e5063f8c1de41156e050a9 Mon Sep 17 00:00:00 2001 From: Felix Angelov Date: Thu, 21 Aug 2025 13:46:52 -0500 Subject: [PATCH 1/4] refactor: standardize project-wide analysis options --- README.md | 6 +++--- analysis_options.yaml | 1 + bricks/create_dart_frog/__brick__/README.md | 8 ++++---- bricks/create_dart_frog/hooks/analysis_options.yaml | 2 +- bricks/create_dart_frog/hooks/pubspec.yaml | 1 - bricks/dart_frog_dev_server/hooks/analysis_options.yaml | 6 +----- bricks/dart_frog_dev_server/hooks/pubspec.yaml | 1 - bricks/dart_frog_new/hooks/analysis_options.yaml | 4 +--- bricks/dart_frog_new/hooks/pubspec.yaml | 1 - bricks/dart_frog_prod_server/hooks/analysis_options.yaml | 6 ++---- bricks/dart_frog_prod_server/hooks/pubspec.yaml | 1 - examples/basic_authentication/README.md | 6 +++--- examples/bearer_authentication/README.md | 6 +++--- examples/counter/README.md | 6 +++--- examples/echo/README.md | 8 ++++---- examples/hello_world/README.md | 6 +++--- examples/kitchen_sink/README.md | 6 +++--- examples/todos/README.md | 6 +++--- .../todos/packages/in_memory_todos_data_source/README.md | 8 ++++---- examples/todos/packages/todos_data_source/README.md | 8 ++++---- examples/web_socket_counter/README.md | 6 +++--- packages/dart_frog/README.md | 6 +++--- packages/dart_frog/analysis_options.yaml | 6 +----- packages/dart_frog/pubspec.yaml | 1 - packages/dart_frog_auth/README.md | 6 +++--- packages/dart_frog_auth/analysis_options.yaml | 6 +----- packages/dart_frog_auth/pubspec.yaml | 1 - packages/dart_frog_cli/README.md | 6 +++--- packages/dart_frog_cli/analysis_options.yaml | 6 +----- packages/dart_frog_cli/e2e/analysis_options.yaml | 2 +- packages/dart_frog_cli/e2e/pubspec.yaml | 1 - packages/dart_frog_cli/pubspec.yaml | 1 - packages/dart_frog_gen/README.md | 6 +++--- packages/dart_frog_gen/analysis_options.yaml | 2 +- packages/dart_frog_gen/pubspec.yaml | 1 - packages/dart_frog_test/README.md | 6 +++--- packages/dart_frog_test/analysis_options.yaml | 2 +- packages/dart_frog_test/example/README.md | 8 ++++---- packages/dart_frog_test/pubspec.yaml | 2 -- packages/dart_frog_web_socket/README.md | 6 +++--- packages/dart_frog_web_socket/analysis_options.yaml | 2 +- packages/dart_frog_web_socket/pubspec.yaml | 1 - 42 files changed, 75 insertions(+), 106 deletions(-) diff --git a/README.md b/README.md index 3a7ea1e37..27d962109 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![ci][ci_badge]][ci_link] [![coverage][coverage_badge]][ci_link] -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) @@ -104,6 +104,8 @@ Dart Frog provides a simple core with a small API surface area in order to reduc [dart_link]: https://dart.dev [dart_frog_link_dark]: https://github.com/dart-frog-dev/dart_frog#gh-dark-mode-only [dart_frog_link_light]: https://github.com/dart-frog-dev/dart_frog#gh-light-mode-only +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [dart_installation_link]: https://dart.dev/get-dart [discord_badge]: https://img.shields.io/discord/1394707782271238184?style=for-the-badge&logo=discord&color=1C2A2E&logoColor=1DF9D2 [discord_link]: https://discord.gg/dart-frog @@ -111,6 +113,4 @@ Dart Frog provides a simple core with a small API surface area in order to reduc [license_link]: https://opensource.org/licenses/MIT [logo_black]: https://raw.githubusercontent.com/dart-frog-dev/dart_frog/main/assets/dart_frog_logo_black.png#gh-light-mode-only [logo_white]: https://raw.githubusercontent.com/dart-frog-dev/dart_frog/main/assets/dart_frog_logo_white.png#gh-dark-mode-only -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_ventures_link]: https://verygood.ventures diff --git a/analysis_options.yaml b/analysis_options.yaml index 0c1122f47..d9e3693fa 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,3 +1,4 @@ +include: packages/dart_frog_lint/lib/recommended.yaml analyzer: exclude: - bricks/**/__brick__/** \ No newline at end of file diff --git a/bricks/create_dart_frog/__brick__/README.md b/bricks/create_dart_frog/__brick__/README.md index 23d419b8e..0e59c41c3 100644 --- a/bricks/create_dart_frog/__brick__/README.md +++ b/bricks/create_dart_frog/__brick__/README.md @@ -1,12 +1,12 @@ # {{name.snakeCase()}} -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) An example application built with dart_frog +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg -[license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis \ No newline at end of file +[license_link]: https://opensource.org/licenses/MIT \ No newline at end of file diff --git a/bricks/create_dart_frog/hooks/analysis_options.yaml b/bricks/create_dart_frog/hooks/analysis_options.yaml index 9df80aa49..e2badd73e 100644 --- a/bricks/create_dart_frog/hooks/analysis_options.yaml +++ b/bricks/create_dart_frog/hooks/analysis_options.yaml @@ -1 +1 @@ -include: package:very_good_analysis/analysis_options.yaml +include: ../../../analysis_options.yaml diff --git a/bricks/create_dart_frog/hooks/pubspec.yaml b/bricks/create_dart_frog/hooks/pubspec.yaml index a214525b3..f69734ee1 100644 --- a/bricks/create_dart_frog/hooks/pubspec.yaml +++ b/bricks/create_dart_frog/hooks/pubspec.yaml @@ -10,4 +10,3 @@ dependencies: dev_dependencies: mocktail: ^1.0.0 test: ^1.25.0 - very_good_analysis: ^9.0.0 diff --git a/bricks/dart_frog_dev_server/hooks/analysis_options.yaml b/bricks/dart_frog_dev_server/hooks/analysis_options.yaml index 141ed91bf..5209975cb 100644 --- a/bricks/dart_frog_dev_server/hooks/analysis_options.yaml +++ b/bricks/dart_frog_dev_server/hooks/analysis_options.yaml @@ -1,5 +1 @@ -include: package:very_good_analysis/analysis_options.yaml -linter: - rules: - # Experimental and there are lots of false positives - specify_nonobvious_property_types: false \ No newline at end of file +include: ../../../analysis_options.yaml \ No newline at end of file diff --git a/bricks/dart_frog_dev_server/hooks/pubspec.yaml b/bricks/dart_frog_dev_server/hooks/pubspec.yaml index d318ce50c..43379b184 100644 --- a/bricks/dart_frog_dev_server/hooks/pubspec.yaml +++ b/bricks/dart_frog_dev_server/hooks/pubspec.yaml @@ -13,4 +13,3 @@ dev_dependencies: mocktail: ^1.0.0 path: ^1.8.2 test: ^1.25.0 - very_good_analysis: ^9.0.0 diff --git a/bricks/dart_frog_new/hooks/analysis_options.yaml b/bricks/dart_frog_new/hooks/analysis_options.yaml index 86791dda4..79335970f 100644 --- a/bricks/dart_frog_new/hooks/analysis_options.yaml +++ b/bricks/dart_frog_new/hooks/analysis_options.yaml @@ -1,7 +1,5 @@ -include: package:very_good_analysis/analysis_options.yaml +include: ../../../analysis_options.yaml linter: rules: public_member_api_docs: false - # Experimental and there are lots of false positives - specify_nonobvious_property_types: false \ No newline at end of file diff --git a/bricks/dart_frog_new/hooks/pubspec.yaml b/bricks/dart_frog_new/hooks/pubspec.yaml index 668b9bf10..31b053c72 100644 --- a/bricks/dart_frog_new/hooks/pubspec.yaml +++ b/bricks/dart_frog_new/hooks/pubspec.yaml @@ -12,4 +12,3 @@ dependencies: dev_dependencies: mocktail: ^1.0.0 test: ^1.19.2 - very_good_analysis: ^9.0.0 diff --git a/bricks/dart_frog_prod_server/hooks/analysis_options.yaml b/bricks/dart_frog_prod_server/hooks/analysis_options.yaml index 90b204453..d2610ef52 100644 --- a/bricks/dart_frog_prod_server/hooks/analysis_options.yaml +++ b/bricks/dart_frog_prod_server/hooks/analysis_options.yaml @@ -1,6 +1,4 @@ -include: package:very_good_analysis/analysis_options.yaml +include: ../../../analysis_options.yaml linter: rules: - public_member_api_docs: false - # Experimental and there are lots of false positives - specify_nonobvious_property_types: false \ No newline at end of file + public_member_api_docs: false \ No newline at end of file diff --git a/bricks/dart_frog_prod_server/hooks/pubspec.yaml b/bricks/dart_frog_prod_server/hooks/pubspec.yaml index b51f41634..2e4c17ae8 100644 --- a/bricks/dart_frog_prod_server/hooks/pubspec.yaml +++ b/bricks/dart_frog_prod_server/hooks/pubspec.yaml @@ -15,4 +15,3 @@ dependencies: dev_dependencies: mocktail: ^1.0.0 test: ^1.25.0 - very_good_analysis: ^9.0.0 diff --git a/examples/basic_authentication/README.md b/examples/basic_authentication/README.md index bfceda70c..1377934be 100644 --- a/examples/basic_authentication/README.md +++ b/examples/basic_authentication/README.md @@ -1,12 +1,12 @@ # basic authentication example -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) An example for how to use basic authentication with Dart Frog. +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg [license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis diff --git a/examples/bearer_authentication/README.md b/examples/bearer_authentication/README.md index 18401e94d..9888879b2 100644 --- a/examples/bearer_authentication/README.md +++ b/examples/bearer_authentication/README.md @@ -1,12 +1,12 @@ # bearer authentication example -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) An example for how to use bearer authentication with Dart Frog. +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg [license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis diff --git a/examples/counter/README.md b/examples/counter/README.md index 184a55d7a..8f845eadd 100644 --- a/examples/counter/README.md +++ b/examples/counter/README.md @@ -1,12 +1,12 @@ # counter -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) An example counter app built with `dart_frog`. +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg [license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis diff --git a/examples/echo/README.md b/examples/echo/README.md index 003bba4bc..bbe8d111c 100644 --- a/examples/echo/README.md +++ b/examples/echo/README.md @@ -1,12 +1,12 @@ # echo -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) An example echo app built with `dart_frog`. +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg -[license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis \ No newline at end of file +[license_link]: https://opensource.org/licenses/MIT \ No newline at end of file diff --git a/examples/hello_world/README.md b/examples/hello_world/README.md index 6a149fde5..c3bebd025 100644 --- a/examples/hello_world/README.md +++ b/examples/hello_world/README.md @@ -1,12 +1,12 @@ # Hello World -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) A hello world example app built with `dart_frog`. +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg [license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis diff --git a/examples/kitchen_sink/README.md b/examples/kitchen_sink/README.md index 5c38eb41d..b5ed8ba5f 100644 --- a/examples/kitchen_sink/README.md +++ b/examples/kitchen_sink/README.md @@ -1,12 +1,12 @@ # Kitchen Sink -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) A kitchen sink example app built with `dart_frog`. +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg [license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis diff --git a/examples/todos/README.md b/examples/todos/README.md index 24f325e88..b348783cb 100644 --- a/examples/todos/README.md +++ b/examples/todos/README.md @@ -1,12 +1,12 @@ # todos -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) An example todos app built with `dart_frog`. +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg [license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis diff --git a/examples/todos/packages/in_memory_todos_data_source/README.md b/examples/todos/packages/in_memory_todos_data_source/README.md index aa8097027..902c1098c 100644 --- a/examples/todos/packages/in_memory_todos_data_source/README.md +++ b/examples/todos/packages/in_memory_todos_data_source/README.md @@ -1,6 +1,6 @@ # In Memory Todos Data Source -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) [![License: MIT][license_badge]][license_link] @@ -29,7 +29,7 @@ dart pub get In Memory Todos Data Source comes with a built-in [GitHub Actions workflow][github_actions_link] powered by [Very Good Workflows][very_good_workflows_link] but you can also add your preferred CI/CD solution. -Out of the box, on each pull request and push, the CI `formats`, `lints`, and `tests` the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses [Very Good Analysis][very_good_analysis_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link]. +Out of the box, on each pull request and push, the CI `formats`, `lints`, and `tests` the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses [Dart Frog Lint][dart_frog_lint_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link]. --- @@ -53,6 +53,8 @@ genhtml coverage/lcov.info -o coverage/ open coverage/index.html ``` +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [dart_install_link]: https://dart.dev/get-dart [github_actions_link]: https://docs.github.com/en/actions/learn-github-actions [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg @@ -60,8 +62,6 @@ open coverage/index.html [logo_black]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_black.png#gh-light-mode-only [logo_white]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_white.png#gh-dark-mode-only [mason_link]: https://github.com/felangel/mason -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_coverage_link]: https://github.com/marketplace/actions/very-good-coverage [very_good_ventures_link]: https://verygood.ventures [very_good_ventures_link_light]: https://verygood.ventures#gh-light-mode-only diff --git a/examples/todos/packages/todos_data_source/README.md b/examples/todos/packages/todos_data_source/README.md index df240f69c..cb9a583fb 100644 --- a/examples/todos/packages/todos_data_source/README.md +++ b/examples/todos/packages/todos_data_source/README.md @@ -1,6 +1,6 @@ # Todos Data Source -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) [![License: MIT][license_badge]][license_link] @@ -29,7 +29,7 @@ dart pub get Todos Data Source comes with a built-in [GitHub Actions workflow][github_actions_link] powered by [Very Good Workflows][very_good_workflows_link] but you can also add your preferred CI/CD solution. -Out of the box, on each pull request and push, the CI `formats`, `lints`, and `tests` the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses [Very Good Analysis][very_good_analysis_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link]. +Out of the box, on each pull request and push, the CI `formats`, `lints`, and `tests` the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses [Dart Frog Lint][dart_frog_lint_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link]. --- @@ -53,6 +53,8 @@ genhtml coverage/lcov.info -o coverage/ open coverage/index.html ``` +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [dart_install_link]: https://dart.dev/get-dart [github_actions_link]: https://docs.github.com/en/actions/learn-github-actions [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg @@ -60,8 +62,6 @@ open coverage/index.html [logo_black]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_black.png#gh-light-mode-only [logo_white]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_white.png#gh-dark-mode-only [mason_link]: https://github.com/felangel/mason -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_coverage_link]: https://github.com/marketplace/actions/very-good-coverage [very_good_ventures_link]: https://verygood.ventures [very_good_ventures_link_light]: https://verygood.ventures#gh-light-mode-only diff --git a/examples/web_socket_counter/README.md b/examples/web_socket_counter/README.md index 24d0614c9..3b1c9ca82 100644 --- a/examples/web_socket_counter/README.md +++ b/examples/web_socket_counter/README.md @@ -1,12 +1,12 @@ # WebSocket Counter -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) An example counter app built with `dart_frog` using WebSockets. +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg [license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis diff --git a/packages/dart_frog/README.md b/packages/dart_frog/README.md index c782e779e..2b707b538 100644 --- a/packages/dart_frog/README.md +++ b/packages/dart_frog/README.md @@ -10,7 +10,7 @@ [![ci][ci_badge]][ci_link] [![coverage][coverage_badge]][ci_link] [![pub package][pub_badge]][pub_link] -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] A fast, minimalistic backend framework for Dart 🎯 @@ -70,6 +70,8 @@ View the full documentation [here][docs_link]. [coverage_badge]: https://raw.githubusercontent.com/dart-frog-dev/dart_frog/main/packages/dart_frog/coverage_badge.svg [credits_link]: https://github.com/dart-frog-dev/dart_frog/blob/main/CREDITS.md#acknowledgments [dart_badge]: https://img.shields.io/badge/Dart-%230175C2.svg?style=for-the-badge&logo=dart&logoColor=5BB4F0&color=1E2833 +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [dart_link]: https://dart.dev [dart_installation_link]: https://dart.dev/get-dart [discord_badge]: https://img.shields.io/discord/1394707782271238184?style=for-the-badge&logo=discord&color=1C2A2E&logoColor=1DF9D2 @@ -81,6 +83,4 @@ View the full documentation [here][docs_link]. [logo_white]: https://raw.githubusercontent.com/dart-frog-dev/dart_frog/main/assets/dart_frog_logo_white.png#gh-dark-mode-only [pub_badge]: https://img.shields.io/pub/v/dart_frog.svg [pub_link]: https://pub.dartlang.org/packages/dart_frog -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_ventures_link]: https://verygood.ventures diff --git a/packages/dart_frog/analysis_options.yaml b/packages/dart_frog/analysis_options.yaml index 951b4462f..f04c6cf0f 100644 --- a/packages/dart_frog/analysis_options.yaml +++ b/packages/dart_frog/analysis_options.yaml @@ -1,5 +1 @@ -include: package:very_good_analysis/analysis_options.yaml -linter: - rules: - # Experimental and there are lots of false positives - specify_nonobvious_property_types: false +include: ../../analysis_options.yaml diff --git a/packages/dart_frog/pubspec.yaml b/packages/dart_frog/pubspec.yaml index a4110dcd0..571c2025a 100644 --- a/packages/dart_frog/pubspec.yaml +++ b/packages/dart_frog/pubspec.yaml @@ -28,7 +28,6 @@ dev_dependencies: mocktail: ^1.0.0 path: ^1.8.2 test: ^1.19.2 - very_good_analysis: ^9.0.0 false_secrets: - test/src/serve_test.dart diff --git a/packages/dart_frog_auth/README.md b/packages/dart_frog_auth/README.md index 6ed9bd38f..b0c1fc745 100644 --- a/packages/dart_frog_auth/README.md +++ b/packages/dart_frog_auth/README.md @@ -10,7 +10,7 @@ [![ci][ci_badge]][ci_link] [![coverage][coverage_badge]][ci_link] [![pub package][pub_badge]][pub_link] -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] Header Authorization support for [Dart Frog][dart_frog_link]. @@ -28,6 +28,8 @@ Learn more about it on the [official docs][docs_link]. [credits_link]: https://github.com/dart-frog-dev/dart_frog/blob/main/CREDITS.md#acknowledgments [coverage_badge]: https://raw.githubusercontent.com/dart-frog-dev/dart_frog/main/packages/dart_frog_web_socket/coverage_badge.svg [dart_badge]: https://img.shields.io/badge/Dart-%230175C2.svg?style=for-the-badge&logo=dart&logoColor=5BB4F0&color=1E2833 +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [dart_link]: https://dart.dev [dart_frog_link]: https://github.com/dart-frog-dev/dart_frog [discord_badge]: https://img.shields.io/discord/1394707782271238184?style=for-the-badge&logo=discord&color=1C2A2E&logoColor=1DF9D2 @@ -39,6 +41,4 @@ Learn more about it on the [official docs][docs_link]. [logo_white]: https://raw.githubusercontent.com/dart-frog-dev/dart_frog/main/assets/dart_frog_logo_white.png#gh-dark-mode-only [pub_badge]: https://img.shields.io/pub/v/dart_frog_auth.svg [pub_link]: https://pub.dartlang.org/packages/dart_frog_auth -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_ventures_link]: https://verygood.ventures diff --git a/packages/dart_frog_auth/analysis_options.yaml b/packages/dart_frog_auth/analysis_options.yaml index 951b4462f..fac60e247 100644 --- a/packages/dart_frog_auth/analysis_options.yaml +++ b/packages/dart_frog_auth/analysis_options.yaml @@ -1,5 +1 @@ -include: package:very_good_analysis/analysis_options.yaml -linter: - rules: - # Experimental and there are lots of false positives - specify_nonobvious_property_types: false +include: ../../analysis_options.yaml \ No newline at end of file diff --git a/packages/dart_frog_auth/pubspec.yaml b/packages/dart_frog_auth/pubspec.yaml index c72afc78c..fdbd78b71 100644 --- a/packages/dart_frog_auth/pubspec.yaml +++ b/packages/dart_frog_auth/pubspec.yaml @@ -16,4 +16,3 @@ dependencies: dev_dependencies: mocktail: ^1.0.0 test: ^1.19.2 - very_good_analysis: ^9.0.0 diff --git a/packages/dart_frog_cli/README.md b/packages/dart_frog_cli/README.md index 63a78329d..c50fdda08 100644 --- a/packages/dart_frog_cli/README.md +++ b/packages/dart_frog_cli/README.md @@ -10,7 +10,7 @@ [![ci][ci_badge]][ci_link] [![coverage][coverage_badge]][ci_link] [![pub package][pub_badge]][pub_link] -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) @@ -49,6 +49,8 @@ Learn more about it on the [official docs][docs_link]. [dart_badge]: https://img.shields.io/badge/Dart-%230175C2.svg?style=for-the-badge&logo=dart&logoColor=5BB4F0&color=1E2833 [dart_link]: https://dart.dev [dart_frog_link]: https://github.com/dart-frog-dev/dart_frog +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [discord_badge]: https://img.shields.io/discord/1394707782271238184?style=for-the-badge&logo=discord&color=1C2A2E&logoColor=1DF9D2 [discord_link]: https://discord.gg/dart-frog [docs_link]: https://dart-frog.dev/getting-started @@ -58,6 +60,4 @@ Learn more about it on the [official docs][docs_link]. [logo_white]: https://raw.githubusercontent.com/dart-frog-dev/dart_frog/main/assets/dart_frog_logo_white.png#gh-dark-mode-only [pub_badge]: https://img.shields.io/pub/v/dart_frog_cli.svg [pub_link]: https://pub.dartlang.org/packages/dart_frog_cli -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_ventures_link]: https://verygood.ventures diff --git a/packages/dart_frog_cli/analysis_options.yaml b/packages/dart_frog_cli/analysis_options.yaml index 08763c512..1311c2cd9 100644 --- a/packages/dart_frog_cli/analysis_options.yaml +++ b/packages/dart_frog_cli/analysis_options.yaml @@ -1,8 +1,4 @@ -include: package:very_good_analysis/analysis_options.yaml +include: ../../analysis_options.yaml analyzer: exclude: - lib/src/version.dart -linter: - rules: - # Experimental and there are lots of false positives - specify_nonobvious_property_types: false diff --git a/packages/dart_frog_cli/e2e/analysis_options.yaml b/packages/dart_frog_cli/e2e/analysis_options.yaml index 9df80aa49..e2badd73e 100644 --- a/packages/dart_frog_cli/e2e/analysis_options.yaml +++ b/packages/dart_frog_cli/e2e/analysis_options.yaml @@ -1 +1 @@ -include: package:very_good_analysis/analysis_options.yaml +include: ../../../analysis_options.yaml diff --git a/packages/dart_frog_cli/e2e/pubspec.yaml b/packages/dart_frog_cli/e2e/pubspec.yaml index c3c28c0fe..9d7eb95c7 100644 --- a/packages/dart_frog_cli/e2e/pubspec.yaml +++ b/packages/dart_frog_cli/e2e/pubspec.yaml @@ -14,4 +14,3 @@ dev_dependencies: meta: ^1.7.0 path: ^1.8.2 test: ^1.19.2 - very_good_analysis: ^9.0.0 diff --git a/packages/dart_frog_cli/pubspec.yaml b/packages/dart_frog_cli/pubspec.yaml index 8f7bfeb75..897ff0c69 100644 --- a/packages/dart_frog_cli/pubspec.yaml +++ b/packages/dart_frog_cli/pubspec.yaml @@ -34,7 +34,6 @@ dev_dependencies: build_version: ^2.1.1 mocktail: ^1.0.4 test: ^1.25.8 - very_good_analysis: ^9.0.0 executables: dart_frog: diff --git a/packages/dart_frog_gen/README.md b/packages/dart_frog_gen/README.md index 8c0c68e10..d6f3bf1aa 100644 --- a/packages/dart_frog_gen/README.md +++ b/packages/dart_frog_gen/README.md @@ -10,7 +10,7 @@ [![ci][ci_badge]][ci_link] [![coverage][coverage_badge]][ci_link] [![pub package][pub_badge]][pub_link] -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] Code generation tooling for [Dart Frog][dart_frog_link]. @@ -35,6 +35,8 @@ void main() { [dart_badge]: https://img.shields.io/badge/Dart-%230175C2.svg?style=for-the-badge&logo=dart&logoColor=5BB4F0&color=1E2833 [dart_link]: https://dart.dev [dart_frog_link]: https://github.com/dart-frog-dev/dart_frog +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [discord_badge]: https://img.shields.io/discord/1394707782271238184?style=for-the-badge&logo=discord&color=1C2A2E&logoColor=1DF9D2 [discord_link]: https://discord.gg/dart-frog [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg @@ -43,6 +45,4 @@ void main() { [logo_white]: https://raw.githubusercontent.com/dart-frog-dev/dart_frog/main/assets/dart_frog_logo_white.png#gh-dark-mode-only [pub_badge]: https://img.shields.io/pub/v/dart_frog_gen.svg [pub_link]: https://pub.dartlang.org/packages/dart_frog_gen -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_ventures_link]: https://verygood.ventures diff --git a/packages/dart_frog_gen/analysis_options.yaml b/packages/dart_frog_gen/analysis_options.yaml index 9df80aa49..f04c6cf0f 100644 --- a/packages/dart_frog_gen/analysis_options.yaml +++ b/packages/dart_frog_gen/analysis_options.yaml @@ -1 +1 @@ -include: package:very_good_analysis/analysis_options.yaml +include: ../../analysis_options.yaml diff --git a/packages/dart_frog_gen/pubspec.yaml b/packages/dart_frog_gen/pubspec.yaml index b32858e95..16e63ae4d 100644 --- a/packages/dart_frog_gen/pubspec.yaml +++ b/packages/dart_frog_gen/pubspec.yaml @@ -18,4 +18,3 @@ dependencies: dev_dependencies: mocktail: ^1.0.0 test: ^1.19.2 - very_good_analysis: ^9.0.0 diff --git a/packages/dart_frog_test/README.md b/packages/dart_frog_test/README.md index 9712480c2..ed8d2b59f 100644 --- a/packages/dart_frog_test/README.md +++ b/packages/dart_frog_test/README.md @@ -7,7 +7,7 @@ [![discord][discord_badge]][discord_link] [![dart][dart_badge]][dart_link] -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) [![License: MIT][license_badge]][license_link] @@ -110,6 +110,8 @@ await expectNotAllowedMethods( [dart_badge]: https://img.shields.io/badge/Dart-%230175C2.svg?style=for-the-badge&logo=dart&logoColor=5BB4F0&color=1E2833 [dart_install_link]: https://dart.dev/get-dart +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [dart_link]: https://dart.dev [discord_badge]: https://img.shields.io/discord/1394707782271238184?style=for-the-badge&logo=discord&color=1C2A2E&logoColor=1DF9D2 [discord_link]: https://discord.gg/dart-frog @@ -117,5 +119,3 @@ await expectNotAllowedMethods( [license_link]: https://opensource.org/licenses/MIT [logo_black]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_black.png#gh-light-mode-only [logo_white]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_white.png#gh-dark-mode-only -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis diff --git a/packages/dart_frog_test/analysis_options.yaml b/packages/dart_frog_test/analysis_options.yaml index 9df80aa49..f04c6cf0f 100644 --- a/packages/dart_frog_test/analysis_options.yaml +++ b/packages/dart_frog_test/analysis_options.yaml @@ -1 +1 @@ -include: package:very_good_analysis/analysis_options.yaml +include: ../../analysis_options.yaml diff --git a/packages/dart_frog_test/example/README.md b/packages/dart_frog_test/example/README.md index c5f7a5086..3e2bb0907 100644 --- a/packages/dart_frog_test/example/README.md +++ b/packages/dart_frog_test/example/README.md @@ -1,12 +1,12 @@ # Example -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) An example application built with Dart Frog +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg -[license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis \ No newline at end of file +[license_link]: https://opensource.org/licenses/MIT \ No newline at end of file diff --git a/packages/dart_frog_test/pubspec.yaml b/packages/dart_frog_test/pubspec.yaml index 6a94cb773..46128c42c 100644 --- a/packages/dart_frog_test/pubspec.yaml +++ b/packages/dart_frog_test/pubspec.yaml @@ -17,5 +17,3 @@ dependencies: mocktail: ^1.0.0 test: ^1.19.2 -dev_dependencies: - very_good_analysis: ^9.0.0 diff --git a/packages/dart_frog_web_socket/README.md b/packages/dart_frog_web_socket/README.md index 2e0876ac3..cb6e2c4dc 100644 --- a/packages/dart_frog_web_socket/README.md +++ b/packages/dart_frog_web_socket/README.md @@ -10,7 +10,7 @@ [![ci][ci_badge]][ci_link] [![coverage][coverage_badge]][ci_link] [![pub package][pub_badge]][pub_link] -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] +[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] [![License: MIT][license_badge]][license_link] WebSocket support for [Dart Frog][dart_frog_link]. @@ -75,6 +75,8 @@ void main() { [dart_badge]: https://img.shields.io/badge/Dart-%230175C2.svg?style=for-the-badge&logo=dart&logoColor=5BB4F0&color=1E2833 [dart_link]: https://dart.dev [dart_frog_link]: https://github.com/dart-frog-dev/dart_frog +[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg +[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [discord_badge]: https://img.shields.io/discord/1394707782271238184?style=for-the-badge&logo=discord&color=1C2A2E&logoColor=1DF9D2 [discord_link]: https://discord.gg/dart-frog [docs_link]: https://dart-frog.dev/advanced/web-sockets @@ -84,6 +86,4 @@ void main() { [logo_white]: https://raw.githubusercontent.com/dart-frog-dev/dart_frog/main/assets/dart_frog_logo_white.png#gh-dark-mode-only [pub_badge]: https://img.shields.io/pub/v/dart_frog_web_socket.svg [pub_link]: https://pub.dartlang.org/packages/dart_frog_web_socket -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_ventures_link]: https://verygood.ventures diff --git a/packages/dart_frog_web_socket/analysis_options.yaml b/packages/dart_frog_web_socket/analysis_options.yaml index 9df80aa49..f04c6cf0f 100644 --- a/packages/dart_frog_web_socket/analysis_options.yaml +++ b/packages/dart_frog_web_socket/analysis_options.yaml @@ -1 +1 @@ -include: package:very_good_analysis/analysis_options.yaml +include: ../../analysis_options.yaml diff --git a/packages/dart_frog_web_socket/pubspec.yaml b/packages/dart_frog_web_socket/pubspec.yaml index af6003688..340dac851 100644 --- a/packages/dart_frog_web_socket/pubspec.yaml +++ b/packages/dart_frog_web_socket/pubspec.yaml @@ -19,4 +19,3 @@ dev_dependencies: http: ^1.0.0 mocktail: ^1.0.0 test: ^1.19.2 - very_good_analysis: ^9.0.0 From c384b6988fdb8888d454d666c4c0a4d587b54f27 Mon Sep 17 00:00:00 2001 From: Felix Angelov Date: Thu, 21 Aug 2025 13:50:35 -0500 Subject: [PATCH 2/4] revert examples --- .../todos/packages/in_memory_todos_data_source/README.md | 8 ++++---- examples/todos/packages/todos_data_source/README.md | 8 ++++---- examples/web_socket_counter/README.md | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/todos/packages/in_memory_todos_data_source/README.md b/examples/todos/packages/in_memory_todos_data_source/README.md index 902c1098c..3e017d924 100644 --- a/examples/todos/packages/in_memory_todos_data_source/README.md +++ b/examples/todos/packages/in_memory_todos_data_source/README.md @@ -1,6 +1,6 @@ # In Memory Todos Data Source -[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] +[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] [![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) [![License: MIT][license_badge]][license_link] @@ -29,7 +29,7 @@ dart pub get In Memory Todos Data Source comes with a built-in [GitHub Actions workflow][github_actions_link] powered by [Very Good Workflows][very_good_workflows_link] but you can also add your preferred CI/CD solution. -Out of the box, on each pull request and push, the CI `formats`, `lints`, and `tests` the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses [Dart Frog Lint][dart_frog_lint_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link]. +Out of the box, on each pull request and push, the CI `formats`, `lints`, and `tests` the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses [Very Good Analysis][very_good_analysis_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link]. --- @@ -53,8 +53,6 @@ genhtml coverage/lcov.info -o coverage/ open coverage/index.html ``` -[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg -[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [dart_install_link]: https://dart.dev/get-dart [github_actions_link]: https://docs.github.com/en/actions/learn-github-actions [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg @@ -66,4 +64,6 @@ open coverage/index.html [very_good_ventures_link]: https://verygood.ventures [very_good_ventures_link_light]: https://verygood.ventures#gh-light-mode-only [very_good_ventures_link_dark]: https://verygood.ventures#gh-dark-mode-only +[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg +[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_workflows_link]: https://github.com/VeryGoodOpenSource/very_good_workflows diff --git a/examples/todos/packages/todos_data_source/README.md b/examples/todos/packages/todos_data_source/README.md index cb9a583fb..df240f69c 100644 --- a/examples/todos/packages/todos_data_source/README.md +++ b/examples/todos/packages/todos_data_source/README.md @@ -1,6 +1,6 @@ # Todos Data Source -[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] +[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] [![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) [![License: MIT][license_badge]][license_link] @@ -29,7 +29,7 @@ dart pub get Todos Data Source comes with a built-in [GitHub Actions workflow][github_actions_link] powered by [Very Good Workflows][very_good_workflows_link] but you can also add your preferred CI/CD solution. -Out of the box, on each pull request and push, the CI `formats`, `lints`, and `tests` the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses [Dart Frog Lint][dart_frog_lint_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link]. +Out of the box, on each pull request and push, the CI `formats`, `lints`, and `tests` the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses [Very Good Analysis][very_good_analysis_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link]. --- @@ -53,8 +53,6 @@ genhtml coverage/lcov.info -o coverage/ open coverage/index.html ``` -[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg -[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [dart_install_link]: https://dart.dev/get-dart [github_actions_link]: https://docs.github.com/en/actions/learn-github-actions [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg @@ -62,6 +60,8 @@ open coverage/index.html [logo_black]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_black.png#gh-light-mode-only [logo_white]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_white.png#gh-dark-mode-only [mason_link]: https://github.com/felangel/mason +[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg +[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_coverage_link]: https://github.com/marketplace/actions/very-good-coverage [very_good_ventures_link]: https://verygood.ventures [very_good_ventures_link_light]: https://verygood.ventures#gh-light-mode-only diff --git a/examples/web_socket_counter/README.md b/examples/web_socket_counter/README.md index 3b1c9ca82..24d0614c9 100644 --- a/examples/web_socket_counter/README.md +++ b/examples/web_socket_counter/README.md @@ -1,12 +1,12 @@ # WebSocket Counter -[![style: dart frog lint][dart_frog_lint_badge]][dart_frog_lint_link] +[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] [![License: MIT][license_badge]][license_link] [![Powered by Dart Frog](https://img.shields.io/endpoint?url=https://tinyurl.com/dartfrog-badge)](https://dart-frog.dev) An example counter app built with `dart_frog` using WebSockets. -[dart_frog_lint_badge]: https://img.shields.io/badge/style-dart_frog_lint-1DF9D2.svg -[dart_frog_lint_link]: https://pub.dev/packages/dart_frog_lint [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg [license_link]: https://opensource.org/licenses/MIT +[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg +[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis From 4af6952d7501fedef42c884076602bcafee8c840 Mon Sep 17 00:00:00 2001 From: Felix Angelov Date: Thu, 21 Aug 2025 13:53:09 -0500 Subject: [PATCH 3/4] revert --- examples/todos/packages/in_memory_todos_data_source/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/todos/packages/in_memory_todos_data_source/README.md b/examples/todos/packages/in_memory_todos_data_source/README.md index 3e017d924..ebfc9ccc1 100644 --- a/examples/todos/packages/in_memory_todos_data_source/README.md +++ b/examples/todos/packages/in_memory_todos_data_source/README.md @@ -61,9 +61,9 @@ open coverage/index.html [logo_white]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_white.png#gh-dark-mode-only [mason_link]: https://github.com/felangel/mason [very_good_coverage_link]: https://github.com/marketplace/actions/very-good-coverage +[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg +[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_ventures_link]: https://verygood.ventures [very_good_ventures_link_light]: https://verygood.ventures#gh-light-mode-only [very_good_ventures_link_dark]: https://verygood.ventures#gh-dark-mode-only -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis [very_good_workflows_link]: https://github.com/VeryGoodOpenSource/very_good_workflows From 2d5ed3923388293f8c4629ac04f0168d3c3d0943 Mon Sep 17 00:00:00 2001 From: Felix Angelov Date: Thu, 21 Aug 2025 14:04:08 -0500 Subject: [PATCH 4/4] fix: coverage --- .../dart_frog_prod_server/hooks/lib/src/exit_overrides.dart | 2 ++ bricks/dart_frog_prod_server/hooks/post_gen.dart | 4 +--- bricks/dart_frog_prod_server/hooks/pre_gen.dart | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/bricks/dart_frog_prod_server/hooks/lib/src/exit_overrides.dart b/bricks/dart_frog_prod_server/hooks/lib/src/exit_overrides.dart index 697843dbb..266af1a35 100644 --- a/bricks/dart_frog_prod_server/hooks/lib/src/exit_overrides.dart +++ b/bricks/dart_frog_prod_server/hooks/lib/src/exit_overrides.dart @@ -3,6 +3,8 @@ import 'dart:io' as io; const _asyncRunZoned = runZoned; +void defaultExit(int code) => ExitOverrides.current?.exit ?? io.exit; + abstract class ExitOverrides { static final _token = Object(); diff --git a/bricks/dart_frog_prod_server/hooks/post_gen.dart b/bricks/dart_frog_prod_server/hooks/post_gen.dart index a563a85fb..c56980bcc 100644 --- a/bricks/dart_frog_prod_server/hooks/post_gen.dart +++ b/bricks/dart_frog_prod_server/hooks/post_gen.dart @@ -5,15 +5,13 @@ import 'package:dart_frog_prod_server_hooks/dart_frog_prod_server_hooks.dart'; import 'package:mason/mason.dart' show HookContext, lightCyan; import 'package:path/path.dart' as path; -void _defaultExit(int code) => ExitOverrides.current?.exit ?? io.exit; - Future run(HookContext context) => postGen(context); Future postGen( HookContext context, { io.Directory? directory, ProcessRunner runProcess = io.Process.run, - void Function(int exitCode) exit = _defaultExit, + void Function(int exitCode) exit = defaultExit, }) async { final projectDirectory = directory ?? io.Directory.current; final buildDirectoryPath = path.join(projectDirectory.path, 'build'); diff --git a/bricks/dart_frog_prod_server/hooks/pre_gen.dart b/bricks/dart_frog_prod_server/hooks/pre_gen.dart index 4e8caf88f..9d257d741 100644 --- a/bricks/dart_frog_prod_server/hooks/pre_gen.dart +++ b/bricks/dart_frog_prod_server/hooks/pre_gen.dart @@ -12,8 +12,6 @@ typedef RouteConfigurationBuilder = RouteConfiguration Function( io.Directory directory, ); -void _defaultExit(int code) => ExitOverrides.current?.exit ?? io.exit; - Future run(HookContext context) => preGen(context); Future preGen( @@ -21,7 +19,7 @@ Future preGen( io.Directory? directory, ProcessRunner runProcess = io.Process.run, RouteConfigurationBuilder buildConfiguration = buildRouteConfiguration, - void Function(int exitCode) exit = _defaultExit, + void Function(int exitCode) exit = defaultExit, Future Function(String from, String to) copyPath = io_expanded.copyPath, }) async { final projectDirectory = directory ?? io.Directory.current;