partial: host binding map keys are not always quoted like ngtsc (`click:` vs `"click":`)
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 新手友好度
- 76/100
研究方向
從 partial/directive.rs 和 partial/component.rs 著手,特別關注 is_unsafe_object_key,並將它們對 host binding 鍵的處理方式與 issue 中描述的 ngtsc 行為進行比較。接著更新 partial_directive_test.rs 和 partial_component_test.rs 中的預期結果;當簡單的 host binding 鍵在 partial 輸出中加上引號,且測試也反映這一點時,工作就完成了。
由索引模型根據 Issue 內容生成。
描述
Found while reviewing #682. Text-only difference: both linkers read the result the same way.
Angular (compileHostMetadata → toOptionalLiteralMap, compiler.mjs:28098) sets quoted: true on every key of host.attributes / listeners / properties.
Oxc (partial/directive.rs / partial/component.rs, is_unsafe_object_key) only quotes keys with . or -, or keys the emitter finds are not identifiers.
@Directive({ selector: '[d]', host: { '(click)': 'a()', '[disabled]': 'b', 'role': 'x' } })
export class D {}
compilationMode: 'partial' output |
|
|---|---|
| ngtsc 22.2.2 | host: { attributes: { "role": "x" }, listeners: { "click": "a()" }, properties: { "disabled": "b" } } |
| Oxc | host:{attributes:{role:"x"},listeners:{click:"a()"},properties:{disabled:"b"}} |
Impact: a byte-for-byte diff against ngtsc output (parity tests, fuzz diffing) flags every directive with a simple host binding. The tests in partial_directive_test.rs / partial_component_test.rs pin the unquoted form, so they would change with a fix.
- 主要語言
- Rust
- 星號
- 245
- 分支
- 26
- 平均合併
- 1 天 42 分鐘
- 30 天內合併 PR
- 83
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
voidzero-dev/oxc-angular-compiler 的其他 Issue
-
難度 5/5 一週以上 新手友好度 35/100
voidzero-dev/oxc-angular-compiler#694 ·
維護者通常 1 天內回覆
-
難度 4/5 3-5 天 新手友好度 48/100
voidzero-dev/oxc-angular-compiler#693 ·
維護者通常 1 天內回覆
-
難度 4/5 3-5 天 新手友好度 48/100
voidzero-dev/oxc-angular-compiler#692 ·
維護者通常 1 天內回覆
-
難度 4/5 3-5 天 新手友好度 43/100
voidzero-dev/oxc-angular-compiler#691 ·
維護者通常 1 天內回覆
-
難度 3/5 1-2 天 新手友好度 72/100
voidzero-dev/oxc-angular-compiler#690 ·
維護者通常 1 天內回覆
查看 voidzero-dev/oxc-angular-compiler 的全部 Issue
相似的 Issue
-
Unit tests use deprecated constant (part 2)可能已有人在做 @servo-highfive 今天認領。 未關閉E-less-complex
難度 1/5 1 小時以內 新手友好度 84/100
維護者通常 1 天內回覆
-
bug good first issue help wanted linux macos testing
難度 2/5 1-3 小時 新手友好度 85/100
維護者通常 1 天內回覆
-
area: app type: test
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
bug priority: medium
難度 2/5 1-3 小時 新手友好度 78/100
storytold/photocraft#12706 · 1 則留言 ·
維護者通常 1 天內回覆
-
bug priority-low to-agent
難度 2/5 1-3 小時 新手友好度 68/100
維護者通常 1 天內回覆