Adds an experimental `@trustTypes` annotation which can be used during
migration to static interop to preserve the older semantics for JS interop.
Change-Id: Ic00a6c968b15f8c8f5d0840b82db5a6670eaf0eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/241362
Reviewed-by: Riley Porter <rileyporter@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
* Add team "groups" in tools/OWNERS_<group name>.
* Add top-level OWNERS as a fallback.
* Add OWNERS for all top-level directories.
* Add OWNERS to all packages.
For additional background information see go/dart-sdk-owners.
TEST=No op until code-owners is enabled.
Bug: b/200915407
Change-Id: I7fe6116cc599c749cd50ca16151d6d6a801d99d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/229147
Reviewed-by: Jonas Termansen <sortie@google.com>
Updates documentation now that static interop features are
available. This should be the last component before the new
`package:js` version is published.
Change-Id: I9ddb494a5723036ca699bdcf10a000f7670cdfd8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224401
Reviewed-by: Riley Porter <rileyporter@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Roll the version number and constrain the sdk version with this
new roll. Next beta will be 2.16, so use that as the minimum.
Change-Id: I50ac1309255f9553ec2faa21958759e15e7712cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222940
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
With erasure and small changes to RTI, these can be uncommented.
Change-Id: I3fb29cd9984b60a8fde74eb47849436b6cb6dd44
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216273
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Riley Porter <rileyporter@google.com>
strict-casts is mostly a drop-in replacement for the deprecated
`implicit-casts: false` option. One big difference, seen in this CL, is that
strict-casts will report a non-Iterable (or non-Stream) in a for-each loop.
Change-Id: Ibc463ae9c870b6a795483c5dea0d2b856e7fd883
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221546
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Erasure and subtyping need to be handled before we're ready to
expose static interop classes.
Change-Id: Idf939ef196845e4e068276c326d3bfbec54fdd38
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215012
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Adds @staticInterop annotation to allow users to declare static interop
classes. Also adds errors for erroneous usage of static interop
classes, like including instance members or using a non-static
supertype.
Change-Id: I21abafbf6ea6c2eb7cd0425f0a54c1ba35d6ec6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215010
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Changes 'is' checks for JS types such that it no longer does an
instance of check and instead only checks to see if the object
in question is a JS object or appropriate subtype. This means that
any two @JS objects will pass an is check and therefore can be
casted as one another. This makes it consistent with expected
behavior and dart2js.
Also amends the README to reflect the unified behavior.
Change-Id: I11aa105d6cafbbafde482b27dcc1182c0960cce9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173140
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Since opted in, this experiment is redundant.
Change-Id: I528bd726e655cae4c3f4943ed4f3e713edb9921d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171740
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Use a 2.12.0 lower bound since pub does not understand allowed
experiments for earlier versions.
Use a 3.0.0 upper bound to avoid a warning in pub and to give some
flexibility in publishing for stable.
Change-Id: I482e89becc7aa9f1a36298701ade70cbcc39702c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170204
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Change-Id: I4406a3c95993e2c8db4df3932a989f24f6a6ac05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169020
Auto-Submit: Jake Macdonald <jakemac@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
- bumps the meta version so it can be published
- updates sdk constraints to be consistent with all other packages (should have been equivalent anyways)
Change-Id: I83520d291625f13b0029e28aecb9714f365a75b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155460
Reviewed-by: William Hesse <whesse@google.com>
Auto-Submit: Jake Macdonald <jakemac@google.com>
Make some improvements to bump up the pana score on the pub site.
- Make the package description a bit longer.
- Remove some unnecessary `new` and `const`.
Remove the reference to null safety. Drop the min SDK back to 2.0.0
After publish I will restore this. The SDK package config is unchanged
so this shouldn't impact whether tests can run with strong null safety.
Change-Id: I29d41914b1d9c4273fc6334d700be450d22616ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150468
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
We haven't published any of the recent changes to `package:js`, revert
back to the version just after the latest published.
Remove the changelog entry referring to `promiseToFuture`. This was a change in
the SDK libraries and is not associated with any single version of `package:js`.
Remove the author field from the pubspec, it is unused.
Expand the pubspec description.
Change-Id: Id2a37a7c947656a6f5ff4dd577d0e7d32e8e0b61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148188
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
This fixes the dart2js strong tests that are currently failing because
any test importing this library was treated as a mixed mode test.
Change-Id: Id856c9d96dd4253601facdb5db3926dbe636c209
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148280
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Remove sections describing differences between dart2js and ddc that
have since been resolved.
Both ddc and dart2js will require use of `allowInterop` in all but
unlikely edge cases. Both will be strict about argument types and count
as long as `allowInterop` is used.
Other fixes:
- Fix spelling of "supersedes".
- Use `List.from` over `list.cast().toList()` in example.
Change-Id: If4ce0926a4460ed41ddea2714ee3324c60770d62
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136844
Commit-Queue: Nate Bosch <nbosch@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Change-Id: I5bcb7c40be12ee1dc887620281b4807469d67bbb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125729
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
For now stage this in the package:js README - that might not be the best
place for it long term since the details may change...
- Add a note that makes it explicit we expect all interop to use
`package:js` instead of `dart:js`.
- Add notes about known limitations and differences between dart2js and
DDC.
Change-Id: Ib4c967ea1435dd85f41f56646140352b125cee4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107560
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
- Remove some unnecessary details in the README. The SDK constraint
duplicates the pubspec, the dependencies section duplicates automatic
info on the pub site, and the contributing section duplicates generate
Dart/SDK contributing information. The issue link is still useful
since it fills in a template, but we should update it to include a
label by default.
- Use "JavaScript" consistently in docs.
- Rephrase some doc comments for clarity.
- Drop `new` from examples.
- Use consistent single quotes in examples.
- Always show the `@JS()` annotation on `library` in examples.
- Move the note about factory constructors for anonymous classes to the
annotation from the README.
- Bump the mimimum SDK to`2.0.0` since there isn't utility in claiming
support for older SDKs.
There are stale docs remaining in the `varargs.dart` library that should
be handled separately by deleting that library.
Change-Id: Ida51d2ec3fd31210b55dc91042a0ac1cf77210b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107450
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>