From 2fccab89dc4acd96b3d9fc813f4830c6b7b8538b Mon Sep 17 00:00:00 2001 From: dschom Date: Wed, 28 Jan 2026 16:43:11 -0800 Subject: [PATCH] bug(auth): Fixing missing email templates for production build --- libs/accounts/email-renderer/project.json | 6 +++++- .../email-renderer/src/renderer/bindings-node.ts | 4 +++- packages/fxa-auth-server/scripts/copy-assets.sh | 15 +++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/libs/accounts/email-renderer/project.json b/libs/accounts/email-renderer/project.json index e787dfe4284..176eae4ce15 100644 --- a/libs/accounts/email-renderer/project.json +++ b/libs/accounts/email-renderer/project.json @@ -26,7 +26,11 @@ "outputPath": "dist/libs/accounts/email-renderer", "main": "libs/accounts/email-renderer/src/index.ts", "tsConfig": "libs/accounts/email-renderer/tsconfig.lib.json", - "assets": ["libs/accounts/email-renderer/*.md"], + "assets": [ + "libs/accounts/email-renderer/*.md", + "libs/accounts/email-renderer/src/**/*.txt", + "libs/accounts/email-renderer/src/**/*.mjml" + ], "format": ["cjs"], "generatePackageJson": true } diff --git a/libs/accounts/email-renderer/src/renderer/bindings-node.ts b/libs/accounts/email-renderer/src/renderer/bindings-node.ts index 099497d17e9..da5fc7f962f 100644 --- a/libs/accounts/email-renderer/src/renderer/bindings-node.ts +++ b/libs/accounts/email-renderer/src/renderer/bindings-node.ts @@ -64,10 +64,12 @@ export class NodeRendererBindings extends RendererBindings { } async fetchResource(path: string): Promise { + if (!existsSync(path)) { + throw new Error('Resource file does not exist: ' + path); + } const raw = readFileSync(path, { encoding: 'utf8', }); - return raw; } diff --git a/packages/fxa-auth-server/scripts/copy-assets.sh b/packages/fxa-auth-server/scripts/copy-assets.sh index b5c68510c11..4416bf74129 100755 --- a/packages/fxa-auth-server/scripts/copy-assets.sh +++ b/packages/fxa-auth-server/scripts/copy-assets.sh @@ -8,3 +8,18 @@ xargs -L1 bash -c 'mkdir -p dist/packages/fxa-auth-server/$0' find config lib scripts bin public -type f | \ grep --invert -E "\.js$|\.ts$|\.sh" | \ xargs -L1 bash -c 'cp $0 dist/packages/fxa-auth-server/$0' + +# Copy email templates into dist... +# Note that if we ran off the dist folder in the monorepo root we would not have this problem. +cd ../.. + +# First create all the directories +find dist/libs/accounts/email-renderer -type d | \ +xargs -L1 bash -c 'mkdir -p packages/fxa-auth-server/$0' + +# Then copy the template files +find dist/libs/accounts/email-renderer -type f | \ +grep -E "\.mjml$|\.txt$" | \ +xargs -L1 bash -c 'cp $0 packages/fxa-auth-server/$0' + +cd packages/fxa-auth-server