Skip to content
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

Firebase in Next.js 14 causes Error: Cannot find module 'undici' #8323

Open
codercatdev opened this issue Jun 18, 2024 · 8 comments
Open

Firebase in Next.js 14 causes Error: Cannot find module 'undici' #8323

codercatdev opened this issue Jun 18, 2024 · 8 comments

Comments

@codercatdev
Copy link

Operating System

macOS 14.5 (23F79)

Browser Version

Version 1.66.118 Chromium: 125.0.6422.147 (Official Build) (arm64)

Firebase SDK Version

10.12.2

Firebase SDK Product:

Auth, Firestore

Describe your project's tooling

Next.js 14, hosted on vercel

Describe the problem

When accessing pages I am getting a 500 error Cannot find module 'undici'. If I try to statically generate these pages it they build but when accessing live they do not render and throw a hard 500.

image

If I remove the static generation and run only on a function they still throw a 500 but the page actually loads.

image image

Everything worked fine until I introduced firebase/auth into the mix

image

Steps and code to reproduce issue

  1. git clone https://github.com/codercatdev/cms-sanity.git
  2. git checkout no-firebase OR git checkout firebase-no-static OR git checkout firebase-with-static

You will then need to host on Vercel as running locally will not show this issue.

@codercatdev codercatdev added new A new issue that hasn't be categoirzed as question, bug or feature request question labels Jun 18, 2024
@jbalidiong jbalidiong added needs-attention and removed new A new issue that hasn't be categoirzed as question, bug or feature request labels Jun 18, 2024
@jbalidiong jbalidiong self-assigned this Jun 18, 2024
@abusada
Copy link

abusada commented Jun 19, 2024

Facing the same issue, I'm using firebase via next-firebase-auth-edge.

The issue happens only on production deployments on vercel, for example it doesn't happen when I make a production build locally.

Even though my logs are full of Error 500:

Error: Cannot find module 'undici'

And in the devtools network panel i see
screenshot- 2024-06-19 at 13 26 34@2x

But the page is served properly and functioning as expected!

I don't know if this should be reported for firebase, vercel, or nextjs! but I'm gonna report it on every repo to make sure it gets the needed attention.

If it helps anyone, here's the require stack displayed with the error:

Error: Cannot find module 'undici'
Require stack:
- /var/task/apps/web/.next/server/app/(logged-out)/signup/page.js
- /var/task/node_modules/.pnpm/[email protected]_@babel [email protected]_@opentelemetry [email protected][email protected]_react-dom@1_w5bu2sx7by3sz6f3kfihanbzuu/node_modules/next/dist/compiled/next-server/server.runtime.prod.js
- /var/task/apps/web/___next_launcher.cjs
- /opt/rust/nodejs.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1145:15)
    at /var/task/node_modules/.pnpm/[email protected]_@babel [email protected]_@opentelemetry [email protected][email protected]_react-dom@1_w5bu2sx7by3sz6f3kfihanbzuu/node_modules/next/dist/compiled/next-server/server.runtime.prod.js:11:28979
    at Module._load (node:internal/modules/cjs/loader:986:27)
    at /opt/rust/nodejs.js:1:11508
    at Function.Wt (/opt/rust/nodejs.js:1:11878)
    at Q.e.<computed>.K._load (/opt/rust/nodejs.js:1:11478)
    at Module.require (node:internal/modules/cjs/loader:1233:19)
    at u.require (/var/task/node_modules/.pnpm/[email protected]_@babel [email protected]_@opentelemetry [email protected][email protected]_react-dom@1_w5bu2sx7by3sz6f3kfihanbzuu/node_modules/next/dist/compiled/next-server/server.runtime.prod.js:11:29195)
    at _require.i.require (/var/task/apps/web/.next/server/chunks/1161.js:22:66784)
    at require (node:internal/modules/helpers:179:18) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/var/task/apps/web/.next/server/app/(logged-out)/signup/page.js',
    '/var/task/node_modules/.pnpm/[email protected]_@babel [email protected]_@opentelemetry [email protected][email protected]_react-dom@1_w5bu2sx7by3sz6f3kfihanbzuu/node_modules/next/dist/compiled/next-server/server.runtime.prod.js',
    '/var/task/apps/web/___next_launcher.cjs',
    '/opt/rust/nodejs.js'
  ],
  digest: '1496355909'
}

@jbalidiong
Copy link
Contributor

Thank you for bringing this to our attention. I tried implementing firebase via next-firebase-auth-edge but I wasn't able to experience any error 'Cannot find module undici'. Aside from Auth, are you using any other Firebase products? Also, I noticed a similar issue filed in Vercel repo. Does rolling back the version to 14.1.4 works on your end?

@SaizFerri
Copy link

SaizFerri commented Jun 30, 2024

I have the same issue. Page loads fine but the first load is always a 500 which is poluting the logs.
I'm on Next.js v14.3.0-canary.24

@DellaBitta
Copy link
Contributor

@SaizFerri Can you test rolling back your version as mentioned above by @jbalidiong?

@SaizFerri
Copy link

@DellaBitta Issue is that I need at least v14.3.0-canary.24 as that version introduced a critical fix to how cookies are set in the middleware, which I also need for auth. :/

@DellaBitta
Copy link
Contributor

Still, if we can pinpoint exactly which version things started to go wrong then we can bring the support case to the Next.js team and ask them what the problem might be.

@SaizFerri
Copy link

@DellaBitta I see what you mean but that app is running on production so I can't easily downgrade the Next.js version there. I can try on our dev env and keep a look at the logs.

@DellaBitta
Copy link
Contributor

Hi @SaizFerri,

that would be very helpful since we can't reproduce it ourselves. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants