[Разработка веб-сайтов] Перед коммитом
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Бывают определенные действия, которые надо обязательно выполнить до того как код попадет в коммит и репозиторий, чтобы, как минимум, не мучиться потом с rebase каждый раз. Решение, которое я опишу короткое и простое, но оно весьма упрощает жизнь разработчика.Самое очевидное назначение - это выполнение тестов, но для меня это также и сборка бандла. Поскольку я не использую watch и регулярно забываю запускать команду билда руками, в коммит частенько заезжают неактуальные версии бандлов, а актуальные приходится коммитить следом. Выходит не очень опрятно. Для javascript нам поможет утилита pre-commit. Она использует hook гита, но дает возможность не лезть во все эти внутренности и управлять галактикой не выходя из npm. Пойдем практическим путем: добавляем библиотеку в проект
npm i pre-commit --save-dev
В package.json в секцию pre-commit добавляем комманду build
"pre-commit": [
"build"
],
Однако, собранные файлы бандла не попадут в коммит, т.к. гиту надо явно указывать измененные и добавленные файлы и добавлять все подряд выглядит довольно опасным. Чтобы все начало правильно работать определим команду add-bundles добавляющую файлы бандла.
"scripts": {
"build": "npx rollup --config rollup.config.js",
"add-bundles": "git add dist/*",
"test": "echo "Error: no test specified" && exit 1"
},
И саму команду добавляем в секцию pre-commit
"pre-commit": [
"build", "add-bundles"
],
Теперь прямо перед коммитом сразу собирается бандл и добавляется в коммит. Если нужен полный работающий пример, он есть в репозитории этой библиотечки: https://github.com/syncro/key-toggler
===========
Источник:
habr.com
===========
Похожие новости:
- [Веб-дизайн, Разработка веб-сайтов, Интерфейсы, Usability, Дизайн] Вспоминаем все важные события в UI/UX дизайне за 2020-й
- [Разработка веб-сайтов, JavaScript, HTML, ReactJS] React.js — формошлепство или работа с формами при помощи пользовательских хуков
- GitHub снял ограничения для разработчиков из Ирана
- [GitHub, Законодательство в IT, IT-компании] GitHub открыл полный доступ к платформе разработчикам и компаниям из Ирана, на очереди — Крым и Сирия
- [Amazon Web Services, DevOps] CI/CD для проекта в GitHub с развертыванием на AWS EC2
- [Системное администрирование, Программирование, IT-инфраструктура, DevOps] Создание современных процессов CI/CD для бессерверных приложений с Red Hat OpenShift Pipelines и Argo CD. Часть 1 (перевод)
- [Разработка веб-сайтов, Программирование, Java] Пять причин, по которым следует использовать Apache Wicket (перевод)
- [Хостинг, Разработка веб-сайтов, Администрирование доменных имен, IT-инфраструктура, Интернет-маркетинг] В какой доменной зоне регистрироваться, и что важно знать до регистрации
- [Разработка веб-сайтов, TypeScript] TypeScript для конфигурации WebPack (FE and BE)
- [Программирование, Git] VK Tech 2020: год разработки в числах Git
Теги для поиска: #_razrabotka_vebsajtov (Разработка веб-сайтов), #_git, #_hook, #_precommit, #_razrabotka_vebsajtov (
Разработка веб-сайтов
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 07:25
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Бывают определенные действия, которые надо обязательно выполнить до того как код попадет в коммит и репозиторий, чтобы, как минимум, не мучиться потом с rebase каждый раз. Решение, которое я опишу короткое и простое, но оно весьма упрощает жизнь разработчика.Самое очевидное назначение - это выполнение тестов, но для меня это также и сборка бандла. Поскольку я не использую watch и регулярно забываю запускать команду билда руками, в коммит частенько заезжают неактуальные версии бандлов, а актуальные приходится коммитить следом. Выходит не очень опрятно. Для javascript нам поможет утилита pre-commit. Она использует hook гита, но дает возможность не лезть во все эти внутренности и управлять галактикой не выходя из npm. Пойдем практическим путем: добавляем библиотеку в проект npm i pre-commit --save-dev
"pre-commit": [
"build" ], "scripts": {
"build": "npx rollup --config rollup.config.js", "add-bundles": "git add dist/*", "test": "echo "Error: no test specified" && exit 1" }, "pre-commit": [
"build", "add-bundles" ], =========== Источник: habr.com =========== Похожие новости:
Разработка веб-сайтов ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 07:25
Часовой пояс: UTC + 5