Add React.version

getConfig needs to be a function because grunt.config.data.pkg.version isn't available at the time that grunt/config/jsx/jsx.js is required.

Test Plan:
grunt build, grunt lint, grunt test all work. After building, both react.js and react.min.js contain the version number.
This commit is contained in:
Ben Alpert
2013-07-16 20:38:40 -07:00
parent 46d05b1191
commit 7be14d8155
7 changed files with 41 additions and 24 deletions

View File

@@ -1,6 +0,0 @@
{
"debug": true,
"constants": {
"__DEV__": true
}
}

View File

@@ -1,12 +1,24 @@
'use strict';
var grunt = require('grunt');
var rootIDs = [
"React"
];
var getDebugConfig = function() {
return {
"debug": true,
"constants": {
"__VERSION__": grunt.config.data.pkg.version,
"__DEV__": true
}
};
};
var debug = {
rootIDs: rootIDs,
configFile: "grunt/config/jsx/debug.json",
getConfig: getDebugConfig,
sourceDir: "src",
outputDir: "build/modules"
};
@@ -15,7 +27,7 @@ var jasmine = {
rootIDs: [
"all"
],
configFile: debug.configFile,
getConfig: getDebugConfig,
sourceDir: "vendor/jasmine",
outputDir: "build/jasmine"
};
@@ -25,18 +37,37 @@ var test = {
"test/all.js",
"**/__tests__/*.js"
]),
configFile: "grunt/config/jsx/test.json",
getConfig: function() {
return {
"debug": true,
"mocking": true,
"constants": {
"__VERSION__": grunt.config.data.pkg.version,
"__DEV__": true
}
};
},
sourceDir: "src",
outputDir: "build/modules"
};
var release = {
rootIDs: rootIDs,
configFile: "grunt/config/jsx/release.json",
getConfig: function() {
return {
"debug": false,
"constants": {
"__VERSION__": grunt.config.data.pkg.version,
"__DEV__": false
}
};
},
sourceDir: "src",
outputDir: "build/modules"
};
module.exports = {
debug: debug,
jasmine: jasmine,

View File

@@ -1,6 +0,0 @@
{
"debug": false,
"constants": {
"__DEV__": false
}
}

View File

@@ -1,7 +0,0 @@
{
"debug": true,
"mocking": true,
"constants": {
"__DEV__": true
}
}

View File

@@ -24,7 +24,7 @@ module.exports = function() {
});
args.push.apply(args, rootIDs);
args.push("--config", config.configFile);
args.push("--config" /* from stdin */);
var child = spawn({
cmd: "bin/jsx",
@@ -38,6 +38,9 @@ module.exports = function() {
}
});
child.stdin.write(JSON.stringify(config.getConfig()));
child.stdin.end();
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
};

View File

@@ -19,6 +19,7 @@
"unused": "vars",
"globals": {
"__VERSION__": false,
"__DEV__": false,
"require": false,
"module": false,

View File

@@ -30,6 +30,7 @@ var ReactDefaultInjection = require('ReactDefaultInjection');
ReactDefaultInjection.inject();
var React = {
version: __VERSION__,
DOM: ReactDOM,
PropTypes: ReactPropTypes,
initializeTouchEvents: function(shouldUseTouch) {