@i-novus/prevent-commit-changes

0.0.2 • Public • Published

@i-novus/prevent-commit-changes

CLI утилита для предотвращения отправки в GIT файлов, в которых может быть конфиденциальная информация.

Проблема: Существуют файлы в которые нужно указывать конфиденциальные данные для старта проекта и нормального функционирования. В этом случае, конфиденциальные данные могут по ошибке попасть в репозиторий. Для борьбы с такими утечками нужно:

  1. Установить @i-novus/prevent-commit-changes
  2. Создать файл конфигурации с указанием защищенных файлов
  3. Настроить pre commit hook

Для защиты можно применить .gitignore, который не дает файлу попасть в репозиторий. В отличие от .gitignore, данная утилита запрещает изменение файла, который уже находится в репозитории.

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

Утилиту можно вызвать из консоли, хотя это имеет мало практического применения и служит исключительно в качестве демонстрации (рекомендуется вызывать проверку в составе pre commit hook).

prevent-commit-changes

Параметры

Аргумент Значение по умолчанию Описание
[configPath] .immutable Путь к файлу конфигурации, где перечисляются защищаемые файлы

Установка

npm install --save-dev @i-novus/prevent-commit-changes

или

yarn add --dev @i-novus/prevent-commit-changes

Настройка

Добавьте файл (по умолчанию это должен быть .immutable в корне проекта) с построчным перечислением защищенных файлов. Где одна строка - это имя или паттерн защищаемого от изменения файла. Для паттернов используется библиотека minimatch.

Пример файла .immutable:

.env
.env.*

Применение lefthook (pre commit hook)

Установка lefthook

npm install --save-dev lefthook

или

yarn add --dev lefthook

Настройка

Добавьте файл lefthook.yml в корне проекта

pre-commit:
  parallel: true
  commands:
    file-changes-check:
      skip:
        - merge
        - rebase
      run: prevent-commit-changes

После настройки lefthook по инструкции, будет осуществляться проверка, чтоб в коммит не попали файлы, перечисленные в .immutable

License

Apache-2.0

Package Sidebar

Install

npm i @i-novus/prevent-commit-changes

Weekly Downloads

7

Version

0.0.2

License

Apache-2.0

Unpacked Size

16.7 kB

Total Files

4

Last publish

Collaborators

  • sergey481516
  • notoriginal
  • alexeysokolov
  • predok-mif
  • alexanderibelov
  • esadykov