@translation-cms/sync 1.1.69 → 1.1.71

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.
Files changed (63) hide show
  1. package/README.md +131 -545
  2. package/dist/cli-entry.d.ts +3 -0
  3. package/dist/cli-entry.d.ts.map +1 -0
  4. package/dist/cli-entry.js +268 -0
  5. package/dist/cli-entry.js.map +1 -0
  6. package/dist/cli.d.ts +15 -2
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +11 -263
  9. package/dist/cli.js.map +1 -1
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +26 -25
  12. package/dist/client.js.map +1 -1
  13. package/dist/i18next.d.ts +62 -0
  14. package/dist/i18next.d.ts.map +1 -0
  15. package/dist/i18next.js +127 -0
  16. package/dist/i18next.js.map +1 -0
  17. package/dist/index.d.ts +20 -6
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +30 -15
  20. package/dist/index.js.map +1 -1
  21. package/dist/{config.d.ts → load-config.d.ts} +1 -1
  22. package/dist/load-config.d.ts.map +1 -0
  23. package/dist/{config.js → load-config.js} +1 -1
  24. package/dist/load-config.js.map +1 -0
  25. package/dist/{preview-listener.d.ts → preview.d.ts} +1 -1
  26. package/dist/preview.d.ts.map +1 -0
  27. package/dist/{preview-listener.js → preview.js} +1 -1
  28. package/dist/preview.js.map +1 -0
  29. package/dist/{cli-config.d.ts → resolve-config.d.ts} +2 -2
  30. package/dist/resolve-config.d.ts.map +1 -0
  31. package/dist/{cli-config.js → resolve-config.js} +1 -1
  32. package/dist/resolve-config.js.map +1 -0
  33. package/dist/sync.d.ts +1 -1
  34. package/dist/sync.d.ts.map +1 -1
  35. package/dist/sync.js +27 -13
  36. package/dist/sync.js.map +1 -1
  37. package/package.json +9 -17
  38. package/dist/cli-config.d.ts.map +0 -1
  39. package/dist/cli-config.js.map +0 -1
  40. package/dist/cli-utils.d.ts +0 -16
  41. package/dist/cli-utils.d.ts.map +0 -1
  42. package/dist/cli-utils.js +0 -16
  43. package/dist/cli-utils.js.map +0 -1
  44. package/dist/config.d.ts.map +0 -1
  45. package/dist/config.js.map +0 -1
  46. package/dist/preview-listener.d.ts.map +0 -1
  47. package/dist/preview-listener.js.map +0 -1
  48. package/dist/trans.d.ts +0 -2
  49. package/dist/trans.d.ts.map +0 -1
  50. package/dist/trans.js +0 -3
  51. package/dist/trans.js.map +0 -1
  52. package/dist/translation-context.d.ts +0 -10
  53. package/dist/translation-context.d.ts.map +0 -1
  54. package/dist/translation-context.js +0 -4
  55. package/dist/translation-context.js.map +0 -1
  56. package/dist/translation-provider.d.ts +0 -15
  57. package/dist/translation-provider.d.ts.map +0 -1
  58. package/dist/translation-provider.js +0 -97
  59. package/dist/translation-provider.js.map +0 -1
  60. package/dist/use-translation.d.ts +0 -35
  61. package/dist/use-translation.d.ts.map +0 -1
  62. package/dist/use-translation.js +0 -110
  63. package/dist/use-translation.js.map +0 -1
