diff options
author | Garren Smith <garren.smith@gmail.com> | 2013-03-18 17:18:22 +0200 |
---|---|---|
committer | Garren Smith <garren.smith@gmail.com> | 2013-03-19 09:24:25 +0200 |
commit | 85491e959ba66a3c841a8ad21bca1fd3c3c2c230 (patch) | |
tree | 11c8765b9b0524e22b5e8391f2d33ffa57a91011 | |
parent | 4f5234ce83e568c7a0700049e1fe2b6d8ba71134 (diff) | |
download | couchdb-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.json | 17 | ||||
-rw-r--r-- | src/fauxton/tasks/fauxton.js | 8 |
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"; |