@@ -34,6 +34,7 @@ import {
3434} from "../definitions/platform" ;
3535import { IPluginsService } from "../definitions/plugins" ;
3636import {
37+ INsConfig ,
3738 IProjectConfigService ,
3839 IProjectData ,
3940 IProjectDataService ,
@@ -452,67 +453,78 @@ export class PrepareController extends EventEmitter {
452453 "Updating runtime package.json with configuration values..." ,
453454 ) ;
454455
455-
456- const { hooks, ignoredNativeDependencies, webpackPackageName, webpackConfigPath, appResourcesPath, buildPath, appPath, ...nsConfig } = this . $projectConfigService . readConfig (
457- projectData . projectDir
458- ) ;
456+ // Tolerate a missing/unreadable config — prior to the destructure this
457+ // was a plain object spread, where `undefined` is a legal no-op.
458+ const {
459+ hooks,
460+ ignoredNativeDependencies,
461+ webpackPackageName,
462+ webpackConfigPath,
463+ appResourcesPath,
464+ buildPath,
465+ appPath,
466+ ...nsConfig
467+ } =
468+ this . $projectConfigService . readConfig ( projectData . projectDir ) ??
469+ ( { } as INsConfig ) ;
459470
460471 const platform = platformData . platformNameLowerCase ;
461472 let installedRuntimePackageJSON ;
462473 let runtimePackageName : string ;
463474 if ( platform === PlatformTypes . ios ) {
464- runtimePackageName = projectData . nsConfig . ios ?. runtimePackageName || SCOPED_IOS_RUNTIME_NAME ;
475+ runtimePackageName =
476+ projectData . nsConfig ?. ios ?. runtimePackageName ||
477+ SCOPED_IOS_RUNTIME_NAME ;
465478 } else if ( platform === PlatformTypes . android ) {
466- runtimePackageName = projectData . nsConfig . android ?. runtimePackageName || SCOPED_ANDROID_RUNTIME_NAME ;
479+ runtimePackageName =
480+ projectData . nsConfig ?. android ?. runtimePackageName ||
481+ SCOPED_ANDROID_RUNTIME_NAME ;
467482 }
468483 // try reading from installed runtime first before reading from the npm registry...
469484 const installedRuntimePackageJSONPath = resolvePackageJSONPath (
470485 runtimePackageName ,
471486 {
472487 paths : [ projectData . projectDir ] ,
473- }
488+ } ,
474489 ) ;
475490
476491 if ( installedRuntimePackageJSONPath ) {
477492 installedRuntimePackageJSON = this . $fs . readJson (
478- installedRuntimePackageJSONPath
493+ installedRuntimePackageJSONPath ,
479494 ) ;
480495 }
481496 const packageData : any = {
482497 ..._ . pick ( projectData . packageJsonData , [ "name" ] ) ,
483498 ...nsConfig ,
484499 main : "bundle" ,
485- ...( installedRuntimePackageJSON ? { } : { } )
500+ ...( installedRuntimePackageJSON ? { } : { } ) ,
486501 } ;
487- if (
488- platform === PlatformTypes . ios
489- ) {
502+ if ( platform === PlatformTypes . ios ) {
490503 if ( installedRuntimePackageJSON ) {
491504 packageData . ios = packageData . ios || { } ;
492505 packageData . ios . runtime = {
493- version : installedRuntimePackageJSON . version
506+ version : installedRuntimePackageJSON . version ,
494507 } ;
495508 }
496- if ( packageData . ios &&
497- packageData . ios . discardUncaughtJsExceptions ) {
509+ if ( packageData . ios && packageData . ios . discardUncaughtJsExceptions ) {
498510 packageData . discardUncaughtJsExceptions =
499- packageData . ios . discardUncaughtJsExceptions ;
511+ packageData . ios . discardUncaughtJsExceptions ;
500512 }
501513 delete packageData . android ;
502514 }
503- if (
504- platform === PlatformTypes . android
505- ) {
515+ if ( platform === PlatformTypes . android ) {
506516 if ( installedRuntimePackageJSON ) {
507517 packageData . android = packageData . android || { } ;
508518 packageData . android . runtime = {
509519 version : installedRuntimePackageJSON . version ,
510520 version_info : installedRuntimePackageJSON . version_info ,
511- gradle :installedRuntimePackageJSON . gradle
521+ gradle : installedRuntimePackageJSON . gradle ,
512522 } ;
513523 }
514- if ( packageData . android &&
515- packageData . android . discardUncaughtJsExceptions ) {
524+ if (
525+ packageData . android &&
526+ packageData . android . discardUncaughtJsExceptions
527+ ) {
516528 packageData . discardUncaughtJsExceptions =
517529 packageData . android . discardUncaughtJsExceptions ;
518530 }
0 commit comments