Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

fix(dts): `ngAcceptInputType_*` types drop some comments ngtsc keeps

Fermée
#506 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
angular, rust, typescript
Domaine
compilers

Piste de recherche

Start in crates/oxc_angular_compiler/src/directive/dts_type.rs, focusing on leading_comments and same_line_comments. Compare the existing output for repro cases a–g with ngtsc 22.1.7, including U+2028/U+2029 line breaks. Done means the generated .d.ts preserves the same leading and trailing comments as ngtsc while leaving the type unchanged.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug

#496 prints the transform's parameter type into .d.ts. It keeps a single-line block comment in front of a list element. ngtsc keeps more than that, and in some U+2028/U+2029 cases prints the comment twice. Only the comments in the .d.ts text differ. The type is the same.

Repro (each line is the parameter type of @Input({transform: (v: <TYPE>) => 1}) a)

# <TYPE> in source OXC (#504 tip) ngtsc 22.1.7
a string /** doc */ string string /** doc */
b string | number /** doc */ string | number string | number /** doc */
c \n /** doc */\n string (comment on its own line) string \n /** doc */\n string
d string | /* a\n b */ number string | number string | /* a\n b */ number
e Array</* a\n b */ string> Array<string> Array</* a\n b */ string>
f Array<
/* c */\nstring | number> Array<string | number> Array</* c */ /* c */ string | number>
g Array<
/* c */\nstring | number> Array<string | number> Array</* c */ /* c */ string | number>

Cases where they already match: Array</* c */ string>, string /* keep */ \| number, /* a\n b */ string (both drop it), string /* a\n b */ (both drop it), and { a: 1; // x
 b: ... }.

Full source for case a:

import {Directive, Input} from '@angular/core';
@Directive({selector: '[d]'})
export class D {
  @Input({transform: (v: string /** doc */) => 1}) a = 0;
}

Where

crates/oxc_angular_compiler/src/directive/dts_type.rs (added in #496): leading_comments / same_line_comments. Only the comments on the same line in front of a list element are kept. Trailing comments, comments on their own line and comments that span lines are dropped.

On main?

No. Main prints unknown for these fields. This gap comes with #496.

Direction

Copy the rules of TypeScript's emitter for leading and trailing comments on type nodes, including the U+2028/U+2029 line-break cases. Test against ngtsc output.

Langage dominant
Rust
Étoiles
232
Forks
21
Merge moyen
1 j 16 h
PR mergées (30 j)
62

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de voidzero-dev/oxc-angular-compiler

Toutes les issues de voidzero-dev/oxc-angular-compiler

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.