"use strict" module.exports = (grunt) -> # load all grunt tasks require("matchdep").filterDev("grunt-*").forEach grunt.loadNpmTasks grunt.initConfig # load package.json pkg: grunt.file.readJSON "package.json" coffeelint: options: arrow_spacing: level: "error" no_empty_param_list: level: "error" no_unnecessary_fat_arrows: level: "error" space_operators: level: "error" indentation: value: 2 level: "error" max_line_length: level: "ignore" build: ["Gruntfile.coffee", "src/**/*.coffee"] coffee: default: expand: true cwd: "src/coffee" src: "**/*.coffee" dest: "build/js" ext: ".js" test: expand: true cwd: "src/test" src: "**/*.coffee" dest: "test/" ext: ".js" uglify: build: expand: true src: "build/js/bootstrap-switch.js" ext: ".min.js" less: build: files: "build/css/bootstrap2/bootstrap-switch.css": "src/less/bootstrap2/build.less" "build/css/bootstrap3/bootstrap-switch.css": "src/less/bootstrap3/build.less" cssmin: build: expand: true src: ["build/css/bootstrap2/bootstrap-switch.css", "build/css/bootstrap3/bootstrap-switch.css"] ext: ".min.css" usebanner: options: banner: "/* ========================================================================\n" + " * <%= pkg.name %> - v<%= pkg.version %>\n" + " * <%= pkg.homepage %>\n" + " * ========================================================================\n" + " * Copyright 2012-2013 <%= pkg.author.name %>\n" + " *\n" + " * ========================================================================\n" + " * Licensed under the Apache License, Version 2.0 (the \"License\");\n" + " * you may not use this file except in compliance with the License.\n" + " * You may obtain a copy of the License at\n" + " *\n" + " * http://www.apache.org/licenses/LICENSE-2.0\n" + " *\n" + " * Unless required by applicable law or agreed to in writing, software\n" + " * distributed under the License is distributed on an \"AS IS\" BASIS,\n" + " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" + " * See the License for the specific language governing permissions and\n" + " * limitations under the License.\n" + " * ========================================================================\n" + " */\n" css: files: src: ["build/**/*.css"] js: files: src: ["build/**/*.js"] jshint: all: ["*.json"] clean: css: "build/css" js: "build/js" test: "test" connect: go: options: port: 3000 open: go: path: "http://localhost:<%= connect.go.options.port %>" bump: options: files: ["package.json", "bower.json"] commitFiles: ["-a"] push: false jasmine: options: keepRunner: true specs: "test/**/*.js" vendor: ["docs/vendor/jquery.min.js", "docs/vendor/bootstrap.min.js"] src: "build/js/bootstrap-switch.js" watch: coffee: files: ["src/**/*.coffee"] tasks: ["clean:js", "coffeelint", "coffee", "uglify", "usebanner:js"] less: files: ["src/**/*.less"], tasks: ["clean:css", "less", "cssmin", "usebanner:css"] grunt.registerTask "go", ["build", "connect", "open", "watch"] grunt.registerTask "build", ["clean", "coffeelint", "coffee", "uglify", "less", "cssmin", "usebanner"] grunt.registerTask "test", ["build", "jasmine"]