Skip to content

Instantly share code, notes, and snippets.

@CurtisHumphrey
Last active August 29, 2015 13:56
Show Gist options
  • Save CurtisHumphrey/9338748 to your computer and use it in GitHub Desktop.
Save CurtisHumphrey/9338748 to your computer and use it in GitHub Desktop.
Gruntfile for knockout, coffeescript, jasmine
module.exports = (grunt) ->
# Livereload and connect variables
LIVERELOAD_PORT = 35729
lrSnippet = require("connect-livereload")(port: LIVERELOAD_PORT)
mountFolder = (connect, dir) ->
connect.static require("path").resolve(dir)
grunt.initConfig
connect:
dev:
options:
port: 9001
hostname: 'localhost',
middleware: ( connect ) ->
[lrSnippet, mountFolder(connect, '.')]
open:
test:
path: 'http://localhost:<%= connect.dev.options.port %>/_SpecRunner.html'
jasmine:
dev:
options:
specs: "test/specs/**/*.js"
helpers: ["test/helpers/jquery-1.11.0.min.js","test/helpers/**/*.js"]
keepRunner: true,
template: require "grunt-template-jasmine-requirejs"
templateOptions:
requireConfigFile: "app/main.js"
requireConfig:
baseUrl: 'app'
coffee:
compile_tests:
expand : true
cwd : 'test/specs'
src : ['**/*.coffee']
dest : 'test/specs'
ext : '.spec.js'
compile_app:
expand : true
cwd : 'app'
src : ['**/*.coffee']
dest : 'app'
ext : '.js'
watch:
spec:
files: ['test/specs/**/*.js','app/**/*.js']
tasks: ['jasmine:dev']
options:
livereload: true
coffee_spec:
files: ['test/specs/**/*.coffee']
tasks: ['newer:coffee:compile_tests']
coffee_app:
files: ['app/**/*.coffee']
tasks: ['newer:coffee:compile_app']
require('time-grunt')(grunt)
require('load-grunt-tasks')(grunt)
grunt.registerTask 'watch_spec', ['connect:dev:livereload', 'open:test', 'watch:coffee_spec','watch:spec']
grunt.registerTask 'dev', ['coffee','connect:dev:livereload', 'open:test', 'watch']
grunt.registerTask 'default', ['dev']
{
"name": "Gruntfile for knockout, coffeescript, jasmine",
"version": "0.3.0",
"description": "Gruntfile for knockout, coffeescript, jasmine",
"dependencies": {},
"devDependencies": {
"grunt": "~0.4.2",
"grunt-contrib-coffee": "~0.10.1",
"grunt-contrib-connect": "~0.7.0",
"grunt-contrib-watch": "~0.5.3",
"grunt-contrib-jasmine": "~0.5.2",
"grunt-open": "~0.2.3",
"grunt-newer": "~0.6.1",
"grunt-template-jasmine-requirejs": "~0.1.9",
"connect-livereload": "~0.3.2",
"load-grunt-tasks": "~0.4.0",
"time-grunt": "~0.2.10",
"grunt-notify": "~0.2.18"
},
"author": "Curtis M. Humphrey, Ph.D.",
"license": "MIT"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment