What's felt?
felt stands for "Flutter Engine Local Tester". It's a cli tool that aims to make development in the Flutter web engine more productive and pleasant.
What can felt do?
felt supports multiple commands as follows:
felt check-licenses: Checks that all Dart and JS source code files contain the correct license headers.felt test: Runs all or some tests depending on the passed arguments.felt build: Builds the engine locally so it can be used by Flutter apps. It also supports a watch mode for more convenience.
You could also run felt help or felt help <command> to get more information about the available commands and arguments.
How can I use felt?
Once you have your local copy of the engine setup, it's recommended that you add /path/to/engine/src/flutter/lib/web_ui/dev to your PATH.
Then you would be able to use the felt tool from anywhere:
felt check-licenses
or:
felt build --watch
If you don't want to add felt to your path, you can still invoke it using a relative path like ./web_ui/dev/felt <command>
Configuration files
chrome_lock.yaml contains the version of Chrome we use to test Flutter for
web. Chrome is not automatically updated whenever a new release is available.
Instead, we update this file manually once in a while.
goldens_lock.yaml refers to a revision in the https://github.com/flutter/goldens
repo. Screenshot tests are compared with the golden files at that revision.
When making engine changes that affect screenshots, first submit a PR to
flutter/goldens updating the screenshots. Then update this file pointing to
the new revision.