You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.2 KiB
105 lines
2.2 KiB
module.exports = (grunt) -> |
|
|
|
# Project configuration. |
|
grunt.initConfig |
|
|
|
pkg: grunt.file.readJSON('package.json') |
|
banner: """ |
|
/* |
|
* <%= pkg.title || pkg.name %> - v<%= pkg.version %> |
|
* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author %> |
|
* |
|
* Dual licensed under the MIT and GPL licenses: |
|
* http://www.opensource.org/licenses/mit-license.php |
|
* http://www.gnu.org/licenses/gpl.html |
|
*/ |
|
|
|
; |
|
""" |
|
# Task configuration. |
|
clean: |
|
files: [ |
|
'dist' |
|
'test/specs/**/*.js' |
|
] |
|
|
|
|
|
concat: |
|
options: |
|
banner: '<%= banner %>' |
|
stripBanners: true |
|
|
|
dist: |
|
src: ['src/js/<%= pkg.name %>.js'] |
|
dest: 'dist/js/<%= pkg.name %>.js' |
|
|
|
|
|
uglify: |
|
options: |
|
banner: '<%= banner %>' |
|
|
|
dist: |
|
src: '<%= concat.dist.dest %>' |
|
dest: 'dist/js/<%= pkg.name %>.min.js' |
|
|
|
copy: |
|
dist: |
|
files: [ |
|
{ expand: true, cwd: 'src', src: ['css/**'], dest: 'dist/' } |
|
{ expand: true, cwd: 'src', src: ['js/hoverIntent.js','js/supersubs.js','js/jquery.js'], dest: 'dist/' } |
|
] |
|
|
|
jshint: |
|
src: |
|
options: |
|
jshintrc: 'src/.jshintrc' |
|
|
|
src: ['src/**/<%= pkg.name %>.js'] |
|
|
|
|
|
watch: |
|
js: |
|
files: '<%= jshint.src.src %>' |
|
tasks: ['jshint:src'] |
|
style: |
|
files: 'src/**/*.css' |
|
tasks: ['copy'] |
|
|
|
|
|
coffee: |
|
compile: |
|
expand: true |
|
cwd: '' |
|
src: 'test/**/*.coffee' |
|
ext: '.js' |
|
|
|
|
|
jasmine: |
|
customTemplate: |
|
src: [ |
|
'src/**/*.js' |
|
'!src/**/jquery.js' |
|
] |
|
options: |
|
specs: 'test/specs/*Test.js' |
|
helpers: 'test/helpers/**/*.js' |
|
vendor: 'src/js/jquery.js' |
|
template: 'test/fixtures/menu.tmpl' |
|
styles: 'src/css/superfish.css' |
|
keepRunner: false |
|
|
|
|
|
|
|
# These plugins provide necessary tasks. |
|
grunt.loadNpmTasks('grunt-contrib-clean') |
|
grunt.loadNpmTasks('grunt-contrib-concat') |
|
grunt.loadNpmTasks('grunt-contrib-copy') |
|
grunt.loadNpmTasks('grunt-contrib-uglify') |
|
grunt.loadNpmTasks('grunt-contrib-jshint') |
|
grunt.loadNpmTasks('grunt-contrib-watch') |
|
grunt.loadNpmTasks('grunt-contrib-jasmine') |
|
grunt.loadNpmTasks('grunt-contrib-coffee') |
|
|
|
# Default task. |
|
grunt.registerTask('test', ['coffee', 'jasmine', 'clean'] ) |
|
grunt.registerTask('default', ['jshint', 'test', 'clean', 'concat', 'copy', 'uglify']) |