i18n-smell-detector 0.7.2 → 0.9.0

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 (46) hide show
  1. package/README.md +45 -0
  2. package/dist/baseline.js +53 -3
  3. package/dist/baseline.js.map +1 -1
  4. package/dist/check-identical.js +2 -1
  5. package/dist/check-identical.js.map +1 -1
  6. package/dist/check-placeholders.js +26 -6
  7. package/dist/check-placeholders.js.map +1 -1
  8. package/dist/cli.js +13 -2
  9. package/dist/cli.js.map +1 -1
  10. package/dist/config.js +111 -1
  11. package/dist/config.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/reporters/console.js +6 -0
  15. package/dist/reporters/console.js.map +1 -1
  16. package/dist/reporters/html.js +6 -0
  17. package/dist/reporters/html.js.map +1 -1
  18. package/dist/reporters/markdown.js +12 -2
  19. package/dist/reporters/markdown.js.map +1 -1
  20. package/dist/reporters/sarif.js +12 -0
  21. package/dist/reporters/sarif.js.map +1 -1
  22. package/dist/rules/classify-hardcoded.d.ts +13 -5
  23. package/dist/rules/classify-hardcoded.js +37 -12
  24. package/dist/rules/classify-hardcoded.js.map +1 -1
  25. package/dist/rules/classify-identical.d.ts +2 -1
  26. package/dist/rules/classify-identical.js +13 -0
  27. package/dist/rules/classify-identical.js.map +1 -1
  28. package/dist/source/extract-message-candidates.d.ts +20 -0
  29. package/dist/source/extract-message-candidates.js +104 -0
  30. package/dist/source/extract-message-candidates.js.map +1 -0
  31. package/dist/source/scan-expression-strings.d.ts +6 -0
  32. package/dist/source/scan-expression-strings.js +14 -0
  33. package/dist/source/scan-expression-strings.js.map +1 -0
  34. package/dist/source/scan-js-source.d.ts +3 -1
  35. package/dist/source/scan-js-source.js +147 -40
  36. package/dist/source/scan-js-source.js.map +1 -1
  37. package/dist/source/scan-vue-sfc.js +4 -5
  38. package/dist/source/scan-vue-sfc.js.map +1 -1
  39. package/dist/source/scan-vue-template.d.ts +3 -1
  40. package/dist/source/scan-vue-template.js +175 -20
  41. package/dist/source/scan-vue-template.js.map +1 -1
  42. package/dist/source/source-range.d.ts +10 -0
  43. package/dist/source/source-range.js +27 -0
  44. package/dist/source/source-range.js.map +1 -0
  45. package/dist/types.d.ts +61 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -73,6 +73,51 @@ Common options:
73
73
  | `--update-baseline` | Write current findings to the baseline file. |
74
74
  | `--include-ignored` | Include ignored findings in the report. |
75
75
  | `--debug` | Print stack traces for troubleshooting. |
76
+ | `-V, --version` | Print the installed package version. |
77
+
78
+ Configure precise JavaScript and TypeScript message sinks when messages flow through application-specific APIs:
79
+
80
+ ```js
81
+ export default {
82
+ hardcoded: {
83
+ sinks: {
84
+ calls: [{ callee: 'notify', arguments: [0] }],
85
+ assignments: ['error.value'],
86
+ properties: ['summary', 'detail'],
87
+ },
88
+ },
89
+ };
90
+ ```
91
+
92
+ Configured sinks recursively inspect conditional, logical, parenthesized, and TypeScript wrapper expressions. An
93
+ interpolated template such as `` `Delete ${item.name}?` `` is reported once as `Delete {item.name}?`, with the raw
94
+ template and interpolation ranges available in JSON and SARIF output.
95
+
96
+ Categorize values that must intentionally remain identical across locales:
97
+
98
+ ```js
99
+ export default {
100
+ doNotTranslate: [
101
+ {
102
+ values: ['PRODUCT_X', /^MODEL-\d+$/],
103
+ category: 'product-name',
104
+ reason: 'Official product terminology',
105
+ owner: 'localization-team',
106
+ },
107
+ {
108
+ keys: [/^technical\./],
109
+ category: 'technical-term',
110
+ reason: 'Protocol terminology',
111
+ },
112
+ ],
113
+ hardcoded: {
114
+ technicalTerms: ['PROTOCOL_X', /^MODEL-\d+$/],
115
+ },
116
+ };
117
+ ```
118
+
119
+ `doNotTranslate` applies to identical-translation findings and preserves auditable suppression metadata. Hardcoded
120
+ findings expose `confidence` separately from `severity`; `failOn` continues to use severity only.
76
121
 
