@better-i18n/cli 0.2.0 → 0.2.3

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 (45) hide show
  1. package/README.md +53 -0
  2. package/dist/analyzer/index.d.ts.map +1 -1
  3. package/dist/analyzer/index.js +25 -0
  4. package/dist/analyzer/index.js.map +1 -1
  5. package/dist/analyzer/types.d.ts +1 -0
  6. package/dist/analyzer/types.d.ts.map +1 -1
  7. package/dist/commands/doctor.d.ts +2 -0
  8. package/dist/commands/doctor.d.ts.map +1 -1
  9. package/dist/commands/doctor.js +3 -2
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/context/detector.js +16 -0
  12. package/dist/context/detector.js.map +1 -1
  13. package/dist/doctor/index.d.ts +2 -0
  14. package/dist/doctor/index.d.ts.map +1 -1
  15. package/dist/doctor/index.js +113 -12
  16. package/dist/doctor/index.js.map +1 -1
  17. package/dist/doctor/score.d.ts +23 -17
  18. package/dist/doctor/score.d.ts.map +1 -1
  19. package/dist/doctor/score.js +85 -77
  20. package/dist/doctor/score.js.map +1 -1
  21. package/dist/index.js +3 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/reporters/doctor-eslint.d.ts +4 -1
  24. package/dist/reporters/doctor-eslint.d.ts.map +1 -1
  25. package/dist/reporters/doctor-eslint.js +108 -28
  26. package/dist/reporters/doctor-eslint.js.map +1 -1
  27. package/dist/reporters/doctor-report.d.ts +9 -4
  28. package/dist/reporters/doctor-report.d.ts.map +1 -1
  29. package/dist/reporters/doctor-report.js +69 -9
  30. package/dist/reporters/doctor-report.js.map +1 -1
  31. package/dist/rules/categories.d.ts.map +1 -1
  32. package/dist/rules/categories.js +9 -0
  33. package/dist/rules/categories.js.map +1 -1
  34. package/dist/rules/health/missing-translations.js +2 -2
  35. package/dist/rules/health/missing-translations.js.map +1 -1
  36. package/dist/rules/health/orphan-keys.js +2 -2
  37. package/dist/rules/health/orphan-keys.js.map +1 -1
  38. package/dist/rules/health/placeholder-mismatch.js +3 -3
  39. package/dist/rules/health/placeholder-mismatch.js.map +1 -1
  40. package/dist/rules/registry.d.ts +2 -0
  41. package/dist/rules/registry.d.ts.map +1 -1
  42. package/dist/utils/key-comparison.d.ts.map +1 -1
  43. package/dist/utils/key-comparison.js +5 -1
  44. package/dist/utils/key-comparison.js.map +1 -1
  45. package/package.json +1 -1
@@ -2,24 +2,86 @@
2
2
  * Doctor Report — API Reporter
3
3
  *
4
4
  * Sends a DoctorReport to the Better i18n API for storage and trend tracking.
5
- * Authentication is via GitHub Actions OIDC — no API keys needed.
6
5
  *
7
- * Graceful degradation: if OIDC is unavailable (running locally, missing
8
- * permissions), it warns and returns null instead of failing.
6
+ * Two auth paths:
7
+ * 1. API key (--api-key flag) for local dev, GitLab, Jenkins, etc.
8
+ * Uses Better Auth API key via x-api-key header.
9
+ * Reads project context from i18n.config.ts to build X-Doctor-Project header.
10
+ * 2. GitHub Actions OIDC (default) — no API keys needed in GitHub Actions.
11
+ *
12
+ * Graceful degradation: if auth is unavailable, it warns and returns null.
9
13
  */
14
+ import { detectProjectContext } from "../context/detector.js";
10
15
  import { fetchGitHubOidcToken, isGitHubActionsWithOidc } from "../context/oidc.js";
11
16
  const DEFAULT_API_URL = "https://api.better-i18n.com";
