diff --git a/packages/app/example/package.json b/packages/app/example/package.json index 17344405d..d82943884 100644 --- a/packages/app/example/package.json +++ b/packages/app/example/package.json @@ -10,7 +10,6 @@ "build:visionos": "rnx-cli bundle --platform ios", "build:windows": "rnx-cli bundle --platform windows", "ci:windows": "rnx-cli run-windows --logging --no-packager --no-launch --no-deploy --msbuildprops UseBundle=false --no-telemetry", - "clean": "yarn workspace react-native-test-app clean", "ios": "rnx-cli run --platform ios", "macos": "rnx-cli run --platform macos", "set-react-version": "yarn workspace react-native-test-app set-react-version", diff --git a/packages/app/scripts/internal/set-react-version.mts b/packages/app/scripts/internal/set-react-version.mts index f4daa71bf..d4a12384c 100644 --- a/packages/app/scripts/internal/set-react-version.mts +++ b/packages/app/scripts/internal/set-react-version.mts @@ -290,8 +290,12 @@ export async function setReactVersion( "../../package.json", ]; for (const manifestPath of manifests) { + if (!fs.existsSync(manifestPath)) { + continue; + } + const manifest = readJSONFile(manifestPath); - const { dependencies, devDependencies, resolutions } = manifest; + const { dependencies = {}, devDependencies = {}, resolutions } = manifest; if (!devDependencies) { throw new Error("Expected 'devDependencies' to be declared"); } @@ -311,10 +315,12 @@ export async function setReactVersion( } } else { for (const packageName of keys(profile)) { - const deps = dependencies?.[packageName] - ? dependencies - : devDependencies; - deps[packageName] = profile[packageName]; + if (Object.hasOwn(dependencies, packageName)) { + dependencies[packageName] = profile[packageName]; + } + if (Object.hasOwn(devDependencies, packageName)) { + devDependencies[packageName] = profile[packageName]; + } } } diff --git a/packages/app/scripts/types.ts b/packages/app/scripts/types.ts index 12b455c12..c7829eaac 100644 --- a/packages/app/scripts/types.ts +++ b/packages/app/scripts/types.ts @@ -341,7 +341,7 @@ export type Manifest = { url: string; directory?: string; }; - dependencies?: Record; + dependencies?: Record; peerDependencies?: Record; devDependencies?: Record; resolutions?: Record; diff --git a/packages/example-macos/package.json b/packages/example-macos/package.json index e07500caf..40c6a7311 100644 --- a/packages/example-macos/package.json +++ b/packages/example-macos/package.json @@ -8,10 +8,9 @@ "build:ios": "rnx-cli bundle --platform ios", "build:macos": "rnx-cli bundle --platform macos", "build:visionos": "rnx-cli bundle --platform ios", - "clean": "yarn workspace react-native-test-app clean", "ios": "rnx-cli run --platform ios", "macos": "rnx-cli run --platform macos", - "set-react-version": "yarn workspace react-native-test-app set-react-version", + "set-react-version": "node ../app/scripts/internal/set-react-version.mts", "start": "rnx-cli start", "visionos": "rnx-cli run --platform visionos" }, diff --git a/packages/example-windows/package.json b/packages/example-windows/package.json index 85b983b5a..e4960e29b 100644 --- a/packages/example-windows/package.json +++ b/packages/example-windows/package.json @@ -8,10 +8,9 @@ "build:ios": "rnx-cli bundle --platform ios", "build:windows": "rnx-cli bundle --platform windows", "ci:windows": "rnx-cli run-windows --logging --no-packager --no-launch --no-deploy --msbuildprops UseBundle=false --no-telemetry", - "clean": "yarn workspace react-native-test-app clean", "ios": "rnx-cli run --platform ios", "prebuild": "node ../app/windows/app.mjs", - "set-react-version": "yarn workspace react-native-test-app set-react-version", + "set-react-version": "node ../app/scripts/internal/set-react-version.mts", "start": "rnx-cli start", "windows": "rnx-cli run-windows --no-packager" },