I'm developing an app in flutter and deploying it to Firebase hosting.
Firebase hosting and the firebase serve command for local development let you initialize Firebase from a special auto-generated relative URL (/__/firebase/init.js).
This is nice because it allows me to share my project (on github, for example) without including my Firebase configuration.
Sadly, this does not seem to play nice with flutter run -- if I use flutter run, I lose the special URLs, and if I use firebase serve, I lose flutter's hot reload features.
My current workaround is to have the following local files under my app/web/ directory:
__/firebase/init.js # containing firebase.initializeApp(myFirebaseConfig);
__/firebase/7.1.44/firebase-app.js # manually downloaded from the gstatic cdn
__/firebase/7.1.44/firebase-auth.js
# ... (etc)
This works, but:
- The
__directory actually gets deployed to Firebase. (Not actually a problem, but it seems wrong) - It's annoying to set this up manually in each local development environment.
Ideally, one should be able to firebase login, firebase init, and then flutter serve, and then automagically have access to the /__/ directory.
Is there already some way to make this happen, and if not, how could we implement it?
(For example, is there a way to extend flutter's local http server to take advantage of the logic that's already in the firebase-tools npm module?)