Skip to content

Commit 8259eeb

Browse files
authored
fix(react-email): files with extension-like suffixes breaking dependency graph (#2317)
1 parent c467b81 commit 8259eeb

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

.changeset/giant-bottles-sell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"react-email": patch
3+
---
4+
5+
fix files with extension-like suffixes (i.e. config, .spec) breaking dependency graph

packages/react-email/src/utils/preview/hot-reloading/create-dependency-graph.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,12 @@ const readAllFilesInsideDirectory = async (directory: string) => {
3434
return allFilePaths;
3535
};
3636

37+
const javascriptExtensions = ['.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs'];
38+
3739
const isJavascriptModule = (filePath: string) => {
3840
const extensionName = path.extname(filePath);
3941

40-
return ['.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs'].includes(extensionName);
42+
return javascriptExtensions.includes(extensionName);
4143
};
4244

4345
const checkFileExtensionsUntilItExists = (
@@ -144,12 +146,17 @@ export const createDependencyGraph = async (directory: string) => {
144146
const pathWithEnsuredExtension = (() => {
145147
if (
146148
extension.length > 0 &&
147-
existsSync(pathToDependencyFromDirectory)
149+
javascriptExtensions.includes(extension)
148150
) {
149-
return pathToDependencyFromDirectory;
151+
if (existsSync(pathToDependencyFromDirectory)) {
152+
return pathToDependencyFromDirectory;
153+
}
154+
return checkFileExtensionsUntilItExists(
155+
pathToDependencyFromDirectory.replace(extension, ''),
156+
);
150157
}
151158
return checkFileExtensionsUntilItExists(
152-
pathToDependencyFromDirectory.replace(extension, ''),
159+
pathToDependencyFromDirectory,
153160
);
154161
})();
155162

0 commit comments

Comments
 (0)