Files
范智鹏 247f19fd44 feat: 方法级代码审查 + 模板导入/预览增强 + SQLFluff 方言 + AI 空响应报错修复
- 方法级审查: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 + 行号排序
2026-08-03 22:53:20 +08:00

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'));
}