package/dist/client.js CHANGED
@@ -46,8 +46,9 @@ export class CMSClient {
46
46
  for (const ns of namespaces) {
47
47
  const url = this.buildUrl(locale, ns);
48
48
  const headers = this.buildHeaders();
49
+ const urlString = url.toString();
49
50
  try {
50
- const response = await fetch(url.toString(), {
51
+ const response = await fetch(urlString, {
51
52
  method: 'GET',
52
53
  headers,
53
54
  });
@@ -57,29 +58,25 @@ export class CMSClient {
57
58
  if (!response.ok) {
58
59
  throw new Error(`CMS API error: ${response.status} ${response.statusText}`);
59
60
  }
60
- const data = await response.json();
61
- // Handle both formats:
62
- // - Local files: { namespace: { key: value } } (extract and prefix keys)
63
- // - API/remote: { "namespace:key": value } (use directly)
64
- let nsTranslations = {};
65
- if (data[ns] &&
66
- typeof data[ns] === 'object' &&
67
- !Array.isArray(data[ns])) {
68
- // Local file format: extracted nested namespace
69
- // Need to add namespace prefix back to keys
70
- const extracted = data[ns];
71
- for (const [key, value] of Object.entries(extracted)) {
72
- nsTranslations[`${ns}:${key}`] = value;
73
- }
61
+ const data = (await response.json());
62
+ // Local files: { key: value } — add namespace prefix
63
+ // API/remote: { "namespace:key": value } use directly
64
+ const nsTranslations = {};
65
+ const hasNsPrefix = Object.keys(data).some(k => k.startsWith(`${ns}:`));
66
+ if (hasNsPrefix) {
67
+ // API format: keys already have namespace prefix
68
+ Object.assign(nsTranslations, data);
74
69
  }
75
70
  else {
76
- // API format: keys already have namespace prefix
77
- nsTranslations = data;
71
+ // Local file format: flat { key: value } — add ns prefix
72
+ for (const [key, value] of Object.entries(data)) {
73
+ nsTranslations[`${ns}:${key}`] = value;
74
+ }
78
75
  }
79
76
  Object.assign(result, nsTranslations);
80
77
  }
81
78
  catch (error) {
82
- console.error(`Failed to fetch translations for ${locale}/${ns}:`, error instanceof Error ? error.message : String(error));
79
+ console.error(`Failed to fetch translations for ${locale}/${ns} (${urlString}):`, error instanceof Error ? error.message : String(error));
83
80
  }
84
81
  }
85
82
  return result;
@@ -237,10 +234,15 @@ export class CMSClient {
237
234
  const data = (await response.json());
238
235
  let fileCount = 0;
239
236
  const localDir = this.config.localDir;
240
- fs.mkdirSync(localDir, { recursive: true });
237
+ // Write per-namespace files: {localDir}/{locale}/{namespace}.json
238
+ // Compatible with i18next-http-backend loadPath: '/locales/{{lng}}/{{ns}}.json'
241
239
  for (const [locale, namespaces] of Object.entries(data)) {
242
- fs.writeFileSync(path.join(localDir, `${locale}.json`), JSON.stringify(namespaces, null, 2), 'utf-8');
243
- fileCount++;
240
+ const localeDir = path.join(localDir, locale);
241
+ fs.mkdirSync(localeDir, { recursive: true });
242
+ for (const [ns, keys] of Object.entries(namespaces)) {
243
+ fs.writeFileSync(path.join(localeDir, `${ns}.json`), JSON.stringify(keys, null, 2), 'utf-8');
244
+ fileCount++;
245
+ }
244
246
  }
245
247
  const metaPath = path.join(localDir, PULL_META_FILE);
246
248
  fs.writeFileSync(metaPath, new Date().toISOString(), 'utf-8');
@@ -272,10 +274,9 @@ export class CMSClient {
272
274
  return this.buildRemoteUrl(locale, namespace);
273
275
  }
274
276
  const basePath = this.config.localePath ?? '/locales';
275
- // New structure: single file per locale containing all namespaces
276
- // File: /locales/en.json contains { blog: {...}, common: {...} }
277
- // We'll fetch the full file and extract the namespace from it in getTranslations()
278
- return new URL(`${basePath}/${locale}.json`, this.getBaseUrl());
277
+ // Per-namespace files: /locales/{locale}/{namespace}.json
278
+ // Compatible with i18next-http-backend loadPath: '/locales/{{lng}}/{{ns}}.json'
279
+ return new URL(`${basePath}/${locale}/${namespace}.json`, this.getBaseUrl());
279
280
  }
280
281
  buildRemoteUrl(locale, namespace) {
281
282
  const path = namespace === '*'
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * i18next backend plugin for the Translations CMS.
3
+ *
4
+ * Automatically reads config from NEXT_PUBLIC_* env vars.
5
+ * Supports both local file mode and direct CMS API mode.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // lib/i18n.ts
10
+ * import i18next from 'i18next';
11
+ * import { initReactI18next } from 'react-i18next';
12
+ * import { CMSBackend } from '@translation-cms/sync/i18next';
13
+ *
14
+ * i18next
15
+ * .use(CMSBackend)
16
+ * .use(initReactI18next)
17
+ * .init({
18
+ * lng: 'nl',
19
+ * fallbackLng: 'en',
20
+ * ns: ['common', 'auth'],
21
+ * defaultNS: 'common',
22
+ * });
23
+ * ```
24
+ */
25
+ export interface CMSBackendOptions {
26
+ /**
27
+ * CMS base URL. Defaults to NEXT_PUBLIC_CMS_URL.
28
+ */
29
+ cmsUrl?: string;
30
+ /**
31
+ * CMS project ID. Defaults to NEXT_PUBLIC_CMS_PROJECT_ID.
32
+ */
33
+ projectId?: string;
34
+ /**
35
+ * API key for the CMS. Defaults to NEXT_PUBLIC_CMS_ANON_KEY.
36
+ */
37
+ apiKey?: string;
38
+ /**
39
+ * Base path for local translation files (served from public/).
40
+ * Only used when NEXT_PUBLIC_USE_LOCAL_TRANSLATIONS=true.
41
+ * @default '/locales'
42
+ */
43
+ localePath?: string;
44
+ }
45
+ type ReadCallback = (err: Error | null, data: Record<string, string> | null) => void;
46
+ /**
47
+ * i18next backend plugin.
48
+ * Implements the i18next BackendModule interface.
49
+ */
50
+ export declare class CMSBackend {
51
+ static type: "backend";
52
+ type: "backend";
53
+ private options;
54
+ constructor(_services: unknown, options?: CMSBackendOptions);
55
+ init(_services: unknown, options?: CMSBackendOptions): void;
56
+ read(language: string, namespace: string, callback: ReadCallback): void;
57
+ private readLocal;
58
+ private readRemote;
59
+ private resolveOptions;
60
+ }
61
+ export {};
62
+ //# sourceMappingURL=i18next.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18next.d.ts","sourceRoot":"","sources":["../src/i18next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,KAAK,YAAY,GAAG,CAChB,GAAG,EAAE,KAAK,GAAG,IAAI,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,KAClC,IAAI,CAAC;AAEV;;;GAGG;AACH,qBAAa,UAAU;IACnB,MAAM,CAAC,IAAI,EAAG,SAAS,CAAU;IACjC,IAAI,EAAG,SAAS,CAAU;IAE1B,OAAO,CAAC,OAAO,CAA8B;gBAEjC,SAAS,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB;IAI/D,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,IAAI;IAI/D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAYvE,OAAO,CAAC,SAAS;IAuCjB,OAAO,CAAC,UAAU;IA2ClB,OAAO,CAAC,cAAc;CAyBzB"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * i18next backend plugin for the Translations CMS.
3
+ *
4
+ * Automatically reads config from NEXT_PUBLIC_* env vars.
5
+ * Supports both local file mode and direct CMS API mode.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // lib/i18n.ts
10
+ * import i18next from 'i18next';
11
+ * import { initReactI18next } from 'react-i18next';
12
+ * import { CMSBackend } from '@translation-cms/sync/i18next';
13
+ *
14
+ * i18next
15
+ * .use(CMSBackend)
16
+ * .use(initReactI18next)
17
+ * .init({
18
+ * lng: 'nl',
19
+ * fallbackLng: 'en',
20
+ * ns: ['common', 'auth'],
21
+ * defaultNS: 'common',
22
+ * });
23
+ * ```
24
+ */
25
+ /**
26
+ * i18next backend plugin.
27
+ * Implements the i18next BackendModule interface.
28
+ */
29
+ export class CMSBackend {
30
+ static type = 'backend';
31
+ type = 'backend';
32
+ options;
33
+ constructor(_services, options = {}) {
34
+ this.options = this.resolveOptions(options);
35
+ }
36
+ init(_services, options = {}) {
37
+ this.options = this.resolveOptions(options);
38
+ }
39
+ read(language, namespace, callback) {
40
+ const useLocal = typeof process !== 'undefined' &&
41
+ process.env.NEXT_PUBLIC_USE_LOCAL_TRANSLATIONS === 'true';
42
+ if (useLocal) {
43
+ this.readLocal(language, namespace, callback);
44
+ }
45
+ else {
46
+ this.readRemote(language, namespace, callback);
47
+ }
48
+ }
49
+ readLocal(language, namespace, callback) {
50
+ const baseUrl = typeof window !== 'undefined'
51
+ ? window.location.origin
52
+ : `http://localhost:${(typeof process !== 'undefined' && process.env['PORT']) ||
53
+ '3000'}`;
54
+ // Per-namespace files: /locales/{locale}/{namespace}.json
55
+ const url = `${baseUrl}${this.options.localePath}/${language}/${namespace}.json`;
56
+ fetch(url)
57
+ .then(r => {
58
+ if (r.status === 404) {
59
+ callback(null, {});
60
+ return null;
61
+ }
62
+ if (!r.ok) {
63
+ callback(new Error(`Failed to load local translations (${r.status}): ${url}`), null);
64
+ return null;
65
+ }
66
+ return r.json();
67
+ })
68
+ .then(data => {
69
+ if (!data)
70
+ return;
71
+ callback(null, data);
72
+ })
73
+ .catch((err) => callback(err, null));
74
+ }
75
+ readRemote(language, namespace, callback) {
76
+ const url = `${this.options.cmsUrl}/api/translations/${this.options.projectId}/${language}/${namespace}`;
77
+ const headers = {};
78
+ if (this.options.apiKey) {
79
+ headers['x-api-key'] = this.options.apiKey;
80
+ }
81
+ fetch(url, { headers })
82
+ .then(r => {
83
+ if (r.status === 404) {
84
+ callback(null, {});
85
+ return null;
86
+ }
87
+ if (!r.ok) {
88
+ callback(new Error(`CMS API error ${r.status} for ${language}/${namespace}`), null);
89
+ return null;
90
+ }
91
+ return r.json();
92
+ })
93
+ .then(data => {
94
+ if (!data)
95
+ return;
96
+ // CMS API returns { "namespace:key": "value" } — strip ns prefix
97
+ const prefix = `${namespace}:`;
98
+ const stripped = {};
99
+ for (const [k, v] of Object.entries(data)) {
100
+ stripped[k.startsWith(prefix) ? k.slice(prefix.length) : k] = v;
101
+ }
102
+ callback(null, stripped);
103
+ })
104
+ .catch((err) => callback(err, null));
105
+ }
106
+ resolveOptions(options) {
107
+ return {
108
+ cmsUrl: options.cmsUrl ??
109
+ (typeof process !== 'undefined'
110
+ ? process.env.NEXT_PUBLIC_CMS_URL
111
+ : undefined) ??
112
+ '',
113
+ projectId: options.projectId ??
114
+ (typeof process !== 'undefined'
115
+ ? process.env.NEXT_PUBLIC_CMS_PROJECT_ID
116
+ : undefined) ??
117
+ '',
118
+ apiKey: options.apiKey ??
119
+ (typeof process !== 'undefined'
120
+ ? process.env.NEXT_PUBLIC_CMS_ANON_KEY
121
+ : undefined) ??
122
+ '',
123
+ localePath: options.localePath ?? '/locales',
124
+ };
125
+ }
126
+ }
127
+ //# sourceMappingURL=i18next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18next.js","sourceRoot":"","sources":["../src/i18next.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,24 @@
1
- export { TranslationProvider, type TranslationProviderProps, useTranslationContext, } from './translation-provider.js';
2
- export { TranslationContext, type TranslationContextValue, } from './translation-context.js';
3
1
  export { CMSClient, getCMSClient, type CMSConfig, type TranslationResponse, type NamespacedTranslations, } from './client.js';
4
- export { initPreviewListener, cleanupPreviewListener, type PreviewListenerOptions, } from './preview-listener.js';
5
- export { type TranslationsConfig } from './config.js';
6
- export { scanProject, extractKeysFromFile, filePathToRoute, walkFiles, type PreviewRoute, type NamespaceMap, type ScanOptions, } from './scanner.js';
7
- export { postToSync, type PostToSyncOptions } from './sync.js';
2
+ export { CMSBackend, type CMSBackendOptions } from './i18next.js';
3
+ export { initPreviewListener, cleanupPreviewListener, type PreviewListenerOptions, } from './preview.js';
4
+ export { type TranslationsConfig } from './load-config.js';
5
+ import type { TranslationResponse } from './client.js';
6
+ /**
7
+ * Server-side helper — fetch raw translations for use in Server Components (RSC).
8
+ *
9
+ * @example
10
+ * // app/layout.tsx (Server Component)
11
+ * import { getTranslations } from '@translation-cms/sync';
12
+ * const data = await getTranslations(['common', 'auth'], 'nl');
13
+ */
14
+ export declare function getTranslations(namespace: string | string[], locale?: string): Promise<TranslationResponse>;
15
+ /**
16
+ * Server-side helper — returns a type-safe t() function for use in Server Components.
17
+ *
18
+ * @example
19
+ * const { t } = await getTranslation('common', 'nl');
20
+ * t('common:nav.home');
21
+ */
8
22
  export declare function getTranslation<Ns extends string | readonly string[]>(namespace: Ns, locale?: string): Promise<{
9
23
  t: (key: `${string}:${string}`, options?: import("./client.js").TOptions) => string;
10
24
  tDynamic: (key: string, options?: import("./client.js").TOptions) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,qBAAqB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,kBAAkB,EAClB,KAAK,uBAAuB,GAC/B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACH,SAAS,EACT,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAE9B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,sBAAsB,GAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,EACH,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAM/D,wBAAsB,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EACtE,SAAS,EAAE,EAAE,EACb,MAAM,CAAC,EAAE,MAAM;;mCAayuP,CAAC;GAD5vP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EACT,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC9B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,sBAAsB,GAC9B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAI3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EACtE,SAAS,EAAE,EAAE,EACb,MAAM,CAAC,EAAE,MAAM;;mCAaq4O,CAAC;GADx5O"}
package/dist/index.js CHANGED
@@ -1,19 +1,34 @@
1
- // TranslationProvider (React context for i18n)
2
- export { TranslationProvider, useTranslationContext, } from './translation-provider.js';
3
- export { TranslationContext, } from './translation-context.js';
4
- // CMS client (browser-safe)
5
- export { CMSClient, getCMSClient,
6
- // getTranslation is NOT exported here
7
- } from './client.js';
8
- // Preview listener (browser-safe)
9
- export { initPreviewListener, cleanupPreviewListener, } from './preview-listener.js';
10
- // Scanner (for building custom sync scripts)
11
- export { scanProject, extractKeysFromFile, filePathToRoute, walkFiles, } from './scanner.js';
12
- // Sync utilities (for building custom sync scripts)
13
- export { postToSync } from './sync.js';
14
- // Add getTranslation as a named export
1
+ // CMS client
2
+ export { CMSClient, getCMSClient, } from './client.js';
3
+ // i18next backend plugin
4
+ export { CMSBackend } from './i18next.js';
5
+ // In-context preview listener
6
+ export { initPreviewListener, cleanupPreviewListener, } from './preview.js';
7
+ // Server-side helpers
15
8
  import { CMSClient } from './client.js';
16
- // Type-correcte wrapper voor getTranslation
9
+ /**
10
+ * Server-side helper — fetch raw translations for use in Server Components (RSC).
11
+ *
12
+ * @example
13
+ * // app/layout.tsx (Server Component)
14
+ * import { getTranslations } from '@translation-cms/sync';
15
+ * const data = await getTranslations(['common', 'auth'], 'nl');
16
+ */
17
+ export async function getTranslations(namespace, locale) {
18
+ const client = new CMSClient({
19
+ cmsUrl: process.env.NEXT_PUBLIC_CMS_URL,
20
+ projectId: process.env.NEXT_PUBLIC_CMS_PROJECT_ID,
21
+ anonKey: process.env.NEXT_PUBLIC_CMS_ANON_KEY,
22
+ });
23
+ return client.getTranslations(namespace, locale);
24
+ }
25
+ /**
26
+ * Server-side helper — returns a type-safe t() function for use in Server Components.
27
+ *
28
+ * @example
29
+ * const { t } = await getTranslation('common', 'nl');
30
+ * t('common:nav.home');
31
+ */
17
32
  export async function getTranslation(namespace, locale) {
18
33
  const client = new CMSClient({
19
34
  cmsUrl: process.env.NEXT_PUBLIC_CMS_URL,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EACH,mBAAmB,EAEnB,qBAAqB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,kBAAkB,GAErB,MAAM,0BAA0B,CAAC;AAClC,4BAA4B;AAC5B,OAAO,EACH,SAAS,EACT,YAAY;AAIZ,sCAAsC;EACzC,MAAM,aAAa,CAAC;AAErB,kCAAkC;AAClC,OAAO,EACH,mBAAmB,EACnB,sBAAsB,GAEzB,MAAM,uBAAuB,CAAC;AAK/B,6CAA6C;AAC7C,OAAO,EACH,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,SAAS,GAIZ,MAAM,cAAc,CAAC;AAEtB,oDAAoD;AACpD,OAAO,EAAE,UAAU,EAA0B,MAAM,WAAW,CAAC;AAE/D,uCAAuC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,SAAa,EACb,MAAe;IAEf,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QACzB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAoB;QACxC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA2B;QAClD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;KAChD,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,cAAc,CAAC,SAA8B,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACJ,OAAO,MAAM,CAAC,cAAc,CAAC,SAAmB,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EACH,SAAS,EACT,YAAY,GAIf,MAAM,aAAa,CAAC;AAErB,yBAAyB;AACzB,OAAO,EAAE,UAAU,EAA0B,MAAM,cAAc,CAAC;AAElE,8BAA8B;AAC9B,OAAO,EACH,mBAAmB,EACnB,sBAAsB,GAEzB,MAAM,cAAc,CAAC;AAKtB,sBAAsB;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,SAA4B,EAC5B,MAAe;IAEf,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QACzB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAoB;QACxC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA2B;QAClD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;KAChD,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,SAAa,EACb,MAAe;IAEf,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QACzB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAoB;QACxC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA2B;QAClD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;KAChD,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,cAAc,CAAC,SAA8B,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACJ,OAAO,MAAM,CAAC,cAAc,CAAC,SAAmB,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC"}
@@ -76,4 +76,4 @@ export interface TranslationsConfig {
76
76
  * Returns an empty object when no config file is found — never throws.
77
77
  */
78
78
  export declare function loadConfigFile(root: string): TranslationsConfig;
79
- //# sourceMappingURL=config.d.ts.map
79
+ //# sourceMappingURL=load-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../src/load-config.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjC;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,EAAE,MAAM,CAClB,MAAM,EACN,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,EAAE,CAClE,CAAC;CACL;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAqB/D"}
@@ -21,4 +21,4 @@ export function loadConfigFile(root) {
21
21
  }
22
22
  return {};
23
23
  }
24
- //# sourceMappingURL=config.js.map
24
+ //# sourceMappingURL=load-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-config.js","sourceRoot":"","sources":["../src/load-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAoFxB,MAAM,gBAAgB,GAAG,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACvC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QAEvC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACrB,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CACf,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CACR,4BAA4B,QAAQ,KAChC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACnD,EAAE,CACL,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC"}
@@ -53,4 +53,4 @@ export interface PreviewListenerOptions {
53
53
  export declare function initPreviewListener(options?: PreviewListenerOptions): void;
54
54
  /** Remove the preview listener and clear all highlights. */
55
55
  export declare function cleanupPreviewListener(): void;
56
- //# sourceMappingURL=preview-listener.d.ts.map
56
+ //# sourceMappingURL=preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAiCH,MAAM,WAAW,sBAAsB;IACnC;;;OAGG;IACH,eAAe,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAkBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAkC1E;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,IAAI,IAAI,CAW7C"}
@@ -327,4 +327,4 @@ function injectStyles() {
327
327
  `;
328
328
  document.head.appendChild(style);
329
329
  }
330
- //# sourceMappingURL=preview-listener.js.map
330
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TranslationsConfig } from './config.js';
1
+ import type { TranslationsConfig } from './load-config.js';
2
2
  /**
3
3
  * Runtime config passed to all CLI operations.
4
4
  * Resolved from CLI args > env vars > config file (priority order).
@@ -12,4 +12,4 @@ export declare function loadEnvLocal(root: string): Record<string, string>;
12
12
  export declare function parseArgs(): Partial<Config>;
13
13
  export declare function findProjectRoot(): string;
14
14
  export declare function resolveConfig(cwd?: string, fileConfig?: TranslationsConfig): Config;
15
- //# sourceMappingURL=cli-config.d.ts.map
15
+ //# sourceMappingURL=resolve-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-config.d.ts","sourceRoot":"","sources":["../src/resolve-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,MAAM;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBjE;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAU3C;AAED,wBAAgB,eAAe,IAAI,MAAM,CAaxC;AAED,wBAAgB,aAAa,CACzB,GAAG,CAAC,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,GAChC,MAAM,CA4CR"}
@@ -86,4 +86,4 @@ export function resolveConfig(cwd, fileConfig) {
86
86
  }
87
87
  return { projectId, apiKey, cmsUrl };
88
88
  }
89
- //# sourceMappingURL=cli-config.js.map
89
+ //# sourceMappingURL=resolve-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-config.js","sourceRoot":"","sources":["../src/resolve-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAaxB,MAAM,UAAU,YAAY,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACxB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO;aAChB,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;aACb,IAAI,EAAE;aACN,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,OAAO,OAAO,KAAK,GAAG,EAAE,CAAC;QACrB,IACI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACjD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACxC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAC3C,CAAC;YACC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,aAAa,CACzB,GAAY,EACZ,UAA+B;IAE/B,MAAM,IAAI,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;IAEtC,mEAAmE;IACnE,mDAAmD;IACnD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,MAAM,SAAS,GACX,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,4BAA4B,CAAC;QACrC,MAAM,CAAC,4BAA4B,CAAC;QACpC,UAAU,EAAE,SAAS;QACrB,EAAE,CAAC;IAEP,MAAM,MAAM,GACR,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,kBAAkB,CAAC;QAC3B,OAAO,CAAC,0BAA0B,CAAC;QACnC,MAAM,CAAC,kBAAkB,CAAC;QAC1B,MAAM,CAAC,0BAA0B,CAAC;QAClC,UAAU,EAAE,MAAM;QAClB,EAAE,CAAC;IAEP,MAAM,MAAM,GACR,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,qBAAqB,CAAC;QAC9B,MAAM,CAAC,qBAAqB,CAAC;QAC7B,UAAU,EAAE,MAAM;QAClB,EAAE,CAAC;IAEP,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAE7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC"}
package/dist/sync.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Config } from './cli-config.js';
1
+ import type { Config } from './resolve-config.js';
2
2
  import type { NamespaceMap, PreviewRoute } from './scanner.js';
3
3
  export type SerializedNamespaces = Record<string, Array<{
4
4
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM/D,MAAM,MAAM,oBAAoB,GAAG,MAAM,CACrC,MAAM,EACN,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CACxD,CAAC;AAEF,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;IACzE,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,aAAa,EAAE,KAAK,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,YAAY,EAAE,CAAC;QACvB,KAAK,EAAE,YAAY,EAAE,CAAC;KACzB,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAQD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAQvE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAM5E;AAED,wBAAgB,YAAY,CACxB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,oBAAoB,GAAG,IAAI,GACpC,OAAO,CAGT;AAMD,wBAAgB,WAAW,CACvB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,oBAAoB,GAAG,IAAI,GACpC,QAAQ,CA6CV;AAMD,wBAAgB,WAAW,CACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,oBAAoB,EAChC,IAAI,CAAC,EAAE,QAAQ,GAChB,IAAI,CASN;AAMD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,YAAY,GAAG;IAC3D,UAAU,EAAE,oBAAoB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACrB,CAYA;AAUD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAQ9D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAGlE;AAGD,wBAAsB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,YAAY,EACxB,IAAI,GAAE,iBAA2C,GAClD,OAAO,CAAC,IAAI,CAAC,CA4Hf;AA4CD,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAuGf"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM/D,MAAM,MAAM,oBAAoB,GAAG,MAAM,CACrC,MAAM,EACN,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CACxD,CAAC;AAEF,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;IACzE,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,aAAa,EAAE,KAAK,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,YAAY,EAAE,CAAC;QACvB,KAAK,EAAE,YAAY,EAAE,CAAC;KACzB,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAQD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAQvE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAM5E;AAED,wBAAgB,YAAY,CACxB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,oBAAoB,GAAG,IAAI,GACpC,OAAO,CAGT;AAMD,wBAAgB,WAAW,CACvB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,oBAAoB,GAAG,IAAI,GACpC,QAAQ,CA6CV;AAMD,wBAAgB,WAAW,CACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,oBAAoB,EAChC,IAAI,CAAC,EAAE,QAAQ,GAChB,IAAI,CASN;AAMD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,YAAY,GAAG;IAC3D,UAAU,EAAE,oBAAoB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACrB,CAYA;AAUD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAQ9D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAGlE;AAGD,wBAAsB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,YAAY,EACxB,IAAI,GAAE,iBAA2C,GAClD,OAAO,CAAC,IAAI,CAAC,CA4Hf;AA4CD,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CA+Gf"}
package/dist/sync.js CHANGED
@@ -291,23 +291,37 @@ export async function pullTranslations(config, opts) {
291
291
  }
292
292
  let fileCount = 0;
293
293
  const writtenFiles = new Set();
294
- fs.mkdirSync(opts.outputDir, { recursive: true });
294
+ // Write per-namespace files: {outputDir}/{locale}/{namespace}.json
295
+ // Compatible with i18next-http-backend loadPath: '/locales/{{lng}}/{{ns}}.json'
295
296
  for (const [locale, namespaces] of Object.entries(processed)) {
296
- const filePath = path.join(opts.outputDir, `${locale}.json`);
297
- fs.writeFileSync(filePath, JSON.stringify(namespaces, null, 2), 'utf-8');
298
- writtenFiles.add(filePath);
299
- fileCount++;
297
+ const localeDir = path.join(opts.outputDir, locale);
298
+ fs.mkdirSync(localeDir, { recursive: true });
299
+ for (const [ns, keys] of Object.entries(namespaces)) {
300
+ const filePath = path.join(localeDir, `${ns}.json`);
301
+ fs.writeFileSync(filePath, JSON.stringify(keys, null, 2), 'utf-8');
302
+ writtenFiles.add(filePath);
303
+ fileCount++;
304
+ }
300
305
  }
301
- // Remove locale files that no longer exist in CMS
306
+ // Remove namespace files that no longer exist in CMS
302
307
  let deleted = 0;
303
- for (const file of fs.readdirSync(opts.outputDir)) {
304
- if (file === PULL_META_FILE || !file.endsWith('.json'))
308
+ for (const entry of fs.readdirSync(opts.outputDir, {
309
+ withFileTypes: true,
310
+ })) {
311
+ if (entry.name === PULL_META_FILE)
312
+ continue;
313
+ if (!entry.isDirectory())
305
314
  continue;
306
- const filePath = path.join(opts.outputDir, file);
307
- if (!writtenFiles.has(filePath)) {
308
- fs.unlinkSync(filePath);
309
- console.log(`[CMS] 🗑️ Removed: ${file.replace(/\.json$/, '')}.json (not in CMS)`);
310
- deleted++;
315
+ const localeDir = path.join(opts.outputDir, entry.name);
316
+ for (const file of fs.readdirSync(localeDir)) {
317
+ if (!file.endsWith('.json'))
318
+ continue;
319
+ const filePath = path.join(localeDir, file);
320
+ if (!writtenFiles.has(filePath)) {
321
+ fs.unlinkSync(filePath);
322
+ console.log(`[CMS] 🗑️ Removed: ${entry.name}/${file} (not in CMS)`);
323
+ deleted++;
324
+ }
311
325
  }
312
326
  }
313
327
  saveLastPulledTime(opts.outputDir);