# 构建上下文是仓库根，这里把不该进去的挡掉。
#
# data/ 尤其重要：测试用例和上传文件可以有几十 GB，而且 judge_server/run 下
# 是判题沙箱以别的 uid 建的目录，docker 连 stat 都做不了，不排除的话构建直接失败。

data/
dist/

node_modules/
**/node_modules/

.git/
.github/

# 本地产物与缓存
**/dist/
**/.vite/
**/*.log

# 密钥绝不进镜像层
.env
.env.*
docker/.env
docker/.env.*
!.env.example
!docker/.env.example

# 前端 dist 由构建阶段自己生成，本地那份不要带进去污染
apps/web/dist/

# —— 例外：ARTIFACTS=prebuilt 时，产物本身就是构建输入 ——
#
# 这几条必须放在文件最后：dockerignore 是**最后一条匹配的规则说了算**，
# 写在上面那些 dist 规则前面等于没写。
#
# ARTIFACTS=build（默认，服务器手动部署走的那条）时它们只是让上下文多传
# 几十 MB，镜像里用不到；本地根本没编过的话这两个路径不存在，也不影响。
!dist/oj2-api
!apps/web/dist
!apps/web/dist/**
