From 6ae2defd0706ffcd9c3894130b14410887805a56 Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Sun, 24 Jan 2021 17:37:00 -0800 Subject: [PATCH 1/3] Check for optional `devDependencies` Noticed this bug when trying to eject without `devDependencies` defined in package.json. --- packages/expo-cli/src/commands/eject/Eject.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/expo-cli/src/commands/eject/Eject.ts b/packages/expo-cli/src/commands/eject/Eject.ts index d086856c6a..3cf0d10809 100644 --- a/packages/expo-cli/src/commands/eject/Eject.ts +++ b/packages/expo-cli/src/commands/eject/Eject.ts @@ -539,7 +539,7 @@ function updatePackageJSONDependencies({ } const combinedDevDependencies: DependenciesMap = createDependenciesMap({ ...defaultDevDependencies, - ...pkg.devDependencies, + ...pkg?.devDependencies, }); // Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes. From 00123e170b6905d790febf8e83160ef3fd2037b2 Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Sun, 24 Jan 2021 17:49:48 -0800 Subject: [PATCH 2/3] update --- packages/expo-cli/src/commands/eject/Eject.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/expo-cli/src/commands/eject/Eject.ts b/packages/expo-cli/src/commands/eject/Eject.ts index 3cf0d10809..95dbc79117 100644 --- a/packages/expo-cli/src/commands/eject/Eject.ts +++ b/packages/expo-cli/src/commands/eject/Eject.ts @@ -516,6 +516,9 @@ function updatePackageJSONDependencies({ tempDir: string; pkg: PackageJSONConfig; }): DependenciesModificationResults { + if(!pkg.devDependencies) { + pkg.devDependencies = {} + } const { dependencies, devDependencies } = getPackageJson(tempDir); const defaultDependencies = createDependenciesMap(dependencies); const defaultDevDependencies = createDependenciesMap(devDependencies); @@ -539,7 +542,7 @@ function updatePackageJSONDependencies({ } const combinedDevDependencies: DependenciesMap = createDependenciesMap({ ...defaultDevDependencies, - ...pkg?.devDependencies, + ...pkg.devDependencies, }); // Only change the dependencies if the normalized hash changes, this helps to reduce meaningless changes. From 20b3846777fbc10669b0b2d045a5180074ed4301 Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Sun, 24 Jan 2021 21:03:45 -0800 Subject: [PATCH 3/3] Lint fixes --- packages/expo-cli/src/commands/eject/Eject.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/expo-cli/src/commands/eject/Eject.ts b/packages/expo-cli/src/commands/eject/Eject.ts index 95dbc79117..3e8925415f 100644 --- a/packages/expo-cli/src/commands/eject/Eject.ts +++ b/packages/expo-cli/src/commands/eject/Eject.ts @@ -516,8 +516,8 @@ function updatePackageJSONDependencies({ tempDir: string; pkg: PackageJSONConfig; }): DependenciesModificationResults { - if(!pkg.devDependencies) { - pkg.devDependencies = {} + if (!pkg.devDependencies) { + pkg.devDependencies = {}; } const { dependencies, devDependencies } = getPackageJson(tempDir); const defaultDependencies = createDependenciesMap(dependencies);