Webpack: вызвать сбой перезагрузки и сборки в реальном времени, если существует Jest-тест с ошибками компиляции или ошибками ESLint - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть проект React-Webpack средней сложности, в котором используется типичная цепочка TypeScript / Webpack-dev-server, Jest и связанных с ними инструментов. Настройка очень похожа на create-react-app, но со временем она немного отклоняется: https://github.com/facebook/create-react-app/

Если существует ошибка компиляции или ошибка ESLint в веб-сервисе TypeScript файлы, затем Webpack отклоняет как сборку, так и перезагрузку в реальном времени. Это ожидаемое поведение.

Однако, если есть один или несколько некомпилируемых тестов, то Webpack игнорирует тесты и продолжает обслуживать веб-код! Это очень проблематично c, потому что это приводит к ситуации, когда сломанные тесты снова и снова отправляются на наш Git -репортаж.

Что я хочу сделать: Как я могу вызвать сбой как сборок, так и оперативной перезагрузки, если существует тест с ошибками компиляции или ошибками ESLint?

Обратите внимание, что все эти тесты выполняются в Node.js через инфраструктуру выполнения теста Jest, тогда как фактическая приложение запускается в браузере.

Предварительное расследование:

Похоже, что WebPack игнорирует все тесты из-за следующей конфигурации reportFiles для ForkTsCheckerWebpackPlugin:

      reportFiles: [
        '**',
        '!**/__tests__/**',
        '!**/?(*.)(spec|test).*',
        '!**/src/setupProxy.*',
        '!**/src/setupTests.*',
      ],

Если я удаляю '!**/__tests__/**' и '!**/?(*.)(spec|test).*', то получаю нужные сбои сборки (но не сбои перезагрузки в реальном времени). Однако это может привести к новым проблемам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...