react/grunt/tasks/version-check.js

36 lines
1.1 KiB
JavaScript
Raw Normal View History

'use strict';
var grunt = require('grunt');
module.exports = function() {
2015-06-12 05:19:52 +08:00
var pkgVersion = grunt.config.data.pkg.version;
2015-06-21 11:29:40 +08:00
var addonsData = grunt.file.readJSON('./packages/react-addons/package.json');
2015-06-12 05:19:52 +08:00
var versions = {
2015-06-18 02:43:28 +08:00
'packages/react/package.json':
grunt.file.readJSON('./packages/react/package.json').version,
'packages/react-dom/package.json':
grunt.file.readJSON('./packages/react-dom/package.json').version,
2015-06-21 11:29:40 +08:00
'packages/react-addons/package.json (version)': addonsData.version,
// Get the "version" without the range bit
'packages/react-addons/package.json (react dependency)': addonsData.peerDependencies.react.slice(1),
'src/ReactVersion.js': require('../../src/ReactVersion'),
2015-06-12 05:19:52 +08:00
};
2015-06-12 05:19:52 +08:00
// Return true (ok) or false (failed)
return Object.keys(versions).reduce(function(prev, name) {
var version = versions[name];
var ok = true;
if (version !== pkgVersion) {
grunt.log.error(
'%s version does not match package.json. Expected %s, saw %s.',
name,
pkgVersion,
version
);
ok = false;
}
return prev && ok;
}, true);
};