## 现场
跑 `pi --help` 时有一行不起眼的警告:
[pi-lens] ignoring invalid project config …/.pi-lens.json:
Expected double-quoted property name in JSON at position 60
`.pi-lens.json` 是 `d50c55d` 专门加的项目级防护(关掉 pi-lens 的格式化与
autofix),但它的说明写成了 `//` 注释 —— 读 pi-lens 的源码确认:
PROJECT_CONFIG_BASENAMES = ['.pi-lens.json', 'pi-lens.json']; // 没有 .jsonc
raw = JSON.parse(text); // 不去注释
// 解析失败 → 打一行警告,然后**整份忽略**
所以「已经关掉了」这个结论是**错的**,防护从落地那天起就没生效过。
而它要防的是两次已发生的真实损失:一次是 `19a3161` 把约 7000 行 biome 重排
扫进功能提交(无法审查、还掩盖了一处删行),一次是 prettier 改坏
`client/electron/index.html` 并打破 `test/theme.test.mjs` 的两条断言。
失败方式是静默的:进程照常跑,只有启动时一行警告 —— 而我正是在
`pi --help` 的输出里才看见它。
## 修
- `.pi-lens.json` 改为**严格 JSON**(只有 `$schema` / `format` / `autofix`;
`$comment` 也不行 —— pi-lens 校验未知键,会为它刷一条
「unknown key … ignored」的警告,而噪声会训练人忽略告警)。
- 理由移到 `docs/DEV-TOOLING.md`(含 pi-lens 的源码依据、两次事故、
以及「为什么不是把格式化器配成本仓库风格」——试过,仍改 17 个文件)。
- `biome.jsonc`(允许注释)里加指针:它只是两道闸中的一道,真正的总开关是
`.pi-lens.json`,而那份**必须是严格 JSON**。
- 验证:`pi --help` 现在 **0 行** pi-lens 输出;反向对照(故意塞回一行注释)
会重新出现 `ignoring invalid project config`。
## 顺带:仓库里有一个活的凭据
`scripts/verify-l2.sh` 把**管理员 user key 硬编码**在文件里(`1759666` 起就在
git 历史里)。实测它**仍然有效**(`/auth/me` → 200),属于用户 `jianf`。
- 已改为从 `VERIFY_L2_TOKEN` 或 `/root/gotmp/verify-l2-token.txt`(600)读取,
两者都没有时**报错退出**(反向对照验过:EXIT=2,不静默跑);
- 跑通一次确认可用(6 通过 0 失败)。
**但删掉当前这行不能把它从历史里拿掉** —— 要真正作废必须轮换那把 key。
这需要你定(它是你账号的密钥,可能还有别的工具在用),见提交后的说明。
43 lines
1.9 KiB
JSON
43 lines
1.9 KiB
JSON
{
|
||
// ⚠️ 本文件只是**两道闸中的一道**:biome 挡得住 biome,挡不住 prettier。
|
||
// 真正的总开关是根目录的 `.pi-lens.json`(两条改写路径一起关),
|
||
// 而它**必须是严格 JSON** —— 带 // 注释会被 pi-lens 整份忽略、防护静默失效。
|
||
// 完整来龙去脉见 docs/DEV-TOOLING.md。
|
||
//
|
||
// 本仓库**不使用** biome 的格式化器,只借它做诊断(且由 pi-lens 统一调度)。
|
||
//
|
||
// # 为什么显式关闭
|
||
//
|
||
// pi-lens 内置「安全格式化」,会对编辑过的文件跑
|
||
// `biome format --write`(沿 biome 标准向上查找配置)。本机没有任何
|
||
// biome 配置时,biome 用它自己的默认值:**tab 缩进 + 双引号**。
|
||
//
|
||
// 本仓库的手工排版与那套默认不兼容:注释按语义换行、数组与调用按可读性
|
||
// 手工折行,长注释常超过 100 列。实测把缩进/引号/lineWidth 全部对齐到本仓库
|
||
// 习惯之后,`biome format --write` 仍然改动 17 个文件 —— 也就是说只要格式化器
|
||
// 开着,每次编辑都会产生与内容无关的大面积 diff,把真正的改动埋掉。
|
||
//
|
||
// 曾经发生过:一次 `git add -A` 把约 7000 行纯重排扫进了功能提交
|
||
// (19a3161),使那次提交无法审查 —— 还掩盖了一处 Go 文件的删行。
|
||
//
|
||
// # 因此
|
||
//
|
||
// - formatter 关闭:保持本仓库既有排版,不再产生重排噪声
|
||
// - linter 关闭:`biome lint --write` 会做自动修复,同样会改到与本次改动
|
||
// 无关的行;本仓库的静态检查由 pi-lens 的其它 runner(tsc / tree-sitter /
|
||
// ast-grep / go vet)与各自的测试套件承担
|
||
//
|
||
// 新文件仍应遵守本仓库的既有风格(2 空格缩进、单引号)。
|
||
"vcs": {
|
||
"enabled": true,
|
||
"clientKind": "git",
|
||
"useIgnoreFile": true
|
||
},
|
||
"formatter": {
|
||
"enabled": false
|
||
},
|
||
"linter": {
|
||
"enabled": false
|
||
}
|
||
}
|