Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

update_dependencies.js 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /* eslint-disable guard-for-in */
  2. /* global __dirname */
  3. const fs = require('fs');
  4. const path = require('path');
  5. const pathToPackageJSON = path.resolve(__dirname, '../../../package.json');
  6. const packageJSON = require(pathToPackageJSON);
  7. const RNSDKpackageJSON = require(path.resolve(__dirname, './package.json'));
  8. /**
  9. * Updates dependencies from the app package.json with the peer dependencies of the RNSDK package.json.
  10. */
  11. function updateDependencies() {
  12. let updated = false;
  13. for (const key in RNSDKpackageJSON.peerDependencies) {
  14. if (!packageJSON.dependencies.hasOwnProperty(key)) {
  15. packageJSON.dependencies[key] = RNSDKpackageJSON.peerDependencies[key];
  16. updated = true;
  17. }
  18. }
  19. packageJSON.overrides = packageJSON.overrides || {};
  20. for (const key in RNSDKpackageJSON.overrides) {
  21. if (!packageJSON.overrides.hasOwnProperty(key)) {
  22. packageJSON.overrides[key] = RNSDKpackageJSON.overrides[key];
  23. updated = true;
  24. }
  25. }
  26. if (!updated) {
  27. return;
  28. }
  29. console.log(`
  30. =========================
  31. 🚀 Your project was updated!
  32. 🛠 Make sure you run npm install
  33. 📱 If you are building for iOS run cd ios && pod install to link them.
  34. =========================
  35. `);
  36. packageJSON.dependencies = Object.keys(packageJSON.dependencies)
  37. .sort()
  38. .reduce((item, itemKey) => {
  39. item[itemKey] = packageJSON.dependencies[itemKey];
  40. return item;
  41. }, {});
  42. fs.writeFileSync(pathToPackageJSON, JSON.stringify(packageJSON, null, 2));
  43. console.log(
  44. 'All needed dependencies have been updated. \nPlease run npm install.'
  45. );
  46. }
  47. updateDependencies();