@samitouri / QOS-React-2 / commits / ff542de59d

Build ReactDOM browser builds into react-dom/dist

Paul O’Shannessy committed Sep 17, 2015 at 12:56 UTC ff542de59df93a7e33fab229d2b848233ee317da
3 files changed +46 -6
Gruntfile.js
+2
@@ -72,6 +72,7 @@ module.exports = function(grunt) {
72 grunt.registerTask('npm-react:pack', npmReactTasks.packRelease);
73
74 var npmReactDOMTasks = require('./grunt/tasks/npm-react-dom');
75 + grunt.registerTask('npm-react-dom:release', npmReactDOMTasks.buildRelease);
76 grunt.registerTask('npm-react-dom:pack', npmReactDOMTasks.packRelease);
77
78 var npmReactAddonsTasks = require('./grunt/tasks/npm-react-addons');
@@ -123,6 +124,7 @@ module.exports = function(grunt) {
124 'build:react-dom',
125 'npm-react:release',
126 'npm-react:pack',
127 + 'npm-react-dom:release',
128 'npm-react-dom:pack',
129 'npm-react-addons:release',
130 'npm-react-addons:pack',
grunt/tasks/npm-react-dom.js
+44 -4
@@ -3,19 +3,59 @@
3 var fs = require('fs');
4 var grunt = require('grunt');
5
6 +var src = 'packages/react-dom/';
7 +var dest = 'build/packages/react-dom/';
8 +var dist = dest + 'dist/';
9 +var distFiles = [
10 + 'react-dom.js',
11 + 'react-dom.min.js',
12 +];
13 +
14 +function buildRelease() {
15 + if (grunt.file.exists(dest)) {
16 + grunt.file.delete(dest);
17 + }
18 +
19 + // Copy to build/packages/react-dom
20 + var mappings = [].concat(
21 + grunt.file.expandMapping('**/*', dest, {cwd: src})
22 + );
23 + mappings.forEach(function(mapping) {
24 + var mappingSrc = mapping.src[0];
25 + var mappingDest = mapping.dest;
26 + if (grunt.file.isDir(mappingSrc)) {
27 + grunt.file.mkdir(mappingDest);
28 + } else {
29 + grunt.file.copy(mappingSrc, mappingDest);
30 + }
31 + });
32 +
33 + // Make built source available inside npm package
34 + grunt.file.mkdir(dist);
35 + distFiles.forEach(function(file) {
36 + grunt.file.copy('build/' + file, dist + file);
37 + });
38 +}
39 +
40 function packRelease() {
41 var done = this.async();
42 var spawnCmd = {
43 cmd: 'npm',
10 - args: ['pack', 'packages/react-dom'],
44 + args: ['pack', 'react-dom'],
45 + opts: {
46 + cwd: 'build/packages/',
47 + },
48 };
49 grunt.util.spawn(spawnCmd, function() {
13 - var buildSrc = 'react-dom-' + grunt.config.data.pkg.version + '.tgz';
14 - var buildDest = 'build/packages/react-dom.tgz';
15 - fs.rename(buildSrc, buildDest, done);
50 + fs.rename(
51 + 'build/packages/react-dom-' + grunt.config.data.pkg.version + '.tgz',
52 + 'build/packages/react-dom.tgz',
53 + done
54 + );
55 });
56 }
57
58 module.exports = {
59 + buildRelease: buildRelease,
60 packRelease: packRelease,
61 };
grunt/tasks/npm-react.js
-2
@@ -13,8 +13,6 @@ var distFiles = [
13 'react.min.js',
14 'react-with-addons.js',
15 'react-with-addons.min.js',
16 - 'react-dom.js',
17 - 'react-dom.min.js',
16 ];
17
18 function buildRelease() {