@samitouri / QOS-React-2 / commits / 54bac2f07f

Move version-check task into own file

Gruntfile.js is really messy :(

Paul O’Shannessy committed Dec 11, 2013 at 17:01 UTC 54bac2f07f3ba249f6e3c0da632dd4c9db9bcca3
2 files changed +36 -28
Gruntfile.js
+2 -28
@@ -10,6 +10,7 @@ var sauceTunnelTask = require('./grunt/tasks/sauce-tunnel');
10 var npmTask = require('./grunt/tasks/npm');
11 var releaseTasks = require('./grunt/tasks/release');
12 var npmReactTasks = require('./grunt/tasks/npm-react');
13 +var versionCheckTask = require('./grunt/tasks/version-check');
14
15 module.exports = function(grunt) {
16
@@ -54,34 +55,7 @@ module.exports = function(grunt) {
55
56 grunt.registerTask('npm-react:release', npmReactTasks.buildRelease);
57
57 - // Check that the version we're exporting is the same one we expect in the
58 - // package. This is not an ideal way to do this, but makes sure that we keep
59 - // them in sync.
60 - var reactVersionExp = /\bReact\.version\s*=\s*['"]([^'"]+)['"];/;
61 - grunt.registerTask('version-check', function() {
62 - var reactVersion = reactVersionExp.exec(
63 - grunt.file.read('./build/modules/React.js')
64 - )[1];
65 - var npmReactVersion = grunt.file.readJSON('./npm-react/package.json').version;
66 - var reactToolsVersion = grunt.config.data.pkg.version;
67 -
68 - if (reactVersion !== reactToolsVersion) {
69 - grunt.log.error(
70 - 'React version does not match react-tools version. Expected %s, saw %s',
71 - reactToolsVersion,
72 - reactVersion
73 - );
74 - return false;
75 - }
76 - if (npmReactVersion !== reactToolsVersion) {
77 - grunt.log.error(
78 - 'npm-react version does not match react-tools veersion. Expected %s, saw %s',
79 - reactToolsVersion,
80 - npmReactVersion
81 - );
82 - return false;
83 - }
84 - });
58 + grunt.registerTask('version-check', versionCheckTask);
59
60 grunt.registerTask('build:basic', ['jsx:debug', 'version-check', 'browserify:basic']);
61 grunt.registerTask('build:addons', ['jsx:debug', 'browserify:addons']);
grunt/tasks/version-check.js new
+34
@@ -0,0 +1,34 @@
1 +'use strict';
2 +
3 +var grunt = require('grunt');
4 +
5 +
6 +// Check that the version we're exporting is the same one we expect in the
7 +// package. This is not an ideal way to do this, but makes sure that we keep
8 +// them in sync.
9 +var reactVersionExp = /\bReact\.version\s*=\s*['"]([^'"]+)['"];/;
10 +
11 +module.exports = function() {
12 + var reactVersion = reactVersionExp.exec(
13 + grunt.file.read('./build/modules/React.js')
14 + )[1];
15 + var npmReactVersion = grunt.file.readJSON('./npm-react/package.json').version;
16 + var reactToolsVersion = grunt.config.data.pkg.version;
17 +
18 + if (reactVersion !== reactToolsVersion) {
19 + grunt.log.error(
20 + 'React version does not match react-tools version. Expected %s, saw %s',
21 + reactToolsVersion,
22 + reactVersion
23 + );
24 + return false;
25 + }
26 + if (npmReactVersion !== reactToolsVersion) {
27 + grunt.log.error(
28 + 'npm-react version does not match react-tools veersion. Expected %s, saw %s',
29 + reactToolsVersion,
30 + npmReactVersion
31 + );
32 + return false;
33 + }
34 +};