jshint grunt цели генерируют сообщение: 0 файлов помечены. Пожалуйста, проверьте ваши игнорируемые файлы

У меня есть несколько конфигураций jshint в моем gruntfile.

Я протестировал каждую конфигурацию, и она прекрасно работает.

Однако, когда я определяю цель в файле grunt для каждой конфигурации, jshint перестает работать, и все, что я вижу, это:

0 files linted. Please check your ignored files.

Вот как выглядит моя конфигурация jshint с целями:

    jshint: {
        backend: {
            options: {
                jshintrc: '.jshintrc'
            },
            all: [
                'Gruntfile.js',
                'server.js',
                '*.js',
                'backend/{,*/}*.js'
            ]
        },
        test: {
            options: {
                jshintrc: 'test.jshintrc'
            },
            all: [
                'test/{,*/}*.js'
            ]
        }
    }

2 ответа

Решение

Для смены нескольких задач:

'all' : {...} 

в

'files': { src: [...] } 

должен это исправить. Казалось бы, "all" - это сокращение для одной задачи, с несколькими задачами jshint будет искать файлы в files->src, то есть:

backend: {
    options: {
        jshintrc: '.jshintrc'
    },
    'files': { 
        'src': [
            'Gruntfile.js',
            'server.js',
            '*.js',
            'backend/{,*/}*.js'
        ]
    }
},
test: {
    options: {
        jshintrc: 'test.jshintrc'
    },
    'files': {
        'src': [
            'test/{,*/}*.js'
        ]
    }
}

Моя команда узнала, что это работает, мы используем его в нашем проекте. Несмотря на то, что я не рекомендую использовать этот метод, он научил меня тому, как работает grunt, и как вы можете программно вызывать задачи и изменять параметры во время выполнения, поэтому я считаю его актуальным.

jshint: {
        options: {
            jshintrc: '.jshintrc'
        },
        all: [
            'Gruntfile.js',
            '<%= yeoman.app %>/scripts/{,*/}*.js'
        ],
        backend: [
            'server.js'
        ]
    },

 .... 

 grunt.registerTask('backend', function() {
    grunt.config.set('jshint.options.jshintrc', '.backendhintrc');
    grunt.task.run('jshint:backend');
});
Другие вопросы по тегам