dart-sdk/pkg
Nicholas Shahan 6bafe2fbf7 [dart2js] Seal Object prototype in browser tests
Ensures there is no dependency on modifying the native JavaScript
Object prototype by preventing modifications when running browser
tests.

Change-Id: Ifb22018736f90b339b9c60bbab095fb3e1c483e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320842
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-10-26 17:00:21 +00:00
..
_fe_analyzer_shared Improve the behavior of "why not promoted" when field promotion disabled. 2023-10-25 19:41:26 +00:00
_js_interop_checks [kernel] Add ExtensionTypeDeclaration.procedures 2023-10-13 07:42:29 +00:00
analysis_server Revert "Add a pass to dart fix for pubspec changes" 2023-10-26 15:15:19 +00:00
analysis_server_client Add a method to BulkFixProcessor to compute changes to pubspec 2023-10-16 21:54:25 +00:00
analyzer [analysis_server] Fix LSP "Fix All" command for part files 2023-10-26 14:11:12 +00:00
analyzer_cli Support for # ignore: comments in pubspec.yaml 2023-10-13 12:44:09 +00:00
analyzer_plugin Complete in the representation field 2023-10-19 21:08:32 +00:00
analyzer_utilities
async_helper [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
bisect_dart [bisect_dart] Enable further analysis for bisect_dart tool 2023-10-24 16:21:14 +00:00
build_integration
compiler [dart2js] Small improvements in emitting JS. 2023-10-26 16:00:51 +00:00
dap [dds/dap] Use super-params in generated code 2023-09-26 20:31:43 +00:00
dart2js_info [dart2js_info] Add 'main-only' option to info diff. 2023-10-24 21:38:42 +00:00
dart2js_runtime_metrics [ddc] Update for extra null safety checks in RTI 2023-10-19 21:32:15 +00:00
dart2js_tools [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
dart2native [Reland] [dartdev] Convert gen_kernel.dart.snapshot into an AOT snapshot 2023-09-26 21:46:58 +00:00
dart2wasm [cfe] Add TypeDeclarationType and asInstanceOf 2023-10-26 08:46:48 +00:00
dart_internal
dartdev Revert "Add a pass to dart fix for pubspec changes" 2023-10-26 15:15:19 +00:00
dds [dds/dap] Switch to using isGetter isntead of checking _kind 2023-10-24 17:39:36 +00:00
dds_service_extensions Split package:vm_service into package:vm_service and package:vm_service_interface 2023-10-23 17:00:10 +00:00
dev_compiler [cfe] Add TypeDeclarationType and asInstanceOf 2023-10-26 08:46:48 +00:00
expect [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
front_end [cfe] Support inherited combined member signatures 2023-10-26 09:56:05 +00:00
frontend_server [frontend_server] Cleanup license headers 2023-10-18 06:59:38 +00:00
heap_snapshot Use for-each statement, not 'forEach' method. 2023-10-20 15:32:49 +00:00
js
js_ast [web] do not run most 'pkg' suite on web compilers 2023-10-20 19:08:17 +00:00
js_runtime [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
js_shared [dart2js][ddc] Make rti universe field names const 2023-10-09 21:12:48 +00:00
kernel [cfe] Add TypeDeclarationType and asInstanceOf 2023-10-26 08:46:48 +00:00
language_versioning_2_7_test
linter rule generation codegen tweaks 2023-10-19 16:42:25 +00:00
meta meta 1.11.0 2023-10-10 22:21:05 +00:00
mmap
modular_test [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
native_stack_traces Bump package:lints to the latest; address instances of new lints. 2023-09-25 21:15:15 +00:00
nnbd_migration Improve the behavior of "why not promoted" when field promotion disabled. 2023-10-25 19:41:26 +00:00
scrape [VM] Remove observatory_2 directory and all references to it. 2023-10-16 17:45:46 +00:00
service_extension_router Initial Implementation for Service Extension Router 2023-10-24 21:58:21 +00:00
smith [infra,dart2wasm] Add dart2wasm Firefox test configurations 2023-09-29 12:54:12 +00:00
sourcemap_testing
status_file [test] Remove ARM64-specific status entries. 2023-10-09 19:30:29 +00:00
telemetry
test_runner [dart2js] Seal Object prototype in browser tests 2023-10-26 17:00:21 +00:00
testing
vm [vm/compiler] Improve CreateArray compile type 2023-10-26 12:40:02 +00:00
vm_service [ package:vm_service ] Cleanup for 13.0.0 release 2023-10-25 14:02:42 +00:00
vm_service_interface [ package:vm_service ] Cleanup for 13.0.0 release 2023-10-25 14:02:42 +00:00
vm_service_protos [deps] rev package:protobuf 2023-10-23 21:21:30 +00:00
vm_snapshot_analysis
wasm_builder [wasm_builder] Remove duplicate LICENSE file 2023-10-23 12:16:14 +00:00
.gitignore
analysis_options.yaml
BUILD.gn
OWNERS
pkg.dart [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
pkg.status [web] do not run most 'pkg' suite on web compilers 2023-10-20 19:08:17 +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