firebase / FirebaseUI-Flutter

Apache License 2.0
92 stars 79 forks source link

firebase_ui_oauth: Pre-compile svg icon assets using `vector_graphics_compiler` #247

Open lesnitsky opened 6 months ago

lesnitsky commented 6 months ago

Discussed in https://github.com/firebase/FirebaseUI-Flutter/discussions/240

Originally posted by **aebrahim** January 4, 2024 The social login icons are packaged as strings containing the raw svg, which are then rendered using `flutter_svg`. However, under the hood, using `flutter_svg` means also including its dependency `vector_graphics_compiler` with the application, which at runtime converts raw svg to a compiled `VectorGraphic` to display. Given that the svg string is known at build time, it is possible to pre-compile it as a `VectorGraphic` at build time. Advantages: 1. Would no longer pull in the `vector_graphics_compiler` dependency, which adds ~180 KB to the build. 2. Slightly more efficient runtime as the precompiled `VectorGraphic` can be a const.