Pubspec parser clean-up and tweaks.
Avoid iterating the same thing more than once (lists, strings using indexOf).
Use newer language features where appropriate.
Put repeated code into helper functions.
Package publishing
| Package | Version | Status | Publish tag (post-merge) |
|---|---|---|---|
| package:bazel_worker | 1.1.4 | already published at pub.dev | |
| package:benchmark_harness | 2.4.0-wip | WIP (no publish necessary) | |
| package:boolean_selector | 2.1.2 | already published at pub.dev | |
| package:browser_launcher | 1.1.3 | already published at pub.dev | |
| package:cli_config | 0.2.1-wip | WIP (no publish necessary) | |
| package:cli_util | 0.5.0-wip | WIP (no publish necessary) | |
| package:clock | 1.1.3-wip | WIP (no publish necessary) | |
| package:code_builder | 4.11.0 | already published at pub.dev | |
| 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.3.3-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.0.0 | already published at pub.dev | |
| package:markdown | 7.3.1-wip | WIP (no publish necessary) | |
| package:mime | 2.0.0 | already published at pub.dev | |
| package:oauth2 | 2.0.4 | ready to publish | oauth2-v2.0.4 |
| package:package_config | 2.3.0-wip | WIP (no publish necessary) | |
| package:pool | 1.5.2 | already published at pub.dev | |
| package:process | 5.0.5 | already published at pub.dev | |
| package:pub_semver | 2.2.0 | already published at pub.dev | |
| package:pubspec_parse | 1.5.1-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.1 | already published at pub.dev | |
| package:sse | 4.1.8 | already published at pub.dev | |
| package:stack_trace | 1.12.1 | already published at pub.dev | |
| 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.1 | already published at pub.dev | |
| package:term_glyph | 1.2.3-wip | WIP (no publish necessary) | |
| package:test_reflective_loader | 0.4.0 | already published at pub.dev | |
| package:timing | 1.0.2 | already published at pub.dev | |
| package:unified_analytics | 8.0.6 | ready to publish | unified_analytics-v8.0.6 |
| package:watcher | 1.1.5-wip | WIP (no publish necessary) | |
| package:yaml | 3.1.3 | already published at pub.dev | |
| package:yaml_edit | 2.2.2 | already published at pub.dev |
Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.
PR Health
Breaking changes :heavy_check_mark:
| Package | Change | Current Version | New Version | Needed Version | Looking good? |
|---|---|---|---|---|---|
| pubspec_parse | Non-Breaking | 1.5.0 | 1.5.1-wip | 1.5.1 | :heavy_check_mark: |
This check can be disabled by tagging the PR with skip-breaking-check.
Changelog Entry :exclamation:
| Package | Changed Files |
|---|---|
| package:pubspec_parse | pkgs/pubspec_parse/lib/src/dependency.dart pkgs/pubspec_parse/lib/src/pubspec.dart pkgs/pubspec_parse/lib/src/screenshot.dart |
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.
Coverage :warning:
| File | Coverage |
|---|---|
| pkgs/pubspec_parse/lib/src/dependency.dart | :broken_heart: 71 % :arrow_down: 2 % |
| pkgs/pubspec_parse/lib/src/pubspec.dart | :green_heart: 100 % :arrow_up: 2 % |
| pkgs/pubspec_parse/lib/src/screenshot.dart | :green_heart: 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.
API leaks :heavy_check_mark:
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.
License Headers :heavy_check_mark:
// Copyright (c) 2025, 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/benchmark_harness/integration_test/perf_benchmark_test.dart |
| pkgs/boolean_selector/example/example.dart |
| pkgs/clock/lib/clock.dart |
| pkgs/clock/lib/src/clock.dart |
| pkgs/clock/lib/src/default.dart |
| pkgs/clock/lib/src/stopwatch.dart |
| pkgs/clock/lib/src/utils.dart |
| pkgs/clock/test/clock_test.dart |
| pkgs/clock/test/default_test.dart |
| pkgs/clock/test/stopwatch_test.dart |
| pkgs/clock/test/utils.dart |
| pkgs/coverage/lib/src/coverage_options.dart |
| pkgs/html/example/main.dart |
| pkgs/html/lib/dom.dart |
| pkgs/html/lib/dom_parsing.dart |
| pkgs/html/lib/html_escape.dart |
| pkgs/html/lib/parser.dart |
| pkgs/html/lib/src/constants.dart |
| pkgs/html/lib/src/encoding_parser.dart |
| pkgs/html/lib/src/html_input_stream.dart |
| pkgs/html/lib/src/list_proxy.dart |
| pkgs/html/lib/src/query_selector.dart |
| pkgs/html/lib/src/token.dart |
| pkgs/html/lib/src/tokenizer.dart |
| pkgs/html/lib/src/treebuilder.dart |
| pkgs/html/lib/src/utils.dart |
| pkgs/html/test/dom_test.dart |
| pkgs/html/test/parser_feature_test.dart |
| pkgs/html/test/parser_test.dart |
| pkgs/html/test/query_selector_test.dart |
| pkgs/html/test/selectors/level1_baseline_test.dart |
| pkgs/html/test/selectors/level1_lib.dart |
| pkgs/html/test/selectors/selectors.dart |
| pkgs/html/test/support.dart |
| pkgs/html/test/tokenizer_test.dart |
| pkgs/html/test/trie_test.dart |
| pkgs/html/tool/generate_trie.dart |
| pkgs/pubspec_parse/test/git_uri_test.dart |
| pkgs/stack_trace/example/example.dart |
| pkgs/watcher/test/custom_watcher_factory_test.dart |
| pkgs/yaml_edit/example/example.dart |
This check can be disabled by tagging the PR with skip-license-check.
@lrhn friendly ping - any plans on moving forward with this?