Permalink
Switch branches/tags
rh-release-99.99.0-rc1 release-87.87.0-rc1 release-13.18.0-rc1 release-10.18.0-rc2 release-10.18.0-rc1 release-9.18.0-rc1 release-8.18.0-rc1 release-4.7.0-rc5 release-4.7.0-rc4 release-4.7.0-rc3 release-4.7.0-rc2 release-4.7.0-rc1 release-4.6.5-rc4 release-4.6.5-rc3 release-4.6.5-rc2 release-4.6.5-rc1 release-4.6.2 release-4.6.2-rc1 release-4.6.0 release-4.6.0-rc5 release-4.6.0-rc4 release-4.6.0-rc3 release-4.6.0-rc2 release-4.6.0-rc1 release-4.6.0-er1 release-4.5.1 release-4.5.1-rc2 release-4.5.1-rc1 release-4.5.0 release-4.5.0-rc7 release-4.5.0-rc6 release-4.5.0-rc5 release-4.5.0-rc4 release-4.5.0-rc3 release-4.5.0-rc2 release-4.5.0-rc1 release-4.3.0-rc1 release-3.20.5-rc1 release-3.20.4 release-3.20.4-rc1 release-3.20.3 release-3.20.3-rc3 release-3.20.3-rc2 release-3.20.3-rc1 release-3.20.2 release-3.20.2-rc2 release-3.20.2-rc1 release-3.20.1 release-3.20.0 release-3.20.0-rc3 release-3.20.0-rc2 release-3.20.0-rc1 release-3.19.2 release-3.19.2-rc1 release-3.19.1 release-3.19.1-rc2 release-3.19.1-rc1 release-3.19.0 release-3.19.0-rc5 release-3.19.0-rc4 release-3.19.0-rc3 release-3.19.0-rc2 release-3.19.0-rc1 release-3.18.3 release-3.18.2 release-3.18.2-rc1 release-3.18.1 release-3.18.1-rc1 release-3.18.0 release-3.18.0-rc5 release-3.18.0-rc4 release-3.18.0-rc3 release-3.18.0-rc2 release-3.18.0-rc1 release-3.17.3 release-3.17.3-rc1 release-3.17.2 release-3.17.2-rc2 release-3.17.2-rc1 release-3.17.1 release-3.17.1-rc1 release-3.17.0 release-3.17.0-rc6 release-3.17.0-rc5 release-3.17.0-rc4 release-3.17.0-rc3 release-3.17.0-rc2 release-3.17.0-rc1 release-3.16.5-rc1 release-3.16.4 release-3.16.4-rc1 release-3.16.3 release-3.16.3-rc1 release-3.16.2 release-3.16.2-rc1 release-3.16.1-rc1 release-3.16.0 release-3.16.0-rc7 release-3.16.0-rc6 release-3.16.0-rc5
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 168 lines (159 sloc) 4.63 KB
'use strict';
module.exports = function(grunt) {
require('time-grunt')(grunt);
// Project Configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
js: {
files: ['gruntfile.js', 'application.js', 'lib/**/*.js', 'test/**/*.js'],
options: {
livereload: true
}
},
html: {
files: ['public/views/**', 'app/views/**'],
options: {
livereload: true
}
}
},
nodemon: {
dev: {
script: 'application.js',
options: {
args: [],
ignore: ['public/**'],
ext: 'js,html',
nodeArgs: [],
delayTime: 1,
env: {
PORT: 3000
},
cwd: __dirname
}
}
},
concurrent: {
serve: ['nodemon', 'watch'],
debug: ['shell:debug'],
options: {
logConcurrentOutput: true
}
},
env: {
options: {},
// environment variables - see https://github.com/jsoverson/grunt-env for more information
local: {
FH_USE_LOCAL_DB: true,
FH_SERVICE_MAP: function() {
/*
* Define the mappings for your services here - for local development.
* You must provide a mapping for each service you wish to access
* This can be a mapping to a locally running instance of the service (for local development)
* or a remote instance.
*/
var serviceMap = {
'SERVICE_GUID_1': 'http://127.0.0.1:8010',
'SERVICE_GUID_2': 'https://host-and-path-to-service'
};
return JSON.stringify(serviceMap);
}
}
},
shell: {
debug: {
options: {
stdout: true
},
command: 'env NODE_PATH=. node --inspect --debug-brk application.js'
},
unit: {
options: {
stdout: true,
stderr: true
},
command: 'env NODE_PATH=. ./node_modules/.bin/mocha -A -u exports --recursive test/unit/'
},
accept: {
options: {
stdout: true,
stderr: true
},
command: 'env NODE_PATH=. ./node_modules/.bin/mocha -A -u exports --recursive test/accept/'
},
coverage_unit: {
options: {
stdout: true,
stderr: true
},
command: [
'rm -rf coverage cov-unit',
'env NODE_PATH=. ./node_modules/.bin/istanbul cover --dir cov-unit ./node_modules/.bin/_mocha -- -u exports -R spec ./test/unit/*.js',
'./node_modules/.bin/istanbul report',
'echo "See unit test coverage at: `pwd`/cov-unit/lcov-report/index.html"'
].join('&&')
},
coverage_accept: {
options: {
stdout: true,
stderr: true
},
command: [
'rm -rf coverage cov-accept',
'env NODE_PATH=. ./node_modules/.bin/istanbul cover --dir cov-accept ./node_modules/.bin/_mocha -- -u exports -R spec ./test/accept/*.js',
'./node_modules/.bin/istanbul report',
'echo "See acceptance coverage at: `pwd`/cov-accept/lcov-report/index.html"'
].join('&&')
},
coverage: {
options: {
stdout: true,
stderr: true
},
command: [
'echo "See full coverage at: `pwd`/coverage/lcov-report/index.html"'
].join('&&')
}
},
open: {
platoReport: {
path: './plato/index.html',
app: 'Google Chrome'
}
},
plato: {
src: {
options: {
jshint: grunt.file.readJSON('.jshintrc')
},
files: {
'plato': ['lib/**/*.js']
}
}
},
jshint: {
files: ['*.js', 'lib/**/*.js', 'test/**/*.js'],
options: {
jshintrc: true
}
},
});
// Load NPM tasks
require('load-grunt-tasks')(grunt, {
scope: 'devDependencies'
});
grunt.loadNpmTasks('grunt-contrib-jshint');
// Testing tasks
grunt.registerTask('test', ['jshint', 'shell:unit', 'shell:accept']);
grunt.registerTask('unit', ['jshint', 'shell:unit']);
grunt.registerTask('accept', ['env:local', 'shell:accept']);
// Coverate tasks
grunt.registerTask('coverage', ['shell:coverage_unit', 'shell:coverage_accept', 'shell:coverage']);
grunt.registerTask('coverage-unit', ['shell:coverage_unit']);
grunt.registerTask('coverage-accept', ['env:local', 'shell:coverage_accept']);
grunt.registerTask('analysis', ['plato:src', 'open:platoReport']);
grunt.registerTask('serve', ['env:local', 'concurrent:serve']);
grunt.registerTask('debug', ['env:local', 'concurrent:debug']);
grunt.registerTask('default', ['serve']);
};