import { existsSync } from 'fs'; import { readFile } from 'fs/promises'; import Handlebars from 'handlebars'; import { join as pathJoin } from 'path'; import * as GenericHelpers from '@/GenericHelpers'; import config from '@/config'; import { InviteEmailData, PasswordResetData, SendEmailResult, UserManagementMailerImplementation, } from './Interfaces'; import { NodeMailer } from './NodeMailer'; type Template = HandlebarsTemplateDelegate; type TemplateName = 'invite' | 'passwordReset'; const templates: Partial> = {}; async function getTemplate( templateName: TemplateName, defaultFilename = `${templateName}.html`, ): Promise