prefer-ionic-standalone
Bevorzugt die Ionic-9-Standalone-API und verbietet IonicModule sowie veraltete oder NgModule-basierte Einstiegspunkte.
- ⭐️ Diese Regel ist in der Flat Config
rdlabo.configs.recommendedenthalten.- ✒️ Die Option
--fixauf der Befehlszeile kann einige der von dieser Regel gemeldeten Probleme automatisch korrigieren.
Ionic 9 exportiert eigenständige Angular-Komponenten aus @ionic/angular. Diese Regel hält Anwendungen auf dieser API-Oberfläche, indem sie den veralteten Einstiegspunkt @ionic/angular/standalone, den NgModule-basierten Einstiegspunkt @ionic/angular/lazy und IonicModule selbst zurückweist.
Einzelheiten der Regel
Die Regel prüft Imports, benannte Re-Exporte, Export-all-Deklarationen und Zugriffe auf IonicModule über einen Namespace-Import. Namespace-Zugriffe werden anhand des Gültigkeitsbereichs aufgelöst; eine überschattende lokale Variable mit demselben Namen wird daher nicht gemeldet.
Beispiele
Inkorrekt
import { IonButton } from '@ionic/angular/standalone';
import { IonInput } from '@ionic/angular/lazy';
import { IonicModule } from '@ionic/angular';
Korrekt
import { IonButton, IonInput, ModalController, provideIonicAngular } from '@ionic/angular';
Benannte Imports und Re-Exporte aus /standalone und /lazy werden unter Beibehaltung der ursprünglichen Anführungszeichen automatisch auf @ionic/angular korrigiert. Side-Effect-Imports, Namespace-Imports und Deklarationen export * werden ohne Korrektur gemeldet, da ein Wechsel des Einstiegspunkts das Laufzeitverhalten verändern kann. Auch IonicModule wird ohne Korrektur gemeldet, da das Ersetzen von IonicModule.forRoot() und NgModule-Metadaten Änderungen auf Anwendungsebene erfordert.
Optionen
Diese Regel besitzt keine Optionen. Konfigurieren Sie ihre Schwere in der ESLint-Konfiguration als warn oder error.
Wann die Regel aktiviert werden sollte
Aktivieren Sie diese Regel in Ionic-9-Angular-Anwendungen nach der Umstellung auf Standalone-Bootstrap. NgModule-Anwendungen sollten vor ihrer Aktivierung die Standalone-Migration abschließen, da @ionic/angular/lazy und IonicModule immer zurückgewiesen werden.