khusamov
@khusamov
ReactJS, NodeJS, TypeScript, Sencha ExtJS

Как заставить husky вносить изменения перед коммитом, а не после?

В файле package.json у меня следующий код:

"husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "src/**/*.+(tsx|ts|scss)": [
      "prettier --write",
      "git add ."
    ]
  },


Как я размышлял?
Я предполагал, что перед коммитом будет запущен lint-staged, который в свою очеред:
1) отформатирует код prettier --write
2) проиндексирует изменения git add .

Форматирует он нормально. Но изменения мне приходится вторым коммитом вносить.

В итоге я выполняю коммит ДВАЖДЫ.

Как сделать, чтобы он перед коммитом форматировал и индексировал?

Я уже все варианты перепробовал https://prettier.io/docs/en/precommit.html
всегда приходится два раза коммитить
  • Вопрос задан
  • 4577 просмотров
Пригласить эксперта
Ответы на вопрос 2
rockon404
@rockon404
Frontend Developer
У меня такие настройки:
{
  "scripts": {
    "precommit": "lint-staged"
  },
  "lint-staged": {
    "src/**/*.{ts,tsx}": [
      "prettier --write",
      "tslint --fix",
      "git add"
    ]
  }
}
Ответ написан
Была такая же проблема.
Решение: поменял среду, в который выполняется git, и сам git:
was:
среда: cygwin64 (https://cygwin.com/install.html)
git version: 2.17.0
now:
среда: mingw64 (https://git-scm.com/download/win)
git version: 2.18.0.windows.1

another configs:
win10x64
node -v 10.14.1
npm -v 6.7.0
"husky": "^2.1.0",
"lint-staged": "^6.1.1",
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы