jquery.bouncer
Version:
Defers event handler until a duration has lapsed or a given event has occurred.
86 lines (68 loc) • 1.89 kB
text/coffeescript
'use strict'
module.exports = (grunt) ->
# Project configuration.
grunt.initConfig
# Metadata.
pkg: grunt.file.readJSON('bouncer.jquery.json')
banner:
'/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */\n'
# Task configuration.
clean:
files: ['dist']
concat:
options:
banner: '<%= banner %>'
stripBanners: true
dist:
src: ['src/jquery.<%= pkg.name %>.js']
dest: 'dist/jquery.<%= pkg.name %>.js'
uglify:
options:
banner: '<%= banner %>'
dist:
src: '<%= concat.dist.dest %>'
dest: 'dist/jquery.<%= pkg.name %>.min.js'
qunit:
files: ['test/**/*.html']
jshint:
options:
jshintrc: true
src:
src: ['src/**/*.js']
test:
src: ['test/**/*.js']
watch:
gruntfile:
files: '<%= jshint.gruntfile.src %>'
tasks: ['jshint:gruntfile']
src:
files: '<%= jshint.src.src %>'
tasks: [
'jshint:src'
'qunit'
]
test:
files: '<%= jshint.test.src %>'
tasks: [
'jshint:test'
'qunit'
]
# These plugins provide necessary tasks.
grunt.loadNpmTasks 'grunt-contrib-clean'
grunt.loadNpmTasks 'grunt-contrib-concat'
grunt.loadNpmTasks 'grunt-contrib-uglify'
grunt.loadNpmTasks 'grunt-contrib-qunit'
grunt.loadNpmTasks 'grunt-contrib-jshint'
grunt.loadNpmTasks 'grunt-contrib-watch'
# Default task.
grunt.registerTask 'default', [
'jshint'
'qunit'
'clean'
'concat'
'uglify'
]