Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const fs = require('fs');
- const path = require('path');
- const dependencies = require('../package.json').dependencies;
- const devDependencies = require('../package.json').devDependencies;
- const yarnFile = fs.readFileSync(path.join(__dirname, '../yarn.lock'), 'utf8');
- // Grabs the version from package.json file
- const versionRegexp = new RegExp(/[0-9]+\.[0-9]+\.[0-9]+(\-(beta|rc).*)?/i);
- function logDifferingVersions (dependencyObject) {
- Object.keys(dependencyObject).map((key) => {
- const packageName = key;
- const packageVersion = versionRegexp.exec(dependencyObject[key])[0];
- const regExpSafeName = packageName.replace(/\//g, '\\/');
- const yarnLockRegExp = new RegExp(`\\n"?${regExpSafeName}@.*\\n.*version\\s?"(.*)"`, 'i');
- const foundYarnVersions = yarnLockRegExp.exec(yarnFile);
- const yarnLockVersion = foundYarnVersions[foundYarnVersions.length - 1];
- if (yarnLockVersion !== packageVersion) {
- console.group(packageName)
- console.log('\x1b[36m%s\x1b[0m', `yarn.lock: ${yarnLockVersion}`);
- console.log('\x1b[31m%s\x1b[0m', `package.json: ${packageVersion}`);
- console.groupEnd();
- }
- });
- }
- logDifferingVersions(dependencies);
- logDifferingVersions(devDependencies);
Add Comment
Please, Sign In to add comment