- 方法级审查:CodeLens 触发 + 单次 AI 调用(规则匹配 + 6 维度深度审查),新增 method-extractor / status-cache / codeLensProvider - 模板导入:severity 保留原始值 + 占位 id、去重对照统一 known-rules、重复提示条双语翻译、箭头展开/折叠 UI、520 条静态规则补 zh/ja 翻译 - SQL:sql-lint 重命名 sqlfluff + sqlfluff.dialect 方言可配置 + 默认方言调整 - ESLint:v9 flat config 接线修复(overrideConfigFile)+ legacy 迁移提示 - AI:空响应 EmptyContentError + 重试一次 + max_tokens 截断专用报错 - JSP:整文件检查走 PMD JSP 规则集 + scriptlet 包装解析 + 行号映射 - 诊断按 severity + 行号排序
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
import { readFileSync, writeFileSync } from 'fs';
|
|
import { resolve, dirname } from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
import eslint from './translations/eslint.mjs';
|
|
import tsEsLint from './translations/ts-eslint.mjs';
|
|
import stylelint from './translations/stylelint.mjs';
|
|
import pmd1 from './translations/pmd-1.mjs';
|
|
import pmd2 from './translations/pmd-2.mjs';
|
|
import pmdJsp from './translations/pmd-jsp.mjs';
|
|
import sqlFluff from './translations/sqlfluff.mjs';
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
const srcPath = resolve(__dirname, '..', 'src', 'rules', 'static-rules.json');
|
|
|
|
const data = JSON.parse(readFileSync(srcPath, 'utf-8'));
|
|
const all = { ...eslint, ...tsEsLint, ...stylelint, ...pmd1, ...pmd2, ...pmdJsp, ...sqlFluff };
|
|
|
|
let added = 0;
|
|
const missing = [];
|
|
for (const rules of Object.values(data.rules)) {
|
|
for (const rule of rules) {
|
|
const t = all[rule.id];
|
|
if (t) {
|
|
rule.descriptionZh = t.zh;
|
|
rule.descriptionJa = t.ja;
|
|
added++;
|
|
} else {
|
|
missing.push(rule.id);
|
|
}
|
|
}
|
|
}
|
|
|
|
writeFileSync(srcPath, JSON.stringify(data, null, 2) + '\n', 'utf-8');
|
|
console.log(`added: ${added}`);
|
|
console.log(`missing: ${missing.length}`);
|
|
if (missing.length > 0) {
|
|
console.log(missing.join('\n'));
|
|
}
|