Skip to content

Commit aa375e4

Browse files
committed
improve error message for when it can't import renderAsync from either @react-email/render or @react-email/components
1 parent 6a0d5c6 commit aa375e4

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

packages/react-email/src/utils/get-email-component.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { type RawSourceMap } from 'source-map-js';
66
import {
77
type OutputFile,
88
build,
9+
type ResolveOptions,
910
type BuildFailure,
1011
type Loader,
1112
} from 'esbuild';
@@ -49,26 +50,22 @@ export const getEmailComponent = async (
4950
b.onResolve(
5051
{ filter: /^react-email-module-that-will-export-render$/ },
5152
async (args) => {
52-
let result = await b.resolve('@react-email/render', {
53+
const options: ResolveOptions = {
5354
kind: 'import-statement',
5455
importer: args.importer,
5556
resolveDir: args.resolveDir,
5657
namespace: args.namespace,
57-
});
58+
};
59+
let result = await b.resolve('@react-email/render', options);
5860
if (result.errors.length === 0) {
5961
return result;
6062
}
6163

6264
// If @react-email/render does not exist, resolve to @react-email/components
63-
result = await b.resolve('@react-email/components', {
64-
kind: 'import-statement',
65-
importer: args.importer,
66-
resolveDir: args.resolveDir,
67-
namespace: args.namespace,
68-
});
65+
result = await b.resolve('@react-email/components', options);
6966
if (result.errors.length > 0) {
7067
result.errors[0]!.text =
71-
"Trying to resolve `renderAsync` from both `@react-email/render` and `@react-email/components` to be able to render your email template. Maybe you don't have the required dependencies installed?";
68+
"Failed trying to import `renderAsync` from either `@react-email/render` or `@react-email/components` to be able to render your email template.\n Maybe you don't have either of them installed?";
7269
}
7370
return result;
7471
},

0 commit comments

Comments
 (0)