dart-sdk/pkg
Paul Berry b1130abfb2 Migration: make warnOnWeakCode flag non-nullable.
The migration of the migration tool was done hastily (because it was
not expected to need much more maintenance) so it contains a lot of
nullable fields that don't need to be nullable.  I've been cleaning
them up as I run across them in order to unblock other work.  This is
one such cleanup.

Bug: https://github.com/dart-lang/sdk/issues/49601
Change-Id: I68413e23f565bc9d38af3345d28059d734a3c689
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256021
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2022-08-23 00:55:50 +00:00
..
_fe_analyzer_shared Flow analysis: rework some testing logic in preparation for pattern support. 2022-08-22 22:59:26 +00:00
_js_interop_checks [dart2wasm] Fix some js interop related issues. 2022-08-08 17:29:40 +00:00
analysis_server [bulk fix] report undefined diagnostics 2022-08-18 16:11:36 +00:00
analysis_server_client [bulk fix] report undefined diagnostics 2022-08-18 16:11:36 +00:00
analyzer Use shared typeString() from StringTypes mixin. 2022-08-22 21:09:05 +00:00
analyzer_cli Replace more Bazel with Blaze, some simplifications. 2022-08-15 19:50:46 +00:00
analyzer_plugin Add more documentation to the server package 2022-08-11 17:05:38 +00:00
analyzer_utilities [analysis_server] minor cleanups to analysis server spec generation 2022-06-27 17:21:02 +00:00
async_helper Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
build_integration [pkg/build_integration] analyze using package:lints 2022-07-07 20:59:08 +00:00
compiler Eliminate dynamic calls to remove and tagName. 2022-08-22 17:27:39 +00:00
dart2js_info [dart2js] Corrected package and library size calculation 2022-08-12 18:30:43 +00:00
dart2js_runtime_metrics [dart2js] Updating runtime allocations to store a JSON-decoded map instead of a JSON string 2022-08-06 00:02:37 +00:00
dart2js_tools [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
dart2native [pkg/dart2native] Print signing failure diagnostics to stderr. 2022-07-01 12:25:47 +00:00
dart2wasm [dart2wasm] Implement dynamic naively. 2022-08-22 21:33:29 +00:00
dart_internal [dart_internal] Support 2.19 2022-07-19 09:00:36 +00:00
dartdev [dartdev] This adds the ability for the Dart CLI to use the Resident Frontend Compiler for faster start times. 2022-08-18 17:01:34 +00:00
dds Mark env as required on DartAttachRequestArguments 2022-08-08 13:33:20 +00:00
dds_service_extensions [pkg] use package:lints when analying pkg/ 2022-07-07 14:29:22 +00:00
dev_compiler [pkg:js] Add JsInteropChecks to Wasm backend 2022-08-19 17:48:38 +00:00
expect [pkg] use package:lints when analyzing pkg/smith, pkg/expect 2022-07-06 22:29:24 +00:00
front_end Flag additional code as unreachable due to types Null and Never. 2022-08-22 16:50:19 +00:00
frontend_server [frontend_server] These changes ensure that only 1 resident_frontend_server is running when multiple entities request to start the compilation server. Only 1 server is allowed to exist per server information file. Multiple resident_frontend_servers may exist if the user passes in different files each time a server is spawned. 2022-08-16 20:44:42 +00:00
js Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
js_ast [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
js_runtime [pkg] use package:lints for pkg/_js_interop_checks, pkg/js_runtime 2022-07-18 17:27:53 +00:00
js_shared [pkg/js_shared] address a few analysis issues 2022-06-23 23:34:18 +00:00
kernel [cfe] Add Field.isEnumElement 2022-08-22 05:44:57 +00:00
language_versioning_2_7_test [pkg] ignore some intentional analysis issues 2022-07-01 20:04:10 +00:00
meta Report invalid mustCallSuper annotation targets 2022-07-28 17:48:15 +00:00
modular_test Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
native_stack_traces [vm] Add OS and architecture to non-symbolic stack traces. 2022-08-05 11:53:37 +00:00
nnbd_migration Migration: make warnOnWeakCode flag non-nullable. 2022-08-23 00:55:50 +00:00
scrape Deprecate 'name' in AST, use 'name2' token instead. 2022-08-02 16:25:34 +00:00
smith [vm] Add a stub simx64. 2022-07-29 18:11:01 +00:00
sourcemap_testing [ddc] Migrate sourcemap and stacktrace tests 2022-06-22 22:05:25 +00:00
status_file [pkg/status_file] analyze using package:lints 2022-07-06 22:48:35 +00:00
telemetry [pkg] use package:lints when analying pkg/ 2022-07-07 14:29:22 +00:00
test_runner [dart2wasm] Initial async/await support based on Promise integration 2022-08-19 07:11:18 +00:00
testing [testing] Remove language version from generated library 2022-07-12 10:51:17 +00:00
vm [vm/aot/tfa] Tree-shake unused late final instance fields with initializer 2022-08-22 16:24:19 +00:00
vm_service [ Service / Timeline ] Enable Compiler, Dart, and GC timeline streams when --observe is provided 2022-08-15 21:02:36 +00:00
vm_snapshot_analysis [CFE] Remove support for .packages file 2022-06-24 08:20:39 +00:00
wasm_builder [dart2wasm] Convert to/from externref via Wasm instructions 2022-08-19 07:11:18 +00:00
.gitignore [cleanup] Remove remaining references to analysis_server language model 2022-05-30 11:27:42 +00:00
BUILD.gn
OWNERS [infra] validate pkg/ dep ranges against the packages DEP'd in 2022-04-19 19:25:47 +00:00
pkg.status [gardening] Mark pkg/vm/test/kernel_front_end_test as Slow 2022-07-18 17:07:43 +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