Получить путь к измененным файлам - grunt watch livereload

Мне нужен этот объект: https://github.com/gruntjs/grunt-contrib-watch/blob/master/tasks/watch.js#L33

поэтому я могу передать эту строку в эту подзадачу (я использую grunt-shell и написать-хорошо):

grunt.initConfig({
shell: {
  checkAll: {
    command: 'write-good *.md --no-passive',
    options: {
      //callback: checkForErrors
    }
  },
  checkSpecified: {
    command: 'write-good <%= filepath %> --no-passive',
    options: {
      //callback: checkForErrors
    }
  }
},

watch: {
  docs: {
    files: '**/*.md',
    tasks: ['shell:checkSpecified'],
    options: {
      livereload: true
    }
  }
}
});

grunt.registerTask('default', "Checking for good prose, excluding passive voice.", function(){
  grunt.task.run('shell:checkAll', 'watch');
});

Надеюсь, сопровождающие Grunt увидят эту относительно грубую идею и помогут мне :) У меня OS X 10.9.4, пожалуйста, дайте мне знать, если я могу предоставить любую другую соответствующую информацию.


person JaKXz    schedule 23.07.2014    source источник
comment
Итак, у меня есть путь к файлу, использующий grunt.event.on('watch', function(action, filepath){});, но теперь я не знаю, как установить свойство filepath.name (и, возможно, потребовать его) перед выполнением задачи checkSpecified.   -  person JaKXz    schedule 23.07.2014
comment
grunt.config.set('filepath', filepath); помещает имя в объект конфигурации, но использование <%= filepath %> в командной строке терпит неудачу, потому что он думает, что я не указываю файл... но в моей функции on watch я могу получить объект конфигурации и увидеть, что он указал правильное имя файла. Я так близок!   -  person JaKXz    schedule 23.07.2014
comment
Еще одно обновление: я использую grunt.config.set('filepath', grunt.config.escape(filepath));, поскольку во всех именах файлов есть .. Все равно не повезло :(   -  person JaKXz    schedule 23.07.2014


Ответы (1)


Понятно! https://gist.github.com/JaKXz/aaa17d44947554144d3e/revisions#diff-35b4a816e0441e6a375cd925af50752cR23

Отдайте должное этому ответу для последней части.

person JaKXz    schedule 23.07.2014