Вывод Stylelint не показывает имя файла, в котором возникают предупреждения

При запуске stylelint в выводе предупреждений не отображается имя файла, в котором возникает ошибка (с ошибками работает нормально). Мои файлы выглядят так:

app.scss

@import './_file-with-error';

_файл-с-ошибкой.scss

html body {
  color: red;
}

body { // provocate an error ????
  color: red;
}

Я использую Webpack Encore и stylelint в качестве плагина PostCSS, при сборке получаю:

michael@machine:~$ yarn encore dev
yarn run v1.21.1
$ /var/www/html/mop/mop/node_modules/.bin/encore dev
Running webpack ...

 WARNING  Compiled with 1 warnings                                                                                                                                     11:47:14 PM

 warning  in ./assets/scss/app.scss

Module Warning (from ./node_modules/postcss-loader/src/index.js):
Warning

(5:1) Expected selector "body" to come before selector "html body" (no-descending-specificity)

Entrypoint app [big] = runtime.js vendors~app.js app.css app.js
Entrypoint home = runtime.js home.js
Entrypoint _tmp_copy = runtime.js
Done in 3.06s.

Так что все нормально только я не вижу откуда предупреждение, мне нужны имя файла и строка. Как я могу это настроить?

Настраивать

webpack.config.js

Encore.enablePostCssLoader();

postcss.config.js

module.exports = {
  plugins: {
    autoprefixer: {},
    stylelint: {},
  },
};

.stylelintrc.json

{
  "extends": "stylelint-config-standard",
  "rules": {
    "no-duplicate-selectors": null
  }
}

person Michael Käfer    schedule 27.01.2020    source источник


Ответы (1)


Вам нужно добавить репортер в конвейере PostCSS:

Плагин stylelint регистрирует предупреждения через PostCSS. Следовательно, вы захотите использовать его с обработчиком PostCSS, который печатает предупреждения, или другим плагином PostCSS, предназначенным для форматирования и печати предупреждений (например, postcss-reporter).

Например:

module.exports = {
  plugins: {
    autoprefixer: {},
    stylelint: {},
    'postcss-reporter': { clearReportedMessages: true }
  },
}

Кроме того, вы можете использовать официальный подключаемый модуль webpack для stylelint.

person jeddy3    schedule 29.01.2020
comment
Отлично сработало, спасибо. Позор мне, я потратил более 2 часов, не найдя этого .. - person Michael Käfer; 01.02.2020