fix: e2e 类型声明 + ESLint 覆盖 e2e + backup 路径校验 + DX 脚本

- e2e/global.d.ts: Window.__TAURI_INTERNALS__ 类型声明
- e2e search-clean: 未使用参数 _args 前缀
- tsconfig.test.json: include e2e/
- CI: ESLint 扫描范围扩展到 e2e/
- backup_registry: 拒绝写入系统目录 (C:\Windows\, C:\Program Files\)
- package.json: 新增 lint:fix / format 脚本

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-29 23:23:51 +08:00
parent cbf99f12fd
commit e5b348bb9b
6 changed files with 18 additions and 5 deletions
+8 -1
View File
@@ -19,7 +19,14 @@ pub fn get_appdata_dir() -> String {
/// 在保存前调用,备份的是注册表中的当前值(保存前的状态)
pub fn backup_registry(custom_dir: Option<String>) -> Result<String, String> {
let backup_dir = match custom_dir {
Some(ref dir) if !dir.is_empty() => std::path::PathBuf::from(dir),
Some(ref dir) if !dir.is_empty() => {
let p = std::path::PathBuf::from(dir);
let normalized = dir.replace('/', "\\").to_lowercase();
if normalized.starts_with("c:\\windows\\") || normalized.starts_with("c:\\program files\\") {
return Err("不允许备份到系统目录".into());
}
p
}
_ => backup_base_dir(),
};