锁定原生壳生成物忽略规则

总验收校验原生壳生成物未被追踪

总验收校验原生壳生成物仍被 gitignore 覆盖

同步宿主壳方案文档和项目决策记录
This commit is contained in:
2026-06-21 21:05:29 +08:00
parent 3dfd61f0a0
commit facbd29f06
3 changed files with 55 additions and 1 deletions
@@ -16,6 +16,14 @@
---
## 2026-06-21 原生壳生成物必须被 gitignore 覆盖
- 背景:移动壳和桌面壳验收会生成 Expo `.expo/`、Expo export smoke、Tauri `target/`、Tauri schema、自动生成权限目录和根目录 `build/native/` 分发产物;只检查这些路径未被 Git 追踪,不能防止后续误删 `.gitignore` 条目后把生成物暴露给开发者手动误加。
- 决策:`npm run check:native-shells` 必须同时用 `git ls-files` 确认原生壳生成物未被追踪,并用 `git check-ignore -v` 确认这些生成物路径仍被 `.gitignore` 覆盖。手写 capability、权限配置和壳源码仍在生产扫描范围内,不得借生成目录排除规则绕开检查。
- 影响范围:`.gitignore`、`scripts/check-native-shells.mjs`、Expo / Tauri 构建和分发烟测。
- 验证方式:`npm run check:native-shells`、`npm run check:encoding`、`git diff --check`。
- 关联文档:`docs/【前端架构】ExpoReactNative与Tauri宿主壳方案-2026-06-17.md`。
## 2026-06-21 原生壳依赖版本门禁不可移除
- 背景:Expo / React Native / Tauri 的依赖版本会影响 WebView、权限、capability、构建产物和宿主桥接行为;两端单端配置检查已经锁定 package、lockfile 和 Cargo 解析版本,但根级总验收也需要防止未来重构时把这些锁版本检查从单端脚本中移除。