Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. import * as glob from 'glob';
  2. import * as fs from 'fs';
  3. import * as path from 'path';
  4.  
  5. async function changePackage(ppp: any) {
  6. try {
  7. const filesToUpdate: string[] = await new Promise((resolve, reject) => {
  8. glob(ppp, function(err, files) {
  9. if (err) return reject(err);
  10. return resolve(files);
  11. });
  12. });
  13. for (const file of filesToUpdate) {
  14. console.log('Updating file: ', file);
  15. const packageFile = JSON.parse(fs.readFileSync(file, 'utf8'));
  16. const dependencies = packageFile.dependencies;
  17. for (const dependency in dependencies) {
  18. const depPackageFile = JSON.parse(
  19. fs.readFileSync(
  20. `${path.resolve(process.cwd(), 'node_modules')}/${dependency}/package.json`,
  21. 'utf8'
  22. )
  23. );
  24. packageFile.dependencies[dependency] = `${depPackageFile.version}`;
  25. }
  26.  
  27. const devDependencies = packageFile.devDependencies;
  28. for (const dependency in devDependencies) {
  29. const depPackageFile = JSON.parse(
  30. fs.readFileSync(
  31. `${path.resolve(process.cwd(), 'node_modules')}/${dependency}/package.json`,
  32. 'utf8'
  33. )
  34. );
  35. packageFile.devDependencies[dependency] = `${depPackageFile.version}`;
  36. }
  37.  
  38. fs.writeFileSync(file, JSON.stringify(packageFile, null, 2), { flag: 'w+' });
  39. }
  40. } catch (e) {
  41. console.log('ERROR: ', e);
  42. }
  43. }
  44.  
  45. changePackage(`${path.resolve(process.cwd(), 'apps')}/*/package.json`);
  46. changePackage(`${path.resolve(process.cwd(), 'packages')}/*/package.json`);
  47. changePackage(`package.json`);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement