|
|
@@ -6,17 +6,20 @@
|
|
|
var tools = require( './res/tools' );
|
|
|
|
|
|
module.exports = function( grunt ) {
|
|
|
- // Base task configuration, targetting "all" by default.
|
|
|
+ // Base task configuration, targeting "all" by default.
|
|
|
var config = {
|
|
|
all: [ '**/*.js' ],
|
|
|
options: defaultConfig
|
|
|
};
|
|
|
|
|
|
+ // Get information about the task being executed.
|
|
|
var isGitTask = ( grunt.cli.tasks.indexOf( 'jshint:git' ) > -1 ),
|
|
|
- isDefaultTask = ( grunt.cli.tasks.indexOf( 'default' ) > -1 ) || !grunt.cli.tasks.length;
|
|
|
+ isDefaultTask = ( grunt.cli.tasks.indexOf( 'default' ) > -1 ) || !grunt.cli.tasks.length,
|
|
|
+ // Hacking grunt hard.
|
|
|
+ isDefaultAndGit = isDefaultTask && ( grunt.task._tasks.default.info.indexOf( '"jshint:git"' ) > -1 );
|
|
|
|
|
|
// Create the :git configuration on the fly, if necessary.
|
|
|
- if ( isGitTask || isDefaultTask ) {
|
|
|
+ if ( isGitTask || isDefaultAndGit ) {
|
|
|
delete config.all;
|
|
|
config.git = tools.getGitDirtyFiles();
|
|
|
}
|