lmartins
3/19/2013 - 9:10 AM

First attempt at configuring Grunt to compile Sass and soft refresh the browser

First attempt at configuring Grunt to compile Sass and soft refresh the browser

/*global module:false*/
var path = require('path');
var lrSnippet = require('grunt-contrib-livereload/lib/utils').livereloadSnippet;

var folderMount = function folderMount(connect, point) {
  return connect.static(path.resolve(point));
};

module.exports = function(grunt) {

  // Project configuration.
	grunt.initConfig({
		// Metadata.
		pkg: grunt.file.readJSON('package.json'),

		connect: {
	      	livereload: {
		        options: {
		          port: 9001,
		          middleware: function(connect, options) {
		            return [lrSnippet, folderMount(connect, '../../')]
		          }
		        }
	      	}
	    },

	    regarde: {
	      txt: {
	        files: ['css-src/**/*.scss', 'src/js/*.coffee', 'index.html'],
	        tasks: ['compass','livereload']
	      }
	    },

		compass: {
		    dist: {
		      options: {
		      	sassDir: 'css-src',
		      	cssDir: 'css',
		      	environment: 'production'
		      }
		  },
		    dev: {
		    	options: {
		    		sassDir: 'src/sass',
		    		cssDir: 'dist/css'
		    	}
		    }
		}

	});

	// These plugins provide necessary tasks.
	grunt.loadNpmTasks('grunt-contrib-compass');

	grunt.loadNpmTasks('grunt-regarde');
	grunt.loadNpmTasks('grunt-contrib-livereload');

	grunt.loadNpmTasks('grunt-notify');

	// Default task.
	grunt.registerTask('default', ['livereload-start', 'regarde']);

};