Move version to standalone module in preparation for reuse
Paul O’Shannessy committed
Sep 1, 2015 at 14:02 UTC
58d62989bd4e8da32e58db35a96868ef2258c2c9
6 files changed
+23
-8
grunt/tasks/version-check.js
+1
-6
@@ -2,11 +2,6 @@
2
3
var grunt = require('grunt');
4
5
-// Check that the version we're exporting is the same one we expect in the
6
-// package. This is not an ideal way to do this, but makes sure that we keep
7
-// them in sync.
8
-var reactVersionExp = /\bReact\.version\s*=\s*['"]([^'"]+)['"];/;
9
-
5
module.exports = function() {
6
var pkgVersion = grunt.config.data.pkg.version;
7
@@ -19,7 +14,7 @@ module.exports = function() {
14
'packages/react-addons/package.json (version)': addonsData.version,
15
// Get the "version" without the range bit
16
'packages/react-addons/package.json (react dependency)': addonsData.peerDependencies.react.slice(1),
22
- 'src/React.js': reactVersionExp.exec(grunt.file.read('./src/React.js'))[1],
17
+ 'src/ReactVersion.js': require('../../src/ReactVersion'),
18
};
19
20
// Return true (ok) or false (failed)
src/React.js
+1
-2
@@ -18,6 +18,7 @@ var ReactIsomorphic = require('ReactIsomorphic');
18
var assign = require('Object.assign');
19
var deprecated = require('deprecated');
20
21
+// `version` will be added here by ReactIsomorphic.
22
var React = {};
23
24
assign(React, ReactIsomorphic);
@@ -63,6 +64,4 @@ assign(React, {
64
),
65
});
66
66
-React.version = '0.14.0-beta3';
67
-
67
module.exports = React;
src/ReactVersion.js
new
+14
@@ -0,0 +1,14 @@
1
+/**
2
+ * Copyright 2013-2015, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under the BSD-style license found in the
6
+ * LICENSE file in the root directory of this source tree. An additional grant
7
+ * of patent rights can be found in the PATENTS file in the same directory.
8
+ *
9
+ * @providesModule ReactVersion
10
+ */
11
+
12
+'use strict';
13
+
14
+module.exports = '0.14.0-beta3';
src/isomorphic/ReactIsomorphic.js
+3
@@ -18,6 +18,7 @@ var ReactDOMFactories = require('ReactDOMFactories');
18
var ReactElement = require('ReactElement');
19
var ReactElementValidator = require('ReactElementValidator');
20
var ReactPropTypes = require('ReactPropTypes');
21
+var ReactVersion = require('ReactVersion');
22
23
var assign = require('Object.assign');
24
var onlyChild = require('onlyChild');
@@ -64,6 +65,8 @@ var React = {
65
// since they are just generating DOM strings.
66
DOM: ReactDOMFactories,
67
68
+ version: ReactVersion,
69
+
70
// Hook for JSX spread, don't use this for anything else.
71
__spread: assign,
72
};
src/renderers/dom/ReactDOM.js
+2
@@ -21,6 +21,7 @@ var ReactMount = require('ReactMount');
21
var ReactPerf = require('ReactPerf');
22
var ReactReconciler = require('ReactReconciler');
23
var ReactUpdates = require('ReactUpdates');
24
+var ReactVersion = require('ReactVersion');
25
26
var findDOMNode = require('findDOMNode');
27
var renderSubtreeIntoContainer = require('renderSubtreeIntoContainer');
@@ -34,6 +35,7 @@ var React = {
35
findDOMNode: findDOMNode,
36
render: render,
37
unmountComponentAtNode: ReactMount.unmountComponentAtNode,
38
+ version: ReactVersion,
39
40
/* eslint-disable camelcase */
41
unstable_batchedUpdates: ReactUpdates.batchedUpdates,
src/renderers/dom/ReactDOMServer.js
+2
@@ -13,12 +13,14 @@
13
14
var ReactDefaultInjection = require('ReactDefaultInjection');
15
var ReactServerRendering = require('ReactServerRendering');
16
+var ReactVersion = require('ReactVersion');
17
18
ReactDefaultInjection.inject();
19
20
var ReactDOMServer = {
21
renderToString: ReactServerRendering.renderToString,
22
renderToStaticMarkup: ReactServerRendering.renderToStaticMarkup,
23
+ version: ReactVersion,
24
};
25
26
module.exports = ReactDOMServer;