Add configurable size limit for persistent build cache with LRU eviction

Đang mở
#33,320 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
45/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
angular, typescript
Lĩnh vực
build-system, cli

Hướng nghiên cứu

Bắt đầu với bộ nhớ đệm persistent được các lệnh buildserve sử dụng, rồi so sánh nó với entry point ng cache clean hiện có cho .angular/cache. Xác định cách cấu hình và đo cli.cache.maxSize, sau đó xác minh rằng các mục ít được sử dụng gần đây nhất sẽ bị loại bỏ khi vượt quá giới hạn đã cấu hình.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area: @angular/cli gemini-triaged needs: more info
Command

build, serve

Description

The Angular CLI persistent disk cache (.angular/cache) grows without bounds. On large projects, a single checkout accumulates tens of gigabytes of cached build artifacts. In our case, a single checkout reached 29 GB.

This was previously raised in #25116 and closed as not feasible with Webpack. Since Angular 17+, the build system uses esbuild, so the original constraint no longer applies.

Describe the solution you'd like

Add a configurable size cap (e.g., cli.cache.maxSize) with LRU eviction when the limit is reached. This is a common pattern in build tooling — Turborepo, Gradle, and most browsers' HTTP caches all implement bounded persistent caches.

Example configuration:

"cli": {
  "cache": {
    "enabled": true,
    "maxSize": "2GB"
  }
}

When the cache exceeds maxSize, the oldest/least-recently-used entries are evicted.

Describe alternatives you've considered
  • Periodically running ng cache clean or manually deleting .angular/cache — works but is a manual maintenance burden, especially for developers unaware the cache is growing.
Ngôn ngữ chính
TypeScript
Star
27k
Fork
11.8k
Merge trung bình
16 giờ 21 phút
Pull request đã merge (30 ngày)
170

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của angular/angular-cli

Tất cả issue của angular/angular-cli

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.