partial: host binding map keys are not always quoted like ngtsc (`click:` vs `"click":`)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
Direzione di ricerca
Inizia con partial/directive.rs e partial/component.rs, in particolare con is_unsafe_object_key, e confronta la gestione delle chiavi dei binding host con il comportamento di ngtsc descritto nell’issue. Poi aggiorna le aspettative in partial_directive_test.rs e partial_component_test.rs; il lavoro è concluso quando le chiavi semplici dei binding host sono racchiuse tra virgolette nell’output parziale e i test lo rispecchiano.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Rust
- Stelle
- 245
- Fork
- 26
- Merge medio
- 1g 42m
- PR unite (30g)
- 83
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di voidzero-dev/oxc-angular-compiler
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
voidzero-dev/oxc-angular-compiler#694 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
voidzero-dev/oxc-angular-compiler#693 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
voidzero-dev/oxc-angular-compiler#692 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 43/100
voidzero-dev/oxc-angular-compiler#691 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
voidzero-dev/oxc-angular-compiler#690 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di voidzero-dev/oxc-angular-compiler
Issue simili
-
bug priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
storytold/photocraft#12706 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
IngvarConsulting/unica#2822 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Clean master build fails in zune-jpeg error conversion and zero-IV array construction (patch)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100