Idea: Distinguish between build-signature declarations and for-publication declarations

Đang mở
#44,047 2 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
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
typescript
Lĩnh vực
build-system, compilers

Hướng nghiên cứu

Bắt đầu bằng cách đọc sự phân biệt trong issue giữa build-signature và publication declarations, sau đó điều tra hành vi hiện có của composite/incremental và declarations. Xem lại các thảo luận liên quan trong #44044 và #44045. Công việc được xem là hoàn tất khi có một thiết kế opt-in đã được quyết định và một triển khai duy trì API-change tracking và source-map navigation, đồng thời nới lỏng publication-only checks đối với build declarations.

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

Mô tả

Domain: Performance

Some declaration files are intended for publication and they need to be readable and "work" (e.g. no imports from node_modules). Others are, from a user's perspective, basically temporary files produced by the build to make subsequent builds more incremental (i.e. faster). Right now, we produce both sets of declaration files in the same way, but maybe we don't need to? As far as I can tell, the characteristics we require from "build" declarations are:

  1. They change if-and-only-if the API of the underlying code changes
  2. A source map can get you back from the declaration file to the input file

We can satisfy these requirements without, e.g.

  1. Pretty-printing
  2. Adding imports (as in #44044)
  3. Confirming that referenced types are actually accessible (simplifying #44045)
  4. Complaining about node_modules imports

One likely snag is how users will opt in to this behavior (Is it enough to be composite/incremental without having declarations? Is yet another switch required?).

Ngôn ngữ chính
Go
Star
111k
Fork
14.4k
Merge trung bình
1 ngày 19 giờ
Pull request đã merge (30 ngày)
117

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 microsoft/TypeScript

Tất cả issue của microsoft/TypeScript

Issue tương tự

Thêm issue về Go

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.