77
122
  ## Reports
78
123
 
package/dist/baseline.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
+ import { createHash } from 'node:crypto';
2
3
  import path from 'node:path';
3
4
  function errorCode(error) {
4
5
  return error && typeof error === 'object' && 'code' in error ? String(error.code) : undefined;
@@ -12,7 +13,18 @@ export function issueId(check, issue) {
12
13
  return `${check}:${localeIssue.targetLocale}:${localeIssue.key}`;
13
14
  }
14
15
  const hardcodedIssue = issue;
15
- return `hardcoded:${hardcodedIssue.file}:${hardcodedIssue.line}:${hardcodedIssue.column}:${hardcodedIssue.value}`;
16
+ const fingerprint = JSON.stringify({
17
+ file: hardcodedIssue.file.replaceAll('\\', '/'),
18
+ check: 'hardcoded',
19
+ kind: hardcodedIssue.kind,
20
+ nodeType: hardcodedIssue.nodeType,
21
+ parentNodeType: hardcodedIssue.parentNodeType,
22
+ containsInterpolation: hardcodedIssue.containsInterpolation || false,
23
+ value: normalizeFindingValue(hardcodedIssue.value),
24
+ contextHash: hardcodedIssue.contextHash,
25
+ });
26
+ const digest = createHash('sha256').update(fingerprint).digest('hex').slice(0, 20);
27
+ return `hardcoded:v3:${digest}`;
16
28
  }
