forked from elentok/grunt-tusk-coffee
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Gruntfile.coffee
83 lines (67 loc) · 2.1 KB
/
Gruntfile.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#
# grunt-tusk-coffee
# https:#github.com/elentok/grunt-tusk-coffee
#
# Copyright (c) 2013 David Elentok
# Licensed under the MIT license.
#
'use strict'
module.exports = (grunt) ->
# Project configuration.
grunt.initConfig
jshint:
all: [ 'Gruntfile.js', 'tasks/*.js' ]
options: { jshintrc: '.jshintrc', }
# Before generating any new files, remove any previously-created files.
clean:
tests: ['tmp']
# Configuration to be run (and then tested).
tusk_coffee:
scenario1:
options:
modulesRoot: 'test'
runtime: true
files:
'tmp/scenario1.js': ['test/fixtures/**/*.coffee']
scenario2: #don't add the 'require' method code
options:
modulesRoot: 'test/fixtures'
files:
'tmp/scenario2.js': ['test/fixtures/**/*.coffee']
scenario3: #useful for vendor files
options:
modulesRoot: 'test/fixtures'
wrap: false
files:
'tmp/scenario3.js': ['test/fixtures/**/*.coffee']
scenario4: #don't join files
options:
modulesRoot: 'test/fixtures'
join: false
wrap: false
files:
'tmp/scenario4/': ['test/fixtures/**/*.coffee']
scenario5: #wrap in function
options:
modulesRoot: 'test/fixtures'
runtime: false
wrap: 'Function'
files:
'tmp/scenario5.js': ['test/fixtures/**/*.coffee']
simplemocha:
all: ['test/**/*_test.coffee']
options:
globals: ['window']
reporter: 'spec'
ui: 'bdd'
# Actually load this plugin's task(s).
grunt.loadTasks('tasks')
# These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-contrib-jshint')
grunt.loadNpmTasks('grunt-contrib-clean')
grunt.loadNpmTasks('grunt-simple-mocha')
# Whenever the "test" task is run, first clean the "tmp" dir, then run this
# plugin's task(s), then test the result.
grunt.registerTask('test', ['clean', 'tusk_coffee', 'simplemocha'])
# By default, lint and run all tests.
grunt.registerTask('default', ['jshint', 'test'])