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
+};