text: module.exports = function(grunt) {
  
  	require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
  
  	grunt.initConfig({
  		pkg: require('./package.json'),
  		meta: {
  			banner: '/*!\n' +
  				' * <%= pkg.title || pkg.name %> v<%= pkg.version %>\n' +
  				' * <%= pkg.homepage %>\n' +
  				' *\n' +
  				' * Copyright <%= grunt.template.today("yyyy") %>, <%= pkg.author.name %>\n' +
  				' * This content is released under the <%= _.pluck(pkg.licenses, "type").join(", ") %> license<%= pkg.licenses.length === 1 ? "" : "s" %>\n' +
  				' * <%= _.pluck(pkg.licenses, "url").join(", ") %>\n' +
  				' */\n\n',
  			microbanner: '/*! <%= pkg.title || pkg.name %> v<%= pkg.version %> | Copyright <%= grunt.template.today("yyyy") %>, <%= pkg.author.name %> | <%= pkg.homepage %> | <%= _.pluck(pkg.licenses, "url").join(", ") %> */\n'
  		},
  		jshint: {
  			files: ['Gruntfile.js', 'test/**/*.js', 'src/**/*.js'],
  			options: {
  				evil: true,
  				curly: false,
  				eqeqeq: true,
  				immed: true,
  				latedef: true,
  				newcap: true,
  				noarg: true,
  				sub: true,
  				undef: true,
  				boss: true,
  				browser: true,
  				node: true,
  				predef: {
  					jQuery: true
  				}
  			}
  		},
  		connect: {
  			server: {
  				options: {
  					port: 8573
  				}
  			}
  		},
  		qunit: {
  			all: {
  				options: {
  					urls: ['3.2.1'].map(function(version) {
  						return 'http://localhost:<%= connect.server.options.port %>/test/jquery.stellar.html?jquery=' + version;
  					})
  				}
  			}
  		},
  		concat: {
  			options: {
  				banner: '<%= meta.banner %>',
  				stripBanners: true
  			},
  			dist: {
  				src: ['src/<%= pkg.name %>.js'],
  				dest: '<%= pkg.name %>.js'
  			}
  		},
  		uglify: {
  			options: {
  				banner: '<%= meta.microbanner %>'
  			},
  			dist: {
  				src: ['<%= concat.dist.dest %>'],
  				dest: '<%= pkg.name %>.min.js'
  			}
  		},
  		watch: {
  			files: '<%= jshint.files %>',
  			tasks: ['server', 'jshint', 'qunit']
  		}
  	});
  
  	grunt.registerTask('default', ['connect', 'jshint', 'qunit', 'concat', 'uglify']);
  	grunt.registerTask('test', ['connect', 'jshint', 'qunit']);
  
  };
  