@@ -116,4 +116,65 @@ describe("migrateBootstrapApplication", () => {
116116 ` ) ,
117117 ) ;
118118 } ) ;
119+
120+ it ( "should migrate IonicModule.forRoot without explicit config" , async ( ) => {
121+ const project = new Project ( { useInMemoryFileSystem : true } ) ;
122+
123+ const main = dedent ( `
124+ import { enableProdMode, importProvidersFrom } from '@angular/core';
125+ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
126+
127+
128+ import { environment } from './environments/environment';
129+ import { AppComponent } from './app/app.component';
130+ import { AppRoutingModule } from './app/app-routing.module';
131+ import { BrowserModule, bootstrapApplication } from '@angular/platform-browser';
132+ import { IonicRouteStrategy, IonicModule } from '@ionic/angular';
133+ import { RouteReuseStrategy } from '@angular/router';
134+
135+ if (environment.production) {
136+ enableProdMode();
137+ }
138+
139+ bootstrapApplication(AppComponent, {
140+ providers: [
141+ importProvidersFrom(BrowserModule, IonicModule.forRoot(), AppRoutingModule),
142+ { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
143+ ]
144+ })
145+ .catch(err => console.log(err));
146+ ` ) ;
147+
148+ const mainSourceFile = project . createSourceFile ( "src/main.ts" , main ) ;
149+
150+ await migrateBootstrapApplication ( project , { dryRun : false } ) ;
151+
152+ expect ( dedent ( mainSourceFile . getText ( ) ) ) . toBe (
153+ dedent ( `
154+ import { enableProdMode, importProvidersFrom } from '@angular/core';
155+ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
156+
157+
158+ import { environment } from './environments/environment';
159+ import { AppComponent } from './app/app.component';
160+ import { AppRoutingModule } from './app/app-routing.module';
161+ import { BrowserModule, bootstrapApplication } from '@angular/platform-browser';
162+ import { IonicRouteStrategy, provideIonicAngular } from '@ionic/angular/standalone';
163+ import { RouteReuseStrategy } from '@angular/router';
164+
165+ if (environment.production) {
166+ enableProdMode();
167+ }
168+
169+ bootstrapApplication(AppComponent, {
170+ providers: [
171+ importProvidersFrom(BrowserModule, AppRoutingModule),
172+ { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
173+ provideIonicAngular({})
174+ ]
175+ })
176+ .catch(err => console.log(err));
177+ ` ) ,
178+ ) ;
179+ } ) ;
119180} ) ;
0 commit comments