Я запускаю задачу Grunt, которая использует Concurrent для запуска Nodemon и Watch/Livereload. При загрузке по умолчанию я анализирую и запускаю Concurrent. Я также хотел бы настроить Watch для проверки отдельных файлов при изменении. В настоящее время все файлы анализируются при изменении любого файла.
Я изучил аналогичный вопрос на StackOverflow и решил использовать grunt-newer в качестве потенциального решения. Однако в моей реализации ниже префикс «более новый», похоже, ничего не делает. Как я могу это исправить, чтобы линтинговали только измененные файлы?
module.exports = function(grunt) {
//load all dependencies
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concurrent: {
dev: {
options: {
logConcurrentOutput: true
},
tasks: ['watch', 'nodemon']
}
},
jshint: {
files: ['Gruntfile.js', 'client/src/*.js', 'server/**/*.js'],
options: {
'-W030': true,
'-W083': true,
globals: {
console: true,
module: true,
document: true
}
}
},
watch: {
all: {
files: ['<%= jshint.files %>'],
tasks: ['newer:jshint']
},
frontend: {
files: ['client/**/*.{css,js,html}'],
options: {
livereload: true
}
}
},
nodemon: {
dev: {
options: {
file: 'server/server.js',
watchedFolders: ['server']
}
}
}
});
grunt.registerTask('test', ['jshint']);
grunt.registerTask('default', ['jshint', 'concurrent']);
};