i18n-smell-detector 0.7.2 → 0.8.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.
package/README.md CHANGED
@@ -73,6 +73,21 @@ 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
+ ```
76
91
 
77
92
  ## Reports
78
93
 
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,19 @@ 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
+ kind: hardcodedIssue.kind,
19
+ nodeType: hardcodedIssue.nodeType,
20
+ parentNodeType: hardcodedIssue.parentNodeType,
21
+ containsInterpolation: hardcodedIssue.containsInterpolation || false,
22
+ value: normalizeFindingValue(hardcodedIssue.value),
23
+ range: hardcodedIssue.range || {
24
+ start: { line: hardcodedIssue.line, column: hardcodedIssue.column },
25
+ },
26
+ });
27
+ const digest = createHash('sha256').update(fingerprint).digest('hex').slice(0, 20);
28
+ return `hardcoded:v2:${digest}`;
16
29
  }
17
30
  export async function loadBaseline(filePath) {
18
31
  if (!filePath)
@@ -29,6 +42,10 @@ export async function loadBaseline(filePath) {
29
42
  if (!parsed || typeof parsed !== 'object' || !Array.isArray(parsed.issues)) {
30
43
  throw new Error(`Invalid baseline file: ${filePath}`);
31
44
  }
45
+ const version = parsed.version;
46
+ if (version !== undefined && version !== 1 && version !== 2) {
47
+ throw new Error(`Unsupported baseline version in ${filePath}: ${String(version)}`);
48
+ }
32
49
  return new Set(parsed.issues
33
50
  .map((issue) => issue.id)
34
51
  .filter((id) => typeof id === 'string' && id.length > 0));
@@ -38,7 +55,8 @@ export function applyBaseline(results, ids) {
38
55
  ...result,
39
56
  issues: result.issues.map((issue) => {
40
57
  const id = issueId(result.check, issue);
41
- if (!ids.has(id))
58
+ const legacyId = legacyIssueId(result.check, issue);
59
+ if (!ids.has(id) && !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: 2, issues }, null, 2)}\n`);
58
76
  return issues.length;
59
77
  }
60
78
  function toBaselineIssue(check, issue) {
@@ -76,8 +94,23 @@ 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,
79
102
  };
80
103
  }
104
+ function legacyIssueId(check, issue) {
105
+ if (!isHardcodedIssue(issue) && (check === 'identical' || check === 'placeholders')) {
106
+ return issueId(check, issue);
107
+ }
108
+ const hardcodedIssue = issue;
109
+ return `hardcoded:${hardcodedIssue.file}:${hardcodedIssue.line}:${hardcodedIssue.column}:${hardcodedIssue.value}`;
110
+ }
111
+ function normalizeFindingValue(value) {
112
+ return value.normalize('NFKC').replace(/\s+/gu, ' ').trim();
113
+ }
81
114
  function isHardcodedIssue(issue) {
82
115
  return 'file' in issue;
83
116
  }
