From 2746198aa7f7d5b19094cf8cf94c93eb6172b984 Mon Sep 17 00:00:00 2001 From: Aseer KT Date: Sat, 16 Mar 2024 20:33:56 +0530 Subject: [PATCH 1/2] chore: compile messages to json --- packages/cli/src/api/catalog.test.ts | 1 + packages/cli/src/api/catalog.ts | 16 ++++++++++------ website/docs/ref/conf.md | 6 ++++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/api/catalog.test.ts b/packages/cli/src/api/catalog.test.ts index 193cba8b8..a30a4716d 100644 --- a/packages/cli/src/api/catalog.test.ts +++ b/packages/cli/src/api/catalog.test.ts @@ -605,6 +605,7 @@ describe("writeCompiled", () => { it.each([ { namespace: "es", extension: /\.mjs$/ }, { namespace: "ts", extension: /\.ts$/ }, + { namespace: "json", extension: /\.json$/ }, { namespace: undefined, extension: /\.js$/ }, { namespace: "cjs", extension: /\.js$/ }, { namespace: "window.test", extension: /\.js$/ }, diff --git a/packages/cli/src/api/catalog.ts b/packages/cli/src/api/catalog.ts index 25afaf0de..a1c91013b 100644 --- a/packages/cli/src/api/catalog.ts +++ b/packages/cli/src/api/catalog.ts @@ -202,12 +202,16 @@ export class Catalog { namespace?: CompiledCatalogNamespace ) { let ext: string - if (namespace === "es") { - ext = "mjs" - } else if (namespace === "ts") { - ext = "ts" - } else { - ext = "js" + switch (namespace) { + case "es": + ext = "mjs" + break + case "ts": + case "json": + ext = namespace + break + default: + ext = "js" } const filename = `${replacePlaceholders(this.path, { locale })}.${ext}` diff --git a/website/docs/ref/conf.md b/website/docs/ref/conf.md index 4245c31c1..cd17299cf 100644 --- a/website/docs/ref/conf.md +++ b/website/docs/ref/conf.md @@ -260,6 +260,12 @@ Use ES6 named export + .ts file with an additional `{compiledFile}.d.ts` file: /* eslint-disable */export const messages = {"..."} ``` +#### json + +```json +{"messages": {"..."}} +``` + ```js import { Messages } from '@lingui/core'; declare const messages: Messages; From fc818b21bbbd728c5edf08923640fcd9ae485092 Mon Sep 17 00:00:00 2001 From: Aseer KT Date: Tue, 19 Mar 2024 12:48:22 +0530 Subject: [PATCH 2/2] fix: compile json reference docs --- website/docs/ref/conf.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/docs/ref/conf.md b/website/docs/ref/conf.md index cd17299cf..995f0a723 100644 --- a/website/docs/ref/conf.md +++ b/website/docs/ref/conf.md @@ -260,18 +260,18 @@ Use ES6 named export + .ts file with an additional `{compiledFile}.d.ts` file: /* eslint-disable */export const messages = {"..."} ``` -#### json - -```json -{"messages": {"..."}} -``` - ```js import { Messages } from '@lingui/core'; declare const messages: Messages; export { messages }; ``` +#### json + +```json +{"messages": {"..."}} +``` + #### (window\|global).(.\*) Assign compiled messages to `window` or `global` object. Specify an identifier after `window` or `global` to which the catalog is assigned, e.g. `window.i18n`.