From 6e0553af9bbc0487cf280c9ff8e54649930c5aef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=8B=D1=81=D1=82=D1=80=D0=BE=D0=B2=D0=B0=20=D0=90?= =?UTF-8?q?=D0=BD=D0=BD=D0=B0?= Date: Wed, 8 Dec 2021 10:30:36 +0300 Subject: [PATCH] Avoid error in Keycloak logs, fix long template loading time --- .gitignore | 2 + .../generateFtl/Object.deepAssign.js | 28 --- .../generateFtl/common.ftl | 208 ---------------- ..._object_to_js_code_declaring_an_object.ftl | 230 ++++++++++++++++++ .../generateFtl/generateFtl.ts | 43 ++-- 5 files changed, 246 insertions(+), 265 deletions(-) delete mode 100644 src/bin/build-keycloak-theme/generateFtl/Object.deepAssign.js delete mode 100644 src/bin/build-keycloak-theme/generateFtl/common.ftl create mode 100644 src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl diff --git a/.gitignore b/.gitignore index 6ab01048..57451200 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,5 @@ jspm_packages /sample_react_project/ /.yarn_home/ + +.idea diff --git a/src/bin/build-keycloak-theme/generateFtl/Object.deepAssign.js b/src/bin/build-keycloak-theme/generateFtl/Object.deepAssign.js deleted file mode 100644 index 028d9990..00000000 --- a/src/bin/build-keycloak-theme/generateFtl/Object.deepAssign.js +++ /dev/null @@ -1,28 +0,0 @@ - -Object.defineProperty( - Object, - "deepAssign", - { - "value": function callee(target, source) { - Object.keys(source).forEach(function (key) { - var value = source[key]; - if (target[key] === undefined) { - target[key] = value; - return; - } - if (value instanceof Object) { - if (value instanceof Array) { - value.forEach(function (entry) { - target[key].push(entry); - }); - return; - } - callee(target[key], value); - return; - } - target[key] = value; - }); - return target; - } - } -); \ No newline at end of file diff --git a/src/bin/build-keycloak-theme/generateFtl/common.ftl b/src/bin/build-keycloak-theme/generateFtl/common.ftl deleted file mode 100644 index 5323e896..00000000 --- a/src/bin/build-keycloak-theme/generateFtl/common.ftl +++ /dev/null @@ -1,208 +0,0 @@ - \ No newline at end of file diff --git a/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl b/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl new file mode 100644 index 00000000..183d3b95 --- /dev/null +++ b/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl @@ -0,0 +1,230 @@ + \ No newline at end of file diff --git a/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts b/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts index ab417140..89e63fa8 100644 --- a/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts +++ b/src/bin/build-keycloak-theme/generateFtl/generateFtl.ts @@ -21,10 +21,6 @@ export const pageIds = [ export type PageId = typeof pageIds[number]; -function loadAdjacentFile(fileBasename: string) { - return fs.readFileSync(pathJoin(__dirname, fileBasename)).toString("utf8"); -} - export function generateFtlFilesCodeFactory(params: { cssGlobalsToDefine: Record; indexHtmlCode: string; @@ -77,8 +73,11 @@ export function generateFtlFilesCodeFactory(params: { ); //FTL is no valid html, we can't insert with cheerio, we put placeholder for injecting later. - const ftlPlaceholders = { - '{ "x": "vIdLqMeOed9sdLdIdOxdK0d" }': loadAdjacentFile("common.ftl").match(/^", - "", "", - pageSpecificCodePlaceholder, - "", - objectKeys(ftlPlaceholders)[1], + objectKeys(replaceValueBySearchValue)[1], ].join("\n"), ); @@ -129,19 +121,12 @@ export function generateFtlFilesCodeFactory(params: { const $ = cheerio.load(partiallyFixedIndexHtmlCode); - let ftlCode = $.html().replace( - pageSpecificCodePlaceholder, - [ - "", - ].join("\n"), - ); + let ftlCode = $.html(); - objectKeys(ftlPlaceholders).forEach(id => (ftlCode = ftlCode.replace(id, ftlPlaceholders[id]))); + Object.entries({ + ...replaceValueBySearchValue, + [pageIdSearchValue]: pageId, + }).map(([searchValue, replaceValue]) => (ftlCode = ftlCode.replace(searchValue, replaceValue))); return { ftlCode }; }