e2e compare: setClassMetadata extraction regex never matches (ɵɵ vs ɵ) — classMetadataDiffs is dead code
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 38/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- rust
- Domínio
- testing-qa
Direção de pesquisa
Start in src/compare.ts at extractClassMetadataCalls (around line 2328) and normalizeMetadataString, then run the e2e compare harness to inspect the 79 surfaced fixture mismatches. Fixing the regex and normalization is only the start: classify residual diffs as real emit bugs or noise, and update KnownDifference per fixture, including edge-cases/aliased-injectable. Done means class metadata diffs are detected, allowlisted explicitly where appropriate, and the comparison passes without hiding real mismatches.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The e2e compare harness never actually compares setClassMetadata: extractClassMetadataCalls (src/compare.ts:2328) matches i\d+\.ɵɵsetClassMetadata but both compilers emit i0.ɵsetClassMetadata (single ɵ), so classMetadataDiffs is always empty and testFixture's known-difference gate never sees them.
Correcting the regex surfaces 79 fixture mismatches. Sampling shows most are normalization noise — same decorator payloads differing in quote style, indentation and trailing commas — so normalizeMetadataString needs to be made syntax-insensitive (e.g. parse and compare the AST or normalize quotes/commas) before the check can be enabled.
Steps: fix the regex, strengthen normalizeMetadataString, triage the residual diffs (real emit bugs vs. remaining noise), and extend KnownDifference to allowlist classMetadataDiffs per fixture — the new edge-cases/aliased-injectable entry should then declare its extra setClassMetadata explicitly.
Surfaced by a Codex review comment on #560.
- Linguagem predominante
- Rust
- Estrelas
- 232
- Forks
- 21
- Merge médio
- 1d 18h
- PRs com merge (30d)
- 59
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de voidzero-dev/oxc-angular-compiler
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
voidzero-dev/oxc-angular-compiler#563 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 68/100
voidzero-dev/oxc-angular-compiler#506 ·
Mantenedores costumam responder em até 1 dia
-
fix(directive): input names with lone surrogates are emitted in oxc's internal U+FFFD encodingAbertabug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 68/100
voidzero-dev/oxc-angular-compiler#505 ·
Mantenedores costumam responder em até 1 dia
-
bug rust
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 56/100
voidzero-dev/oxc-angular-compiler#313 ·
Mantenedores costumam responder em até 1 dia
-
Support useDefineForClassFields: false (Class Field Lowering)Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
voidzero-dev/oxc-angular-compiler#73 · 11 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de voidzero-dev/oxc-angular-compiler
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
agentic-os-org/ANOLISA#6742 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
api: storage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
googleapis/google-cloud-rust#7153 ·
Mantenedores costumam responder em até 1 dia
-
comp-mysql
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
ClickHouse/ClickHouse#124749 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
oracle/rust-oracledb#43 · 1 comentário ·