forked from wangziqi/gongxue-base
tweak: add *.tsbuildinfo to .gitignore to prevent stale incremental cache
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -5,6 +5,9 @@ node_modules/
|
||||
dist/
|
||||
build/
|
||||
|
||||
# TypeScript 增量编译缓存
|
||||
*.tsbuildinfo
|
||||
|
||||
# 环境变量(包含密码等敏感信息)
|
||||
.env
|
||||
.env.local
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
schema: spec-driven
|
||||
created: 2026-07-02
|
||||
21
openspec/changes/add-tsbuildinfo-to-gitignore/design.md
Normal file
21
openspec/changes/add-tsbuildinfo-to-gitignore/design.md
Normal file
@@ -0,0 +1,21 @@
|
||||
## Context
|
||||
|
||||
TypeScript 的 `incremental: true` 选项会在编译时生成 `.tsbuildinfo` 文件用于增量编译加速。当 `dist/` 目录被清理(如 `nest build` 的 `deleteOutDir: true` 行为)但 `.tsbuildinfo` 缓存未被同步清理时,TypeScript 会基于缓存判定所有文件已是最新、跳过编译,导致运行时找不到输出文件。
|
||||
|
||||
## Goals / Non-Goals
|
||||
|
||||
**Goals:**
|
||||
- 将 `*.tsbuildinfo` 加入 `.gitignore`,防止缓存文件被版本控制追踪
|
||||
|
||||
**Non-Goals:**
|
||||
- 不改变 TypeScript 编译配置
|
||||
- 不添加自动清理缓存的构建脚本
|
||||
|
||||
## Decisions
|
||||
|
||||
- **方案**:在 `.gitignore` 中新增一行 `*.tsbuildinfo` 规则,置于「构建产物」区域下方
|
||||
- **理由**:这是最小改动方案。`.tsbuildinfo` 属于构建产物类文件,应与 `dist/`、`build/` 等同对待;加入 `.gitignore` 后既不会被提交,也提示开发者此为自动生成文件
|
||||
|
||||
## Risks / Trade-offs
|
||||
|
||||
- 无风险。该改动仅影响 git 追踪行为,不改变编译或运行逻辑
|
||||
22
openspec/changes/add-tsbuildinfo-to-gitignore/proposal.md
Normal file
22
openspec/changes/add-tsbuildinfo-to-gitignore/proposal.md
Normal file
@@ -0,0 +1,22 @@
|
||||
## Why
|
||||
|
||||
`npm run dev` 启动失败,原因是 `apps/server/tsconfig.build.tsbuildinfo`(TypeScript 增量编译缓存)残留但 `dist/` 目录已被清理。TypeScript 看到增量缓存认为无需重新编译,导致 `nest start --watch` 找不到 `dist/main.js` 而崩溃。`.gitignore` 中缺少对 `*.tsbuildinfo` 的忽略规则,使该缓存文件可能被提交或在清理构建产物后残留。
|
||||
|
||||
## What Changes
|
||||
|
||||
- 在 `.gitignore` 中新增 `*.tsbuildinfo` 规则,确保 TypeScript 增量编译缓存文件不被版本控制追踪
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
|
||||
无(纯配置优化,不涉及新能力)
|
||||
|
||||
### Modified Capabilities
|
||||
|
||||
无
|
||||
|
||||
## Impact
|
||||
|
||||
- 影响的文件:`.gitignore`(根目录)
|
||||
- 无 API、依赖或系统层面的影响
|
||||
8
openspec/changes/add-tsbuildinfo-to-gitignore/tasks.md
Normal file
8
openspec/changes/add-tsbuildinfo-to-gitignore/tasks.md
Normal file
@@ -0,0 +1,8 @@
|
||||
## 1. 核心修改
|
||||
|
||||
- [x] 1.1 在 `.gitignore` 中新增 `*.tsbuildinfo` 规则
|
||||
- [x] 1.2 删除残留的 `apps/server/tsconfig.build.tsbuildinfo` 文件
|
||||
|
||||
## 2. 验证
|
||||
|
||||
- [x] 2.1 运行 `npm run dev` 确认 server 和 admin 正常启动
|
||||
Reference in New Issue
Block a user