@@ -70,6 +70,15 @@ Running this command will ${MigrateController.COMMON_MIGRATE_MESSAGE}`;
70
70
{ packageName : "kinvey-nativescript-sdk" , verifiedVersion : "4.2.1" } ,
71
71
{ packageName : "nativescript-plugin-firebase" , verifiedVersion : "9.0.2" } ,
72
72
{ packageName : "nativescript-vue" , verifiedVersion : "2.3.0" } ,
73
+ {
74
+ packageName : "nativescript-angular" , verifiedVersion : "8.0.2" ,
75
+ shouldMigrateAction : async ( projectData : IProjectData , allowInvalidVersions : boolean ) => {
76
+ const dependency = { packageName : "nativescript-angular" , verifiedVersion : "8.0.2" , isDev : false } ;
77
+ const result = this . hasDependency ( dependency , projectData ) && await this . shouldMigrateDependencyVersion ( dependency , projectData , allowInvalidVersions ) ;
78
+ return result ;
79
+ } ,
80
+ migrateAction : this . migrateNativeScriptAngular . bind ( this )
81
+ } ,
73
82
{ packageName : "nativescript-permissions" , verifiedVersion : "1.3.0" } ,
74
83
{ packageName : "nativescript-cardview" , verifiedVersion : "3.2.0" } ,
75
84
{
@@ -81,7 +90,7 @@ Running this command will ${MigrateController.COMMON_MIGRATE_MESSAGE}`;
81
90
} ,
82
91
migrateAction : this . migrateUnitTestRunner . bind ( this )
83
92
} ,
84
- { packageName : MigrateController . typescriptPackageName , isDev : true , getVerifiedVersion : this . getAngularTypeScriptVersion . bind ( this ) } ,
93
+ { packageName : MigrateController . typescriptPackageName , isDev : true , verifiedVersion : "3.4.5" } ,
85
94
{ packageName : "nativescript-localize" , verifiedVersion : "4.2.0" } ,
86
95
{ packageName : "nativescript-dev-babel" , verifiedVersion : "0.2.1" } ,
87
96
{ packageName : "nativescript-nfc" , verifiedVersion : "4.0.1" }
@@ -179,31 +188,6 @@ Running this command will ${MigrateController.COMMON_MIGRATE_MESSAGE}`;
179
188
}
180
189
}
181
190
182
- private async getAngularTypeScriptVersion ( projectData : IProjectData ) : Promise < string > {
183
- let verifiedVersion = "3.4.1" ;
184
- try {
185
- const ngcPackageName = "@angular/compiler-cli" ;
186
- // e.g. ~8.0.0
187
- let ngcVersion = projectData . dependencies [ ngcPackageName ] || projectData . devDependencies [ ngcPackageName ] ;
188
- if ( ngcVersion ) {
189
- // e.g. 8.0.3
190
- ngcVersion = await this . $packageInstallationManager . maxSatisfyingVersion ( ngcPackageName , ngcVersion ) ;
191
- const ngcManifest = await this . getPackageManifest ( ngcPackageName , ngcVersion ) ;
192
- // e.g. >=3.4 <3.5
193
- verifiedVersion = ( ngcManifest && ngcManifest . peerDependencies &&
194
- ngcManifest . peerDependencies [ MigrateController . typescriptPackageName ] ) || verifiedVersion ;
195
-
196
- // e.g. 3.4.4
197
- verifiedVersion = await this . $packageInstallationManager . maxSatisfyingVersion (
198
- MigrateController . typescriptPackageName , verifiedVersion ) ;
199
- }
200
- } catch ( error ) {
201
- this . $logger . warn ( `Unable to determine the TypeScript version based on the Angular packages. Error is: '${ error } '.` ) ;
202
- }
203
-
204
- return verifiedVersion ;
205
- }
206
-
207
191
private async migrateOldAndroidAppResources ( projectData : IProjectData , backupDir : string ) {
208
192
const appResourcesPath = projectData . getAppResourcesDirectoryPath ( ) ;
209
193
if ( ! this . $androidResourcesMigrationService . hasMigrated ( appResourcesPath ) ) {
@@ -329,33 +313,23 @@ Running this command will ${MigrateController.COMMON_MIGRATE_MESSAGE}`;
329
313
this . $errors . failWithoutHelp ( "Failed to find replacement dependency." ) ;
330
314
}
331
315
332
- const replacementDepVersion = await this . getDependencyVerifiedVersion ( replacementDep , projectData ) ;
333
316
this . $logger . info ( `Replacing '${ dependency . packageName } ' with '${ replacementDep . packageName } '.` ) ;
334
- this . $pluginsService . addToPackageJson ( replacementDep . packageName , replacementDepVersion , replacementDep . isDev , projectData . projectDir ) ;
317
+ this . $pluginsService . addToPackageJson ( replacementDep . packageName , replacementDep . verifiedVersion , replacementDep . isDev , projectData . projectDir ) ;
335
318
}
336
319
337
320
return ;
338
321
}
339
322
340
- const dependencyVersion = await this . getDependencyVerifiedVersion ( dependency , projectData ) ;
341
323
if ( hasDependency && await this . shouldMigrateDependencyVersion ( dependency , projectData , allowInvalidVersions ) ) {
342
- this . $logger . info ( `Updating '${ dependency . packageName } ' to compatible version '${ dependencyVersion } '` ) ;
343
- this . $pluginsService . addToPackageJson ( dependency . packageName , dependencyVersion , dependency . isDev , projectData . projectDir ) ;
324
+ this . $logger . info ( `Updating '${ dependency . packageName } ' to compatible version '${ dependency . verifiedVersion } '` ) ;
325
+ this . $pluginsService . addToPackageJson ( dependency . packageName , dependency . verifiedVersion , dependency . isDev , projectData . projectDir ) ;
344
326
return ;
345
327
}
346
328
347
329
if ( ! hasDependency && dependency . shouldAddIfMissing ) {
348
- this . $logger . info ( `Adding '${ dependency . packageName } ' with version '${ dependencyVersion } '` ) ;
349
- this . $pluginsService . addToPackageJson ( dependency . packageName , dependencyVersion , dependency . isDev , projectData . projectDir ) ;
350
- }
351
- }
352
-
353
- private async getDependencyVerifiedVersion ( dependency : IMigrationDependency , projectData : IProjectData ) : Promise < string > {
354
- if ( ! dependency . verifiedVersion && dependency . getVerifiedVersion ) {
355
- dependency . verifiedVersion = await dependency . getVerifiedVersion ( projectData ) ;
330
+ this . $logger . info ( `Adding '${ dependency . packageName } ' with version '${ dependency . verifiedVersion } '` ) ;
331
+ this . $pluginsService . addToPackageJson ( dependency . packageName , dependency . verifiedVersion , dependency . isDev , projectData . projectDir ) ;
356
332
}
357
-
358
- return dependency . verifiedVersion ;
359
333
}
360
334
361
335
private async shouldMigrateDependencyVersion ( dependency : IMigrationDependency , projectData : IProjectData , allowInvalidVersions : boolean ) : Promise < boolean > {
@@ -364,7 +338,7 @@ Running this command will ${MigrateController.COMMON_MIGRATE_MESSAGE}`;
364
338
const packageName = dependency . packageName ;
365
339
const referencedVersion = dependencies [ packageName ] || devDependencies [ packageName ] ;
366
340
const installedVersion = await this . getMaxDependencyVersion ( dependency . packageName , referencedVersion ) ;
367
- const requiredVersion = await this . getDependencyVerifiedVersion ( dependency , projectData ) ;
341
+ const requiredVersion = dependency . verifiedVersion ;
368
342
369
343
return this . isOutdatedVersion ( installedVersion , requiredVersion , allowInvalidVersions ) ;
370
344
}
@@ -410,6 +384,23 @@ Running this command will ${MigrateController.COMMON_MIGRATE_MESSAGE}`;
410
384
411
385
return dependencies ;
412
386
}
387
+
388
+ private async migrateNativeScriptAngular ( ) : Promise < IMigrationDependency [ ] > {
389
+ const dependencies = [
390
+ { packageName : "@angular/platform-browser-dynamic" , verifiedVersion : "8.0.0" , shouldAddIfMissing : true } ,
391
+ { packageName : "@angular/common" , verifiedVersion : "8.0.0" , shouldAddIfMissing : true } ,
392
+ { packageName : "@angular/compiler" , verifiedVersion : "8.0.0" , shouldAddIfMissing : true } ,
393
+ { packageName : "@angular/core" , verifiedVersion : "8.0.0" , shouldAddIfMissing : true } ,
394
+ { packageName : "@angular/forms" , verifiedVersion : "8.0.0" , shouldAddIfMissing : true } ,
395
+ { packageName : "@angular/http" , verifiedVersion : "8.0.0-beta.10" , shouldAddIfMissing : true } ,
396
+ { packageName : "@angular/platform-browser" , verifiedVersion : "8.0.0" , shouldAddIfMissing : true } ,
397
+ { packageName : "@angular/router" , verifiedVersion : "8.0.0" , shouldAddIfMissing : true } ,
398
+ { packageName : "rxjs" , verifiedVersion : "6.3.3" , shouldAddIfMissing : true } ,
399
+ { packageName : "zone.js" , verifiedVersion : "0.9.1" , shouldAddIfMissing : true }
400
+ ] ;
401
+
402
+ return dependencies ;
403
+ }
413
404
}
414
405
415
406
$injector . register ( "migrateController" , MigrateController ) ;
0 commit comments