12
17
  /**
13
18
  * POST a doctor report to the Better i18n API.
14
19
  *
15
20
  * @param report - The DoctorReport to upload
21
+ * @param apiKey - Optional Better Auth API key for non-OIDC auth (--api-key flag)
16
22
  * @returns Report ID and dashboard URL, or null if reporting failed/unavailable
17
23
  */
18
- export async function reportToApi(report) {
19
- // 1. Check if we can get an OIDC token
24
+ export async function reportToApi(report, apiKey) {
25
+ const apiUrl = process.env.BETTER_I18N_API_URL || DEFAULT_API_URL;
26
+ // ── API key auth path ──────────────────────────────────────────
27
+ if (apiKey) {
28
+ return reportWithApiKey(report, apiKey, apiUrl);
29
+ }
30
+ // ── OIDC auth path (GitHub Actions) ──────────────────────────
31
+ return reportWithOidc(report, apiUrl);
32
+ }
33
+ /**
34
+ * Report using Better Auth API key + X-Doctor-Project header.
35
+ * Reads org/project slug from i18n.config.ts.
36
+ */
37
+ async function reportWithApiKey(report, apiKey, apiUrl) {
38
+ // Detect project context from i18n.config.ts
39
+ const context = await detectProjectContext(process.cwd(), true);
40
+ if (!context?.workspaceId || !context?.projectSlug) {
41
+ console.warn(" Warning: Could not detect project context from i18n.config.ts.\n" +
42
+ " Ensure your config has: project: \"orgSlug/projectSlug\"\n" +
43
+ " Skipping report upload.");
44
+ return null;
45
+ }
46
+ const doctorProject = `${context.workspaceId}/${context.projectSlug}`;
47
+ try {
48
+ const response = await fetch(`${apiUrl}/api/doctor/report`, {
49
+ method: "POST",
50
+ headers: {
51
+ "Content-Type": "application/json",
52
+ "x-api-key": apiKey,
53
+ "X-Doctor-Project": doctorProject,
54
+ },
55
+ body: JSON.stringify(report),
56
+ });
57
+ if (!response.ok) {
58
+ const errorText = await response.text().catch(() => "Unknown error");
59
+ console.warn(` Warning: Report upload failed (${response.status}): ${errorText}`);
60
+ return null;
61
+ }
62
+ const data = (await response.json());
63
+ if (!data.reportId) {
64
+ console.warn(" Warning: Unexpected API response. Skipping.");
65
+ return null;
66
+ }
67
+ return {
68
+ reportId: data.reportId,
69
+ url: data.url || `${apiUrl}/doctor/${data.reportId}`,
70
+ };
71
+ }
72
+ catch (error) {
73
+ console.warn(` Warning: Report upload failed: ${error instanceof Error ? error.message : String(error)}`);
74
+ return null;
75
+ }
76
+ }
77
+ /**
78
+ * Report using GitHub Actions OIDC token (original flow).
79
+ */
80
+ async function reportWithOidc(report, apiUrl) {
20
81
  if (!isGitHubActionsWithOidc()) {
21
- console.warn(" Warning: --report requires GitHub Actions with OIDC.\n" +
22
- " Add `permissions: id-token: write` to your workflow.\n" +
82
+ console.warn(" Warning: --report requires GitHub Actions OIDC or --api-key flag.\n" +
83
+ " For GitHub Actions: add `permissions: id-token: write` to your workflow.\n" +
84
+ " For local/non-GitHub CI: use --api-key <your-better-auth-api-key>\n" +
23
85
  " Skipping report upload.");
24
86
  return null;
25
87
  }
@@ -28,8 +90,6 @@ export async function reportToApi(report) {
28
90
  console.warn(" Warning: Failed to fetch OIDC token. Skipping report upload.");
29
91
  return null;
30
92
  }
31
- // 2. Send report to API
32
- const apiUrl = process.env.BETTER_I18N_API_URL || DEFAULT_API_URL;
33
93
  try {
34
94
  const response = await fetch(`${apiUrl}/api/doctor/report`, {
35
95
  method: "POST",
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-report.js","sourceRoot":"","sources":["../../src/reporters/doctor-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEnF,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAOtD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAoB;IAEpB,uCAAuC;IACvC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CACV,0DAA0D;YAC1D,0DAA0D;YAC1D,2BAA2B,CAC5B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CACV,gEAAgE,CACjE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,eAAe,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,oBAAoB,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;aACjC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CACV,oCAAoC,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CACrE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGlC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,WAAW,IAAI,CAAC,QAAQ,EAAE;SACrD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC7F,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"doctor-report.js","sourceRoot":"","sources":["../../src/reporters/doctor-report.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/rules/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAgBxE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4BhD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAgB5E,CAAC"}
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/rules/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAoBxE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkChD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAoB5E,CAAC"}
@@ -25,6 +25,9 @@ export const RULE_CATEGORY_MAP = {
25
25
  "key-naming": "Structure",
26
26
  "namespace-structure": "Structure",
27
27
  "file-format": "Structure",
28
+ // ── Sync Rules (remote CDN comparison) ───────────────────────────
29
+ "missing-in-remote": "Coverage",
30
+ "unused-remote-key": "Performance",
28
31
  // ── Code Rules (AST analysis, from existing analyzer) ─────────────
29
32
  "jsx-text": "Code",
30
33
  "jsx-attribute": "Code",
@@ -47,6 +50,9 @@ export const RULE_HELP_MAP = {
47
50
  "key-naming": "Use consistent naming convention within each namespace (e.g., camelCase or snake_case, not mixed)",
48
51
  "namespace-structure": "Maintain consistent namespace depth across translation files for predictable key organization",
49
52
  "file-format": "Fix malformed JSON or encoding issues in translation files",
53
+ // ── Sync Rules ────────────────────────────────────────────────────
54
+ "missing-in-remote": "Key found in code but not in remote translations. Run sync or add the key in the editor",
55
+ "unused-remote-key": "Key exists in remote but not used in code. Consider removing it to reduce bundle size",
50
56
  // ── Code Rules ────────────────────────────────────────────────────
51
57
  "jsx-text": "Wrap hardcoded JSX text with t() function call for translation support",
52
58
  "jsx-attribute": "Use t() for translatable attributes like title, alt, placeholder, aria-label",
@@ -70,6 +76,9 @@ export const RULE_DEFAULT_SEVERITY = {
70
76
  "key-naming": "warning",
71
77
  "namespace-structure": "info",
72
78
  "file-format": "error",
79
+ // Sync rules
80
+ "missing-in-remote": "warning",
81
+ "unused-remote-key": "info",
73
82
  // Code rules
74
83
  "jsx-text": "warning",
75
84
  "jsx-attribute": "warning",
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/rules/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA+C;IAC3E,qEAAqE;IACrE,sBAAsB,EAAE,UAAU;IAClC,aAAa,EAAE,aAAa;IAC5B,sBAAsB,EAAE,SAAS;IACjC,oBAAoB,EAAE,SAAS;IAC/B,YAAY,EAAE,WAAW;IACzB,qBAAqB,EAAE,WAAW;IAClC,aAAa,EAAE,WAAW;IAE1B,qEAAqE;IACrE,UAAU,EAAE,MAAM;IAClB,eAAe,EAAE,MAAM;IACvB,gBAAgB,EAAE,MAAM;IACxB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,qEAAqE;IACrE,sBAAsB,EACpB,qFAAqF;IACvF,aAAa,EACX,sFAAsF;IACxF,sBAAsB,EACpB,2HAA2H;IAC7H,oBAAoB,EAClB,yFAAyF;IAC3F,YAAY,EACV,mGAAmG;IACrG,qBAAqB,EACnB,+FAA+F;IACjG,aAAa,EACX,4DAA4D;IAE9D,qEAAqE;IACrE,UAAU,EACR,wEAAwE;IAC1E,eAAe,EACb,8EAA8E;IAChF,gBAAgB,EACd,wFAAwF;IAC1F,eAAe,EACb,mEAAmE;IACrE,iBAAiB,EACf,sEAAsE;CACzE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA+C;IAC/E,oEAAoE;IACpE,sBAAsB,EAAE,OAAO;IAC/B,aAAa,EAAE,SAAS;IACxB,sBAAsB,EAAE,OAAO;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,YAAY,EAAE,SAAS;IACvB,qBAAqB,EAAE,MAAM;IAC7B,aAAa,EAAE,OAAO;IAEtB,aAAa;IACb,UAAU,EAAE,SAAS;IACrB,eAAe,EAAE,SAAS;IAC1B,gBAAgB,EAAE,OAAO;IACzB,eAAe,EAAE,SAAS;IAC1B,iBAAiB,EAAE,SAAS;CAC7B,CAAC"}
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/rules/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA+C;IAC3E,qEAAqE;IACrE,sBAAsB,EAAE,UAAU;IAClC,aAAa,EAAE,aAAa;IAC5B,sBAAsB,EAAE,SAAS;IACjC,oBAAoB,EAAE,SAAS;IAC/B,YAAY,EAAE,WAAW;IACzB,qBAAqB,EAAE,WAAW;IAClC,aAAa,EAAE,WAAW;IAE1B,oEAAoE;IACpE,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,aAAa;IAElC,qEAAqE;IACrE,UAAU,EAAE,MAAM;IAClB,eAAe,EAAE,MAAM;IACvB,gBAAgB,EAAE,MAAM;IACxB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,qEAAqE;IACrE,sBAAsB,EACpB,qFAAqF;IACvF,aAAa,EACX,sFAAsF;IACxF,sBAAsB,EACpB,2HAA2H;IAC7H,oBAAoB,EAClB,yFAAyF;IAC3F,YAAY,EACV,mGAAmG;IACrG,qBAAqB,EACnB,+FAA+F;IACjG,aAAa,EACX,4DAA4D;IAE9D,qEAAqE;IACrE,mBAAmB,EACjB,yFAAyF;IAC3F,mBAAmB,EACjB,uFAAuF;IAEzF,qEAAqE;IACrE,UAAU,EACR,wEAAwE;IAC1E,eAAe,EACb,8EAA8E;IAChF,gBAAgB,EACd,wFAAwF;IAC1F,eAAe,EACb,mEAAmE;IACrE,iBAAiB,EACf,sEAAsE;CACzE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA+C;IAC/E,oEAAoE;IACpE,sBAAsB,EAAE,OAAO;IAC/B,aAAa,EAAE,SAAS;IACxB,sBAAsB,EAAE,OAAO;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,YAAY,EAAE,SAAS;IACvB,qBAAqB,EAAE,MAAM;IAC7B,aAAa,EAAE,OAAO;IAEtB,aAAa;IACb,mBAAmB,EAAE,SAAS;IAC9B,mBAAmB,EAAE,MAAM;IAE3B,aAAa;IACb,UAAU,EAAE,SAAS;IACrB,eAAe,EAAE,SAAS;IAC1B,gBAAgB,EAAE,OAAO;IACzB,eAAe,EAAE,SAAS;IAC1B,iBAAiB,EAAE,SAAS;CAC7B,CAAC"}
@@ -15,7 +15,7 @@ export const missingTranslationsRule = {
15
15
  defaultSeverity: "error",
16
16
  description: "Detect keys present in source locale but missing in target locales",
17
17
  run(context) {
18
- const { sourceLocale, targetLocales, translations } = context;
18
+ const { sourceLocale, targetLocales, translations, localeFilePaths } = context;
19
19
  const sourceKeys = translations[sourceLocale];
20
20
  if (!sourceKeys)
21
21
  return [];
@@ -27,7 +27,7 @@ export const missingTranslationsRule = {
27
27
  if (!(key in targetKeys)) {
28
28
  const namespace = key.split(".")[0] || "default";
29
29
  diagnostics.push({
30
- filePath: `${targetLocale}.json`,
30
+ filePath: localeFilePaths?.[targetLocale] ?? `${targetLocale}.json`,
31
31
  line: 0,
32
32
  column: 0,
33
33
  rule: RULE_ID,
@@ -1 +1 @@
1
- {"version":3,"file":"missing-translations.js","sourceRoot":"","sources":["../../../src/rules/health/missing-translations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOpE,MAAM,OAAO,GAAG,sBAAsB,CAAC;AAEvC,MAAM,CAAC,MAAM,uBAAuB,GAAe;IACjD,EAAE,EAAE,OAAO;IACX,eAAe,EAAE,OAAO;IACxB,WAAW,EACT,oEAAoE;IAEtE,GAAG,CAAC,OAA0B;QAC5B,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAE9D,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,WAAW,GAAqB,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAEpD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;oBACzB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;oBAEjD,WAAW,CAAC,IAAI,CAAC;wBACf,QAAQ,EAAE,GAAG,YAAY,OAAO;wBAChC,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,UAAU;wBAClD,QAAQ,EAAE,IAAI,CAAC,eAAe;wBAC9B,OAAO,EAAE,QAAQ,GAAG,2BAA2B,YAAY,GAAG;wBAC9D,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE;wBAClC,GAAG;wBACH,SAAS;wBACT,QAAQ,EAAE,YAAY;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"missing-translations.js","sourceRoot":"","sources":["../../../src/rules/health/missing-translations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOpE,MAAM,OAAO,GAAG,sBAAsB,CAAC;AAEvC,MAAM,CAAC,MAAM,uBAAuB,GAAe;IACjD,EAAE,EAAE,OAAO;IACX,eAAe,EAAE,OAAO;IACxB,WAAW,EACT,oEAAoE;IAEtE,GAAG,CAAC,OAA0B;QAC5B,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAE/E,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,WAAW,GAAqB,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAEpD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;oBACzB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;oBAEjD,WAAW,CAAC,IAAI,CAAC;wBACf,QAAQ,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,YAAY,OAAO;wBACnE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,CAAC;wBACT,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,UAAU;wBAClD,QAAQ,EAAE,IAAI,CAAC,eAAe;wBAC9B,OAAO,EAAE,QAAQ,GAAG,2BAA2B,YAAY,GAAG;wBAC9D,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE;wBAClC,GAAG;wBACH,SAAS;wBACT,QAAQ,EAAE,YAAY;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAC"}
@@ -18,7 +18,7 @@ export const orphanKeysRule = {
18
18
  defaultSeverity: "warning",
19
19
  description: "Detect translation keys not referenced in code (dead translations)",
20
20
  run(context) {
21
- const { sourceLocale, translations, codeKeys } = context;
21
+ const { sourceLocale, translations, codeKeys, localeFilePaths } = context;
22
22
  // If no code keys were collected, skip — we can't determine orphans
23
23
  // without knowing what code actually uses.
24
24
  if (codeKeys.size === 0)
@@ -31,7 +31,7 @@ export const orphanKeysRule = {
31
31
  if (!codeKeys.has(key)) {
32
32
  const namespace = key.split(".")[0] || "default";
33
33
  diagnostics.push({
34
- filePath: `${sourceLocale}.json`,
34
+ filePath: localeFilePaths?.[sourceLocale] ?? `${sourceLocale}.json`,
35
35
  line: 0,
36
36
  column: 0,
37
37
  rule: RULE_ID,
@@ -1 +1 @@
1
- {"version":3,"file":"orphan-keys.js","sourceRoot":"","sources":["../../../src/rules/health/orphan-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOpE,MAAM,OAAO,GAAG,aAAa,CAAC;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,EAAE,EAAE,OAAO;IACX,eAAe,EAAE,SAAS;IAC1B,WAAW,EACT,oEAAoE;IAEtE,GAAG,CAAC,OAA0B;QAC5B,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAEzD,oEAAoE;QACpE,2CAA2C;QAC3C,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEnC,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,WAAW,GAAqB,EAAE,CAAC;QAEzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;gBAEjD,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,GAAG,YAAY,OAAO;oBAChC,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;oBACT,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,aAAa;oBACrD,QAAQ,EAAE,IAAI,CAAC,eAAe;oBAC9B,OAAO,EAAE,QAAQ,GAAG,kDAAkD;oBACtE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE;oBAClC,GAAG;oBACH,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"orphan-keys.js","sourceRoot":"","sources":["../../../src/rules/health/orphan-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOpE,MAAM,OAAO,GAAG,aAAa,CAAC;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,EAAE,EAAE,OAAO;IACX,eAAe,EAAE,SAAS;IAC1B,WAAW,EACT,oEAAoE;IAEtE,GAAG,CAAC,OAA0B;QAC5B,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAE1E,oEAAoE;QACpE,2CAA2C;QAC3C,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEnC,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,WAAW,GAAqB,EAAE,CAAC;QAEzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;gBAEjD,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,YAAY,OAAO;oBACnE,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;oBACT,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,aAAa;oBACrD,QAAQ,EAAE,IAAI,CAAC,eAAe;oBAC9B,OAAO,EAAE,QAAQ,GAAG,kDAAkD;oBACtE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE;oBAClC,GAAG;oBACH,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAC"}
@@ -60,7 +60,7 @@ export const placeholderMismatchRule = {
60
60
  defaultSeverity: "error",
61
61
  description: "Detect placeholder mismatches between source and target translations",
62
62
  run(context) {
63
- const { sourceLocale, targetLocales, translations } = context;
63
+ const { sourceLocale, targetLocales, translations, localeFilePaths } = context;
64
64
  const sourceKeys = translations[sourceLocale];
65
65
  if (!sourceKeys)
66
66
  return [];
@@ -80,7 +80,7 @@ export const placeholderMismatchRule = {
80
80
  for (const ph of sourcePh) {
81
81
  if (!targetPh.includes(ph)) {
82
82
  diagnostics.push({
83
- filePath: `${targetLocale}.json`,
83
+ filePath: localeFilePaths?.[targetLocale] ?? `${targetLocale}.json`,
84
84
  line: 0,
85
85
  column: 0,
86
86
  rule: RULE_ID,
@@ -98,7 +98,7 @@ export const placeholderMismatchRule = {
98
98
  for (const ph of targetPh) {
99
99
  if (!sourcePh.includes(ph)) {
100
100
  diagnostics.push({
101
- filePath: `${targetLocale}.json`,
101
+ filePath: localeFilePaths?.[targetLocale] ?? `${targetLocale}.json`,
102
102
  line: 0,
103
103
  column: 0,
104
104
  rule: RULE_ID,
@@ -1 +1 @@
1
- {"version":3,"file":"placeholder-mismatch.js","sourceRoot":"","sources":["../../../src/rules/health/placeholder-mismatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"placeholder-mismatch.js","sourceRoot":"","sources":["../../../src/rules/health/placeholder-mismatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOpE,MAAM,OAAO,GAAG,sBAAsB,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,2EAA2E;IAC3E,MAAM,QAAQ,GAAa;QACzB,gBAAgB,EAAE,wCAAwC;QAC1D,cAAc,EAAE,mCAAmC;QACnD,mBAAmB,EAAE,gCAAgC;QACrD,UAAU,EAAE,qCAAqC;QACjD,gBAAgB,EAAE,8BAA8B;KACjD,CAAC;IAEF,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW;QAC/C,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CACX,CAAC,KAAK,IAAI,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAe;IACjD,EAAE,EAAE,OAAO;IACX,eAAe,EAAE,OAAO;IACxB,WAAW,EACT,sEAAsE;IAExE,GAAG,CAAC,OAA0B;QAC5B,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAE/E,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,WAAW,GAAqB,EAAE,CAAC;QAEzC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAEpD,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5D,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,WAAW,KAAK,SAAS;oBAAE,SAAS,CAAC,oCAAoC;gBAE7E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBAElD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAE7D,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;gBAEjD,2CAA2C;gBAC3C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC3B,WAAW,CAAC,IAAI,CAAC;4BACf,QAAQ,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,YAAY,OAAO;4BACnE,IAAI,EAAE,CAAC;4BACP,MAAM,EAAE,CAAC;4BACT,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,SAAS;4BACjD,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,OAAO,EAAE,eAAe,EAAE,6BAA6B,YAAY,cAAc,GAAG,GAAG;4BACvF,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE;4BAClC,GAAG;4BACH,SAAS;4BACT,QAAQ,EAAE,YAAY;yBACvB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,0DAA0D;gBAC1D,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC3B,WAAW,CAAC,IAAI,CAAC;4BACf,QAAQ,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,YAAY,OAAO;4BACnE,IAAI,EAAE,CAAC;4BACP,MAAM,EAAE,CAAC;4BACT,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,SAAS;4BACjD,QAAQ,EAAE,SAAS;4BACnB,OAAO,EAAE,qBAAqB,EAAE,QAAQ,YAAY,kCAAkC,GAAG,GAAG;4BAC5F,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE;4BAClC,GAAG;4BACH,SAAS;4BACT,QAAQ,EAAE,YAAY;yBACvB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAC"}
@@ -80,5 +80,7 @@ export interface HealthRuleContext {
80
80
  rootDir: string;
81
81
  /** Project configuration (from i18n.config.ts) */
82
82
  projectContext: ProjectContext | null;
83
+ /** Locale → representative file path mapping (from discovery or CDN) */
84
+ localeFilePaths?: Record<string, string>;
83
85
  }
84
86
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/rules/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAC;IACxE,qBAAqB;IACrB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,eAAe,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAC5C,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,EAAE,CAAC;CACnD;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,4DAA4D;IAC5D,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/rules/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAC;IACxE,qBAAqB;IACrB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,eAAe,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAC5C,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,EAAE,CAAC;CACnD;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,4DAA4D;IAC5D,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"key-comparison.d.ts","sourceRoot":"","sources":["../../src/utils/key-comparison.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAExB,MAAM,gBAAgB,CAAC;AAExB,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,YAAY,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAqBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,KAAK,EAAE,EAClB,UAAU,EAAE,kBAAkB,EAC9B,OAAO,CAAC,EAAE,OAAO,GAChB,WAAW,CA4Sb;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,KAAK,EAAE,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAsB1B"}
1
+ {"version":3,"file":"key-comparison.d.ts","sourceRoot":"","sources":["../../src/utils/key-comparison.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAExB,MAAM,gBAAgB,CAAC;AAExB,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,YAAY,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAqBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,KAAK,EAAE,EAClB,UAAU,EAAE,kBAAkB,EAC9B,OAAO,CAAC,EAAE,OAAO,GAChB,WAAW,CA+Sb;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,KAAK,EAAE,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAsB1B"}
@@ -128,7 +128,9 @@ export function getSummary(allIssues, remoteKeys, verbose) {
128
128
  }
129
129
  else {
130
130
  fullyQualifiedKeys.push(issue);
131
- allLocal.add(issue.key);
131
+ if (!issue.isDynamic) {
132
+ allLocal.add(issue.key);
133
+ }
132
134
  if (issue.bindingType) {
133
135
  classification[issue.bindingType] =
134
136
  (classification[issue.bindingType] || 0) + 1;
@@ -183,6 +185,8 @@ export function getSummary(allIssues, remoteKeys, verbose) {
183
185
  for (const issue of allIssues) {
184
186
  if (!issue.key || !allLocal.has(issue.key))
185
187
  continue;
188
+ if (issue.isDynamic)
189
+ continue; // Dynamic patterns handled by pattern matching
186
190
  if (!allRemoteLeaves.has(issue.key)) {
187
191
  const ns = issue.key.split(".")[0] || "default";
188
192
  if (!missing[ns])
@@ -1 +1 @@
1
- {"version":3,"file":"key-comparison.js","sourceRoot":"","sources":["../../src/utils/key-comparison.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-comparison.js","sourceRoot":"","sources":["../../src/utils/key-comparison.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@better-i18n/cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.3",
4
4
  "description": "CLI tool for detecting hardcoded strings in React/Next.js apps",
5
5
  "license": "MIT",
6
6
  "type": "module",