17
29
  export async function loadBaseline(filePath) {
18
30
  if (!filePath)
@@ -29,6 +41,10 @@ export async function loadBaseline(filePath) {
29
41
  if (!parsed || typeof parsed !== 'object' || !Array.isArray(parsed.issues)) {
30
42
  throw new Error(`Invalid baseline file: ${filePath}`);
31
43
  }
44
+ const version = parsed.version;
45
+ if (version !== undefined && version !== 1 && version !== 2 && version !== 3) {
46
+ throw new Error(`Unsupported baseline version in ${filePath}: ${String(version)}`);
47
+ }
32
48
  return new Set(parsed.issues
33
49
  .map((issue) => issue.id)
34
50
  .filter((id) => typeof id === 'string' && id.length > 0));
@@ -38,7 +54,9 @@ export function applyBaseline(results, ids) {
38
54
  ...result,
39
55
  issues: result.issues.map((issue) => {
40
56
  const id = issueId(result.check, issue);
41
- if (!ids.has(id))
57
+ const legacyId = legacyIssueId(result.check, issue);
58
+ const version2Id = v2IssueId(result.check, issue);
59
+ if (!ids.has(id) && !ids.has(version2Id) && !ids.has(legacyId))
42
60
  return { ...issue, id };
43
61
  return { ...issue, id, severity: 'ignored', reason: 'baseline' };
44
62
  }),
@@ -54,7 +72,7 @@ export async function writeBaseline(filePath, results) {
54
72
  }
55
73
  }
56
74
  await mkdir(path.dirname(filePath), { recursive: true });
57
- await writeFile(filePath, `${JSON.stringify({ version: 1, issues }, null, 2)}\n`);
75
+ await writeFile(filePath, `${JSON.stringify({ version: 3, issues }, null, 2)}\n`);
58
76
  return issues.length;
59
77
  }
60
78
  function toBaselineIssue(check, issue) {
@@ -76,8 +94,40 @@ function toBaselineIssue(check, issue) {
76
94
  file: hardcodedIssue.file,
77
95
  line: hardcodedIssue.line,
78
96
  column: hardcodedIssue.column,
97
+ range: hardcodedIssue.range,
98
+ kind: hardcodedIssue.kind,
99
+ nodeType: hardcodedIssue.nodeType,
100
+ parentNodeType: hardcodedIssue.parentNodeType,
101
+ containsInterpolation: hardcodedIssue.containsInterpolation,
102
+ contextHash: hardcodedIssue.contextHash,
103
+ relativeRange: hardcodedIssue.relativeRange,
79
104
  };
80
105
  }
106
+ function v2IssueId(check, issue) {
107
+ if (!isHardcodedIssue(issue) && (check === 'identical' || check === 'placeholders'))
108
+ return issueId(check, issue);
109
+ const hardcodedIssue = issue;
110
+ const fingerprint = JSON.stringify({
111
+ file: hardcodedIssue.file.replaceAll('\\', '/'),
112
+ kind: hardcodedIssue.kind,
113
+ nodeType: hardcodedIssue.nodeType,
114
+ parentNodeType: hardcodedIssue.parentNodeType,
115
+ containsInterpolation: hardcodedIssue.containsInterpolation || false,
116
+ value: normalizeFindingValue(hardcodedIssue.value),
117
+ range: hardcodedIssue.range || { start: { line: hardcodedIssue.line, column: hardcodedIssue.column } },
118
+ });
119
+ return `hardcoded:v2:${createHash('sha256').update(fingerprint).digest('hex').slice(0, 20)}`;
120
+ }
121
+ function legacyIssueId(check, issue) {
122
+ if (!isHardcodedIssue(issue) && (check === 'identical' || check === 'placeholders')) {
123
+ return issueId(check, issue);
124
+ }
125
+ const hardcodedIssue = issue;
126
+ return `hardcoded:${hardcodedIssue.file}:${hardcodedIssue.line}:${hardcodedIssue.column}:${hardcodedIssue.value}`;
127
+ }
128
+ function normalizeFindingValue(value) {
129
+ return value.normalize('NFKC').replace(/\s+/gu, ' ').trim();
130
+ }
81
131
  function isHardcodedIssue(issue) {
82
132
  return 'file' in issue;
83
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../src/baseline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../src/baseline.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export function checkIdenticalTranslations(locales, config) {
23
23
  continue;
24
24
  if (normalize(baseValue, config) !== normalize(target[key], config))
25
25
  continue;
26
- const { severity, reason } = classifyIdentical({
26
+ const { severity, reason, suppression } = classifyIdentical({
27
27
  key,
28
28
  value: target[key],
29
29
  baseLocale: config.baseLocale,
@@ -37,6 +37,7 @@ export function checkIdenticalTranslations(locales, config) {
37
37
  value: target[key],
38
38
  severity,
39
39
  reason,
40
+ suppression,
40
41
  });
41
42
  }
42
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"check-identical.js","sourceRoot":"","sources":["../src/check-identical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKlE,SAAS,SAAS,CAAC,KAAa,EAAE,MAAuB;IACvD,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI;QAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK;QAAE,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA+C,EAC/C,MAAuB;IAEvB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,IAAI,YAAY,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QAEjD,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;gBAAE,SAAS;YAC/B,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;gBAAE,SAAS;YAE9E,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC;gBAC7C,GAAG;gBACH,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAClB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,YAAY;gBACZ,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG;gBACH,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,YAAY;gBACZ,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAClB,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,CAAiB,EAAE,CAAiB;IACzD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACxD,OAAO,CACL,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAClH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"check-identical.js","sourceRoot":"","sources":["../src/check-identical.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKlE,SAAS,SAAS,CAAC,KAAa,EAAE,MAAuB;IACvD,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI;QAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,IAAI,KAAK;QAAE,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA+C,EAC/C,MAAuB;IAEvB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,IAAI,YAAY,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QAEjD,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;gBAAE,SAAS;YAC/B,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;gBAAE,SAAS;YAE9E,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC;gBAC1D,GAAG;gBACH,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAClB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,YAAY;gBACZ,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG;gBACH,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,YAAY;gBACZ,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAClB,QAAQ;gBACR,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,CAAiB,EAAE,CAAiB;IACzD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACxD,OAAO,CACL,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAClH,CAAC;AACJ,CAAC"}
@@ -13,6 +13,28 @@ export function extractPlaceholders(value, patterns) {
13
13
  }
14
14
  return [...placeholders].sort();
15
15
  }
16
+ function countPlaceholders(value, patterns) {
17
+ const counts = new Map();
18
+ const text = String(value);
19
+ for (const pattern of patterns) {
20
+ pattern.lastIndex = 0;
21
+ for (const match of text.matchAll(pattern)) {
22
+ const placeholder = match[0];
23
+ counts.set(placeholder, (counts.get(placeholder) ?? 0) + 1);
24
+ }
25
+ }
26
+ return counts;
27
+ }
28
+ function difference(expected, actual) {
29
+ const result = [];
30
+ for (const [placeholder, expectedCount] of expected) {
31
+ const actualCount = actual.get(placeholder) ?? 0;
32
+ for (let index = actualCount; index < expectedCount; index += 1) {
33
+ result.push(placeholder);
34
+ }
35
+ }
36
+ return result.sort();
37
+ }
16
38
  /**
17
39
  * @param {Record<string, Record<string, string>>} locales
18
40
  * @param {import('./types.js').DetectorConfig} config
@@ -27,12 +49,10 @@ export function checkPlaceholders(locales, config) {
27
49
  for (const [key, baseValue] of Object.entries(base)) {
28
50
  if (!(key in target))
29
51
  continue;
30
- const basePlaceholders = extractPlaceholders(baseValue, config.placeholderPatterns);
31
- const targetPlaceholders = extractPlaceholders(target[key], config.placeholderPatterns);
32
- const targetSet = new Set(targetPlaceholders);
33
- const baseSet = new Set(basePlaceholders);
34
- const missing = basePlaceholders.filter((placeholder) => !targetSet.has(placeholder));
35
- const extra = targetPlaceholders.filter((placeholder) => !baseSet.has(placeholder));
52
+ const basePlaceholders = countPlaceholders(baseValue, config.placeholderPatterns);
53
+ const targetPlaceholders = countPlaceholders(target[key], config.placeholderPatterns);
54
+ const missing = difference(basePlaceholders, targetPlaceholders);
55
+ const extra = difference(targetPlaceholders, basePlaceholders);
36
56
  if (missing.length === 0 && extra.length === 0)
37
57
  continue;
38
58
  issues.push({
@@ -1 +1 @@
1
- {"version":3,"file":"check-placeholders.js","sourceRoot":"","sources":["../src/check-placeholders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-placeholders.js","sourceRoot":"","sources":["../src/check-placeholders.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { access, mkdir, readdir, writeFile } from 'node:fs/promises';
2
+ import { createRequire } from 'node:module';
2
3
  import path from 'node:path';
3
4
  import { Command, InvalidArgumentError } from 'commander';
4
5
  import { applyBaseline, loadBaseline, writeBaseline } from './baseline.js';
@@ -8,6 +9,8 @@ import { flattenResults, renderCombinedReport, summarizeResults } from './report
8
9
  import { renderReport } from './reporters/index.js';
9
10
  import { enabledChecks, runChecks } from './run-checks.js';
10
11
  import { failRank, severityRank } from './severity.js';
12
+ const require = createRequire(import.meta.url);
13
+ const packageVersion = require('../package.json').version;
11
14
  const HELP = `
12
15
  i18n-smell-detector
13
16
 
@@ -28,6 +31,7 @@ Options:
28
31
  --include-ignored Print ignored matches as well
29
32
  --debug Print stack traces for runtime/configuration errors
30
33
  --force Overwrite an existing config file with init
34
+ -V, --version Print version
31
35
  -h, --help Show help
32
36
 
33
37
  Example:
@@ -65,6 +69,7 @@ function parseArgs(argv) {
65
69
  .option('--include-ignored', 'Print ignored matches as well', false)
66
70
  .option('--debug', 'Print stack traces for runtime/configuration errors', false)
67
71
  .option('--force', 'Overwrite an existing config file with init', false)
72
+ .option('-V, --version', 'Print version', false)
68
73
  .addHelpText('after', `
69
74
 
70
75
  Example:
@@ -90,16 +95,17 @@ Example:
90
95
  includeIgnored: false,
91
96
  debug: false,
92
97
  force: false,
98
+ version: false,
93
99
  help: true,
94
100
  };
95
101
  }
96
102
  throw appError(formatCommanderError(commanderError), 'CLI_USAGE');
97
103
  }
98
- const [command] = program.args;
104
+ const opts = program.opts();
105
+ const command = program.args[0] ?? 'check-identical';
99
106
  if (!isCommandName(command)) {
100
107
  throw appError(`Unknown command: ${command}\n${HELP}`, 'CLI_USAGE');
101
108
  }
102
- const opts = program.opts();
103
109
  return {
104
110
  command,
105
111
  configPath: opts.config,
@@ -111,6 +117,7 @@ Example:
111
117
  includeIgnored: opts.includeIgnored,
112
118
  debug: opts.debug,
113
119
  force: opts.force,
120
+ version: opts.version,
114
121
  help: false,
115
122
  };
116
123
  }
@@ -146,6 +153,10 @@ function extractQuotedValue(value) {
146
153
  }
147
154
  export async function runCli(argv) {
148
155
  const options = parseArgs(argv);
156
+ if (options.version) {
157
+ console.log(packageVersion);
158
+ return;
159
+ }
149
160
  if (options.help || options.command === 'help') {
150
161
  console.log(HELP.trim());
151
162
  return;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -15,7 +15,6 @@ const DEFAULT_PLACEHOLDER_PATTERNS = [
15
15
  String.raw `(?<!\{)\{[^{}]+\}(?!\})`,
16
16
  String.raw `%[sdif]`,
17
17
  String.raw `%\([^)]+\)[sdif]`,
18
- String.raw `\$\d+`,
19
18
  ];
20
19
  const DEFAULT_HARDCODED_ATTRIBUTES = ['placeholder', 'title', 'alt', 'aria-label', 'aria-description'];
21
20
  const DEFAULT_HARDCODED_FUNCTIONS = ['alert', 'confirm', 'toast.success', 'toast.error'];
@@ -31,6 +30,41 @@ const BOOLEAN_OPTIONS = [
31
30
  const CHECK_NAMES = ['identical', 'hardcoded', 'placeholders'];
32
31
  const REPORT_FORMATS = ['console', 'json', 'markdown', 'sarif', 'html'];
33
32
  const PRESETS = ['recommended', 'strict'];
33
+ const CONFIG_KEYS = new Set([
34
+ 'baseLocale',
35
+ 'locales',
36
+ 'allowIdenticalKeys',
37
+ 'allowIdenticalValues',
38
+ 'placeholderPatterns',
39
+ 'source',
40
+ 'hardcoded',
41
+ 'checks',
42
+ 'format',
43
+ 'output',
44
+ 'baseline',
45
+ 'ignoreCodeLike',
46
+ 'ignoreSameLanguageFamily',
47
+ 'trimWhitespace',
48
+ 'ignoreCase',
49
+ 'includeIgnored',
50
+ 'failOn',
51
+ 'preset',
52
+ 'doNotTranslate',
53
+ ]);
54
+ const CHECK_KEYS = new Set(CHECK_NAMES);
55
+ const HARDCODED_KEYS = new Set([
56
+ 'vueAttributes',
57
+ 'jsxAttributes',
58
+ 'functions',
59
+ 'ignoreFiles',
60
+ 'ignoreValues',
61
+ 'ignorePatterns',
62
+ 'sinks',
63
+ 'technicalTerms',
64
+ ]);
65
+ const SINK_KEYS = new Set(['calls', 'assignments', 'properties']);
66
+ const CALL_SINK_KEYS = new Set(['callee', 'arguments']);
67
+ const DO_NOT_TRANSLATE_KEYS = new Set(['values', 'keys', 'category', 'reason', 'comment', 'owner']);
34
68
  async function exists(filePath) {
35
69
  try {
36
70
  await access(filePath);
@@ -77,6 +111,7 @@ function validateConfig(config) {
77
111
  throw appError('Config must export an object', 'CONFIG_INVALID');
78
112
  }
79
113
  const candidate = config;
114
+ assertKnownKeys(candidate, CONFIG_KEYS, '');
80
115
  if ('baseLocale' in candidate && (typeof candidate.baseLocale !== 'string' || !candidate.baseLocale)) {
81
116
  throw appError('Config baseLocale must be a non-empty string', 'CONFIG_INVALID');
82
117
  }
@@ -91,6 +126,31 @@ function validateConfig(config) {
91
126
  }
92
127
  validateRuleList(candidate.allowIdenticalKeys, 'allowIdenticalKeys');
93
128
  validateRuleList(candidate.allowIdenticalValues, 'allowIdenticalValues');
129
+ if ('doNotTranslate' in candidate && !Array.isArray(candidate.doNotTranslate)) {
130
+ throw appError('Config doNotTranslate must be an array', 'CONFIG_INVALID');
131
+ }
132
+ for (const [index, rule] of (Array.isArray(candidate.doNotTranslate) ? candidate.doNotTranslate : []).entries()) {
133
+ if (!isRecord(rule))
134
+ throw appError(`Config doNotTranslate[${index}] must be an object`, 'CONFIG_INVALID');
135
+ assertKnownKeys(rule, DO_NOT_TRANSLATE_KEYS, `doNotTranslate[${index}]`);
136
+ validateRuleList(rule.values, `doNotTranslate[${index}].values`);
137
+ validateRuleList(rule.keys, `doNotTranslate[${index}].keys`);
138
+ const hasValues = Array.isArray(rule.values) && rule.values.length > 0;
139
+ const hasKeys = Array.isArray(rule.keys) && rule.keys.length > 0;
140
+ if (!hasValues && !hasKeys) {
141
+ throw appError(`Config doNotTranslate[${index}] must define non-empty values or keys`, 'CONFIG_INVALID');
142
+ }
143
+ for (const field of ['category', 'reason']) {
144
+ if (typeof rule[field] !== 'string' || !rule[field]) {
145
+ throw appError(`Config doNotTranslate[${index}].${field} must be a non-empty string`, 'CONFIG_INVALID');
146
+ }
147
+ }
148
+ for (const field of ['comment', 'owner']) {
149
+ if (field in rule && typeof rule[field] !== 'string') {
150
+ throw appError(`Config doNotTranslate[${index}].${field} must be a string`, 'CONFIG_INVALID');
151
+ }
152
+ }
153
+ }
94
154
  if ('placeholderPatterns' in candidate && !Array.isArray(candidate.placeholderPatterns)) {
95
155
  throw appError('Config placeholderPatterns must be an array of strings or RegExp objects', 'CONFIG_INVALID');
96
156
  }
@@ -110,6 +170,7 @@ function validateConfig(config) {
110
170
  throw appError('Config preset must be recommended or strict', 'CONFIG_INVALID');
111
171
  }
112
172
  const checks = (candidate.checks || {});
173
+ assertKnownKeys(checks, CHECK_KEYS, 'checks');
113
174
  for (const check of CHECK_NAMES) {
114
175
  if (check in checks && typeof checks[check] !== 'boolean') {
115
176
  throw appError(`Config checks.${check} must be a boolean`, 'CONFIG_INVALID');
@@ -136,6 +197,7 @@ function validateConfig(config) {
136
197
  throw appError('Config baseline must be a file path string', 'CONFIG_INVALID');
137
198
  }
138
199
  const hardcoded = (candidate.hardcoded || {});
200
+ assertKnownKeys(hardcoded, HARDCODED_KEYS, 'hardcoded');
139
201
  if ('vueAttributes' in hardcoded && !isStringArray(hardcoded.vueAttributes)) {
140
202
  throw appError('Config hardcoded.vueAttributes must be an array of strings', 'CONFIG_INVALID');
141
203
  }
@@ -150,6 +212,44 @@ function validateConfig(config) {
150
212
  }
151
213
  validateRuleList(hardcoded.ignoreValues, 'hardcoded.ignoreValues');
152
214
  validateRuleList(hardcoded.ignorePatterns, 'hardcoded.ignorePatterns');
215
+ validateRuleList(hardcoded.technicalTerms, 'hardcoded.technicalTerms');
216
+ if ('sinks' in hardcoded && !isRecord(hardcoded.sinks)) {
217
+ throw appError('Config hardcoded.sinks must be an object', 'CONFIG_INVALID');
218
+ }
219
+ const sinks = (hardcoded.sinks || {});
220
+ assertKnownKeys(sinks, SINK_KEYS, 'hardcoded.sinks');
221
+ if ('assignments' in sinks && !isStringArray(sinks.assignments)) {
222
+ throw appError('Config hardcoded.sinks.assignments must be an array of strings', 'CONFIG_INVALID');
223
+ }
224
+ if ('properties' in sinks && !isStringArray(sinks.properties)) {
225
+ throw appError('Config hardcoded.sinks.properties must be an array of strings', 'CONFIG_INVALID');
226
+ }
227
+ const calls = sinks.calls;
228
+ if (calls !== undefined && !Array.isArray(calls)) {
229
+ throw appError('Config hardcoded.sinks.calls must be an array', 'CONFIG_INVALID');
230
+ }
231
+ for (const [index, call] of (Array.isArray(calls) ? calls : []).entries()) {
232
+ if (!isRecord(call)) {
233
+ throw appError(`Config hardcoded.sinks.calls[${index}] must be an object`, 'CONFIG_INVALID');
234
+ }
235
+ assertKnownKeys(call, CALL_SINK_KEYS, `hardcoded.sinks.calls[${index}]`);
236
+ if (typeof call.callee !== 'string' || !call.callee) {
237
+ throw appError(`Config hardcoded.sinks.calls[${index}].callee must be a non-empty string`, 'CONFIG_INVALID');
238
+ }
239
+ if (!Array.isArray(call.arguments) ||
240
+ call.arguments.length === 0 ||
241
+ !call.arguments.every((value) => Number.isInteger(value) && Number(value) >= 0)) {
242
+ throw appError(`Config hardcoded.sinks.calls[${index}].arguments must be an array of non-negative integers`, 'CONFIG_INVALID');
243
+ }
244
+ }
245
+ }
246
+ function assertKnownKeys(value, allowedKeys, path) {
247
+ for (const key of Object.keys(value)) {
248
+ if (!allowedKeys.has(key)) {
249
+ const option = path ? `${path}.${key}` : key;
250
+ throw appError(`Unknown configuration option: ${option}`, 'CONFIG_INVALID');
251
+ }
252
+ }
153
253
  }
154
254
  function withDefaults(config) {
155
255
  const { checks, source, hardcoded, placeholderPatterns, ignoreCodeLike, preset, ...rest } = config;
@@ -166,6 +266,7 @@ function withDefaults(config) {
166
266
  ignoreCase: false,
167
267
  includeIgnored: false,
168
268
  failOn: presetDefaults.failOn,
269
+ doNotTranslate: [],
169
270
  ...rest,
170
271
  checks: {
171
272
  identical: true,
@@ -182,6 +283,9 @@ function withDefaults(config) {
182
283
  function isStringArray(value) {
183
284
  return Array.isArray(value) && value.every((item) => typeof item === 'string' && item.length > 0);
184
285
  }
286
+ function isRecord(value) {
287
+ return !!value && typeof value === 'object' && !Array.isArray(value);
288
+ }
185
289
  function validateRuleList(rules, name) {
186
290
  if (rules === undefined)
187
291
  return;
@@ -219,6 +323,12 @@ function normalizeHardcodedConfig(config) {
219
323
  ignoreFiles: config.ignoreFiles || [],
220
324
  ignoreValues: config.ignoreValues || [],
221
325
  ignorePatterns: normalizeRegexRules(config.ignorePatterns || [], 'hardcoded.ignorePatterns'),
326
+ sinks: {
327
+ calls: config.sinks?.calls || [],
328
+ assignments: config.sinks?.assignments || [],
329
+ properties: config.sinks?.properties || [],
330
+ },
331
+ technicalTerms: config.technicalTerms || [],
222
332
  };
223
333
  }
224
334
  function normalizeRegexRules(rules, name) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { CheckName, CheckResult, DetectorChecks, DetectorConfig, DetectorConfigInput, DetectorIssue, FailOnLevel, HardcodedConfig, HardcodedIssue, IdenticalIssue, PlaceholderIssue, ReportFormat, ReportOptions, Rule, Severity, } from './types.js';
1
+ export type { CheckName, CheckResult, Confidence, DetectorChecks, DetectorConfig, DetectorConfigInput, DetectorIssue, DoNotTranslateRule, FailOnLevel, HardcodedConfig, HardcodedCategory, HardcodedConfigInput, HardcodedCallSink, HardcodedIssue, HardcodedSinks, MessageInterpolation, IssueSuppression, IdenticalIssue, PlaceholderIssue, ReportFormat, ReportOptions, Rule, Severity, SourcePosition, SourceRange, } from './types.js';
2
2
  export { applyBaseline, issueId, loadBaseline, writeBaseline } from './baseline.js';
3
3
  export { checkHardcodedStrings } from './check-hardcoded.js';
4
4
  export { checkIdenticalTranslations } from './check-identical.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}