Design and implement source-aware authoring edit previews
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
- Lĩnh vực
- compilers, documentation, tooling
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
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của master-co/css
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
breaking change runtime
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
runtime server
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
runtime
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Tất cả issue của master-co/css
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
db-ux-design-system/core-web#8461 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Cannot run an integration on windows when power shell is selected as the default profile terminalĐang mởPriority/Blocker Type/Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
wso2/product-integrator#2767 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
severity:low
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày