Stylelint молча терпит неудачу как скрипт npm

Я настраиваю stylelint для проекта, все работает как положено при запуске из cli:

$ stylelint 'css/**/*.css' --fix

css/style.css
 20:18  ×  Expected newline after ":" with a multi-line declaration declaration-colon-newline-after
...
...

Однако при запуске как npm script вывод не появляется (помимо регистрации команды), и ошибки, похоже, игнорируются:

$ npm run stylelint

> project lint:css path/project
> stylelint 'css/**/*.css' --fix    

пакет.json

  "scripts": {
    ...
    "stylelint": "stylelint 'css/**/*.css' --fix"
  },

Любая идея, как получить вывод консоли И завершить работу при ошибках, когда stylelint запускается как скрипт npm?


person Vinnie James    schedule 22.08.2018    source источник
comment
На самом деле кажется, что > stylelint 'css/**/*.css' --fix вообще не запускается через npm, несмотря на то, что он выходит из консоли.   -  person Vinnie James    schedule 22.08.2018
comment
Проблема связана с шаблоном globstar, так как "stylelint": "stylelint 'css/file.css' --fix" работает, как и ожидалось, через npm.   -  person Vinnie James    schedule 22.08.2018


Ответы (2)


Проблема оказалась в кавычках вокруг паттерна глобус. Большинство других скриптов позволяют заключать globstar в одинарные кавычки ', однако stylelint, похоже, требует экранированных двойных кавычек:

"stylelint": "stylelint \"src/**/*.css\" --fix"

person Vinnie James    schedule 22.08.2018
comment
Ты мой герой, Винни - person kontrollanten; 07.10.2018
comment
Не все герои носят маски ;) - person Vinnie James; 08.10.2018

Похоже, добавление ; exit 0 тоже помогает:

"stylelint": "stylelint 'css/**/*.css' --fix; exit 0"
person sn3p    schedule 03.11.2020