Skip to content

feat(api_summary): Move api_summary package into the tools monorepo#2412

Merged
kevmoo merged 6 commits into
mainfrom
api_summary
May 28, 2026
Merged

feat(api_summary): Move api_summary package into the tools monorepo#2412
kevmoo merged 6 commits into
mainfrom
api_summary

Conversation

@kevmoo
Copy link
Copy Markdown
Member

@kevmoo kevmoo commented May 20, 2026

  • Copy pkg/api_summary from dart-lang/sdk to pkgs/api_summary.
  • Remove SDK workspace resolution (resolution: workspace).
  • Set specific dependency version constraints instead of any.
  • Add package-specific GitHub Actions workflow (.github/workflows/api_summary.yaml).
  • Update README.md using the repository's readme_update.dart script.
  • Add build status and pub.dev badges to the package-specific README.md.
  • Configure strict analyzer language options and extra lint rules.
  • Format and refactor the code to fully satisfy all new lint rules.

- Copy `pkg/api_summary` from `dart-lang/sdk` to `pkgs/api_summary`.
- Remove SDK workspace resolution (`resolution: workspace`).
- Set specific dependency version constraints instead of `any`.
- Add package-specific GitHub Actions workflow (`.github/workflows/api_summary.yaml`).
- Update `README.md` using the repository's `readme_update.dart` script.
- Add build status and pub.dev badges to the package-specific `README.md`.
- Configure strict analyzer language options and extra lint rules.
- Format and refactor the code to fully satisfy all new lint rules.
@kevmoo kevmoo requested a review from a team as a code owner May 20, 2026 04:47
@github-actions github-actions Bot added the type-infra A repository infrastructure change or enhancement label May 20, 2026
@github-actions
Copy link
Copy Markdown

Package publishing

Package Version Status Publish tag (post-merge)
package:api_summary 0.1.0-wip WIP (no publish necessary)
package:bazel_worker 1.1.5 already published at pub.dev
package:benchmark_harness 2.4.0 already published at pub.dev
package:boolean_selector 2.1.2 already published at pub.dev
package:browser_launcher 1.2.0-wip WIP (no publish necessary)
package:cli_config 0.2.1-wip WIP (no publish necessary)
package:cli_util 0.5.1 already published at pub.dev
package:clock 1.1.3-wip WIP (no publish necessary)
package:code_builder 4.12.0-wip WIP (no publish necessary)
package:coverage 1.15.0 already published at pub.dev
package:csslib 1.0.2 already published at pub.dev
package:extension_discovery 2.1.0 already published at pub.dev
package:file 7.0.2-wip WIP (no publish necessary)
package:file_testing 3.1.0-wip WIP (no publish necessary)
package:glob 2.1.3 already published at pub.dev
package:graphs 2.4.0-wip WIP (no publish necessary)
package:html 0.15.7-wip WIP (no publish necessary)
package:io 1.1.0-wip WIP (no publish necessary)
package:json_rpc_2 4.1.0 already published at pub.dev
package:markdown 7.4.0 ready to publish markdown-v7.4.0
package:mime 2.1.0-wip WIP (no publish necessary)
package:oauth2 2.0.5 already published at pub.dev
package:package_config 2.3.0-wip WIP (no publish necessary)
package:pool 1.5.3-wip WIP (no publish necessary)
package:process 5.0.5 (error) pubspec version (5.0.5) and changelog (5.0.6-wip) don't agree
package:pub_semver 2.2.0 already published at pub.dev
package:pubspec_parse 1.6.0-wip WIP (no publish necessary)
package:source_map_stack_trace 2.1.3-wip WIP (no publish necessary)
package:source_maps 0.10.14-wip WIP (no publish necessary)
package:source_span 1.10.2 already published at pub.dev
package:sse 4.2.0 already published at pub.dev
package:stack_trace 1.12.2-wip (error) pubspec version (1.12.2-wip) and changelog (1.12.2-dev) don't agree
package:stream_channel 2.1.4 already published at pub.dev
package:stream_transform 2.1.2-wip WIP (no publish necessary)
package:string_scanner 1.4.2-wip WIP (no publish necessary)
package:term_glyph 1.2.3-wip WIP (no publish necessary)
package:test_reflective_loader 0.6.0 ready to publish test_reflective_loader-v0.6.0
package:timing 1.0.2 already published at pub.dev
package:unified_analytics 8.0.15 ready to publish unified_analytics-v8.0.15
package:watcher 1.2.2-wip WIP (no publish necessary)
package:yaml 3.1.4-wip WIP (no publish necessary)
package:yaml_edit 2.2.4 already published at pub.dev

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 20, 2026

