mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Merge pull request #4901 from zpao/npm-react-dom-dist
Build ReactDOM browser builds into react-dom/dist
This commit is contained in:
@@ -72,6 +72,7 @@ module.exports = function(grunt) {
|
||||
grunt.registerTask('npm-react:pack', npmReactTasks.packRelease);
|
||||
|
||||
var npmReactDOMTasks = require('./grunt/tasks/npm-react-dom');
|
||||
grunt.registerTask('npm-react-dom:release', npmReactDOMTasks.buildRelease);
|
||||
grunt.registerTask('npm-react-dom:pack', npmReactDOMTasks.packRelease);
|
||||
|
||||
var npmReactAddonsTasks = require('./grunt/tasks/npm-react-addons');
|
||||
@@ -123,6 +124,7 @@ module.exports = function(grunt) {
|
||||
'build:react-dom',
|
||||
'npm-react:release',
|
||||
'npm-react:pack',
|
||||
'npm-react-dom:release',
|
||||
'npm-react-dom:pack',
|
||||
'npm-react-addons:release',
|
||||
'npm-react-addons:pack',
|
||||
|
||||
@@ -3,19 +3,59 @@
|
||||
var fs = require('fs');
|
||||
var grunt = require('grunt');
|
||||
|
||||
var src = 'packages/react-dom/';
|
||||
var dest = 'build/packages/react-dom/';
|
||||
var dist = dest + 'dist/';
|
||||
var distFiles = [
|
||||
'react-dom.js',
|
||||
'react-dom.min.js',
|
||||
];
|
||||
|
||||
function buildRelease() {
|
||||
if (grunt.file.exists(dest)) {
|
||||
grunt.file.delete(dest);
|
||||
}
|
||||
|
||||
// Copy to build/packages/react-dom
|
||||
var mappings = [].concat(
|
||||
grunt.file.expandMapping('**/*', dest, {cwd: src})
|
||||
);
|
||||
mappings.forEach(function(mapping) {
|
||||
var mappingSrc = mapping.src[0];
|
||||
var mappingDest = mapping.dest;
|
||||
if (grunt.file.isDir(mappingSrc)) {
|
||||
grunt.file.mkdir(mappingDest);
|
||||
} else {
|
||||
grunt.file.copy(mappingSrc, mappingDest);
|
||||
}
|
||||
});
|
||||
|
||||
// Make built source available inside npm package
|
||||
grunt.file.mkdir(dist);
|
||||
distFiles.forEach(function(file) {
|
||||
grunt.file.copy('build/' + file, dist + file);
|
||||
});
|
||||
}
|
||||
|
||||
function packRelease() {
|
||||
var done = this.async();
|
||||
var spawnCmd = {
|
||||
cmd: 'npm',
|
||||
args: ['pack', 'packages/react-dom'],
|
||||
args: ['pack', 'react-dom'],
|
||||
opts: {
|
||||
cwd: 'build/packages/',
|
||||
},
|
||||
};
|
||||
grunt.util.spawn(spawnCmd, function() {
|
||||
var buildSrc = 'react-dom-' + grunt.config.data.pkg.version + '.tgz';
|
||||
var buildDest = 'build/packages/react-dom.tgz';
|
||||
fs.rename(buildSrc, buildDest, done);
|
||||
fs.rename(
|
||||
'build/packages/react-dom-' + grunt.config.data.pkg.version + '.tgz',
|
||||
'build/packages/react-dom.tgz',
|
||||
done
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
buildRelease: buildRelease,
|
||||
packRelease: packRelease,
|
||||
};
|
||||
|
||||
@@ -13,8 +13,6 @@ var distFiles = [
|
||||
'react.min.js',
|
||||
'react-with-addons.js',
|
||||
'react-with-addons.min.js',
|
||||
'react-dom.js',
|
||||
'react-dom.min.js',
|
||||
];
|
||||
|
||||
function buildRelease() {
|
||||
|
||||
Reference in New Issue
Block a user