lib/generators/half_pipe/templates/Gruntfile.js in half-pipe-0.2.4 vs lib/generators/half_pipe/templates/Gruntfile.js in half-pipe-0.3.0.alpha.1

- old
+ new

@@ -1,65 +1,38 @@ /*global module:false*/ module.exports = function(grunt) { + require("load-grunt-tasks")(grunt); + grunt.loadNpmTasks('grunt-connect-proxy'); + function config(name){ + return require("./tasks/options/" + name); + } + // Project configuration. grunt.initConfig({ // Metadata. pkg: grunt.file.readJSON('package.json'), - - jshint: { - options: { - jshintrc: '.jshintrc' - }, - gruntfile: { - src: 'Gruntfile.js' - } - }, - - sass: { - options: { - style: 'expanded', - require: ['./config/initializers/sass'] - }, - 'tmp/styles/main.css': [ - 'app/styles/main.scss' - ] - }, - - cssmin: { - 'public/styles/main.css': 'tmp/styles/main.css' - }, - - requirejs: { - scripts: { - options: { - almond: true, - baseUrl: "app/scripts", - mainConfigFile: "app/scripts/application.js", - name: "<%= main_module_name %>", - out: "public/scripts/application.js", - wrap: true - } - } - }, - - clean: ['public/scripts/', 'public/styles', 'tmp/'] - + dirs: grunt.file.readJSON('config/half-pipe.json'), + bowerOpts: grunt.file.readJSON('.bowerrc'), + jshint: config("jshint"), + sass: config("sass"), + cssmin: config("cssmin"), + requirejs: config("requirejs"), + connect: config("connect"), + copy: config("copy"), + watch: config("watch"), + rails: config("rails"), + clean: ['<%%= dirs.tmp %>'] }); - // These plugins provide necessary tasks. - grunt.loadNpmTasks('grunt-contrib-jshint'); - grunt.loadNpmTasks('grunt-contrib-sass'); - grunt.loadNpmTasks('grunt-contrib-cssmin'); - grunt.loadNpmTasks('grunt-contrib-copy'); - grunt.loadNpmTasks('grunt-contrib-clean'); - grunt.loadNpmTasks('grunt-requirejs'); - // Default task. - grunt.registerTask('default', 'build'); + grunt.registerTask('default', 'build:debug'); - // Build task. - grunt.registerTask('build', ['jshint', 'sass', 'cssmin', 'requirejs']); + grunt.registerTask('build:debug', ['copy:prepare', 'sass:debug', 'copy:stage']); + grunt.registerTask('build:public', ['copy:prepare', 'sass:public', 'copy:stage', 'requirejs:public', 'copy:public']); + + grunt.registerTask('server:debug', ['build:debug', 'configureProxies', 'connect:debug', 'rails:server:start', 'watch']); + grunt.registerTask('server:public', ['build:public', 'configureProxies', 'connect:public:keepalive']); };