
Removes package:js and uses dart:js_interop instead This is taken directly from https://github.com/flutter/flutter/pull/164254 and will be iterated on. ---- Initial commit is the original PR % rebasing. Follow-up commits address test/analysis failures and commits after those clean up JS interop code: - Remove remaining uses of `@staticInterop`. - Code that uses JSBoolean, JSString, or JSNumber are mostly historical relics due to not supporting primitives in externals. Remove the redirecting functions and let the compiler handles the conversions. - Replace domInstanceOfString calls with isA and add @JS annotations to all extension types where needed. - Remove unnecessary @JS annotations. - Remove unneeded implements JSObject clauses. - Standardize naming of extension types in some cases. - Remove JSVoid in favor of void. - Enabled invalid_runtime_checks_with_js_interop_types lint. - Removed unnecessary JSUint8Array constructors. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [ ] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [ ] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. --------- Co-authored-by: Kevin Moore <kevmoo@google.com>
Flutter Engine
Setting up the Engine development environment
See here
gclient
bootstrap
Flutter engine uses gclient
to manage dependencies.
If you've already cloned the flutter repository: