Add additional secret property and build for react-dom-server

Update eslintrc, travis build and add task to Gruntfile
This commit is contained in:
Kevin Robinson 2015-11-03 16:23:39 -05:00
parent 84af306044
commit 45c612ed7a
6 changed files with 64 additions and 0 deletions

View File

@ -13,3 +13,4 @@ examples/
build/
scripts/bench/bench-*.js
vendor/react-dom.js
vendor/react-dom-server.js

View File

@ -54,6 +54,8 @@ script:
-F "react-with-addons.min=@build/react-with-addons.min.js" \
-F "react-dom=@build/react-dom.js" \
-F "react-dom.min=@build/react-dom.min.js" \
-F "react-dom-server=@build/react-dom-server.js"
-F "react-dom-server.min=@build/react-dom-server.min.js"
-F "npm-react=@build/packages/react.tgz" \
-F "npm-react-dom=@build/packages/react-dom.tgz" \
-F "commit=$TRAVIS_COMMIT" \

View File

@ -112,6 +112,7 @@ module.exports = function(grunt) {
'npm-react:release',
]);
grunt.registerTask('build:react-dom', require('./grunt/tasks/react-dom'));
grunt.registerTask('build:react-dom-server', require('./grunt/tasks/react-dom-server'));
grunt.registerTask('test', ['jest']);
grunt.registerTask('npm:test', ['build', 'npm:pack']);
@ -129,6 +130,7 @@ module.exports = function(grunt) {
'browserify:min',
'browserify:addonsMin',
'build:react-dom',
'build:react-dom-server',
'npm-react:release',
'npm-react:pack',
'npm-react-dom:release',

27
grunt/tasks/react-dom-server.js vendored Normal file
View File

@ -0,0 +1,27 @@
'use strict';
var grunt = require('grunt');
var UglifyJS = require('uglify-js');
var LICENSE_TEMPLATE =
grunt.file.read('./grunt/data/header-template-extended.txt');
module.exports = function() {
var templateData = {
package: 'ReactDOMServer',
version: grunt.config.data.pkg.version,
};
var header = grunt.template.process(
LICENSE_TEMPLATE,
{data: templateData}
);
var src = grunt.file.read('vendor/react-dom-server.js');
grunt.file.write(
'build/react-dom-server.js',
header + src
);
grunt.file.write(
'build/react-dom-server.min.js',
header + UglifyJS.minify(src, {fromString: true}).code
);
};

View File

@ -65,5 +65,6 @@ assign(React, {
});
React.__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOM;
React.__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactDOMServer;
module.exports = React;

31
vendor/react-dom-server.js vendored Normal file
View File

@ -0,0 +1,31 @@
// Based off https://github.com/ForbesLindesay/umd/blob/master/template.js
;(function(f) {
// CommonJS
if (typeof exports === "object" && typeof module !== "undefined") {
module.exports = f(require('react'));
// RequireJS
} else if (typeof define === "function" && define.amd) {
define(['react'], f);
// <script>
} else {
var g
if (typeof window !== "undefined") {
g = window;
} else if (typeof global !== "undefined") {
g = global;
} else if (typeof self !== "undefined") {
g = self;
} else {
// works providing we're not in "use strict";
// needed for Java 8 Nashorn
// see https://github.com/facebook/react/issues/3037
g = this;
}
g.ReactDOM = f(g.React);
}
})(function(React) {
return React.__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
});