resend / resend-node

Resend's Official Node.js SDK
MIT License
543 stars 40 forks source link

Error: Cannot find module 'react-dom/server' #405

Open Flaain opened 1 month ago

Flaain commented 1 month ago

Hello, I am trying to use resend on my server, but I am getting an error that is preventing me from even starting the server. The error seems to be related to react-email, but I don't understand why this would be necessary. I would like to use HTML for sending emails. Could you please help me understand what I need to do to fix this issue? Thank you for your assistance.

I also tried downgrading the version from 3.5.0 to 3.4.0 and then to 3.2.0, but the error continued to appear

Error:

Error: Cannot find module 'react-dom/server'
Require stack:
- C:\Users\xxx\Desktop\app\server\node_modules\@react-email\render\dist\node\index.js
- C:\Users\xxx\Desktop\app\server\node_modules\resend\dist\index.js
- C:\Users\xxx\Desktop\app\server\dist\utils\resend\resend.module.js
- C:\Users\xxx\Desktop\app\server\dist\app.module.js
- C:\Users\xxx\Desktop\app\server\dist\main.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Function.Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (C:\Users\xxx\Desktop\app\server\node_modules\@react-email\render\dist\node\index.js:74:30)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)

Deps:

    "dependencies": {
        "@nestjs/common": "^10.0.0",
        "@nestjs/config": "^3.2.1",
        "@nestjs/core": "^10.0.0",
        "@nestjs/event-emitter": "^2.0.4",
        "@nestjs/jwt": "^10.2.0",
        "@nestjs/mongoose": "^10.0.4",
        "@nestjs/passport": "^10.0.3",
        "@nestjs/platform-express": "^10.0.0",
        "@nestjs/platform-socket.io": "^10.3.8",
        "@nestjs/throttler": "^5.1.2",
        "@nestjs/websockets": "^10.3.8",
        "bcrypt": "^5.1.1",
        "cookie-parser": "^1.4.6",
        "mongoose": "^8.2.4",
        "nestjs-zod": "^3.0.0",
        "passport": "^0.7.0",
        "passport-jwt": "^4.0.1",
        "reflect-metadata": "^0.2.0",
        "resend": "^3.5.0",
        "rxjs": "^7.8.1",
        "zod": "^3.22.4"
    },

I just trying to use this dynamic module:


export class ResendModule {
    public static forRoot(key: string): DynamicModule {
        const resend = new Resend(key);

        const resendProvider: Provider = {
            provide: 'RESEND_CLIENT',
            useValue: resend,
        };

        return {
            module: ResendModule,
            providers: [resendProvider],
            exports: [resendProvider],
            global: true,
        };
    }
}
Veri5ied commented 1 month ago

Having similar issue. Old apps are working fine with resend but this new setup is showing:

Error: Cannot find module 'react-dom/server'
Require stack:
- /Users/veri5ied/Documents/gravatar-api/node_modules/@react-email/render/dist/node/index.js
- /Users/veri5ied/Documents/gravatar-api/node_modules/resend/dist/index.js
- /Users/veri5ied/Documents/gravatar-api/dist/mailer/mailer.service.js
- /Users/veri5ied/Documents/gravatar-api/dist/mailer/mailer.module.js
- /Users/veri5ied/Documents/gravatar-api/dist/app.module.js
- /Users/veri5ied/Documents/gravatar-api/dist/main.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/veri5ied/Documents/gravatar-api/node_modules/@react-email/render/dist/node/index.js:74:30)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/veri5ied/Documents/gravatar-api/node_modules/@react-email/render/dist/node/index.js',
    '/Users/veri5ied/Documents/gravatar-api/node_modules/resend/dist/index.js',
    '/Users/veri5ied/Documents/gravatar-api/dist/mailer/mailer.service.js',
    '/Users/veri5ied/Documents/gravatar-api/dist/mailer/mailer.module.js',
    '/Users/veri5ied/Documents/gravatar-api/dist/app.module.js',
    '/Users/veri5ied/Documents/gravatar-api/dist/main.js'
  ]
}

Node.js v21.1.0
afif-nass commented 1 month ago

Similar error in my SvelteKit app:

Cannot find package 'react-dom'

Veri5ied commented 1 month ago

@vcapretz please can you look into this?

horlaarsco commented 1 month ago

I'm getting this too now, I didnt even make any change related to resend but this starts to come up

data-diego commented 1 month ago

import * as React from 'react';

A recent npm release imports the whole react library 🥲

It can be fixed by rolling back to a previous version or by npm install react

KenanYusuf commented 3 weeks ago

I was seeing this issue on a project with react": "17.0.2".

Upgrading to "react": "18.3.1" fixed it for me. Hope this helps others experiencing the issue.

TasseDeCafe commented 3 weeks ago

I am getting the same error after updating to the latest version.