Сбой сборки grunt, когда в источнике существуют отладочные отпечатки

Я работаю над проектом PHP/Javascript, где я прекрасно настроил рабочий процесс сборки. Он включает в себя тестирование, минимизацию, сжатие в конечный ZIP-файл и многое другое.

Я хочу создать задачу, которая не выполняется, если в исходном коде есть определенные шаблоны. Я хотел бы искать любой print_r(), error_log(), var_dump()и т. д. функционируют и останавливают процесс сборки, если таковые имеются. Возможно, позже я хотел бы проверить вещи в Javascript или CSS, так что это не только вопрос PHP.

Я знаю, что это можно сделать с grunt-shell а также grep но я хотел бы знать следующее:

  1. Существуют ли плагины для этой задачи? В идеале я хотел бы иметь возможность указать список регулярных выражений для каждого типа файлов и указать, следует ли продолжить или не выполнить сопоставление с образцом.
  2. Как другие решают проблему двойной проверки упакованного источника на наличие наиболее распространенных отладочных операторов или других шаблонов?

1 ответ

Не полный ответ на мой вопрос, но я недавно столкнулся с этим плагином ворчания, который несколько связан. Удаляет console.log заявления из JavaScript. Еще не пробовал. Выглядит хорошо. Я все еще хотел бы знать, есть ли что-то подобное для PHP, хотя.

http://grunt-tasks.com/grunt-remove-logging-calls/

Редактировать: видя, что здесь только ветер перекатывается здесь, я публикую свой обходной путь, который основан на grunt-shell, Однако это не то, что я искал. Он не идеален, потому что не выполняет правильный синтаксический анализ:

    shell: {
        check_debug_prints: {
            command: '(! (egrep -r "var_dump|print_r|error_log" --include=*.php src || egrep -r "console\.\w+|debugger;" --include=*.js src) ) || (echo "Debug prints in source - build aborted" && false )'
        }
    },

а также

grunt.loadNpmTasks( 'grunt-shell' );

Редактировать 2: я наконец-то нашел плагин, который я искал. Это ворчание-поиск. E сть failOnMatch логическая опция, которая позволяет указать, должен ли определенный шаблон регулярного выражения вызывать сбой сборки при его обнаружении.

Другие вопросы по тегам