{"id":21361690,"url":"https://github.com/webpractik/gulp-bitrix","last_synced_at":"2025-07-13T02:32:22.865Z","repository":{"id":57256911,"uuid":"124517390","full_name":"webpractik/gulp-bitrix","owner":"webpractik","description":null,"archived":false,"fork":false,"pushed_at":"2020-10-09T16:17:49.000Z","size":44,"stargazers_count":4,"open_issues_count":2,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-04-29T22:07:06.900Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webpractik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-09T09:17:27.000Z","updated_at":"2023-08-21T11:16:49.000Z","dependencies_parsed_at":"2022-08-25T02:30:49.165Z","dependency_job_id":null,"html_url":"https://github.com/webpractik/gulp-bitrix","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webpractik%2Fgulp-bitrix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webpractik%2Fgulp-bitrix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webpractik%2Fgulp-bitrix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webpractik%2Fgulp-bitrix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webpractik","download_url":"https://codeload.github.com/webpractik/gulp-bitrix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225850218,"owners_count":17534067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T06:10:57.614Z","updated_at":"2024-11-22T06:10:58.193Z","avatar_url":"https://github.com/webpractik.png","language":"JavaScript","readme":"## Сборка проектов на Bitrix\n\n\u003ch5\u003eВключение модуля в сборку:\u003c/h5\u003e\n\nУстаравливаем модуль:\n\n\u003cpre\u003enpm install gulp-bitrix --save-dev\u003c/pre\u003e\n\nВ \u003cb\u003egulpfile.js\u003c/b\u003e вызываем модуль с параметрами. Например:\n\n\u003cpre\u003evar tasks = require('gulp-bitrix')({dirName: __dirname});\u003c/pre\u003e\n\nОпцию dirName желательно указывать, чтобы сборка брала корневую папку вашего проекта, а не корневую папку модуля.\n\n\n\u003ch4\u003eЗадачи:\u003c/h4\u003e\nМодуль возвращет объект, который содержит в себе функции, которые можно вызывать в задаче.\n\nНа данный момент, содержит в себе задачи:\n\n\u003cb style=\"color: red\"\u003edef\u003c/b\u003e - выполняется сборка и включается watcher \u003cbr\u003e\n\u003cb style=\"color: red\"\u003eone\u003c/b\u003e - выполняется сборка, без запуска watcher \u003cbr\u003e\n\u003cb style=\"color: red\"\u003edev\u003c/b\u003e - выполняется сборка c настройками среды development и включается watcher \u003cbr\u003e\n\u003cb style=\"color: red\"\u003eone\u003c/b\u003e - выполняется сборка c настройками среды development, без запуска watcher \u003cbr\u003e\n\u003cb style=\"color: red\"\u003eprod\u003c/b\u003e - выполняется сборка c настройками среды production и включается watcher \u003cbr\u003e\n\u003cb style=\"color: red\"\u003eprodOne\u003c/b\u003e - выполняется сборка c настройками среды production, без запуска watcher \u003cbr\u003e\n\u003cb style=\"color: red\"\u003esprite\u003c/b\u003e - выполняется сборка файла _sprite.sass \u003cbr\u003e\n\u003cb style=\"color: red\"\u003esass\u003c/b\u003e - сборка sass-файлов \u003cbr\u003e\n\u003cb style=\"color: red\"\u003esassProject\u003c/b\u003e - сборка файла project.css \u003cbr\u003e\n\u003cb style=\"color: red\"\u003esassComponents\u003c/b\u003e - сборка стилей в папках компонентов Битрикса \u003cbr\u003e\n\u003cb style=\"color: red\"\u003ejs\u003c/b\u003e - babel-сборка js файлов \u003cbr\u003e\n\u003cb style=\"color: red\"\u003ejsx\u003c/b\u003e - babel-cборка jsx файлов \u003cbr\u003e\n\u003cb style=\"color: red\"\u003ejsComponents\u003c/b\u003e - сборка js-файлов в комонентах Битрикс \u003cbr\u003e\n\u003cb style=\"color: red\"\u003efonts\u003c/b\u003e - сборка шрифтов \u003cbr\u003e\n\u003cb style=\"color: red\"\u003eimg и pic\u003c/b\u003e - минификация картинок из разных директорий \u003cbr\u003e\n\u003cb style=\"color: red\"\u003eclean\u003c/b\u003e - очистка файлов проекта \u003cbr\u003e\n\u003cb style=\"color: red\"\u003efullClean\u003c/b\u003e - очистка папки build \u003cbr\u003e\n\u003cb style=\"color: red\"\u003esetProd\u003c/b\u003e - установка режима Production \u003cbr\u003e\n\u003cb style=\"color: red\"\u003esetDev\u003c/b\u003e - установка режима Development \u003cbr\u003e\n\u003cb style=\"color: red\"\u003ewatch\u003c/b\u003e - watcher \u003cbr\u003e\n\u003cb style=\"color: red\"\u003egetEnv\u003c/b\u003e - получение из файла .env данных о среде \u003cbr\u003e\n\n\u003ch5\u003eТакже можно получить некоторые опции по-умолчанию:\u003c/h5\u003e\n\n\u003cb style=\"color: red\"\u003epath\u003c/b\u003e - пути к файлам проекта по-умолчанию \u003cbr\u003e\n\u003cb style=\"color: red\"\u003eoptions\u003c/b\u003e - путь к переданным опциям \u003cbr\u003e\n\u003cb style=\"color: red\"\u003egulp\u003c/b\u003e - ссылка на объект gulp модуля \u003cbr\u003e\n\n**UPD v0.3.4**  \nИз задачи prodOne удалена сборка sprite  \nДобавлена новая задача `sprite`, которая отдельно собирает файл _sprite.sass\n\n\nПример использования модуля через свойство:\n\u003cpre\u003egulp.task('default', tasks.def);\u003c/pre\u003e\n\nЛюбую из стандартных задач можно переопределить, просто присвоив другую функцию:\n\n\u003cpre\u003etasks.sass = function(callback) {\n         console.log('custom-sass-task');\n         callback();\n     };\u003c/pre\u003e\n     \nМожно добавлять новые задачи с помощью функции \u003cb\u003eaddTask(name, task)\u003c/b\u003e где:\n\u003cb\u003ename\u003c/b\u003e - название новой задачи;\n\u003cb\u003etask\u003c/b\u003e - функция.\n\n\u003cpre\u003e\n    tasks.addTask('custom', function(callback) {\n        console.log('custom');\n        callback();\n    });\n\u003c/pre\u003e \n\nФункции подключаемые вами пользуются модулями, которые подключены в вашем Gulp-файле. То есть если вы собираетесь пользоваться только\nстандартными функциями - то модуль будет работать без дополнительных подключений. Если вы хотите переопределить или добавить\nсвою задачу - нужно будет определить модули, которые используются в задаче.\n\nТакже имеется возможность развернуть задачи одной командой.\n\u003cpre\u003etasks.init(gulp)\u003c/pre\u003e\nВ функцию передается текущий экземпляр \u003cb\u003egulp\u003c/b\u003e.\n\nDefault - функция gulp при этом не создается, вместо нее устанавливается функция 'def'. Ее можно определить в вайшей default-функции\n\u003cpre\u003egulp.task('default', gulp.series('def'))\u003c/pre\u003e\n\nИли задать функции task.init() опцию initDefault: \n\u003cpre\u003etasks.init(gulp, {initDefault: true})\u003c/pre\u003e\n\n\u003cb\u003eВнимание!\u003c/b\u003e\u003cbr\u003e\nЕсли вы переопределяете стандартные задачи, добавляете свои или изменяете настройки путей - \nэто нужно делать до того как будет вызван  tasks.init(), иначе будут приняты только те изменения, которые были до ее вызова. \n\nЕще один способ переопределить стандартные задачи - это просто определить их через gulp.task, опять же это\n делается до вызова функции init().\n \n \u003cpre\u003e\n // Эта задача заменит стандартную\n gulp.task('sass', function (callback) {\n     console.log('custom-sass');\n     callback();\n });\n \n tasks.init(gulp, {initDefault: true});\u003c/pre\u003e\n \nЭтот способ работает только при переопределении задачи, добавить таким образом задачу, чтобы она использовалась модулем, не получится. \n \n\u003ch4\u003eПереопределение путей:\u003c/h4\u003e\n\nЕсть два способа - сделать это путем изменения в модуле:\n\n\u003cpre\u003etasks.path.build.js = './my-folder/script.js';\u003c/pre\u003e\n\nЛибо передать в опциях при вызове модуля:\n\n\u003cpre\u003evar tasks = require('gulp-bitrix')(\n    {\n        dirName: __dirname,\n        path: {build: {js: './my-folder/'}}\n    }\n);\u003c/pre\u003e\n\nНо такой способ годится для более радикального изменения, так как будет изменено свойство build полностью.\n\n\u003ch4\u003eОпции:\u003c/h4\u003e\n\nПри вызове модуля ему можно передать ряд опций:\n\n\u003cb style=\"color: red\"\u003edirName\u003c/b\u003e - директория относительно которой проставлены пути \u003cbr\u003e\n\u003cb style=\"color: red\"\u003epath\u003c/b\u003e - с помощью этой опции можно поменять пути к файлам. Изменения свойств объекта path происходит\n путем наложения объекта, то есть определив одно свойство другие остаются как и были.\u003cbr\u003e\n\u003cb style=\"color: red\"\u003eincludeTasks\u003c/b\u003e - массив в котором можно перечислить задачи, которые будут выполнены в сборке. Если ничего не\n указано, выполняется весь список.\u003cbr\u003e\n \u003cb style=\"color: red\"\u003eexcludeTasks\u003c/b\u003e - массив в котором можно перечислить задачи, которые не будут выполняться. Если ничего не\n  указано, то все задачи будут выполнены.\u003cbr\u003e\n  \u003cb style=\"color: red\"\u003eincludePath\u003c/b\u003e - используется для определения пути к файлам sass, которые подключаются в project.sass \u003cbr\u003e\n  \u003cb style=\"color: red\"\u003estaticFolder\u003c/b\u003e - стоит менять только если папка сборки находится в другом месте, нежели корневая папка\n   используемых в задаче файлах\u003cbr\u003e\n   \u003cb style=\"color: red\"\u003esourcemaps\u003c/b\u003e - если выставлена эта опция - то будут генерироваться sourcemaps на сборке dev \u003cbr\u003e\n   \u003cb style=\"color: red\"\u003edevelopmentWatchDelay\u003c/b\u003e - задержка watcher-a в изменении файла в development-среде \u003cbr\u003e\n   \u003cb style=\"color: red\"\u003eproductionWatchDelay\u003c/b\u003e - задержка watcher-a в изменении файла в production-среде \u003cbr\u003e\n    \u003cb style=\"color: red\"\u003esprite.imgName\u003c/b\u003e - можно указать имя файла, который будет создан при сборке спрайта (по-умолчанию \"sprite.png\") \u003cbr\u003e\n    \u003cb style=\"color: red\"\u003esprite.cssName\u003c/b\u003e - можно указать имя sass-файла, который будет создан при сборке спрайта (по-умолчанию \"sprite.sass\") \u003cbr\u003e\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebpractik%2Fgulp-bitrix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebpractik%2Fgulp-bitrix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebpractik%2Fgulp-bitrix/lists"}