italia / design-angular-kit

Il toolkit Angular conforme alle linee guida di design per i servizi web della PA.
https://italia.github.io/design-angular-kit
BSD 3-Clause "New" or "Revised" License
73 stars 30 forks source link

[1.1.1 - Navscroll] Uncaught ReferenceError: Cannot access 'ItNavscrollListItemsComponent' before initialization #400

Closed manuel-di-iorio closed 3 weeks ago

manuel-di-iorio commented 3 weeks ago

Esiste già una discussione sul tema che ti interessa, o su un tema simile?

Versione della libreria

1.1.1

Cosa

Dopo aver aggiornato alla 1.1.1, ng serve compila ma in console del browser esce l'errore: Uncaught ReferenceError: Cannot access 'ItNavscrollListItemsComponent' before initialization.

Inoltre questo codice di esempio non funziona, le prop header e items sono readonly:

<it-navscroll [header]="header" [items]="items"></it-navscroll>

Perché

La versione 1.1.1 rompe il progetto, bisogna rollbackare alla 1.1.0 per ora

Contesto

Testavo il nuovo componente Navscroll. Sto usando angular in maniera classica con i moduli (non standalone)

Altro

https://italia.github.io/design-angular-kit/design-angular-kit#/esempi/navscroll

valeriocomo commented 3 weeks ago

ciao @manuel-di-iorio . il problema degli input è chiaro, come il fix da applicare. Mi daresti qualche info in più sull'errore della che hai in console? Avevi importato il componente ItNavscroll?

manuel-di-iorio commented 3 weeks ago

@valeriocomo: ciao @manuel-di-iorio . il problema degli input è chiaro, come il fix da applicare. Mi daresti qualche info in più sull'errore della che hai in console? Avevi importato il componente ItNavscroll?

L'errore è relativo alla circular dependency del componente ItNavscrollListItemComponent che importa ItNavscrollListItemsComponent, e viceversa lo stesso. Non riesco a riprodurlo in un nuovo progetto però, ci sarà qualche caso particolare o configurazione che mi sfugge che fa scatenare questo controllo

https://github.com/italia/design-angular-kit/blob/main/projects/design-angular-kit/src/lib/components/navigation/navscroll/navscroll-list-items.component.ts

https://github.com/italia/design-angular-kit/blob/main/projects/design-angular-kit/src/lib/components/navigation/navscroll/navscroll-list-item.component.ts (Si importano a vicenda!)

PS: Grazie per la correzione per le prop readonly invece!