@translation-cms/sync 1.2.4 → 1.2.6

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.
package/dist/bin.js CHANGED
@@ -23,7 +23,7 @@
23
23
  */
24
24
  import path from 'path';
25
25
  import fs from 'fs';
26
- import { resolveConfig, findProjectRoot, loadConfigFile } from './config/resolve-config.js';
26
+ import { resolveConfig, resolveRouteParams, findProjectRoot, loadConfigFile, } from './config/resolve-config.js';
27
27
  import { fetchRouteParams } from './core/api.js';
28
28
  import { runStatus } from './commands/status.js';
29
29
  import { runWatch } from './commands/watch.js';
@@ -86,7 +86,9 @@ function loadTsConfigPathMappings(root) {
86
86
  try {
87
87
  const cleaned = stripJsonComments(fs.readFileSync(tsconfigPath, 'utf-8'));
88
88
  const tsconfig = JSON.parse(cleaned);
89
- if (typeof tsconfig === 'object' && tsconfig !== null && 'compilerOptions' in tsconfig) {
89
+ if (typeof tsconfig === 'object' &&
90
+ tsconfig !== null &&
91
+ 'compilerOptions' in tsconfig) {
90
92
  const opts = tsconfig.compilerOptions;
91
93
  if (typeof opts === 'object' && opts !== null && 'paths' in opts) {
92
94
  const paths = opts.paths;
@@ -132,10 +134,11 @@ async function main() {
132
134
  if (subcommand !== 'pull') {
133
135
  cmsRouteParams = await fetchRouteParams(config);
134
136
  }
137
+ const allRouteParams = resolveRouteParams(root, fileConfig);
135
138
  const scanOpts = {
136
139
  excludedDirs: fileConfig.excludedDirs,
137
140
  sourceExtensions: fileConfig.sourceExtensions,
138
- routeParams: { ...cmsRouteParams, ...(fileConfig.routeParams ?? {}) },
141
+ routeParams: { ...cmsRouteParams, ...allRouteParams },
139
142
  pathMappings: pathMappings ?? undefined,
140
143
  projectRoot: root,
141
144
  };
@@ -167,7 +170,7 @@ async function main() {
167
170
  });
168
171
  }
169
172
  main().catch(err => {
170
- process.stderr.write(`${err instanceof Error ? err.stack ?? err.message : String(err)}\n`);
173
+ process.stderr.write(`${err instanceof Error ? (err.stack ?? err.message) : String(err)}\n`);
171
174
  process.exit(1);
172
175
  });
173
176
  //# sourceMappingURL=bin.js.map
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGnE,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,OAAO,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAe,KAAK,WAAW,EAAY,MAAM,oBAAoB,CAAC;AAI7E,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,OAAO,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CAuCf"}
@@ -1,8 +1,26 @@
1
- import { scanProject } from '../core/scanner.js';
1
+ import { scanProject, routeKey } from '../core/scanner.js';
2
2
  import { postToSync, pullTranslations } from '../core/api.js';
3
+ import { generateRouteParams, saveRouteParamsCache } from '../core/cache.js';
3
4
  export async function runSync(root, config, scanOpts, opts) {
4
5
  console.log(`Scanning project: ${root}`);
5
6
  const namespaces = scanProject(root, scanOpts);
7
+ // Extract all detected routes and auto-generate params
8
+ const detectedRoutes = new Set();
9
+ for (const keyMap of Object.values(namespaces)) {
10
+ for (const routes of keyMap.values()) {
11
+ for (const route of routes) {
12
+ const routeStr = routeKey(route);
13
+ detectedRoutes.add(routeStr);
14
+ }
15
+ }
16
+ }
17
+ if (detectedRoutes.size > 0) {
18
+ const autoParams = generateRouteParams(Array.from(detectedRoutes));
19
+ if (Object.keys(autoParams).length > 0) {
20
+ saveRouteParamsCache(root, autoParams);
21
+ console.log(`[route-params] Auto-generated params for ${Object.keys(autoParams).length} dynamic routes`);
22
+ }
23
+ }
6
24
  await postToSync(config, namespaces, {
7
25
  root,
8
26
  force: opts.force,
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAoB,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAS9D,MAAM,CAAC,KAAK,UAAU,OAAO,CACzB,IAAY,EACZ,MAAc,EACd,QAAqB,EACrB,IAAwB;IAExB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE/C,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE;QACjC,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC9B,CAAC,CAAC;IAEH,2DAA2D;IAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,gBAAgB,CAAC,MAAM,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAoB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAS7E,MAAM,CAAC,KAAK,UAAU,OAAO,CACzB,IAAY,EACZ,MAAc,EACd,QAAqB,EACrB,IAAwB;IAExB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE/C,uDAAuD;IACvD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACjC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CACP,4CAA4C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,iBAAiB,CAC9F,CAAC;QACN,CAAC;IACL,CAAC;IAED,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE;QACjC,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC9B,CAAC,CAAC;IAEH,2DAA2D;IAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,gBAAgB,CAAC,MAAM,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
@@ -73,4 +73,10 @@ export declare function loadEnvLocal(root: string): Record<string, string>;
73
73
  export declare function parseArgs(): Partial<Config>;
74
74
  export declare function findProjectRoot(): string;
75
75
  export declare function resolveConfig(cwd?: string, fileConfig?: TranslationsConfig): Config;
76
+ /**
77
+ * Resolve route params for scanner.
78
+ * Merges auto-generated params from cache with user's manual config.
79
+ * User config takes precedence.
80
+ */
81
+ export declare function resolveRouteParams(cwd?: string, fileConfig?: TranslationsConfig): Record<string, Record<string, string>>;
76
82
  //# sourceMappingURL=resolve-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-config.d.ts","sourceRoot":"","sources":["../../src/config/resolve-config.ts"],"names":[],"mappings":"AAOA;;;;;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;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACxD;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAqB/D;AAMD;;GAEG;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"}
1
+ {"version":3,"file":"resolve-config.d.ts","sourceRoot":"","sources":["../../src/config/resolve-config.ts"],"names":[],"mappings":"AAQA;;;;;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;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACxD;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAqB/D;AAMD;;GAEG;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;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAC9B,GAAG,CAAC,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYxC"}
@@ -1,5 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
+ import { loadRouteParamsCache } from '../core/cache.js';
3
4
  const CONFIG_FILENAMES = ['.translationsrc.json', 'translations.config.json'];
4
5
  /**
5
6
  * Load project-level config from .translationsrc.json or translations.config.json.
@@ -107,4 +108,19 @@ export function resolveConfig(cwd, fileConfig) {
107
108
  }
108
109
  return { projectId, apiKey, cmsUrl };
109
110
  }
111
+ /**
112
+ * Resolve route params for scanner.
113
+ * Merges auto-generated params from cache with user's manual config.
114
+ * User config takes precedence.
115
+ */
116
+ export function resolveRouteParams(cwd, fileConfig) {
117
+ const root = cwd ?? findProjectRoot();
118
+ // Load auto-generated params from cache
119
+ const cached = loadRouteParamsCache(root);
120
+ const autoParams = cached?.generated ?? {};
121
+ // User's manual config overrides cache
122
+ const userParams = fileConfig?.routeParams ?? {};
123
+ // Merge: auto-generated first, then user overrides
124
+ return { ...autoParams, ...userParams };
125
+ }
110
126
  //# sourceMappingURL=resolve-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-config.js","sourceRoot":"","sources":["../../src/config/resolve-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-config.js","sourceRoot":"","sources":["../../src/config/resolve-config.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { Config } from '../../config/resolve-config.js';
5
5
  import type { PullOptions } from './types.js';
6
6
  /**
7
7
  * Fetch published translations from the CMS and write them to local JSON files.
8
- * Supports caching with TTL and force refresh.
8
+ * Supports caching with TTL, force refresh, and automatic retry with exponential backoff.
9
9
  */
10
10
  export declare function pullTranslations(config: Config, opts: PullOptions): Promise<void>;
11
11
  //# sourceMappingURL=pull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/core/api-internals/pull.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAuC9C;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAgHf"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/core/api-internals/pull.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA0H9C;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAoMf"}
@@ -4,6 +4,65 @@
4
4
  import fs from 'fs';
5
5
  import path from 'path';
6
6
  import { getLastPulledTime, saveLastPulledTime, PULL_META_FILE, DEFAULT_PULL_TTL_MS, } from '../cache.js';
7
+ /**
8
+ * Validate configuration before pulling
9
+ */
10
+ function validateConfig(config) {
11
+ if (!config.cmsUrl?.trim())
12
+ return 'cmsUrl is required';
13
+ if (!config.apiKey?.trim())
14
+ return 'apiKey is required';
15
+ if (!config.projectId?.trim())
16
+ return 'projectId is required';
17
+ return null;
18
+ }
19
+ /**
20
+ * Build API URL with proper encoding
21
+ */
22
+ function buildFetchUrl(config, opts) {
23
+ try {
24
+ const baseUrl = new URL(config.cmsUrl);
25
+ baseUrl.pathname = `/api/translations/${encodeURIComponent(config.projectId)}`;
26
+ if (opts.env) {
27
+ baseUrl.searchParams.set('env', opts.env);
28
+ }
29
+ return baseUrl.toString();
30
+ }
31
+ catch (err) {
32
+ throw new Error(`Invalid CMS URL: ${config.cmsUrl} — ${err instanceof Error ? err.message : 'Unknown error'}`);
33
+ }
34
+ }
35
+ /**
36
+ * Attempt to fetch with retry logic and exponential backoff
37
+ */
38
+ async function fetchWithRetry(url, apiKey, maxRetries = 3) {
39
+ let lastError = null;
40
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
41
+ try {
42
+ const controller = new AbortController();
43
+ const timeoutId = setTimeout(() => controller.abort(), 30000);
44
+ const response = await fetch(url, {
45
+ headers: { 'x-api-key': apiKey },
46
+ signal: controller.signal,
47
+ });
48
+ clearTimeout(timeoutId);
49
+ if (!response.ok) {
50
+ const body = await response.text().catch(() => '');
51
+ throw new Error(`HTTP ${response.status}: ${response.statusText}${body ? ` — ${body}` : ''}`);
52
+ }
53
+ return response;
54
+ }
55
+ catch (err) {
56
+ lastError = err instanceof Error ? err : new Error(String(err));
57
+ if (attempt < maxRetries) {
58
+ const backoff = Math.min(1000 * Math.pow(2, attempt - 1), 5000);
59
+ console.log(`[CMS] ⟳ Retry ${attempt}/${maxRetries} after ${backoff}ms...`);
60
+ await new Promise(resolve => setTimeout(resolve, backoff));
61
+ }
62
+ }
63
+ }
64
+ throw lastError || new Error('Unknown fetch error');
65
+ }
7
66
  /**
8
67
  * Converts a flat `{ "namespace:key": value }` object into
9
68
  * `{ namespace: { key: value } }`, with dot-notation key support.
@@ -11,35 +70,45 @@ import { getLastPulledTime, saveLastPulledTime, PULL_META_FILE, DEFAULT_PULL_TTL
11
70
  function nestTranslationKeys(flat) {
12
71
  const nested = {};
13
72
  for (const [key, value] of Object.entries(flat)) {
14
- const colon = key.indexOf(':');
15
- if (colon === -1)
73
+ const colonIdx = key.indexOf(':');
74
+ if (colonIdx === -1 || colonIdx === 0 || colonIdx === key.length - 1) {
75
+ // Skip invalid keys (no colon, empty namespace, or empty key)
16
76
  continue;
17
- const ns = key.slice(0, colon);
18
- const k = key.slice(colon + 1);
19
- if (!nested[ns])
20
- nested[ns] = {};
21
- const parts = k.split('.');
22
- let current = nested[ns];
23
- for (let i = 0; i < parts.length - 1; i++) {
24
- const part = parts[i];
25
- if (part && !current[part])
26
- current[part] = {};
27
- if (part)
28
- current = current[part];
29
77
  }
78
+ const namespace = key.slice(0, colonIdx);
79
+ const keyPath = key.slice(colonIdx + 1);
80
+ if (!nested[namespace]) {
81
+ nested[namespace] = {};
82
+ }
83
+ // Set nested value using reduce for cleaner code
84
+ const parts = keyPath.split('.');
85
+ const obj = nested[namespace];
30
86
  const lastPart = parts[parts.length - 1];
31
- if (lastPart)
32
- current[lastPart] = value;
87
+ let current = obj;
88
+ for (const part of parts.slice(0, -1)) {
89
+ if (!(part in current)) {
90
+ current[part] = {};
91
+ }
92
+ current = current[part];
93
+ }
94
+ current[lastPart] = value;
33
95
  }
34
96
  return nested;
35
97
  }
36
98
  /**
37
99
  * Fetch published translations from the CMS and write them to local JSON files.
38
- * Supports caching with TTL and force refresh.
100
+ * Supports caching with TTL, force refresh, and automatic retry with exponential backoff.
39
101
  */
40
102
  export async function pullTranslations(config, opts) {
103
+ // Validate configuration
104
+ const validationError = validateConfig(config);
105
+ if (validationError) {
106
+ console.error(`[CMS] ✗ Validation error: ${validationError}`);
107
+ process.exit(1);
108
+ }
41
109
  const ttl = opts.ttlMs ?? DEFAULT_PULL_TTL_MS;
42
110
  console.log(`[CMS] Checking for ${PULL_META_FILE}...`);
111
+ // Check cache if not forced
43
112
  if (!opts.force) {
44
113
  const lastPulled = getLastPulledTime(opts.outputDir);
45
114
  if (lastPulled !== null) {
@@ -60,32 +129,78 @@ export async function pullTranslations(config, opts) {
60
129
  else {
61
130
  console.log(`[CMS] --force flag detected, refreshing...`);
62
131
  }
63
- let url = `${config.cmsUrl.replace(/\/$/, '')}/api/translations/${config.projectId}`;
132
+ // Build and log URL
133
+ let url;
134
+ try {
135
+ url = buildFetchUrl(config, opts);
136
+ }
137
+ catch (err) {
138
+ console.error(`[CMS] ✗ Failed to build URL: ${err instanceof Error ? err.message : String(err)}`);
139
+ process.exit(1);
140
+ }
64
141
  if (opts.env) {
65
- url += `?env=${encodeURIComponent(opts.env)}`;
66
142
  console.log(`[CMS] Environment: ${opts.env}`);
67
143
  }
68
144
  console.log(`[CMS] Fetching from: ${url}`);
69
- const response = await fetch(url, {
70
- headers: { 'x-api-key': config.apiKey },
71
- });
72
- if (!response.ok) {
73
- console.error(`[CMS] ✗ Pull failed: ${response.status} ${response.statusText}`);
145
+ // Fetch with retries
146
+ let response;
147
+ try {
148
+ response = await fetchWithRetry(url, config.apiKey);
149
+ }
150
+ catch (err) {
151
+ console.error(`[CMS] ✗ Pull failed after retries: ${err instanceof Error ? err.message : String(err)}`);
152
+ process.exit(1);
153
+ }
154
+ // Parse response
155
+ let data;
156
+ try {
157
+ data = (await response.json());
158
+ }
159
+ catch (err) {
160
+ console.error(`[CMS] ✗ Invalid JSON response: ${err instanceof Error ? err.message : String(err)}`);
74
161
  process.exit(1);
75
162
  }
76
- const data = (await response.json());
163
+ // Log raw response for debugging
164
+ console.log(`[CMS] API returned ${Object.keys(data).length} locale keys`);
165
+ // Process and validate data
77
166
  const processed = {};
78
167
  for (const [locale, content] of Object.entries(data)) {
79
- if (typeof content !== 'object' || content === null)
168
+ if (typeof content !== 'object' || content === null) {
169
+ console.warn(`[CMS] ⚠ Skipping invalid locale "${locale}"`);
80
170
  continue;
171
+ }
81
172
  const obj = content;
173
+ if (Object.keys(obj).length === 0) {
174
+ console.warn(`[CMS] ⚠ Locale "${locale}" is empty`);
175
+ processed[locale] = {};
176
+ continue;
177
+ }
82
178
  const firstVal = Object.values(obj)[0];
83
179
  processed[locale] =
84
180
  typeof firstVal === 'string'
85
181
  ? nestTranslationKeys(obj)
86
182
  : obj;
87
183
  }
88
- fs.mkdirSync(opts.outputDir, { recursive: true });
184
+ if (Object.keys(processed).length === 0) {
185
+ console.error(`[CMS] ✗ No valid locales received from API`);
186
+ console.error(`[CMS] This can happen when:\n` +
187
+ ` • Your sync just uploaded keys and no translations exist yet\n` +
188
+ ` • Your CMS project has no locales configured\n` +
189
+ ` • API credentials are incorrect\n\n` +
190
+ `Next steps:\n` +
191
+ ` 1. Go to your CMS and add translations for the uploaded keys\n` +
192
+ ` 2. Or verify your project ID/API key in .env.local\n` +
193
+ ` 3. Then run: pnpm sync-translations pull`);
194
+ process.exit(1);
195
+ }
196
+ // Create output directory
197
+ try {
198
+ fs.mkdirSync(opts.outputDir, { recursive: true });
199
+ }
200
+ catch (err) {
201
+ console.error(`[CMS] ✗ Failed to create output directory: ${err instanceof Error ? err.message : String(err)}`);
202
+ process.exit(1);
203
+ }
89
204
  const writtenFiles = new Set();
90
205
  let fileCount = 0;
91
206
  // Write one file per locale: {outputDir}/{locale}.json
@@ -93,27 +208,44 @@ export async function pullTranslations(config, opts) {
93
208
  // Compatible with i18next-resources-to-backend
94
209
  for (const [locale, namespaces] of Object.entries(processed)) {
95
210
  const filePath = path.join(opts.outputDir, `${locale}.json`);
96
- fs.writeFileSync(filePath, JSON.stringify(namespaces, null, 2), 'utf-8');
97
- writtenFiles.add(filePath);
98
- fileCount++;
211
+ try {
212
+ fs.writeFileSync(filePath, JSON.stringify(namespaces, null, 2), 'utf-8');
213
+ writtenFiles.add(filePath);
214
+ fileCount++;
215
+ }
216
+ catch (err) {
217
+ console.error(`[CMS] ✗ Failed to write ${locale}.json: ${err instanceof Error ? err.message : String(err)}`);
218
+ }
99
219
  }
100
220
  // Empty locale files that no longer exist in CMS (don't delete — static imports would break)
101
221
  let emptied = 0;
102
- for (const entry of fs.readdirSync(opts.outputDir, {
103
- withFileTypes: true,
104
- })) {
105
- if (entry.name === PULL_META_FILE)
106
- continue;
107
- if (!entry.isFile() || !entry.name.endsWith('.json'))
108
- continue;
109
- const filePath = path.join(opts.outputDir, entry.name);
110
- if (!writtenFiles.has(filePath)) {
111
- fs.writeFileSync(filePath, '{}\n', 'utf-8');
112
- console.log(`[CMS] ○ Emptied: ${entry.name} (no data in CMS)`);
113
- emptied++;
222
+ try {
223
+ for (const entry of fs.readdirSync(opts.outputDir, {
224
+ withFileTypes: true,
225
+ })) {
226
+ if (entry.name === PULL_META_FILE)
227
+ continue;
228
+ if (!entry.isFile() || !entry.name.endsWith('.json'))
229
+ continue;
230
+ const filePath = path.join(opts.outputDir, entry.name);
231
+ if (!writtenFiles.has(filePath)) {
232
+ fs.writeFileSync(filePath, '{}\n', 'utf-8');
233
+ console.log(`[CMS] ○ Emptied: ${entry.name} (no data in CMS)`);
234
+ emptied++;
235
+ }
114
236
  }
115
237
  }
116
- saveLastPulledTime(opts.outputDir);
238
+ catch (err) {
239
+ console.warn(`[CMS] ⚠ Failed to clean up stale files: ${err instanceof Error ? err.message : String(err)}`);
240
+ }
241
+ // Save cache metadata
242
+ try {
243
+ saveLastPulledTime(opts.outputDir);
244
+ }
245
+ catch (err) {
246
+ console.warn(`[CMS] ⚠ Failed to save cache metadata: ${err instanceof Error ? err.message : String(err)}`);
247
+ }
248
+ // Summary
117
249
  if (emptied > 0) {
118
250
  console.log(`[CMS] ✓ Refresh complete: wrote ${fileCount} files, emptied ${emptied} stale files`);
119
251
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/core/api-internals/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/core/api-internals/pull.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/core/api-internals/sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,YAAY,CAAC;AAalE;;;GAGG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,YAAY,EACxB,IAAI,GAAE,iBAA2C,GAClD,OAAO,CAAC,IAAI,CAAC,CA+Hf"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/core/api-internals/sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,YAAY,CAAC;AAYlE;;;GAGG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,YAAY,EACxB,IAAI,GAAE,iBAA2C,GAClD,OAAO,CAAC,IAAI,CAAC,CA+Hf"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/core/api-internals/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/core/api-internals/sync.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ export interface SyncDiff {
21
21
  }>;
22
22
  unchanged: number;
23
23
  }
24
+ export interface CachedRouteParams {
25
+ generated: Record<string, Record<string, string>>;
26
+ timestamp: string;
27
+ }
24
28
  export declare function loadSyncCache(root: string): SerializedNamespaces | null;
25
29
  export declare function saveSyncCache(root: string, data: SerializedNamespaces): void;
26
30
  export declare function isSyncNeeded(current: SerializedNamespaces, cached: SerializedNamespaces | null): boolean;
@@ -36,4 +40,23 @@ export declare function getLastPulledTime(outputDir: string): number | null;
36
40
  export declare function saveLastPulledTime(outputDir: string): void;
37
41
  export declare function formatPreviewRoute(route: PreviewRoute): string;
38
42
  export declare function formatPreviewRoutes(routes: PreviewRoute[]): string;
43
+ /**
44
+ * Generate route params from detected routes.
45
+ * Scans all routes, extracts [param] names, generates defaults.
46
+ *
47
+ * @example
48
+ * generateRouteParams(["/[locale]/blog/[slug]", "/about"])
49
+ * // {
50
+ * // "/[locale]/blog/[slug]": { "locale": "en", "slug": "demo" }
51
+ * // }
52
+ */
53
+ export declare function generateRouteParams(routes: string[]): Record<string, Record<string, string>>;
54
+ /**
55
+ * Load route params from cache (if exists).
56
+ */
57
+ export declare function loadRouteParamsCache(root: string): CachedRouteParams | null;
58
+ /**
59
+ * Save route params to cache.
60
+ */
61
+ export declare function saveRouteParamsCache(root: string, params: Record<string, Record<string, string>>): void;
39
62
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"AAEA,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,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;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;AAMD,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAC7C,eAAO,MAAM,mBAAmB,QAAgB,CAAC;AAEjD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASlE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAO1D;AAUD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAQ9D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAGlE"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"AAEA,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,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,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;CACrB;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;AAMD,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAC7C,eAAO,MAAM,mBAAmB,QAAgB,CAAC;AAEjD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASlE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAO1D;AAUD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAQ9D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAGlE;AAmDD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAexC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAU3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC/C,IAAI,CAUN"}