Files
react/grunt/tasks/version-check.js
T
Paul O’Shannessy 3bae8f5f35 Build react-dom package
2015-06-15 11:01:39 -07:00

37 lines
1.0 KiB
JavaScript

'use strict';
var grunt = require('grunt');
// Check that the version we're exporting is the same one we expect in the
// package. This is not an ideal way to do this, but makes sure that we keep
// them in sync.
var reactVersionExp = /\bReact\.version\s*=\s*['"]([^'"]+)['"];/;
module.exports = function() {
var pkgVersion = grunt.config.data.pkg.version;
var versions = {
'npm-react/package.json':
grunt.file.readJSON('./npm-react/package.json').version,
'npm-react-dom/package.json':
grunt.file.readJSON('./npm-react-dom/package.json').version,
'src/React.js': reactVersionExp.exec(grunt.file.read('./src/React.js'))[1],
};
// 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);
};