Guest User

Untitled

a guest
Mar 22nd, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. const fs = require('fs');
  2. const path = require('path');
  3.  
  4. const dependencies = require('../package.json').dependencies;
  5. const devDependencies = require('../package.json').devDependencies;
  6.  
  7. const yarnFile = fs.readFileSync(path.join(__dirname, '../yarn.lock'), 'utf8');
  8.  
  9. // Grabs the version from package.json file
  10. const versionRegexp = new RegExp(/[0-9]+\.[0-9]+\.[0-9]+(\-(beta|rc).*)?/i);
  11.  
  12. function logDifferingVersions (dependencyObject) {
  13. Object.keys(dependencyObject).map((key) => {
  14. const packageName = key;
  15. const packageVersion = versionRegexp.exec(dependencyObject[key])[0];
  16. const regExpSafeName = packageName.replace(/\//g, '\\/');
  17. const yarnLockRegExp = new RegExp(`\\n"?${regExpSafeName}@.*\\n.*version\\s?"(.*)"`, 'i');
  18. const foundYarnVersions = yarnLockRegExp.exec(yarnFile);
  19. const yarnLockVersion = foundYarnVersions[foundYarnVersions.length - 1];
  20.  
  21. if (yarnLockVersion !== packageVersion) {
  22. console.group(packageName)
  23. console.log('\x1b[36m%s\x1b[0m', `yarn.lock: ${yarnLockVersion}`);
  24. console.log('\x1b[31m%s\x1b[0m', `package.json: ${packageVersion}`);
  25. console.groupEnd();
  26. }
  27. });
  28. }
  29.  
  30. logDifferingVersions(dependencies);
  31. logDifferingVersions(devDependencies);
Add Comment
Please, Sign In to add comment