Конфиг Gulp и package.json для обработки JS/CSS/картинок в CMS «1С-Битрикс: Управление сайтом» в папке local (в шаблонах сайтов и компонентов). Создан для личного использования, но, возможно, кому-то еще пригодится.
При запуске команды gulp
запускается watcher, следящий за изменениями CSS, SCSS, JS файлов и картинок в папке www/local/ (конкретнее - в папках css/js/images в корне всех шаблонов сайта, в папках images в шаблонах компонентов, а также следит за изменениями файлов CSS, SCSS, JS в корне шаблонов компонентов).
Работает кеширование, проверяющее даты модификации файлов, за счет этого обрабатываются только измененные/добавленные файлы.
По необходимости можно изменить конфигурацию под конкретные задачи.
SCSS/CSS-файлы:
- преобразуются из SCSS в CSS;
- автоматически добавляются префиксы для версий браузеров с >1% долей юзеров (задается в package.json);
- минифицируются, очищаются от комментариев;
- формируются map`ы на исходные файлы;
- полученные файлы складываются рядом с исходными с расширением .min.css и .min.css.map.
JS-файлы:
- преобразовываются из современных стандартов ECMAScript (es2015, es2016, es2017) в старую версию, совместимую с большинством браузеров (можно более тонко настроить версии. По умолчанию используется
env
-preset babel`а); - минифицируются, очищаются от комментариев;
- формируются map`ы на исходные файлы;
- полученные файлы складываются рядом с исходными с расширением .min.js и .min.js.map.
Картинки:
- картинки с расширениями jpg, jpeg, gif, png, svg минифицируются и складываются с суффиксом .min рядом с исходными.
Чтобы установить конфиг для проекта Битрикс, нужно:
- поставить на сервер Node.js (проверялось только на Node.js v10, но предположительно должно работать на Node.js v7 и выше);
- скопировать файлы .babelrc, gulpfile.babel.js, package.json из корня данного репозитория на одну папку выше папки с сайтом (в «1C-Битрикс: Виртуальная машина» это /home/bitrix/);
- выполнить в этой директории в терминале команду
npm install
для установки зависимостей; - прописать выполнение команды
gulp
в этой директории в автозапуск при загрузке сервера.
This project is licensed under the MIT License - see the LICENSE.md file for details