@things-factory/i18n-base 7.0.68 → 7.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,7 +23,7 @@ if (!disableCustomTerminologyFeature) {
23
23
  }
24
24
  exports.translationsRouter = new koa_router_1.default();
25
25
  exports.translationsRouter.get('/translations/:filename', async (context, next) => {
26
- const { subdomain, filename } = context.params;
26
+ const { filename } = context.params;
27
27
  const { domain } = context.state;
28
28
  const locale = (filename || 'en.json').split('.')[0];
29
29
  // context.set('Cache-Control', 'public, max-age=31536000') // 캐시 기간 설정 : 1년
@@ -34,7 +34,7 @@ exports.translationsRouter.get('/translations/:filename', async (context, next)
34
34
  context.body = file;
35
35
  return;
36
36
  }
37
- const cacheFileFolder = path.join('cache', 'translations', subdomain);
37
+ const cacheFileFolder = path.join('cache', 'translations', domain.subdomain);
38
38
  const cacheFilePath = path.join(cacheFileFolder, filename);
39
39
  if (cacheFS.existsSync(cacheFilePath)) {
40
40
  var file = cacheFS.readFileSync(cacheFilePath);
@@ -1 +1 @@
1
- {"version":3,"file":"translations-router.js","sourceRoot":"","sources":["../../server/routers/translations-router.ts"],"names":[],"mappings":"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","sourcesContent":["import Router from 'koa-router'\nimport { ILike } from 'typeorm'\n\nimport { getRepository } from '@things-factory/shell'\nimport { Terminology } from '../service/terminology/terminology'\nimport { config } from '@things-factory/env'\n\nconst path = require('path')\nconst cacheFS = require('fs')\nvar fs = require('fs')\n\nconst disableCustomTerminologyFeature = config.get('i18n/disableCustomTerminologyFeature')\n\nif (!disableCustomTerminologyFeature) {\n process.on('client-rebuilt' as any, (app, compilerFileSystem) => {\n /* change filesystem whenever webpacking assets done. only for development mode. */\n fs = compilerFileSystem\n\n const cacheFileFolder = path.join('cache', 'translations')\n\n if (cacheFS.existsSync(cacheFileFolder)) {\n cacheFS.rmSync(cacheFileFolder, { recursive: true })\n }\n })\n}\n\nexport const translationsRouter = new Router()\n\ntranslationsRouter.get('/translations/:filename', async (context, next) => {\n const { subdomain, filename } = context.params\n const { domain } = context.state\n\n const locale = (filename || 'en.json').split('.')[0]\n\n // context.set('Cache-Control', 'public, max-age=31536000') // 캐시 기간 설정 : 1년\n // context.set('Expires', new Date(Date.now() + 31536000000).toUTCString()) // 캐시 만료일 설정\n\n if (disableCustomTerminologyFeature) {\n var file = fs.readFileSync(path.resolve(path.join('dist-app', 'translations', filename)))\n\n context.type = 'application/json'\n context.body = file\n return\n }\n\n const cacheFileFolder = path.join('cache', 'translations', subdomain)\n const cacheFilePath = path.join(cacheFileFolder, filename)\n\n if (cacheFS.existsSync(cacheFilePath)) {\n var file = cacheFS.readFileSync(cacheFilePath)\n } else {\n var file = fs.readFileSync(path.resolve(path.join('dist-app', 'translations', filename)))\n\n try {\n const terminologies = await getRepository(Terminology).find({\n where: { domain: { id: domain.id }, locale: ILike(locale + '%') }\n })\n\n const json = JSON.parse(file)\n\n terminologies.forEach(term => {\n const { name, category, display } = term\n json[`${category}.${name}`] = display\n })\n\n try {\n if (!cacheFS.existsSync(cacheFileFolder)) {\n cacheFS.mkdirSync(cacheFileFolder, { recursive: true })\n }\n\n cacheFS.writeFileSync(cacheFilePath, JSON.stringify(json))\n } catch (err) {\n console.error(err)\n }\n\n context.type = 'application/json'\n context.body = json\n\n return\n } catch (err) {\n console.error(err)\n }\n }\n\n context.type = 'application/json'\n context.body = file\n})\n"]}
1
+ {"version":3,"file":"translations-router.js","sourceRoot":"","sources":["../../server/routers/translations-router.ts"],"names":[],"mappings":";;;;AAAA,oEAA+B;AAC/B,qCAA+B;AAE/B,iDAAqD;AACrD,oEAAgE;AAChE,6CAA4C;AAE5C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAC7B,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEtB,MAAM,+BAA+B,GAAG,YAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;AAE1F,IAAI,CAAC,+BAA+B,EAAE,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,gBAAuB,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE;QAC9D,mFAAmF;QACnF,EAAE,GAAG,kBAAkB,CAAA;QAEvB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAE1D,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAEY,QAAA,kBAAkB,GAAG,IAAI,oBAAM,EAAE,CAAA;AAE9C,0BAAkB,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACxE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAA;IACnC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAEhC,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpD,4EAA4E;IAC5E,wFAAwF;IAExF,IAAI,+BAA+B,EAAE,CAAC;QACpC,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;QAEzF,OAAO,CAAC,IAAI,GAAG,kBAAkB,CAAA;QACjC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QACnB,OAAM;IACR,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5E,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;IAE1D,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;IAChD,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;QAEzF,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAA,qBAAa,EAAC,yBAAW,CAAC,CAAC,IAAI,CAAC;gBAC1D,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAA,eAAK,EAAC,MAAM,GAAG,GAAG,CAAC,EAAE;aAClE,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAE7B,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC3B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;gBACxC,IAAI,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC,GAAG,OAAO,CAAA;YACvC,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBACzD,CAAC;gBAED,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC;YAED,OAAO,CAAC,IAAI,GAAG,kBAAkB,CAAA;YACjC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;YAEnB,OAAM;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,GAAG,kBAAkB,CAAA;IACjC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;AACrB,CAAC,CAAC,CAAA","sourcesContent":["import Router from 'koa-router'\nimport { ILike } from 'typeorm'\n\nimport { getRepository } from '@things-factory/shell'\nimport { Terminology } from '../service/terminology/terminology'\nimport { config } from '@things-factory/env'\n\nconst path = require('path')\nconst cacheFS = require('fs')\nvar fs = require('fs')\n\nconst disableCustomTerminologyFeature = config.get('i18n/disableCustomTerminologyFeature')\n\nif (!disableCustomTerminologyFeature) {\n process.on('client-rebuilt' as any, (app, compilerFileSystem) => {\n /* change filesystem whenever webpacking assets done. only for development mode. */\n fs = compilerFileSystem\n\n const cacheFileFolder = path.join('cache', 'translations')\n\n if (cacheFS.existsSync(cacheFileFolder)) {\n cacheFS.rmSync(cacheFileFolder, { recursive: true })\n }\n })\n}\n\nexport const translationsRouter = new Router()\n\ntranslationsRouter.get('/translations/:filename', async (context, next) => {\n const { filename } = context.params\n const { domain } = context.state\n\n const locale = (filename || 'en.json').split('.')[0]\n\n // context.set('Cache-Control', 'public, max-age=31536000') // 캐시 기간 설정 : 1년\n // context.set('Expires', new Date(Date.now() + 31536000000).toUTCString()) // 캐시 만료일 설정\n\n if (disableCustomTerminologyFeature) {\n var file = fs.readFileSync(path.resolve(path.join('dist-app', 'translations', filename)))\n\n context.type = 'application/json'\n context.body = file\n return\n }\n\n const cacheFileFolder = path.join('cache', 'translations', domain.subdomain)\n const cacheFilePath = path.join(cacheFileFolder, filename)\n\n if (cacheFS.existsSync(cacheFilePath)) {\n var file = cacheFS.readFileSync(cacheFilePath)\n } else {\n var file = fs.readFileSync(path.resolve(path.join('dist-app', 'translations', filename)))\n\n try {\n const terminologies = await getRepository(Terminology).find({\n where: { domain: { id: domain.id }, locale: ILike(locale + '%') }\n })\n\n const json = JSON.parse(file)\n\n terminologies.forEach(term => {\n const { name, category, display } = term\n json[`${category}.${name}`] = display\n })\n\n try {\n if (!cacheFS.existsSync(cacheFileFolder)) {\n cacheFS.mkdirSync(cacheFileFolder, { recursive: true })\n }\n\n cacheFS.writeFileSync(cacheFilePath, JSON.stringify(json))\n } catch (err) {\n console.error(err)\n }\n\n context.type = 'application/json'\n context.body = json\n\n return\n } catch (err) {\n console.error(err)\n }\n }\n\n context.type = 'application/json'\n context.body = file\n})\n"]}