# Packages that have not yet adopted code-excerpt.
#
# This only exists to allow incrementally adopting the new requirement.
# Packages shoud never be added to this list.

# TODO(stuartmorgan): Remove everything from this list. See
# https://github.com/flutter/flutter/issues/102679
- cross_file
- css_colors
- extension_google_sign_in_as_googleapis_auth
- flutter_image
- flutter_markdown
- go_router
- go_router_builder
- multicast_dns
- palette_generator
- pigeon
- pointer_interceptor
- rfw
