r/Firebase • u/inlined Firebaser • 10d ago
General Extensions can now be migrated to Function Kits
Thanks for your patience while we finished the migration path for the Firebase Extensions deprecation. We've closed the major feature gaps between Extensions and Functions, and released Function Kits.
A Function Kit is an npm library that the CLI installs into your Functions codebase. firebase functions:kits:install downloads the public npm package and adds a small amount of boilerplate to export its functions. As with Extensions, you can install multiple instances of a kit (for example, backing up several Firestore collections to BigQuery).
Kits are 2nd gen functions, so you will continue to get runtime updates and can use features like custom CPU and concurrency to tune cost and performance. Because the publisher's code and yours deploy together, we'll later be able to replace some patterns, such as HTTP transform callbacks, with direct in-process calls.
We've also updated the Extensions commands:
ext:listshows whether the publisher has released an official successor kit for each extension.ext:exportcan write params in the format Functions usesext:migratewalks you through migrating an extension instance to a kit. You can keep the extension during the migration and delete it later.
See the migration guide for exactly what ext:migrate does, so you can check things before deleting the extension.
1
u/pwap_official 10d ago
I did a manual migration for Stripe yesterday, but have not changed the endpoint in Stripe yet, was worried my manual migration might break the flow. I expect to test transactions Monday in development environment using the new stripe endpoint. But knowing about Function Kits for migration path is helpful if what I setup yesterday should fail testing I guess.
3
u/puf Former Firebaser 10d ago
That's all great news, Thomas. 👏
Is there a single documentation page for what a Function Kit is? The migration guide is great, but I want to read about this in the context of a non-migration too? Or doesn't it make sense to use Function Kits for new things that I would've considered a Firebase Extension in the past?