dart-sdk/pkg
Paul Berry 5106605af6 Fix context type for conditionals of conditional expressions.
Fixes #48199.

Bug: https://github.com/dart-lang/sdk/issues/48199
Change-Id: I8483e87e4680c1f3ab97f58818eeaa57dec78b07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/229500
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-01-24 01:25:38 +00:00
..
_fe_analyzer_shared implement the remaining definition phase macros, as well as all declaration phase macros 2022-01-21 16:16:00 +00:00
_js_interop_checks [pkg:js] Filter synthetic procedures from static interop errors 2021-12-10 18:36:00 +00:00
analysis_server Test for enum constants with isNotImportedFeature, simplify it. 2022-01-22 00:11:00 +00:00
analysis_server_client Add Element.libraryUri and CompletionSuggestion.isNotImported 2022-01-11 19:53:14 +00:00
analyzer Fix context type for conditionals of conditional expressions. 2022-01-24 01:25:38 +00:00
analyzer_cli Stop using the remaining methods of StringUtilities. 2021-12-11 18:50:01 +00:00
analyzer_plugin Issue 48184. Fix suggesting local function returning void in named argument. 2022-01-20 23:45:57 +00:00
analyzer_utilities Use use check() for the new completion request suggestion tests. 2022-01-11 16:31:24 +00:00
async_helper Simplify asyncExpectThrows and enhance Expect.throws. 2022-01-06 17:06:47 +00:00
build_integration Migrate pkg/build_integration to null safety 2021-07-17 15:45:04 +00:00
compiler [dart2js] minor tweaks to dart2js help message. 2022-01-21 21:05:00 +00:00
dart2js_info [dart2js] Adding initial tooling support for runtime code analysis. 2022-01-21 18:53:51 +00:00
dart2js_runtime_metrics [dart2js_runtime_metrics] Allow exporting internal library 2021-08-12 22:47:22 +00:00
dart2js_tools [dart2js] Migrate dart2js_tools to null safety 2021-10-08 23:54:54 +00:00
dart2native [vm] Bump max ELF page size to 64K 2021-11-16 16:23:36 +00:00
dart_internal Use new strict-casts option in dart_internal 2021-12-20 20:13:33 +00:00
dartdev Adding a few more dartdoc flags, 2022-01-23 18:42:06 +00:00
dds [ DDS ] Handle case where requested DDS port is already in use 2022-01-19 22:43:37 +00:00
dds_service_extensions Add license file to dds_service_extensions 2022-01-12 17:39:33 +00:00
dev_compiler [cfe] Change encoding of supported dart: libraries 2022-01-11 14:52:38 +00:00
diagnostic master branch to main 2021-09-15 06:22:23 +00:00
expect [gardening] Fix env_test/has_mirror_support. 2022-01-14 23:33:11 +00:00
front_end Revert "[vm/ffi] Add common C types" 2022-01-21 17:05:42 +00:00
frontend_server [cfe] Change encoding of supported dart: libraries 2022-01-11 14:52:38 +00:00
js [pkg:js] Update CHANGELOG, README, and WORKAROUNDS 2021-12-16 03:11:57 +00:00
js_ast [js_ast] Split VariableInitialization from Assignment 2022-01-05 17:50:04 +00:00
js_runtime [dart2js] Add dart:_dart2js_runtime_metrics library and package 2021-08-03 18:25:00 +00:00
kernel [dart:ffi] Only operate on transitive dependencies of dart:ffi 2022-01-17 09:43:14 +00:00
language_versioning_2.7_test
meta Fix a typo 2021-12-02 11:37:31 +00:00
modular_test [gardening] Fix env_test/has_mirror_support. 2022-01-14 23:33:11 +00:00
native_stack_traces [pkg/native_stack_traces] Bump version number for publishing. 2022-01-03 13:04:25 +00:00
nnbd_migration Stop calling InferenceContext.getContext() from migration tool. 2022-01-22 17:05:18 +00:00
scrape Script to scrape corpus to evaluate "super." parameter proposals. 2021-10-01 18:54:48 +00:00
smith [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
sourcemap_testing Updating pkg:sourcemap_testing function resolution for method definition syntax. 2021-07-08 22:59:17 +00:00
status_file Allow pub get/upgrade to run on a number of packages in pkg/ 2021-10-27 23:15:56 +00:00
telemetry telemetry: Use the new strict-casts instead of deprecated no-implicit-casts 2021-12-20 22:33:43 +00:00
test_runner [test_runner]: launch dart2js via 'dart compile js'. 2022-01-21 16:42:40 +00:00
testing Replace a bunch of references to .packages 2021-10-12 20:16:15 +00:00
vm [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
vm_service [vm] Adding branch coverage RPC to source report 2022-01-12 19:12:04 +00:00
vm_snapshot_analysis Fix windows extension 2021-08-24 18:01:23 +00:00
.gitignore Ignore .dart_tool and .packages in pkg dir 2021-09-24 15:22:08 +00:00
BUILD.gn
pkg.status [dart2js] Skip dump_info unit test that times out 2021-10-07 15:40:42 +00:00
README.md

Package validation

The packages in pkg/ are automatically validated on the LUCI CI bots. The validation is largely done by the tools/package_deps package; it can be tested locally via:

dart tools/package_deps/bin/package_deps.dart

Packages which are published

There are several packages developed in pkg/ which are published to pub. Validation of these packages is particularly important because the pub tools are not used for these packages during development; we get our dependency versions from the DEPS file. Its very easy for the dependencies specified in a package's pubspec file to get out of date wrt the packages and versions actually used.

In order to better ensure we're publishing correct packages, we validate some properties of the pubspec files on our CI system. These validations include:

  • that the dependencies listed in the pubspec are used in the package
  • that all the packages used by the source are listed in the pubspec
  • that we don't use relative path deps to pkg/ or third_party/ packages

Packages which are not published

For packages in pkg/ which we do not intend to be published, we put the following comment in the pubspec.yaml file:

# This package is not intended for consumption on pub.dev. DO NOT publish.
publish_to: none

These pubspecs are still validated by the package validation tool. The contents are more informational as the pubspecs for these packages are not consumed by the pub tool or ecosystem.

We validate:

  • that the dependencies listed in the pubspec are used in the package
  • that all the packages used by the source are listed in the pubspec
  • that a reference to a pkg/ package is done via a relative path dependency