@@ -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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"}
@@ -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,38 @@ 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
+ ]);
53
+ const CHECK_KEYS = new Set(CHECK_NAMES);
54
+ const HARDCODED_KEYS = new Set([
55
+ 'vueAttributes',
56
+ 'jsxAttributes',
57
+ 'functions',
58
+ 'ignoreFiles',
59
+ 'ignoreValues',
60
+ 'ignorePatterns',
61
+ 'sinks',
62
+ ]);
63
+ const SINK_KEYS = new Set(['calls', 'assignments', 'properties']);
64
+ const CALL_SINK_KEYS = new Set(['callee', 'arguments']);
34
65
  async function exists(filePath) {
35
66
  try {
36
67
  await access(filePath);
@@ -77,6 +108,7 @@ function validateConfig(config) {
77
108
  throw appError('Config must export an object', 'CONFIG_INVALID');
78
109
  }
79
110
  const candidate = config;
111
+ assertKnownKeys(candidate, CONFIG_KEYS, '');
80
112
  if ('baseLocale' in candidate && (typeof candidate.baseLocale !== 'string' || !candidate.baseLocale)) {
81
113
  throw appError('Config baseLocale must be a non-empty string', 'CONFIG_INVALID');
82
114
  }
@@ -110,6 +142,7 @@ function validateConfig(config) {
110
142
  throw appError('Config preset must be recommended or strict', 'CONFIG_INVALID');
111
143
  }
112
144
  const checks = (candidate.checks || {});
145
+ assertKnownKeys(checks, CHECK_KEYS, 'checks');
113
146
  for (const check of CHECK_NAMES) {
114
147
  if (check in checks && typeof checks[check] !== 'boolean') {
115
148
  throw appError(`Config checks.${check} must be a boolean`, 'CONFIG_INVALID');
@@ -136,6 +169,7 @@ function validateConfig(config) {
136
169
  throw appError('Config baseline must be a file path string', 'CONFIG_INVALID');
137
170
  }
138
171
  const hardcoded = (candidate.hardcoded || {});
172
+ assertKnownKeys(hardcoded, HARDCODED_KEYS, 'hardcoded');
139
173
  if ('vueAttributes' in hardcoded && !isStringArray(hardcoded.vueAttributes)) {
140
174
  throw appError('Config hardcoded.vueAttributes must be an array of strings', 'CONFIG_INVALID');
141
175
  }
@@ -150,6 +184,43 @@ function validateConfig(config) {
150
184
  }
151
185
  validateRuleList(hardcoded.ignoreValues, 'hardcoded.ignoreValues');
152
186
  validateRuleList(hardcoded.ignorePatterns, 'hardcoded.ignorePatterns');
187
+ if ('sinks' in hardcoded && !isRecord(hardcoded.sinks)) {
188
+ throw appError('Config hardcoded.sinks must be an object', 'CONFIG_INVALID');
189
+ }
190
+ const sinks = (hardcoded.sinks || {});
191
+ assertKnownKeys(sinks, SINK_KEYS, 'hardcoded.sinks');
192
+ if ('assignments' in sinks && !isStringArray(sinks.assignments)) {
193
+ throw appError('Config hardcoded.sinks.assignments must be an array of strings', 'CONFIG_INVALID');
194
+ }
195
+ if ('properties' in sinks && !isStringArray(sinks.properties)) {
196
+ throw appError('Config hardcoded.sinks.properties must be an array of strings', 'CONFIG_INVALID');
197
+ }
198
+ const calls = sinks.calls;
199
+ if (calls !== undefined && !Array.isArray(calls)) {
200
+ throw appError('Config hardcoded.sinks.calls must be an array', 'CONFIG_INVALID');
201
+ }
202
+ for (const [index, call] of (Array.isArray(calls) ? calls : []).entries()) {
203
+ if (!isRecord(call)) {
204
+ throw appError(`Config hardcoded.sinks.calls[${index}] must be an object`, 'CONFIG_INVALID');
205
+ }
206
+ assertKnownKeys(call, CALL_SINK_KEYS, `hardcoded.sinks.calls[${index}]`);
207
+ if (typeof call.callee !== 'string' || !call.callee) {
208
+ throw appError(`Config hardcoded.sinks.calls[${index}].callee must be a non-empty string`, 'CONFIG_INVALID');
209
+ }
210
+ if (!Array.isArray(call.arguments) ||
211
+ call.arguments.length === 0 ||
212
+ !call.arguments.every((value) => Number.isInteger(value) && Number(value) >= 0)) {
213
+ throw appError(`Config hardcoded.sinks.calls[${index}].arguments must be an array of non-negative integers`, 'CONFIG_INVALID');
214
+ }
215
+ }
216
+ }
217
+ function assertKnownKeys(value, allowedKeys, path) {
218
+ for (const key of Object.keys(value)) {
219
+ if (!allowedKeys.has(key)) {
220
+ const option = path ? `${path}.${key}` : key;
221
+ throw appError(`Unknown configuration option: ${option}`, 'CONFIG_INVALID');
222
+ }
223
+ }
153
224
  }
154
225
  function withDefaults(config) {
155
226
  const { checks, source, hardcoded, placeholderPatterns, ignoreCodeLike, preset, ...rest } = config;
@@ -182,6 +253,9 @@ function withDefaults(config) {
182
253
  function isStringArray(value) {
183
254
  return Array.isArray(value) && value.every((item) => typeof item === 'string' && item.length > 0);
184
255
  }
256
+ function isRecord(value) {
257
+ return !!value && typeof value === 'object' && !Array.isArray(value);
258
+ }
185
259
  function validateRuleList(rules, name) {
186
260
  if (rules === undefined)
187
261
  return;
@@ -219,6 +293,11 @@ function normalizeHardcodedConfig(config) {
219
293
  ignoreFiles: config.ignoreFiles || [],
220
294
  ignoreValues: config.ignoreValues || [],
221
295
  ignorePatterns: normalizeRegexRules(config.ignorePatterns || [], 'hardcoded.ignorePatterns'),
296
+ sinks: {
297
+ calls: config.sinks?.calls || [],
298
+ assignments: config.sinks?.assignments || [],
299
+ properties: config.sinks?.properties || [],
300
+ },
222
301
  };
223
302
  }
224
303
  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, DetectorChecks, DetectorConfig, DetectorConfigInput, DetectorIssue, FailOnLevel, HardcodedConfig, HardcodedConfigInput, HardcodedCallSink, HardcodedIssue, HardcodedSinks, 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":"AAuBA,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 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/reporters/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,MAAM,CAAC,KAAK,CAAC;SACjB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,MAAmB,EAAE,cAAuB;IACjE,OAAO,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;AAC7G,CAAC;AAED,SAAS,cAAc,CAAC,KAAoB;IAC1C,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;IAClF,OAAO,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB;IACzC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5G,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAsB,EAAE,OAAsB;IAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;IACvD,MAAM,WAAW,GAAG,OAAO;SACxB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,uBAAuB,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,YAAY,OAAO,CAAC,MAAM,YAAY,OAAO,CAAC,GAAG,YAAY,OAAO,CAAC,OAAO,YAAY,CAAC;IACzK,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,QAAQ,GAAG,OAAO;SACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,OAAO;aACjB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,uBAAuB,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,kBAAkB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,UAAU,CAAC,OAAO,CAAC,YAAY,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1Q,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,qHAAqH,IAAI,kBAAkB;YAC7I,CAAC,CAAC,oBAAoB,UAAU,CAAC,MAAM,CAAC,YAAY,IAAI,kBAAkB,CAAC,MAAM,CAAC;QAEtF,OAAO,gBAAgB,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC5G,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;oHA2B2G,WAAW;;MAEzH,QAAQ;;;;CAIb,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAoB;IAC5C,OAAO,MAAM,IAAI,KAAK,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAoB;IAC9C,OAAO,SAAS,IAAI,KAAK,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/reporters/html.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,9 @@ function toSarifResult(issue) {
55
55
  value: issue.value,
56
56
  missing: isPlaceholderIssue(issue) ? issue.missing : undefined,
57
57
  extra: isPlaceholderIssue(issue) ? issue.extra : undefined,
58
+ nodeType: isHardcodedIssue(issue) ? issue.nodeType : undefined,
59
+ parentNodeType: isHardcodedIssue(issue) ? issue.parentNodeType : undefined,
60
+ containsInterpolation: isHardcodedIssue(issue) ? issue.containsInterpolation : undefined,
58
61
  },
59
62
  };
60
63
  if (isHardcodedIssue(issue)) {
@@ -65,6 +68,8 @@ function toSarifResult(issue) {
65
68
  region: {
66
69
  startLine: issue.line,
67
70
  startColumn: issue.column,
71
+ endLine: issue.range?.end.line,
72
+ endColumn: issue.range?.end.column,
68
73
  },
69
74
  },
70
75
  },
@@ -1 +1 @@
1
- {"version":3,"file":"sarif.js","sourceRoot":"","sources":["../../src/reporters/sarif.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sarif.js","sourceRoot":"","sources":["../../src/reporters/sarif.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,14 @@ function isNonUserFacing(value) {
12
12
  /^#[0-9a-f]{3,8}$/i.test(text) ||
13
13
  /^(https?:\/\/|mailto:|tel:)/i.test(text) ||
14
14
  /^\/[a-z0-9_./:-]*$/i.test(text) ||
15
- /^[a-z0-9_.-]+\.(css|js|png|jpe?g|gif|svg|webp|json)$/i.test(text) ||
16
- /^[A-Z]{2,6}$/.test(text));
15
+ /^[a-z0-9_.-]+\.(css|js|png|jpe?g|gif|svg|webp|json)$/i.test(text));
16
+ }
17
+ function isTechnicalIdentifier(value) {
18
+ const text = value.trim();
19
+ if (!/^[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)+$/.test(text))
20
+ return false;
21
+ const segments = text.split('_');
22
+ return segments.filter((segment) => /[A-Za-z]/.test(segment)).length >= 2;
17
23
  }
18
24
  function latinWords(value) {
19
25
  return value.match(/[\p{L}\p{M}][\p{L}\p{M}']*/gu) || [];
@@ -36,6 +42,8 @@ export function classifyHardcoded(value, config = {}) {
36
42
  return { severity: 'ignored', reason: 'mustache expression' };
37
43
  if (isNonUserFacing(value))
38
44
  return { severity: 'ignored', reason: 'non-user-facing value' };
45
+ if (isTechnicalIdentifier(value))
46
+ return { severity: 'ignored', reason: 'technical identifier' };
39
47
  if (isShortCommonLabel(value))
40
48
  return { severity: 'low', reason: 'short common label' };
41
49
  const words = latinWords(value);
@@ -1 +1 @@
1
- {"version":3,"file":"classify-hardcoded.js","sourceRoot":"","sources":["../../src/rules/classify-hardcoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1B,OAAO,CACL,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QACnC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC;QAClE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1B,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,MAAM,GAA6C,EAAE;IAErD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IAEzC,IAAI,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAC1E,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACzF,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC5F,IAAI,kBAAkB,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAExF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"classify-hardcoded.js","sourceRoot":"","sources":["../../src/rules/classify-hardcoded.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { SourceRange } from '../types.js';
2
+ export interface ExpressionString {
3
+ value: string;
4
+ range: SourceRange;
5
+ expressionKind: string;
6
+ nodeType: string;
7
+ containsInterpolation: boolean;
8
+ }
9
+ export declare function scanExpressionStrings(expressionSource: string, { fileSource, sourceOffset, }?: {
10
+ fileSource?: string;
11
+ sourceOffset?: number;
12
+ }): ExpressionString[];