summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarren Smith <garren.smith@gmail.com>2013-03-18 17:18:22 +0200
committerGarren Smith <garren.smith@gmail.com>2013-03-19 09:24:25 +0200
commit85491e959ba66a3c841a8ad21bca1fd3c3c2c230 (patch)
tree11c8765b9b0524e22b5e8391f2d33ffa57a91011
parent4f5234ce83e568c7a0700049e1fe2b6d8ba71134 (diff)
downloadcouchdb-85491e959ba66a3c841a8ad21bca1fd3c3c2c230.tar.gz
upgrade to grunt 0.4 COUCHDB-1713
-rw-r--r--src/fauxton/Gruntfile.js (renamed from src/fauxton/grunt.js)77
-rw-r--r--src/fauxton/package.json17
-rw-r--r--src/fauxton/tasks/fauxton.js8
3 files changed, 49 insertions, 53 deletions
diff --git a/src/fauxton/grunt.js b/src/fauxton/Gruntfile.js
index 26a65bc2c..8c3cab467 100644
--- a/src/fauxton/grunt.js
+++ b/src/fauxton/Gruntfile.js
@@ -223,43 +223,41 @@ module.exports = function(grunt) {
},
// Copy build artifacts and library code into the distribution
-
+ // see - http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically
copy: {
couchdb: {
- files: {
+ files: [
// this gets built in the template task
- //"../../share/www/fauxton/index.html": "dist/release/index.html",
- "../../share/www/fauxton/js/": "dist/release/js/**",
- // no images... yet
- "../../share/www/fauxton/img/": "dist/release/img/**",
- "../../share/www/fauxton/css/": "dist/release/css/**"
- }
+ {src: "dist/release/index.html", dest: "../../share/www/fauxton/index.html"},
+ {src: ["**"], dest: "../../share/www/fauxton/js/", cwd:'assets/js/', expand: true},
+ {src: ["**"], dest: "../../share/www/fauxton/img/", cwd:'dist/release/img/', expand: true},
+ {src: ["**"], dest: "../../share/www/fauxton/css/", cwd:"dist/release/css/", expand: true},
+ // Must be possible to improve this...
+ {src: ["**"], dest: "../../share/www/fauxton/app/", cwd:"dist/release/", expand: true}
+ ]
},
couchdebug: {
- files: {
+ files: [
// this gets built in the template task
- "../../share/www/fauxton/index.html": "dist/debug/index.html",
- "../../share/www/fauxton/js/": "dist/debug/js/**",
- // no images... yet
- "../../share/www/fauxton/img/": "dist/debug/img/**",
- "../../share/www/fauxton/css/": "dist/debug/css/**",
+ {src: "dist/debug/index.html", dest: "../../share/www/fauxton/index.html"},
+ {src: ["**"], dest: "../../share/www/fauxton/js/", cwd:'assets/js/', expand: true},
+ {src: ["**"], dest: "../../share/www/fauxton/img/", cwd:'dist/debug/img/', expand: true},
+ {src: ["**"], dest: "../../share/www/fauxton/css/", cwd:"dist/debug/css/", expand: true},
// Must be possible to improve this...
- "../../share/www/fauxton/app/": "dist/debug/**"
- }
+ {src: ["**"], dest: "../../share/www/fauxton/app/", cwd:"dist/debug/", expand: true}
+ ]
},
dist:{
- files:{
- "dist/release/js/": "assets/js/**",
- //"dist/release/css/**": "assets/css/**"
- "dist/release/img/": assets.img
- }
+ files:[
+ {src: ["**"], dest: "dist/release/js/", cwd:'assets/js/', expand: true},
+ {src: assets.img, dest: "dist/debug/img/", flatten: true, expand: true},
+ ]
},
debug:{
- files:{
- "dist/debug/js/": "assets/js/**",
- //"dist/debug/css/": "dist/release/css/**"
- "dist/debug/img/": assets.img
- }
+ files:[
+ {src: ["**"], dest: "dist/debug/js/", cwd:'assets/js/', expand: true},
+ {src: assets.img, dest: "dist/debug/img/", flatten: true, expand: true},
+ ]
}
},
@@ -286,34 +284,33 @@ module.exports = function(grunt) {
// Load the couchapp task
grunt.loadNpmTasks('grunt-couchapp');
// Load the copy task
- grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib');
// Load the exec task
grunt.loadNpmTasks('grunt-exec');
// Load Require.js task
grunt.loadNpmTasks('grunt-requirejs');
// clean out previous build artefacts, lint and unit test
- grunt.registerTask('test', 'clean lint'); //qunit
+ grunt.registerTask('test',['clean','jshint']); //qunit
// Fetch dependencies (from git or local dir), lint them and make load_addons
- grunt.registerTask('dependencies', 'get_deps lint gen_load_addons:default');
+ grunt.registerTask('dependencies', ['get_deps', 'jshint', 'gen_load_addons:default']);
// build templates, js and css
- grunt.registerTask('build', 'jst requirejs concat:requirejs less');
+ grunt.registerTask('build', ['jst', 'requirejs', 'concat:requirejs','less']);
// minify code and css, ready for release.
- grunt.registerTask("minify", "min mincss");
+ grunt.registerTask('minify', ['min','mincss']);
// deafult task - push to CouchDB
- grunt.registerTask("default", "test dependencies build release install");
- grunt.registerTask("dev", "debug template couchserver");
+ grunt.registerTask('default', ['test','dependencies','build','release','install']);
+ grunt.registerTask('dev', ['debug','template','couchserver']);
// make a debug install
- grunt.registerTask("debug", "test dependencies build template copy:debug concat:debug");
+ grunt.registerTask('debug', ['test','dependencies', 'build','template','copy:debug', 'concat:debug']);
// make an install that is server by mochiweb under _utils
- grunt.registerTask("couchdebug", "debug template copy:couchdebug");
+ grunt.registerTask('couchdebug', ['debug', 'template', 'copy:couchdebug']);
// make an install that can be deployed as a couchapp
- grunt.registerTask("couchapp_setup", "debug template");
- grunt.registerTask("couchdb", "test dependencies build minify template copy:couchdb");
+ grunt.registerTask('couchapp_setup', ['debug', 'template']);
+ grunt.registerTask('couchdb', ['test', 'dependencies', 'build', 'minify', 'template', 'copy:couchdb']);
// build a release
- grunt.registerTask("release", "test dependencies build minify template copy:dist");
+ grunt.registerTask('release', ['test' ,'dependencies', 'build', 'minify','template', 'copy:dist']);
// install fauxton as couchapp
- grunt.registerTask('couchapp_install', 'rmcouchdb:fauxton mkcouchdb:fauxton couchapp:fauxton');
- grunt.registerTask('couchapp_deploy', 'couchapp_setup couchapp_install');
+ grunt.registerTask('couchapp_install', ['rmcouchdb:fauxton', 'mkcouchdb:fauxton', 'couchapp:fauxton']);
+ grunt.registerTask('couchapp_deploy', ['couchapp_setup', 'couchapp_install']);
};
diff --git a/src/fauxton/package.json b/src/fauxton/package.json
index 8d2493569..5f651cef7 100644
--- a/src/fauxton/package.json
+++ b/src/fauxton/package.json
@@ -7,19 +7,18 @@
"test": "test"
},
"dependencies": {
- "async": "~0.1.22",
- "grunt": "~0.3.17",
- "couchapp": "0.9.1",
- "grunt-contrib": "0.0.8",
- "grunt-contrib-copy": "~0.3.2",
+ "async": "~0.2.6",
+ "grunt": "~0.4.1",
+ "couchapp": "~0.9.1",
+ "grunt-contrib": "~0.5.0",
"grunt-couchapp": "~0.1.0",
- "grunt-exec": "~0.3.0",
- "grunt-jasmine-task": "~0.2.0",
- "grunt-requirejs": "0.3.1",
+ "grunt-exec": "~0.4.0",
+ "grunt-jasmine-task": "~0.2.3",
+ "grunt-requirejs": "~0.3.3",
"underscore": "~1.4.2",
"url": "~0.7.9",
"urls": "~0.0.3",
- "express": "~3.0.0",
+ "express": "~3.0.6",
"http-proxy": "~0.9.1"
},
"devDependencies": {},
diff --git a/src/fauxton/tasks/fauxton.js b/src/fauxton/tasks/fauxton.js
index ee365a20b..59a2623b9 100644
--- a/src/fauxton/tasks/fauxton.js
+++ b/src/fauxton/tasks/fauxton.js
@@ -13,7 +13,7 @@
// var prompt = require('prompt');
module.exports = function(grunt) {
- var _ = grunt.utils._;
+ var _ = grunt.util._;
var prompts = [
{
name: "name",
@@ -93,7 +93,7 @@ module.exports = function(grunt) {
grunt.registerMultiTask('template', 'generates an html file from a specified template', function(){
var data = this.data;
- var _ = grunt.utils._;
+ var _ = grunt.util._;
var tmpl = _.template(grunt.file.read(data.src), null, data.variables);
grunt.file.write(data.dest, tmpl(data.variables));
});
@@ -107,7 +107,7 @@ module.exports = function(grunt) {
var target = data.target || "app/addons/";
var settingsFile = path.existsSync(data.src) ? data.src : "settings.json.default";
var settings = grunt.file.readJSON(settingsFile);
- var _ = grunt.utils._;
+ var _ = grunt.util._;
// This should probably be a helper, though they seem to have been removed
var fetch = function(deps, command){
@@ -155,7 +155,7 @@ module.exports = function(grunt) {
grunt.registerMultiTask('gen_load_addons', 'Generate the load_addons.js file', function() {
var path = require('path');
var data = this.data;
- var _ = grunt.utils._;
+ var _ = grunt.util._;
var settingsFile = path.existsSync(data.src) ? data.src : "settings.json.default";
var settings = grunt.file.readJSON(settingsFile);
var template = "app/load_addons.js.underscore";