Files
react/grunt/tasks/npm-react.js
T
2013-12-13 14:24:14 -08:00

48 lines
1.3 KiB
JavaScript

'use strict';
var grunt = require('grunt');
var src = 'npm-react/';
var dest = 'build/npm-react/';
var modSrc = 'build/modules/';
var lib = dest + 'lib/';
function buildRelease() {
// delete build/react-core for fresh start
grunt.file.exists(dest) && grunt.file.delete(dest);
// mkdir -p build/react-core/lib
grunt.file.mkdir(lib);
// Copy everything over
// console.log(grunt.file.expandMapping(src + '**/*', dest, {flatten: true}));
grunt.file.expandMapping(src + '**/*', dest, {flatten: true}).forEach(function(mapping) {
var src = mapping.src[0];
var dest = mapping.dest;
if (grunt.file.isDir(src)) {
grunt.file.mkdir(dest);
} else {
grunt.file.copy(src, dest);
}
});
// copy build/modules/*.js to build/react-core/lib
grunt.file.expandMapping(modSrc + '*.js', lib, { flatten: true }).forEach(function(mapping) {
grunt.file.copy(mapping.src[0], mapping.dest);
});
// modify build/react-core/package.json to set version ##
var pkg = grunt.file.readJSON(dest + 'package.json');
pkg.version = grunt.config.data.pkg.version;
grunt.file.write(dest + 'package.json', JSON.stringify(pkg, null, 2));
}
function buildDev() {
// TODO: same as above except different destination
}
module.exports = {
buildRelease: buildRelease,
buildDev: buildDev
};