Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

e2e compare: setClassMetadata extraction regex never matches (ɵɵ vs ɵ) — classMetadataDiffs is dead code

Aberta
#561 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@Brooooooklyn já está trabalhando nisso.

Desde 8/10/2026.

  • #562 de @Brooooooklyn — aberto

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

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de voidzero-dev/oxc-angular-compiler

Todas as issues de voidzero-dev/oxc-angular-compiler

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.