sdk(react-native-sdk): added script that updates app dependencies (#13516)

* sdk(react-native-sdk): created script for missing dependencies
This commit is contained in:
Calinteodor
2023-07-04 11:09:58 +03:00
committed by GitHub
parent 92ca7a598a
commit f950dc90b9
3 changed files with 53 additions and 1 deletions

View File

@@ -91,6 +91,7 @@
}
},
"scripts": {
"postinstall": "node sdk_instructions.js",
"prepare": "node prepare_sdk.js"
},
"bugs": {
@@ -99,4 +100,4 @@
"keywords": [
"react-native"
]
}
}

2
react-native-sdk/sdk_instructions.js vendored Normal file
View File

@@ -0,0 +1,2 @@
console.log('Run node node_modules/@jitsi/react-native-sdk/update_dependencies.js '
+ 'script to update the necessary dependencies');

49
react-native-sdk/update_dependencies.js vendored Normal file
View File

@@ -0,0 +1,49 @@
/* eslint-disable guard-for-in */
const fs = require('fs');
const packageJSON = require('../../package.json');
const RNSDKpackageJSON = require('./package.json');
/**
* Updates dependencies from the app package.json with the peer dependencies of the RNSDK package.json.
*/
function updateDependencies() {
let updated = false;
for (const key in RNSDKpackageJSON.peerDependencies) {
if (!packageJSON.dependencies.hasOwnProperty(key)) {
packageJSON.dependencies[key]
= '*' || RNSDKpackageJSON.peerDependencies[key];
updated = true;
}
}
if (!updated) {
return;
}
packageJSON.dependencies = Object.keys(packageJSON.dependencies)
.sort()
.reduce((item, itemKey) => {
item[itemKey] = packageJSON.dependencies[itemKey];
return item;
}, {});
console.log(
'Updating dependencies:',
Object.keys(packageJSON.dependencies)
);
const data = JSON.stringify(packageJSON, null, 2);
fs.writeFileSync('../../package.json', data);
console.log(
'All needed dependencies have been updated. \nPlease run npm install.'
);
}
updateDependencies();