Dynamically invoke correct trigger when running functions emulator with --inspect-functions flag #4232
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #4149, we made large refactor of the Functions Runtime. Namely:
We no longer relied on Functions Runtime to parse triggers. Instead, we use
RuntimeDelegate
, the same procedure used to parse trigger infirebase deploy
command.Each process running the Functions Runtime was bound to a specific trigger.
Unfortunately, this change broke support for
--inspect-function
where users can attach Node Debugger to step through their function when triggered.The debugging experience supported w/
--inspect-function
relies on the fact that a single process executes all function triggers. This is drastically different to how functions run in Production environment, but it is a very useful feature that makes it easy to step through all functions in a single debug session.I wasn't aware of the debugging capabilities when making the refactor. Unfortunately, the debug feature cuts across a strong assumption I've made for the future of Functions Emulator. This is a rather hasty rollback - I'm going to have to think more deeply about how we want the evolve this feature.
Fixes #4189, #4166