Husky 4.x + не работает с Visual Studio Git - PullRequest
1 голос
/ 13 апреля 2020

Husky изменил обработку пути с 4.0.0 . После этого изменения при фиксации из Visual Studio выдается следующая ошибка:

husky > pre-commit (node v12.12.0)/c/path/to/repo/node_modules/.bin/lint-staged: 
line 5: cygpath: command not foundinternal/modules/cjs/loader.js:797 throw err;

^Error: Cannot find module 'C:\lint-staged\bin\lint-staged.js' 
 at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15) 
 at Function.Module._load (internal/modules/cjs/loader.js:687:27)
 at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10) 
 at internal/main /run_main_module.js:17:11 { code: 'MODULE_NOT_FOUND', requireStack: []}

husky > pre-commit hook failed 
(add --no-verify to bypass)

Однако при фиксации из CLI все работает как положено. Учитывая, что в сообщении об ошибке указано 'C:\lint-staged\bin\lint-staged.js' в качестве пути к файлу, я предполагаю, что Visual Studio обрабатывает пути по-другому.

Я пытаюсь найти способ заставить эту работу работать в Visual Studio. Я нахожусь в корпоративной среде, поэтому я надеюсь, что я смогу включить эту конфигурацию в репозиторий (а не требовать локальной настройки вручную).

У меня есть хаски-конфиг, включенный в мой пакет. json as

...
"husky":{
    "hooks":{ "pre-commit": "lint-staged"}
},
"lint-staged":{
    "!(*.min.*)js": "eslint --fix"
},
...

В настоящее время я использую:
nvm 1.1.7 с узлом 12.16.1
лайка 4.2.5
ворс 10.1.3
visual studio 2019

1 Ответ

1 голос
/ 14 апреля 2020

Я нашел решение, хотя и не полное объяснение. Простой способ обойти это - изменить вашу команду лайки следующим образом:

...
"husky":{
    "hooks":{ "pre-commit": "npx lint-staged"}
},
...

Указание команды NPM исправляет проблему с путями. Я нашел предложение в этом ответе на проблему с 2018 года в github, организованном ворсинками, источник здесь .

...