From ca195fd708404ff2555bca93ca3b148f7eb45c74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Tue, 20 Aug 2024 13:08:05 +0200 Subject: [PATCH] fix(rn) improve rnsdk version script Make sure alll dependencies are updated when we run it. --- react-native-sdk/prepare_sdk.js | 42 --------------------- react-native-sdk/update_sdk_dependencies.js | 42 +++++++++++++++++++++ resources/update-mobile-rnsdk-version.sh | 11 +++--- 3 files changed, 48 insertions(+), 47 deletions(-) create mode 100644 react-native-sdk/update_sdk_dependencies.js diff --git a/react-native-sdk/prepare_sdk.js b/react-native-sdk/prepare_sdk.js index 4d4c1535b0..5a16e3fb56 100644 --- a/react-native-sdk/prepare_sdk.js +++ b/react-native-sdk/prepare_sdk.js @@ -1,10 +1,6 @@ const fs = require('fs'); const path = require('path'); -const packageJSON = require('../package.json'); - -const SDKPackageJSON = require('./package.json'); - const androidSourcePath = '../android/sdk/src/main/java/org/jitsi/meet/sdk'; const androidMainSourcePath = '../android/sdk/src/main/res'; const androidTargetPath = './android/src/main/java/org/jitsi/meet/sdk'; @@ -56,44 +52,6 @@ function copyFolderRecursiveSync(source, target) { } } -/** - * Merges the dependency versions from the root package.json with the dependencies of the SDK package.json. - */ -function mergeDependencyVersions() { - - // Updates SDK dependencies to match project dependencies. - for (const key in SDKPackageJSON.dependencies) { - if (SDKPackageJSON.dependencies.hasOwnProperty(key)) { - SDKPackageJSON.dependencies[key] = packageJSON.dependencies[key] || packageJSON.devDependencies[key]; - } - } - - // Updates SDK peer dependencies. - for (const key in packageJSON.dependencies) { - if (SDKPackageJSON.peerDependencies.hasOwnProperty(key)) { - - // Updates all peer dependencies except react and react-native. - if (key !== 'react' && key !== 'react-native') { - SDKPackageJSON.peerDependencies[key] = packageJSON.dependencies[key]; - } - } - } - - // Updates SDK overrides dependencies. - for (const key in packageJSON.overrides) { - if (SDKPackageJSON.overrides.hasOwnProperty(key)) { - SDKPackageJSON.overrides[key] = packageJSON.overrides[key]; - } - } - - const data = JSON.stringify(SDKPackageJSON, null, 4); - - fs.writeFileSync('package.json', data); -} - -// TODO: put this in a seperate step -mergeDependencyVersions(); - copyFolderRecursiveSync( '../images', '.' diff --git a/react-native-sdk/update_sdk_dependencies.js b/react-native-sdk/update_sdk_dependencies.js new file mode 100644 index 0000000000..0f3d64b755 --- /dev/null +++ b/react-native-sdk/update_sdk_dependencies.js @@ -0,0 +1,42 @@ +const fs = require('fs'); + +const packageJSON = require('../package.json'); + +const SDKPackageJSON = require('./package.json'); + +/** + * Merges the dependency versions from the root package.json with the dependencies of the SDK package.json. + */ +function mergeDependencyVersions() { + + // Updates SDK dependencies to match project dependencies. + for (const key in SDKPackageJSON.dependencies) { + if (SDKPackageJSON.dependencies.hasOwnProperty(key)) { + SDKPackageJSON.dependencies[key] = packageJSON.dependencies[key] || packageJSON.devDependencies[key]; + } + } + + // Updates SDK peer dependencies. + for (const key in packageJSON.dependencies) { + if (SDKPackageJSON.peerDependencies.hasOwnProperty(key)) { + + // Updates all peer dependencies except react and react-native. + if (key !== 'react' && key !== 'react-native') { + SDKPackageJSON.peerDependencies[key] = packageJSON.dependencies[key]; + } + } + } + + // Updates SDK overrides dependencies. + for (const key in packageJSON.overrides) { + if (SDKPackageJSON.overrides.hasOwnProperty(key)) { + SDKPackageJSON.overrides[key] = packageJSON.overrides[key]; + } + } + + const data = JSON.stringify(SDKPackageJSON, null, 4); + + fs.writeFileSync('package.json', data); +} + +mergeDependencyVersions(); diff --git a/resources/update-mobile-rnsdk-version.sh b/resources/update-mobile-rnsdk-version.sh index 12972404bc..051accd663 100755 --- a/resources/update-mobile-rnsdk-version.sh +++ b/resources/update-mobile-rnsdk-version.sh @@ -10,10 +10,11 @@ fi THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd) VERSION=$1 -npm version --prefix ${THIS_DIR}/../react-native-sdk "${VERSION}" --no-git-tag-version +pushd ${THIS_DIR}/../react-native-sdk -npm install --prefix ${THIS_DIR}/../react-native-sdk - -# Run it once more in case dependencies were updated. -npm install --prefix ${THIS_DIR}/../react-native-sdk +npm version "${VERSION}" --no-git-tag-version --allow-same-version +node update_sdk_dependencies.js +npm install +npm audit fix +popd