From 4c7971ad87fa5adfde46053101e18b09a2b192ec Mon Sep 17 00:00:00 2001 From: Vishwanath <90732088+vishu2222@users.noreply.github.com> Date: Sun, 15 Jun 2025 22:46:18 +0530 Subject: [PATCH 1/6] wip --- server/handlers/isomorphic-handler.js | 29 ++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/server/handlers/isomorphic-handler.js b/server/handlers/isomorphic-handler.js index db6e4d12..7bbb23a0 100644 --- a/server/handlers/isomorphic-handler.js +++ b/server/handlers/isomorphic-handler.js @@ -204,6 +204,7 @@ function createStoreFromResult(url, result, opts = {}) { primaryHostUrl: result.primaryHostUrl, isBotRequest: isBotRequest, lazyLoadImageMargin: opts.lazyLoadImageMargin, + localeModule: opts?.localeModule }; return createBasicStore(result, qt, opts); } @@ -471,7 +472,7 @@ exports.handleIsomorphicRoute = function handleIsomorphicRoute( ) { const url = urlLib.parse(req.url, true); - function writeResponse(result) { + function writeResponse(result, opts) { const statusCode = result.httpStatusCode || 200; if (statusCode == 301 && result.data && result.data.location) { @@ -491,6 +492,7 @@ exports.handleIsomorphicRoute = function handleIsomorphicRoute( const store = createStoreFromResult(url, result, { disableIsomorphicComponent: statusCode != 200, lazyLoadImageMargin, + localeModule: opts?.localeModule }); if (lightPages) { @@ -553,11 +555,12 @@ exports.handleIsomorphicRoute = function handleIsomorphicRoute( logError(e); return { httpStatusCode: 500, pageType: "error" }; }) - .then((result) => { + .then(async (result) => { if (!result) { return next(); } - return new Promise((resolve) => resolve(writeResponse(result))) + const opts = await getStoreOpts(config); + return new Promise((resolve) => resolve(writeResponse(result, opts))) .catch((e) => { logError(e); res.status(500); @@ -567,6 +570,26 @@ exports.handleIsomorphicRoute = function handleIsomorphicRoute( }); }; +async function getStoreOpts(config) { + const enableTimeTranslation = _.get(config, ['pbConfig', 'general', 'enableTimeTranslation'], false) + const languageCode = _.get(config, ['language', 'ietf-code']); + const opts = {} + if (enableTimeTranslation) { + try { + const localeModule = await import( + /* webpackChunkName: "date-fns-locale-[request]" */ + `date-fns/locale/${languageCode}/index.js` + ); + opts.localeModule = await localeModule?.default; + } catch (err) { + console.warn(`log--Falling back to en-US for locale: ${languageCode}`, err); + const fallbackLocale = await import("date-fns/locale/en-US/index.js"); + opts.localeModule = await fallbackLocale?.default; + } + } + return opts +} + exports.handleStaticRoute = function handleStaticRoute( req, res, From fb17ba5f985a04401e8022ad973c67969bf9e869 Mon Sep 17 00:00:00 2001 From: Vishwanath <90732088+vishu2222@users.noreply.github.com> Date: Sun, 15 Jun 2025 22:50:44 +0530 Subject: [PATCH 2/6] wip --- server/handlers/isomorphic-handler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/handlers/isomorphic-handler.js b/server/handlers/isomorphic-handler.js index 7bbb23a0..b6f852a7 100644 --- a/server/handlers/isomorphic-handler.js +++ b/server/handlers/isomorphic-handler.js @@ -204,7 +204,7 @@ function createStoreFromResult(url, result, opts = {}) { primaryHostUrl: result.primaryHostUrl, isBotRequest: isBotRequest, lazyLoadImageMargin: opts.lazyLoadImageMargin, - localeModule: opts?.localeModule + localeModule: _.get(opts, ['localeModule']) }; return createBasicStore(result, qt, opts); } From 46ae656a4796493d94ac8803251449b26b74e8de Mon Sep 17 00:00:00 2001 From: Vishwanath <90732088+vishu2222@users.noreply.github.com> Date: Sun, 15 Jun 2025 22:51:36 +0530 Subject: [PATCH 3/6] wip --- server/handlers/isomorphic-handler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/handlers/isomorphic-handler.js b/server/handlers/isomorphic-handler.js index b6f852a7..b194b11e 100644 --- a/server/handlers/isomorphic-handler.js +++ b/server/handlers/isomorphic-handler.js @@ -492,7 +492,7 @@ exports.handleIsomorphicRoute = function handleIsomorphicRoute( const store = createStoreFromResult(url, result, { disableIsomorphicComponent: statusCode != 200, lazyLoadImageMargin, - localeModule: opts?.localeModule + localeModule: _.get(opts, ['localeModule']) }); if (lightPages) { From a42bd3cbd1199bbb1bef78c5991ab8be64c650f9 Mon Sep 17 00:00:00 2001 From: Vishwanath <90732088+vishu2222@users.noreply.github.com> Date: Sun, 15 Jun 2025 23:03:41 +0530 Subject: [PATCH 4/6] wip --- server/handlers/isomorphic-handler.js | 52 ++++++++++++++------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/server/handlers/isomorphic-handler.js b/server/handlers/isomorphic-handler.js index b194b11e..40feb934 100644 --- a/server/handlers/isomorphic-handler.js +++ b/server/handlers/isomorphic-handler.js @@ -559,35 +559,39 @@ exports.handleIsomorphicRoute = function handleIsomorphicRoute( if (!result) { return next(); } - const opts = await getStoreOpts(config); - return new Promise((resolve) => resolve(writeResponse(result, opts))) - .catch((e) => { - logError(e); - res.status(500); - res.send(e.message); - }) - .finally(() => res.end()); - }); + return getStoreOpts(config).then((opts) => { + return new Promise((resolve) => resolve(writeResponse(result, opts))) + .catch((e) => { + logError(e); + res.status(500); + res.send(e.message); + }) + .finally(() => res.end()); + }); + }) }; async function getStoreOpts(config) { - const enableTimeTranslation = _.get(config, ['pbConfig', 'general', 'enableTimeTranslation'], false) + const enableTimeTranslation = _.get(config, ['pbConfig', 'general', 'enableTimeTranslation'], false); const languageCode = _.get(config, ['language', 'ietf-code']); - const opts = {} - if (enableTimeTranslation) { - try { - const localeModule = await import( - /* webpackChunkName: "date-fns-locale-[request]" */ - `date-fns/locale/${languageCode}/index.js` - ); - opts.localeModule = await localeModule?.default; - } catch (err) { - console.warn(`log--Falling back to en-US for locale: ${languageCode}`, err); - const fallbackLocale = await import("date-fns/locale/en-US/index.js"); - opts.localeModule = await fallbackLocale?.default; - } + const opts = {}; + + if (!enableTimeTranslation) { + return Promise.resolve(opts); } - return opts + + return import(`date-fns/locale/${languageCode}/index.js`) + .then((localeModule) => { + opts.localeModule = localeModule.default; + return opts; + }) + .catch(async (err) => { + console.warn(`log--Falling back to en-US for locale: ${languageCode}`, err); + return import("date-fns/locale/en-US/index.js").then((fallbackLocale) => { + opts.localeModule = fallbackLocale.default; + return opts; + }); + }); } exports.handleStaticRoute = function handleStaticRoute( From 4679eb688a916a4edd066f13a1da1145a646cbda Mon Sep 17 00:00:00 2001 From: Vishwanath <90732088+vishu2222@users.noreply.github.com> Date: Sun, 15 Jun 2025 23:12:05 +0530 Subject: [PATCH 5/6] wip --- server/handlers/isomorphic-handler.js | 42 +++++++++++++++++---------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/server/handlers/isomorphic-handler.js b/server/handlers/isomorphic-handler.js index 40feb934..fd0dcecb 100644 --- a/server/handlers/isomorphic-handler.js +++ b/server/handlers/isomorphic-handler.js @@ -572,26 +572,36 @@ exports.handleIsomorphicRoute = function handleIsomorphicRoute( }; async function getStoreOpts(config) { - const enableTimeTranslation = _.get(config, ['pbConfig', 'general', 'enableTimeTranslation'], false); - const languageCode = _.get(config, ['language', 'ietf-code']); const opts = {}; - + const enableTimeTranslation = _.get(config, ['pbConfig', 'general', 'enableTimeTranslation'], false); if (!enableTimeTranslation) { return Promise.resolve(opts); } - - return import(`date-fns/locale/${languageCode}/index.js`) - .then((localeModule) => { - opts.localeModule = localeModule.default; - return opts; - }) - .catch(async (err) => { - console.warn(`log--Falling back to en-US for locale: ${languageCode}`, err); - return import("date-fns/locale/en-US/index.js").then((fallbackLocale) => { - opts.localeModule = fallbackLocale.default; - return opts; - }); - }); + const languageCode = _.get(config, ['language', 'ietf-code']); + try { + let localeModule; + switch (languageCode) { + case 'hi': + localeModule = require('date-fns/locale/hi'); + break; + case 'ta': + localeModule = require('date-fns/locale/ta'); + break; + case 'de': + localeModule = require('date-fns/locale/de'); + break; + default: + localeModule = require('date-fns/locale/en-US'); + break; + } + opts.localeModule = localeModule.default || localeModule; + return Promise.resolve(opts); + } catch (err) { + console.warn(`Falling back to en-US due to error loading locale: ${languageCode}`, err); + const fallbackLocale = require('date-fns/locale/en-US'); + opts.localeModule = fallbackLocale.default || fallbackLocale; + return Promise.resolve(opts); + } } exports.handleStaticRoute = function handleStaticRoute( From 4199f945c93d01997db57c50811ebe4a4f4555d3 Mon Sep 17 00:00:00 2001 From: Vishwanath <90732088+vishu2222@users.noreply.github.com> Date: Sun, 15 Jun 2025 23:13:08 +0530 Subject: [PATCH 6/6] chore(release): 7.34.2-refactor-dfns.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7f357b5f..8ab5bbff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@quintype/framework", - "version": "7.34.1", + "version": "7.34.2-refactor-dfns.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@quintype/framework", - "version": "7.34.1", + "version": "7.34.2-refactor-dfns.0", "license": "ISC", "dependencies": { "@ampproject/toolbox-optimizer": "2.8.3", diff --git a/package.json b/package.json index 8f98feff..dbd6c6f0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@quintype/framework", - "version": "7.34.1", + "version": "7.34.2-refactor-dfns.0", "description": "Libraries to help build Quintype Node.js apps", "main": "index.js", "engines": {