From fa801fa3f7a7bd9f8bfec78f25bcf8f4a62d0e31 Mon Sep 17 00:00:00 2001 From: AlasDiablo <25723276+AlasDiablo@users.noreply.github.com> Date: Fri, 19 Jul 2024 07:38:44 +0200 Subject: [PATCH] fix: add a fail-safe to avoid crash on ejs rendering error --- src/api/models/front.js | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/api/models/front.js b/src/api/models/front.js index 0943913a1..7a4e9af71 100644 --- a/src/api/models/front.js +++ b/src/api/models/front.js @@ -1,5 +1,5 @@ import { createTheme } from '@mui/material/styles'; -import { assign } from 'lodash'; +import { assign, escape } from 'lodash'; import { getTheme } from './themes'; import { version } from '../../../package.json'; import ejs from 'ejs'; @@ -64,10 +64,25 @@ export const createMuiTheme = (lodexTheme) => { * @return {Promise} */ const renderTemplate = (file, data) => { - return ejs.renderFile(file, data, { - async: true, - beautify: true, - root: path.dirname(file), + return new Promise((resolve) => { + ejs.renderFile(file, data, { + async: true, + beautify: true, + root: path.dirname(file), + }) + .then(resolve) + .catch((reason) => { + resolve(` + + + Server Side Rendering Error + + +

Server Side Rendering Error

+

${escape(reason)}

+ +`); + }); }); };