Skip to content

Commit c24c682

Browse files
committed
chore: unit tests
1 parent 47c7a96 commit c24c682

4 files changed

Lines changed: 223 additions & 208 deletions

File tree

lib/controllers/prepare-controller.ts

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import {
3434
} from "../definitions/platform";
3535
import { IPluginsService } from "../definitions/plugins";
3636
import {
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

Comments
 (0)