Skip to content

fix(functions,emulators): loadTriggers() with top level await #8394

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

muryoh
Copy link

@muryoh muryoh commented Apr 1, 2025

Description

Context: ESM functions with firestore triggers
The expected behavior of loadTriggers() is to
try and require() the function entrypoint,
falling back to dynamic import() when node raises a ERR_REQUIRE_ESM error. But node may also raise an ERR_REQUIRE_ASYNC_MODULE error when the module has top level awaits

This commit simply makes it so ERR_REQUIRE_ASYNC_MODULE also falls back to import()

Scenarios Tested

Tested on our (private) repo

Let me know if tests need to be added/updated :)

Context: ESM functions with firestore triggers
The expected behavior of `loadTriggers()` is to
try and `require()` the function entrypoint,
falling back to dynamic `import()` when node raises
a ERR_REQUIRE_ESM error. But node may also raise an
ERR_REQUIRE_ASYNC_MODULE error when the module has top
level awaits

This commit simply makes it so ERR_REQUIRE_ASYNC_MODULE also
falls back to `import()`
Copy link

google-cla bot commented Apr 1, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@joehan joehan requested a review from taeold April 1, 2025 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant