@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 2.03 kB
Source Map (JSON)
{"version":3,"file":"prepare-email-templates.mjs","names":["constants"],"sources":["../../../../src/libs/email/templates/prepare-email-templates.ts"],"sourcesContent":["import { mkdir, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport constants from \"../../../constants/constants.js\";\nimport type { Config } from \"../../../types.js\";\nimport type { ServiceResponse } from \"../../../utils/services/types.js\";\nimport { copy } from \"../../i18n/index.js\";\nimport loadEmailTemplates from \"./load-email-templates.js\";\n\n/**\n * Writes all configured email templates to a JSON artifact in the build output.\n */\nconst prepareEmailTemplates = async (props: {\n\tconfig: Config;\n\tsilent?: boolean;\n\tverbose?: boolean;\n}): ServiceResponse<undefined> => {\n\ttry {\n\t\tconst renderedTemplates = await loadEmailTemplates(props);\n\n\t\tawait mkdir(props.config.build.paths.outDir, { recursive: true });\n\n\t\tconst outputPath = path.join(\n\t\t\tprops.config.build.paths.outDir,\n\t\t\tconstants.email.renderedOutput,\n\t\t);\n\t\tawait writeFile(outputPath, JSON.stringify(renderedTemplates, null, 2));\n\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: undefined,\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\tmessage: copy(\n\t\t\t\t\t\"server:core.email.templates.prepare.failed\",\n\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t? { defaultMessage: error.message }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t),\n\t\t\t\tstatus: 500,\n\t\t\t},\n\t\t\tdata: undefined,\n\t\t};\n\t}\n};\n\nexport default prepareEmailTemplates;\n"],"mappings":"sNAWA,MAAM,EAAwB,KAAO,IAIH,CACjC,GAAI,CACH,IAAM,EAAoB,MAAM,EAAmB,CAAK,EAUxD,OARA,MAAM,EAAM,EAAM,OAAO,MAAM,MAAM,OAAQ,CAAE,UAAW,EAAK,CAAC,EAMhE,MAAM,EAJa,EAAK,KACvB,EAAM,OAAO,MAAM,MAAM,OACzBA,EAAU,MAAM,cAEQ,EAAG,KAAK,UAAU,EAAmB,KAAM,CAAC,CAAC,EAE/D,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,CACD,OAAS,EAAO,CACf,MAAO,CACN,MAAO,CACN,QAAS,EACR,6CACA,aAAiB,MACd,CAAE,eAAgB,EAAM,OAAQ,EAChC,IAAA,EACJ,EACA,OAAQ,GACT,EACA,KAAM,IAAA,EACP,CACD,CACD"}