From e74594a970a87eb25e77f5bae8bd8a08ca59671d Mon Sep 17 00:00:00 2001 From: Michael Razmgah Date: Mon, 14 Oct 2024 09:49:14 +0200 Subject: [PATCH 1/3] fix: Fixing bug where Strapi UI is crashing when no locale is found --- admin/src/index.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/admin/src/index.js b/admin/src/index.js index d3756ff..3273bb1 100644 --- a/admin/src/index.js +++ b/admin/src/index.js @@ -60,10 +60,21 @@ export default { }; }) .catch(() => { - return { - data: {}, - locale, - }; + return import( + /* webpackChunkName: "config-sync-translation-[request]" */ `./translations/en.json` + ) + .then(({ default: data }) => { + return { + data: prefixPluginTranslations(data, pluginId), + locale, + }; + }) + .catch(() => { + return { + data: {}, + locale, + }; + }); }); }), ); From 2a72cb1bb59b2d4327151a8ce177ca97715ca5bf Mon Sep 17 00:00:00 2001 From: Michael Razmgah Date: Fri, 18 Oct 2024 20:31:07 +0200 Subject: [PATCH 2/3] fix: Adding require into try catch to simplify by catching error inside single try-catch --- admin/src/index.js | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/admin/src/index.js b/admin/src/index.js index 3273bb1..7abaee7 100644 --- a/admin/src/index.js +++ b/admin/src/index.js @@ -49,33 +49,20 @@ export default { bootstrap(app) {}, async registerTrads({ locales }) { const importedTrads = await Promise.all( - locales.map((locale) => { - return import( - /* webpackChunkName: "config-sync-translation-[request]" */ `./translations/${locale}.json` - ) - .then(({ default: data }) => { - return { - data: prefixPluginTranslations(data, pluginId), - locale, - }; - }) - .catch(() => { - return import( - /* webpackChunkName: "config-sync-translation-[request]" */ `./translations/en.json` - ) - .then(({ default: data }) => { - return { - data: prefixPluginTranslations(data, pluginId), - locale, - }; - }) - .catch(() => { - return { - data: {}, - locale, - }; - }); - }); + locales.map(async (locale) => { + try { + // eslint-disable-next-line import/no-dynamic-require + const data = require(`./translations/${locale}.json`); + return { + data: prefixPluginTranslations(data, pluginId), + locale, + }; + } catch { + return { + data: {}, + locale, + }; + } }), ); From 829cbb0ae282e40ffd595e50aff6b7852cfca7a9 Mon Sep 17 00:00:00 2001 From: Boaz Poolman Date: Fri, 18 Oct 2024 21:56:10 +0200 Subject: [PATCH 3/3] fix: eslint issue --- admin/src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/src/index.js b/admin/src/index.js index 7abaee7..164165a 100644 --- a/admin/src/index.js +++ b/admin/src/index.js @@ -51,7 +51,7 @@ export default { const importedTrads = await Promise.all( locales.map(async (locale) => { try { - // eslint-disable-next-line import/no-dynamic-require + // eslint-disable-next-line import/no-dynamic-require, global-require const data = require(`./translations/${locale}.json`); return { data: prefixPluginTranslations(data, pluginId),