fix: handle pre-built V2 functions #6076
Merged
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.
Summary
When the functions server is started with the
loadDistFunctions
parameter, which happens in thenetlify serve
command, we load the compiled version of functions from the.netlify/functions
directory, and we actually extract the ZIP file that would be deployed to production.This means that we don't run zip-it-and-ship-it (since the function is already built), so we can't extract metadata properties like the API version or custom routes. To address this, we're now passing to the registry the contents of the manifest file that is generated when the functions are built, so that we can extract that data.
Additionally, we were previously not considering the new entry point file when running these functions. In this PR, we're checking for its existence and only using the legacy format if the new one doesn't exist.