Я использую pre-commit , и у меня есть репозиторий с двумя папками:
.
├── backend
│ └── (backend files)
├── frontend
│ └── (frontend files)
└── .pre-commit-config.yaml
Каждая папка имеет Dockerfile и не зависит от другой.
Это мой .pre-commit-config.yaml
:
repos:
- repo: local
hooks:
- id: go-docker
name: go
language: docker_image
entry: backend:latest go fmt
files: backend/
- id: prettier-docker
name: prettier
language: docker_image
entry: frontend:latest npm run format
files: frontend/
Я хочу выполнить предварительную фиксацию для обеих папок с помощью Docker, но получаю:
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /src/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/src/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
Согласно документация перед фиксацией: pre-commit will automatically mount the repository source as a volume using -v $PWD:/src:rw,Z and set the working directory using --workdir /src.
Таким образом, проблема, похоже, в том, что папка frontend
находится в src/frontend
, но путь, который использует предварительная фиксация, равен src
.
Я пробовал cd frontend
перед командой Docker, но безуспешно. Есть идеи?
Заранее спасибо!