dart-sdk/pkg
Martin Kustermann aadac65a2e [dart2wasm] Faster string equality
There should be no need to use polymorphic `.codeUnitAt()` calls in
the common case: comparing OneByteString with OneByteString, etc

This increases e.g. LongStringCompare.* benchmarks by 600+%

Change-Id: I1b7b2b53f35237d1ddc1c177c01728629a4acf40
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/352020
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2024-02-12 14:06:50 +00:00
..
_fe_analyzer_shared Change packages analyzer and _fe_analyzer_shared to use language version 3.2. 2024-02-09 14:19:30 +00:00
_js_interop_checks [jsinterop] fix lowering of callMethod unchecked calls. 2024-02-09 01:59:46 +00:00
analysis_server Extension type. Implement isIncompatibleWithAwait() predicate, report AWAIT_OF_INCOMPATIBLE_TYPE. 2024-02-09 22:11:21 +00:00
analysis_server_client [analysis_server] Add a supportsUris client capability for legacy server to switch into URI mode 2024-02-01 22:19:00 +00:00
analyzer Macro. Tests for 'typeParameters' in FunctionTypeAnnotation. 2024-02-10 01:08:28 +00:00
analyzer_cli Reland Workspace changes. 2024-02-05 17:33:09 +00:00
analyzer_plugin Legacy. Deprecate 'withNullability' in getDisplayString() methods. 2024-02-07 01:25:38 +00:00
analyzer_utilities final -> var for analyzer_utilities 2024-01-12 22:29:37 +00:00
async_helper
bisect_dart Remove the legacy "_2" tests. \o/ 2023-11-17 20:17:23 +00:00
build_integration
compiler Add missing closing quotes to examples 2024-02-11 01:41:02 +00:00
dart2js_info [dart2js] Fix dump-info tests by starting indexing at 0 instead of 1. 2024-01-12 21:51:51 +00:00
dart2js_runtime_metrics [dart2js] Expose JS_TRUE and JS_FALSE via dart2js_runtime_metrics. 2024-02-09 18:38:55 +00:00
dart2js_tools [pkg] switches the default linting for pkg/ packages to dart_flutter_team_lints 2023-11-11 01:52:16 +00:00
dart2native [ dart2native ] Remove unused constant 2024-02-08 19:51:11 +00:00
dart2wasm [dart2wasm] Faster string equality 2024-02-12 14:06:50 +00:00
dart_internal
dart_service_protocol_shared Fix streamNotify so that it works with binary data 2023-11-22 21:06:50 +00:00
dartdev [ CLI ] Make dart {compile,build} error exit codes consistent on Windows 2024-02-09 22:47:39 +00:00
dds [dds] [dap] Treat "Client is closed" errors the same as "Client closed with pending request" for DAP 2024-02-07 17:56:10 +00:00
dds_service_extensions [ DDS ] Migrate DDS specific tests from service/ and update package:dds_service_extensions to 1.7.0 2024-01-26 22:45:14 +00:00
dev_compiler [dart2js, ddc] Clean up conditional imports in dart2js_runtime_metrics 2024-02-09 18:38:55 +00:00
dtd Adding types to DTD service and extension exports 2023-12-27 20:19:39 +00:00
dtd_impl Solidify, test and document DTD errors 2024-01-18 16:07:31 +00:00
expect [expect] remove top-level dart2jsProductionMode and webNumbers. 2024-02-08 17:00:59 +00:00
front_end [CFE] Exclude deleted files from presubmit checks. 2024-02-12 08:43:58 +00:00
frontend_server [CFE et al] Optimize presubmit scripts 2024-01-31 10:41:20 +00:00
heap_snapshot [pkg] switches the default linting for pkg/ packages to dart_flutter_team_lints 2023-11-11 01:52:16 +00:00
js [pkg:js] Update changelog to better comment breaking change in 0.7.0 2024-01-05 21:16:11 +00:00
js_ast [js_ast] Fix js_ast printer bugs 2024-01-20 02:06:59 +00:00
js_runtime
js_shared [web] Move Variance to js_shared/lib/ for shared use. 2023-12-22 18:16:01 +00:00
kernel [CFE/kernel] Fix relink bug with ExtensionTypeDeclaration 2024-02-12 11:08:22 +00:00
language_versioning_2_12_test Upgrade pkg/language_versioning_2_7_test to 2.12/2.13. 2023-12-12 17:45:13 +00:00
linter Extension type. Implement isIncompatibleWithAwait() predicate, report AWAIT_OF_INCOMPATIBLE_TYPE. 2024-02-09 22:11:21 +00:00
meta Prepare package:meta for publish 2024-02-05 14:05:29 +00:00
mmap Revert "[ffi]: Remove pointer elementAt method." 2024-01-22 12:20:48 +00:00
modular_test [expect] introduce package:expect/requirement.dart 2024-02-08 01:48:24 +00:00
native_stack_traces Also add global owners to CFE/VM packages 2023-11-27 14:35:52 +00:00
scrape [scrape] Use dart_flutter_team_lints as base for analysis 2023-12-07 17:57:31 +00:00
smith [test_runner] Rename host-checked to host-asserts 2024-02-08 22:01:09 +00:00
sourcemap_testing Include ARM64 when uploading d8. 2023-11-21 17:15:20 +00:00
status_file [test_runner] Rename host-checked to host-asserts 2024-02-08 22:01:09 +00:00
telemetry
test_runner Revert "[ddc] Fix running d8 with test.py" 2024-02-09 18:25:56 +00:00
testing [package:testing] Reset the isolates errors fatal option 2024-02-05 14:38:05 +00:00
vm [cfe/ffi] Reformat code 2024-02-09 21:27:29 +00:00
vm_service [VM/Service] Update dart:io service extension spec 2024-02-06 19:26:06 +00:00
vm_service_interface [vm] Bump service protocol to 4.14 and hide implementation 2024-01-16 18:25:18 +00:00
vm_service_protos Also add global owners to CFE/VM packages 2023-11-27 14:35:52 +00:00
vm_snapshot_analysis Also add global owners to CFE/VM packages 2023-11-27 14:35:52 +00:00
wasm_builder [dart2wasm] Outline <obj> is/as <type> checks to shared helper functions 2024-02-12 12:06:07 +00:00
.gitignore
analysis_options.yaml [pkg] switches the default linting for pkg/ packages to dart_flutter_team_lints 2023-11-11 01:52:16 +00:00
BUILD.gn
OWNERS
pkg.dart [pkg] switches the default linting for pkg/ packages to dart_flutter_team_lints 2023-11-11 01:52:16 +00:00
pkg.status analyzer/test/src/summary/macro_test: Slow, Pass 2024-02-09 23:47:32 +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