PR Health

API leaks ✔️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbol Leaking sources

This check can be disabled by tagging the PR with skip-leaking-check.

Unused Dependencies ✔️
Package Status
api_summary ✔️ All dependencies utilized correctly.

For details on how to fix these, see dependency_validator.

This check can be disabled by tagging the PR with skip-unused-dependencies-check.

License Headers ✔️
// Copyright (c) 2026, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

Files
no missing headers

All source files should start with a license header.

Unrelated files missing license headers
Files
pkgs/bazel_worker/benchmark/benchmark.dart
pkgs/coverage/lib/src/coverage_options.dart
pkgs/html/example/main.dart
pkgs/pubspec_parse/test/git_uri_test.dart
pkgs/watcher/test/custom_watcher_factory_test.dart

This check can be disabled by tagging the PR with skip-license-check.

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

This check can be disabled by tagging the PR with skip-changelog-check.

Breaking changes ⚠️
Package Change Current Version New Version Needed Version Looking good?
api_summary Breaking 0.0.0 0.0.0 0.0.0
Report was not created for package:api_summary 0.1.0-wip (dir=/home/runner/work/tools/tools/current_repo/pkgs/api_summary). Error: Error: Exception: Package not available (could not find package api_summary at https://pub.dev).
⚠️

This check can be disabled by tagging the PR with skip-breaking-check.

Coverage ⚠️
File Coverage
pkgs/api_summary/bin/api_summary.dart 💔 Not covered
pkgs/api_summary/example/example.dart 💔 Not covered
pkgs/api_summary/lib/api_summary.dart 💔 Not covered
pkgs/api_summary/lib/src/api_description.dart 💚 95 %
pkgs/api_summary/lib/src/api_summary_customizer.dart 💚 100 %
pkgs/api_summary/lib/src/extensions.dart 💚 100 %
pkgs/api_summary/lib/src/member_sorting.dart 💚 85 %
pkgs/api_summary/lib/src/node.dart 💚 100 %
pkgs/api_summary/lib/src/unique_namer.dart 💚 100 %
pkgs/api_summary/lib/src/uri_sorting.dart 💚 100 %

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new experimental package, api_summary, which generates human-readable text summaries of a Dart package's public API for auditing purposes. The implementation includes a CLI tool, core logic for traversing analyzer elements, and a customizable visitor pattern. Review feedback focuses on improving the robustness of the package as a foundational component. Key issues identified include risky assumptions about the number of analysis contexts, unsafe type casting of file and library results, and logic errors that incorrectly skip factory constructors for enums and sealed or abstract classes.

Comment thread pkgs/api_summary/lib/api_summary.dart
Comment thread pkgs/api_summary/lib/src/api_description.dart Outdated
Comment thread pkgs/api_summary/lib/src/api_description.dart Outdated
Comment thread pkgs/api_summary/lib/src/api_description.dart
Comment thread pkgs/api_summary/lib/src/api_description.dart Outdated
Comment thread pkgs/api_summary/README.md
@kevmoo kevmoo merged commit c436f99 into main May 28, 2026
20 checks passed
@kevmoo kevmoo deleted the api_summary branch May 28, 2026 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type-infra A repository infrastructure change or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants