# 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
- camera_web
- cross_file
- css_colors
- espresso
- extension_google_sign_in_as_googleapis_auth
- flutter_image
- flutter_markdown
- go_router
- go_router_builder
- google_maps_flutter/google_maps_flutter
- google_sign_in/google_sign_in
- google_sign_in_web
- image_picker_for_web
- in_app_purchase/in_app_purchase
- ios_platform_images
- multicast_dns
- palette_generator
- pigeon
- plugin_platform_interface
- pointer_interceptor
- quick_actions/quick_actions
- rfw
- webview_flutter_android
- webview_flutter_web
