Add additional secret property and build for react-dom-server
Update eslintrc, travis build and add task to Gruntfile
Kevin Robinson committed
Nov 3, 2015 at 16:23 UTC
45c612ed7a56b91f4c1d056c824de54673a2c241
6 files changed
+64
.eslintignore
+1
@@ -13,3 +13,4 @@ examples/
13
build/
14
scripts/bench/bench-*.js
15
vendor/react-dom.js
16
+vendor/react-dom-server.js
\ No newline at end of file
.travis.yml
+2
@@ -54,6 +54,8 @@ script:
54
-F "react-with-addons.min=@build/react-with-addons.min.js" \
55
-F "react-dom=@build/react-dom.js" \
56
-F "react-dom.min=@build/react-dom.min.js" \
57
+ -F "react-dom-server=@build/react-dom-server.js"
58
+ -F "react-dom-server.min=@build/react-dom-server.min.js"
59
-F "npm-react=@build/packages/react.tgz" \
60
-F "npm-react-dom=@build/packages/react-dom.tgz" \
61
-F "commit=$TRAVIS_COMMIT" \
Gruntfile.js
+2
@@ -112,6 +112,7 @@ module.exports = function(grunt) {
112
'npm-react:release',
113
]);
114
grunt.registerTask('build:react-dom', require('./grunt/tasks/react-dom'));
115
+ grunt.registerTask('build:react-dom-server', require('./grunt/tasks/react-dom-server'));
116
117
grunt.registerTask('test', ['jest']);
118
grunt.registerTask('npm:test', ['build', 'npm:pack']);
@@ -129,6 +130,7 @@ module.exports = function(grunt) {
130
'browserify:min',
131
'browserify:addonsMin',
132
'build:react-dom',
133
+ 'build:react-dom-server',
134
'npm-react:release',
135
'npm-react:pack',
136
'npm-react-dom:release',
grunt/tasks/react-dom-server.js
new
+27
@@ -0,0 +1,27 @@
1
+'use strict';
2
+
3
+var grunt = require('grunt');
4
+var UglifyJS = require('uglify-js');
5
+
6
+var LICENSE_TEMPLATE =
7
+ grunt.file.read('./grunt/data/header-template-extended.txt');
8
+
9
+module.exports = function() {
10
+ var templateData = {
11
+ package: 'ReactDOMServer',
12
+ version: grunt.config.data.pkg.version,
13
+ };
14
+ var header = grunt.template.process(
15
+ LICENSE_TEMPLATE,
16
+ {data: templateData}
17
+ );
18
+ var src = grunt.file.read('vendor/react-dom-server.js');
19
+ grunt.file.write(
20
+ 'build/react-dom-server.js',
21
+ header + src
22
+ );
23
+ grunt.file.write(
24
+ 'build/react-dom-server.min.js',
25
+ header + UglifyJS.minify(src, {fromString: true}).code
26
+ );
27
+};
src/React.js
+1
@@ -65,5 +65,6 @@ assign(React, {
65
});
66
67
React.__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOM;
68
+React.__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOMServer;
69
70
module.exports = React;
vendor/react-dom-server.js
new
+31
@@ -0,0 +1,31 @@
1
+// Based off https://github.com/ForbesLindesay/umd/blob/master/template.js
2
+;(function(f) {
3
+ // CommonJS
4
+ if (typeof exports === "object" && typeof module !== "undefined") {
5
+ module.exports = f(require('react'));
6
+
7
+ // RequireJS
8
+ } else if (typeof define === "function" && define.amd) {
9
+ define(['react'], f);
10
+
11
+ // <script>
12
+ } else {
13
+ var g
14
+ if (typeof window !== "undefined") {
15
+ g = window;
16
+ } else if (typeof global !== "undefined") {
17
+ g = global;
18
+ } else if (typeof self !== "undefined") {
19
+ g = self;
20
+ } else {
21
+ // works providing we're not in "use strict";
22
+ // needed for Java 8 Nashorn
23
+ // see https://github.com/facebook/react/issues/3037
24
+ g = this;
25
+ }
26
+ g.ReactDOM = f(g.React);
27
+ }
28
+
29
+})(function(React) {
30
+ return React.__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
31
+});