{"id":13493924,"url":"https://github.com/bitrix-tools/cli","last_synced_at":"2026-01-28T09:01:25.561Z","repository":{"id":34260575,"uuid":"167007539","full_name":"bitrix-tools/cli","owner":"bitrix-tools","description":"Консольный инструмент Битрикс-разработчика","archived":false,"fork":false,"pushed_at":"2026-01-19T11:59:09.000Z","size":3037,"stargazers_count":62,"open_issues_count":37,"forks_count":27,"subscribers_count":16,"default_branch":"master","last_synced_at":"2026-01-19T18:33:57.961Z","etag":null,"topics":["bitrix","bundler","cli","es6"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitrix-tools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-01-22T14:24:40.000Z","updated_at":"2026-01-19T11:59:13.000Z","dependencies_parsed_at":"2024-01-19T13:57:08.783Z","dependency_job_id":"a515c12c-253a-477b-bebc-bec8e2d3bba4","html_url":"https://github.com/bitrix-tools/cli","commit_stats":{"total_commits":290,"total_committers":3,"mean_commits":96.66666666666667,"dds":0.08275862068965523,"last_synced_commit":"d4ff13924a05efd6068cb224659a45ac191ad943"},"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"purl":"pkg:github/bitrix-tools/cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitrix-tools%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitrix-tools%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitrix-tools%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitrix-tools%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitrix-tools","download_url":"https://codeload.github.com/bitrix-tools/cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitrix-tools%2Fcli/sbom","scorecard":{"id":240821,"data":{"date":"2025-08-11","repo":{"name":"github.com/bitrix-tools/cli","commit":"da6bfadd5173f4773d7fcf14a2c79fe9b1d74c00"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":3,"reason":"4 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-17T06:39:14.337Z","repository_id":34260575,"created_at":"2025-08-17T06:39:14.338Z","updated_at":"2025-08-17T06:39:14.338Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28843110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T07:39:25.367Z","status":"ssl_error","status_checked_at":"2026-01-28T07:39:24.487Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bitrix","bundler","cli","es6"],"created_at":"2024-07-31T19:01:20.060Z","updated_at":"2026-01-28T09:01:25.539Z","avatar_url":"https://github.com/bitrix-tools.png","language":"TypeScript","readme":"# @bitrix/cli\n@bitrix/cli\u0026nbsp;— консольный инструмент Битрикс-разработчика,\nосновная цель\u0026nbsp;— упростить и\u0026nbsp;автоматизировать разработку фронтенда для\nпроектов на\u0026nbsp;«Битрикс Управление Сайтом» и\u0026nbsp;«Битрикс24».\n\n[![npm version](https://badge.fury.io/js/%40bitrix%2Fcli.svg)](https://badge.fury.io/js/%40bitrix%2Fcli)\n\n\n## Содержание\n1. [Описание](#introduction)\n2. [Установка](#install)\n3. [Конфигурация](#config)\n4. [Сборка](#build)\n5. [Запуск тестов](#test)\n6. [Создание экстеншна](#create)\n\n\u003ch2 id=\"introduction\"\u003eОписание\u003c/h2\u003e\n\n@bitrix/cli\u0026nbsp;— это набор консольных команд\n1. `bitrix build` для сборки и\u0026nbsp;транспиляции ES6+ кода\n2. `bitrix test` для запуска Mocha тестов\n3. `bitrix create` для быстрого создания «экстеншна»\n\n\u003e В\u0026nbsp;первую очередь, `@bitrix/cli` предназначен для работы с\u0026nbsp;«экстеншнами»,\nшаблонами сайта и\u0026nbsp;шаблонами компонентов.\n\n\n\u003ch2 id=\"install\"\u003eУстановка\u003c/h2\u003e\n\nNPM\n```bash\n$ npm install -g @bitrix/cli\n```\n\nYARN\n```bash\n$ yarn global add @bitrix/cli\n```\n\n\u003ch2 id=\"config\"\u003eКонфигурация\u003c/h2\u003e\n\n### Базовая конфигурация\n```javascript\nmodule.exports = {\n\tinput: './app.js', \n\toutput: './dist/app.bundle.js',\n};\n```\n\n### Все параметры\n```javascript\nmodule.exports = {\n\t// Файл для которого необходимо выполнить сборку. \n\t// Необходимо указать относительный путь \n\tinput: string, \n\t\n\t// Путь к бандлу, который будет создан в результате сборки \n\t// Обычно это ./dist/\u003cextension_name\u003e.bundle.js\n\t// Необходимо указать относительный путь \n\toutput: string || {js: string, css: string},\n\t\n\t// Неймспейс, в который будут добавлены все экспорты из файла указанного в input\n\t// Например 'BX.Main.Filter'\n\tnamespace: string,\n\t\n\t// Списки файлов для принудительного объединения. \n\t// Файлы будут объединены без проверок на дублирование кода. \n\t// sourcemap's объединяются автоматически \n\t// Необходимо указать относительные пути\n\tconcat: {\n\t\tjs: Array\u003cstring\u003e,\n\t\tcss: Array\u003cstring\u003e,\n\t},\n\t\n\t// Разрешает или запрещает сборщику модифицировать config.php\n\t// По умолчанию true (разрешено)\n\tadjustConfigPhp: boolean,\n\t\n\t// Разрешает или запрещает сборщику удалять неиспользуемый код. \n\t// По умолчанию true (включено).\n\ttreeshake: boolean,\n\t\n\t// Разрешает или запрещает пересобирать бандлы \n\t// если сборка запущена не в корне текущего экстеншна \n\t// По умолчанию `false` (разрешено)\n\t'protected': boolean,\n\t\n\tplugins: {\n\t\t// Переопределяет параметры Babel.\n\t\t// Можно указать собственные параметры Babel\n\t\t// https://babeljs.io/docs/en/options\n\t\t// Если указать false, то код будет собран без транспиляции\n\t\tbabel: boolean | Object,\n\t\t\n\t\t// Дополнительные плагины Rollup, \n\t\t// которые будут выполняться при сборке бандлов \n\t\tcustom: Array\u003cstring | Function\u003e,\n\t},\n    // Определяет правила обработки путей к изображениям в CSS\n    // Доступно с версии 3.0.0\n    cssImages: {\n        // Определяет правило по которому изображения должны быть обработаны\n        // 'inline' — преобразует изображения в инлайн \n        // 'copy' — копирует изображения в директорию 'output'\n        // По умолчанию 'inline'.\n        type: 'inline' | 'copy', \n\n        // Путь к директории в которую должны быть скопированы используемые изображения \n\t    output: string,\n\n        // Максимальный размер изображений в кб, которые могут быть преобразованы в инлайн\n        // По умолчанию 14кб\n        maxSize: number,\n\n        // Использовать ли svgo для оптимизации svg \n        // По умолчанию true \n        svgo: boolean, \n    },\n    resolveFilesImport: {\n        // Путь к директории в которую должны быть скопированы импортированные изображения \n        output: string,\n        \n        // Определяет разрешенные для импорта типы файлов\n        // По умолчанию ['**/*.svg', '**/*.png', '**/*.jpg', '**/*.gif']\n        // https://github.com/isaacs/minimatch\n        include: Array\u003cstring\u003e,\n\n        // По умолчанию []\n        exclude: Array\u003cstring\u003e,\n    },\n    \n    // Определяет правила Browserslist \n    // false — не использовать (по умолчанию)\n    // true — использовать файл .browserslist / .browserslistrc\n    browserslist: boolean | string | Array\u003cstring\u003e,\n  \n    // Включает или отключает минификацию \n    // По умолчанию отключено \n    // Может принимать объект настроек Terser\n    // false — не минифицировать (по умолчанию)\n    // true — минифицировать с настройками по умолчанию \n    // object — минифицировать с указанными настройками \n    minification: boolean | object,\n  \n    // Включает или отключает преобразование нативных JS классов \n    // По умолчанию значенение параметра выставляется автоматически на основании browserslist\n    transformClasses: boolean,\n  \n    // Включает или отключает создание Source Maps файлов \n    sourceMaps: boolean,\n    \n    // Настройки тестов \n    tests: {\n        // Настройки локализации \n        localization: {\n            // Код языка локализации. По умолчаниию 'en'\n            languageId: string,\n            // Включает или выключает автозагрузку фраз в тестах. По умолчанию включено \n            autoLoad: boolean,\n        },\n    },\n};\n```\n\n\u003ch2 id=\"build\"\u003eСборка\u003c/h2\u003e\n\nДля запуска сборки выполните команду\n```bash\n$ bitrix build\n```\n\u003e Сборщик рекурсивно найдет все файлы `bundle.config.js` и выполнит\nдля каждого конфига сборку и транспиляцию.\n\n### Дополнительные параметры\n\n#### --watch [\\\u003cfileExtension\\\u003e[, ...]], -w=[\\\u003cfileExtension\\\u003e[, ...]]\nРежим отслеживания изменений. Пересобирает бандлы после изменения исходных файлов.\nВ качестве значения можно указать список расширений файлов, в которых нужно отслеживать изменения.\n```bash\n$ bitrix build --watch\n```\nСокращенный вариант \n```bash\n$ bitrix build -w\n```\nВариант с отслеживанием изменений в указанных типах файлов \n```bash\n$ bitrix build -w=defaults,json,mjs,svg\n```\n\u003e `defaults` — набор расширений файлов которые отслеживаются по умолчанию.\nОн равен `js,jsx,vue,css,scss`.\n\n#### --test, -t\nРежим непрерывного тестирования. Тесты запускаются после каждой сборки.\nОбратите внимание, сборка с\u0026nbsp;параметром `--test` выводит в\u0026nbsp;отчете только статус прохождения\nтестов\u0026nbsp;— прошли или не\u0026nbsp;прошли, полный отчет выводит только команда `bitrix test`.\n```bash\n$ bitrix build --test\n```\n\n#### --modules \\\u003cmoduleName\\\u003e[, ...], -m=\\\u003cmoduleName\\\u003e[, ...]\nСборка только указанных модулей. Параметр поддерживается только в\u0026nbsp;корневой с\u0026nbsp;модулями `local/js` и `bitrix/modules`.\nВ\u0026nbsp;значении укажите имена модулей через запятую, например:\n```bash\n$ bitrix build --modules main,ui,landing\n```\n\n#### --path \\\u003cpath\\\u003e, -p=\\\u003cpath\\\u003e\nЗапуск сборки для указанной директории. В\u0026nbsp;значении укажите относительный путь к\u0026nbsp;директории,\nнапример:\n```bash\n$ bitrix build --path ./main/install/js/main/loader\n```\nСокращенный вариант\n```bash\n$ bitrix build -p=./main/install/js/main/loader\n```\n\n#### --extensions \\\u003cextensionName\\\u003e[, ...], -e=\\\u003cextensionName\\\u003e[, ...]\nЗапускает сборку указанных экстеншнов. В качестве значения нужно указать имя экстеншна, \nлибо список имен через запятую. Команду можно запускать из любой директории проекта.\n```bash\n$ bitrix build -e=main.core,ui.buttons,landing.main\n```\n\n\n\u003ch2 id=\"tests\"\u003eЗапуск тестов\u003c/h2\u003e\n```bash\n$ bitrix test\n```   \nКоманда запускает Mocha тесты и\u0026nbsp;выводит подробный отчет о\u0026nbsp;прохождении тестов.\n\u003e Тестами считаются\u0026nbsp;JS файлы, расположенные в\u0026nbsp;директории `./test`,\nотносительно файла `bundle.config.js`. В\u0026nbsp;момент запуска тестов исходный код и\u0026nbsp;код тестов,\nналету обрабатывается сборщиком и\u0026nbsp;после чего выполняется. Поэтому тесты можно писать на\u0026nbsp;ES6+\n\n### Дополнительные параметры\n\n#### --watch [\\\u003cfileExtension\\\u003e[, ...]], -w=[\\\u003cfileExtension\\\u003e[, ...]]\nРежим отслеживания изменений. Запускает тесты после изменения исходных файлов и\u0026nbsp;кода тестов.\nВ качестве значения можно указать список расширений файлов, в которых нужно отслеживать изменения.\n```bash\n$ bitrix test --watch\n```\nСокращенный вариант\n```bash\n$ bitrix test -w\n```\nВариант с отслеживанием изменений в указанных типах файлов\n```bash\n$ bitrix test -w=defaults,json,mjs,svg\n```\n\u003e `defaults` — набор расширений файлов которые отслеживаются по умолчанию.\nОн равен `js,jsx,vue,css,scss`.\n\n#### --modules \\\u003cmoduleName\\\u003e[, ...], -m=\\\u003cmoduleName\\\u003e[, ...]\nТестирование только указанных модулей. Параметр поддерживается только в\nкорневой директории репозитория. В\u0026nbsp;значении укажите имена модулей через запятую,\nнапример:\n```bash\n$ bitrix test --modules main,ui,landing\n```\n\n#### --path \\\u003cpath\\\u003e, -p=\\\u003cpath\\\u003e\nЗапуск тестов для указанной директории. В\u0026nbsp;значении укажите относительный путь к\u0026nbsp;директории,\nнапример:\n```bash\n$ bitrix test --path ./main/install/js/main/loader\n```\nСокращенный вариант \n```bash\n$ bitrix test -p=./main/install/js/main/loader\n```\n\n#### --extensions \\\u003cextensionName\\\u003e[, ...], -e=\\\u003cextensionName\\\u003e[, ...]\nЗапускает тесты в указанных экстеншнах. В качестве значения нужно указать имя экстеншна,\nлибо список имен через запятую. Команду можно запускать из любой директории проекта.\n```bash\n$ bitrix test -e=main.core,ui.buttons,landing.main\n```\n\n\u003ch2 id=\"create\"\u003eСоздание «экстеншна»\u003c/h2\u003e\n\nДля создания «экстеншна»\n1. Перейдите в директорию `local/js/{module}`\n2. Выполните команду `bitrix create`\n3. Ответьте на вопросы мастера\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitrix-tools%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitrix-tools%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitrix-tools%2Fcli/lists"}