Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Design and implement source-aware authoring edit previews

Đang mở
#458 0 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
35/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ệ
rust, typescript

Hướng nghiên cứu

Start by reading site/architecture/styling-ir-roadmap.md and the context in roadmap issue #456, then inspect the compiler, type, and boundary test areas mentioned in the acceptance criteria. Define the separately versioned authoring contract, source revision and ownership errors, exact preview patch, diagnostics, and before/after behavior while preserving canonical Rust semantics. Done means the preview is non-writing, stale-source checks work, the listed cases are tested, documentation passes, and authoring code does not enter runtime or static bundles.

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

Mô tả

Goal

Add a source-aware edit preview for visual editors, separate from execution Manifest v1 and separate from a file-writing command.

Roadmap: #456. Design context: site/architecture/styling-ir-roadmap.md. Source provenance from the public report proposal is a prerequisite.

Concrete use case

An editor proposes changing only the second color declaration inside an imported @utilities badge definition while retaining an earlier fallback declaration and a following native font-size: 0.875rem declaration. Preview identifies the owning file/range/revision, exact patch, diagnostics, and before/after behavior for an explicit class corpus. A later write is performed by the host only after checking the same revision.

Ownership and compatibility

  • Compiler/project owns source selection and graph orchestration; Rust owns parsing, edit targeting and lowering. An authoring contract must be separately versioned and stay out of runtime/Manifest payloads.
  • Specify input/output schema, source revision rule, stale/missing/read-only owner errors, and write authorization boundaries before implementation. Do not assume universal stable node IDs or a general lossless AST.
  • Additive 2.x API; never silently edit a different source or treat a successful preview as permission to write.

Acceptance criteria

  • Preview changes no source file. Exact patch and affected definition are reviewable; source changed between selection and preview is rejected.
  • Tests preserve duplicate declarations, comments/formatting around the edit, native declaration and conditional boundaries, imported ownership, native CSS, and diagnostics on an invalid edit.
  • Accepted previews recompile through the canonical Rust semantics and report finite before/after behavior; unsupported comparisons remain explicitly unknown.
  • Compiler/type/boundary tests and site documentation pass; unused authoring code does not increase runtime or static bundles.
Ngôn ngữ chính
TypeScript
Star
2k
Fork
44
Merge trung bình
1 ngày 3 giờ
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

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 master-co/css

Tất cả issue của master-co/css

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.