@samitouri / QOS-React-2 / commits / 45c612ed7a

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