This repository has been archived by the owner on Feb 2, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Gruntfile.coffee
57 lines (50 loc) · 1.98 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
'use strict'
module.exports = (grunt) ->
# load all grunt tasks
# this assumes matchdep, grunt-contrib-watch, grunt-contrib-coffee,
# grunt-coffeelint, grunt-contrib-clean, grunt-contrib-uglify is in the package.json file
require('matchdep').filterDev('grunt-*').forEach grunt.loadNpmTasks
grunt.initConfig
# load in the module information
pkg: grunt.file.readJSON 'package.json'
# path to Grunt file for exclusion
gruntfile: 'Gruntfile.coffee'
# generalize the module information for banner output
banner: '/**\n' +
' * Module: <%= pkg.name %> - v<%= pkg.version %>\n' +
' * Description: <%= pkg.description %>\n' +
' * Date Built: <%= grunt.template.today("yyyy-mm-dd") %>\n' +
' * Copyright (c) <%= grunt.template.today("yyyy") %>' +
' | <%= pkg.author.name %>;\n' +
'**/\n'
complexity:
generic:
src: ['BGD.js']
options:
errorsOnly: false
cyclometric: 6 # default is 3
halstead: 16 # default is 8
maintainability: 100 # default is 100
jshint:
all: [
'Gruntfile.js'
'bin/BGD'
'libs/**/*.js'
'test/**/*.js'
]
options:
jshintrc: '.jshintrc'
mochacli:
all: ['test/**/*.js']
options:
reporter: 'spec'
ui: 'tdd'
watch:
js:
files: ['libs/**/*.js', '!node_modules/**/*.js']
tasks: ['default']
options:
nospawn: true
grunt.registerTask 'test', ['complexity', 'jshint', 'mochacli', 'watch']
grunt.registerTask 'build', ['complexity', 'jshint', 'mochacli']
grunt.registerTask 'default', ['test']