# 1C enterprise repository tools

Набор инструментов для работы с репозиторием 1С предприятия

[English version](https://github.com/cinex-ru/e1c-repo-tools/blob/master/README.en.md)

## Установка

``` bash
npm install -D e1c-repo-tools
```

или

``` bash
yarn add -D e1c-repo-tools
```

## Настройка

В файл `package.json` необходимо добавить поле `e1cRepoConfig`, содержащее следующие настройки:

- `pathToExecutable` - (строка, обязательное) полный путь к исполняемому файла 1С предприятия
- `pathToSrcDir` - (строка, по умолчанию: `./src`) путь к каталогу в котором содержатся исходные файлы внешних обработок и отчетов
- `pathToDistDir` - (строка, по умолчанию: `./dist`) путь к каталогу в котором содержатся собранные файлы внешних обработок и отчетов
- `pathToLogsDir` - (строка, по умолчанию: `./logs`) путь к каталогу в котором содержатся логи
- `filesExtensions` - (массив строк, по умолчанию: `["erf","epf"]`) расширения, которые используются для поиска файлов, при выгрузке в исходные файлы

## Использование

На текущий момент существует три команды:

- `e1c-dump` - выгрузка внешних отчетов/обработок в исходные файлы, с учетом настроек заданных в `package.json`. Если каталог, куда выполняется выгрузка, содержит изменения, то перед удалением создается его резервная копия
- `e1c-build` - сборка исходных файлов во внешние отчеты/обработки, с учетом настроек заданных в `package.json`. Если файл с соответствующим именем существует и содержит изменения, то создается его резервная копия
- `e1c-precommit-hook` - скрипт, для использования в качестве git-hook. Работает аналогично `e1c-dump`, но для выгрузки используются только подготовленные для коммита (staged) файлы. Так же после выгрузки исходных файлов, добавляет их к текущему коммиту
  
  Просто установите [husky](https://www.npmjs.com/package/husky) и добавьте в свой `package.json`
  
  ``` json
  "husky": {
      "hooks": {
        "pre-commit": "yarn e1c-precommit-hook" // or `npx e1c-precommit-hook`
      }
  }
  ```
