@bitrix/cli
@bitrix/cliΒ β ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΠΈΡΡΠΈΠΊΡ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»ΡΒ β ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΈΒ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π°Β Β«ΠΠΈΡΡΠΈΠΊΡ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π‘Π°ΠΉΡΠΎΠΌΒ» ΠΈΒ Β«ΠΠΈΡΡΠΈΠΊΡ24Β».
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
- ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
- Π‘Π±ΠΎΡΠΊΠ°
- ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ²
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΡΡΠ΅Π½ΡΠ½Π°
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
@bitrix/cliΒ β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
-
bitrix build
Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΈΒ ΡΡΠ°Π½ΡΠΏΠΈΠ»ΡΡΠΈΠΈ ES6+ ΠΊΠΎΠ΄Π° -
bitrix test
Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Mocha ΡΠ΅ΡΡΠΎΠ² -
bitrix create
Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Β«ΡΠΊΡΡΠ΅Π½ΡΠ½Π°Β»
ΠΒ ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ,
@bitrix/cli
ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΒ Β«ΡΠΊΡΡΠ΅Π½ΡΠ½Π°ΠΌΠΈΒ», ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΡΠ°ΠΉΡΠ° ΠΈΒ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
NPM
$ npm install -g @bitrix/cli
YARN
$ yarn global add @bitrix/cli
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
module.exports = {
input: './app.js',
output: './dist/app.bundle.js',
};
ΠΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
module.exports = {
// Π€Π°ΠΉΠ» Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ.
// ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ
input: string,
// ΠΡΡΡ ΠΊ Π±Π°Π½Π΄Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ
// ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ./dist/<extension_name>.bundle.js
// ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ
output: string || {js: string, css: string},
// ΠΠ΅ΠΉΠΌΡΠΏΠ΅ΠΉΡ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π²ΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² input
// ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ 'BX.Main.Filter'
namespace: string,
// Π‘ΠΏΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
// Π€Π°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π±Π΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π½Π° Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
// sourcemap's ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
// ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ
concat: {
js: Array<string>,
css: Array<string>,
},
// Π Π°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΡΠ±ΠΎΡΡΠΈΠΊΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ config.php
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true (ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ)
adjustConfigPhp: boolean,
// Π Π°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΡΠ±ΠΎΡΡΠΈΠΊΡ ΡΠ΄Π°Π»ΡΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄.
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true (Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ).
treeshake: boolean,
// Π Π°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π±Π°Π½Π΄Π»Ρ
// Π΅ΡΠ»ΠΈ ΡΠ±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΡΠ΅Π½Π° Π½Π΅ Π² ΠΊΠΎΡΠ½Π΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΊΡΡΠ΅Π½ΡΠ½Π°
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ `false` (ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ)
'protected': boolean,
plugins: {
// ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Babel.
// ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Babel
// https://babeljs.io/docs/en/options
// ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ false, ΡΠΎ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΡΠ°Π½ Π±Π΅Π· ΡΡΠ°Π½ΡΠΏΠΈΠ»ΡΡΠΈΠΈ
babel: boolean | Object,
// ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Rollup,
// ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Π±Π°Π½Π΄Π»ΠΎΠ²
custom: Array<string | Function>,
},
// ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΡΠ΅ΠΉ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ Π² CSS
// ΠΠΎΡΡΡΠΏΠ½ΠΎ Ρ Π²Π΅ΡΡΠΈΠΈ 3.0.0
cssImages: {
// ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ
// 'inline' β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΈΠ½Π»Π°ΠΉΠ½
// 'copy' β ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ 'output'
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 'inline'.
type: 'inline' | 'copy',
// ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
output: string,
// ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠ±, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² ΠΈΠ½Π»Π°ΠΉΠ½
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 14ΠΊΠ±
maxSize: number,
// ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈ svgo Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ svg
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true
svgo: boolean,
},
resolveFilesImport: {
// ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
output: string,
// ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΡΠΈΠΏΡ ΡΠ°ΠΉΠ»ΠΎΠ²
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ['**/*.svg', '**/*.png', '**/*.jpg', '**/*.gif']
// https://github.com/isaacs/minimatch
include: Array<string>,
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ []
exclude: Array<string>,
},
// ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° Browserslist
// false β Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)
// true β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» .browserslist / .browserslistrc
browserslist: boolean | string | Array<string>,
// ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ
// ΠΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Terser
// false β Π½Π΅ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)
// true β ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
// object β ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ
minification: boolean | object,
// ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ²Π½ΡΡ
JS ΠΊΠ»Π°ΡΡΠΎΠ²
// ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ browserslist
transformClasses: boolean,
// ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Source Maps ΡΠ°ΠΉΠ»ΠΎΠ²
sourceMaps: boolean,
// ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²
tests: {
// ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
localization: {
// ΠΠΎΠ΄ ΡΠ·ΡΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΠΈΡ 'en'
languageId: string,
// ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ ΡΡΠ°Π· Π² ΡΠ΅ΡΡΠ°Ρ
. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ
autoLoad: boolean,
},
},
};
Π‘Π±ΠΎΡΠΊΠ°
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
$ bitrix build
Π‘Π±ΠΎΡΡΠΈΠΊ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π½Π°ΠΉΠ΄Π΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
bundle.config.js
ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π° ΡΠ±ΠΎΡΠΊΡ ΠΈ ΡΡΠ°Π½ΡΠΏΠΈΠ»ΡΡΠΈΡ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
--watch [<fileExtension>[, ...]], -w=[<fileExtension>[, ...]]
Π Π΅ΠΆΠΈΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ΅ΡΠ΅ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π±Π°Π½Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
$ bitrix build --watch
Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ
$ bitrix build -w
ΠΠ°ΡΠΈΠ°Π½Ρ Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΈΠΏΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²
$ bitrix build -w=defaults,json,mjs,svg
defaults
β Π½Π°Π±ΠΎΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ½ ΡΠ°Π²Π΅Π½js,jsx,vue,css,scss
.
--test, -t
Π Π΅ΠΆΠΈΠΌ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π’Π΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ±ΠΎΡΠΊΠ° ΡΒ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ --test
Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²Β ΠΎΡΡΠ΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΡΡ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ
ΡΠ΅ΡΡΠΎΠ²Β β ΠΏΡΠΎΡΠ»ΠΈ ΠΈΠ»ΠΈ Π½Π΅Β ΠΏΡΠΎΡΠ»ΠΈ, ΠΏΠΎΠ»Π½ΡΠΉ ΠΎΡΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° bitrix test
.
$ bitrix build --test
--modules <moduleName>[, ...], -m=<moduleName>[, ...]
Π‘Π±ΠΎΡΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Β ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΒ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ local/js
ΠΈ bitrix/modules
.
ΠΒ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
$ bitrix build --modules main,ui,landing
--path <path>, -p=<path>
ΠΠ°ΠΏΡΡΠΊ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΒ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊΒ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
$ bitrix build --path ./main/install/js/main/loader
Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ
$ bitrix build -p=./main/install/js/main/loader
--extensions <extensionName>[, ...], -e=<extensionName>[, ...]
ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ±ΠΎΡΠΊΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠ². Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΡΠΊΡΡΠ΅Π½ΡΠ½Π°, Π»ΠΈΠ±ΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
$ bitrix build -e=main.core,ui.buttons,landing.main
```bash $ bitrix test ``` ΠΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Mocha ΡΠ΅ΡΡΡ ΠΈΒ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΎΡΡΠ΅Ρ ΠΎΒ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΠ΅ΡΡΠΎΠ². > Π’Π΅ΡΡΠ°ΠΌΠΈ ΡΡΠΈΡΠ°ΡΡΡΡΒ JS ΡΠ°ΠΉΠ»Ρ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²Β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ `./test`, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΉΠ»Π° `bundle.config.js`. ΠΒ ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΡΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΒ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΠΎΠ², Π½Π°Π»Π΅ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΈΒ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π½Π°Β ES6+ ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ²
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
--watch [<fileExtension>[, ...]], -w=[<fileExtension>[, ...]]
Π Π΅ΠΆΠΈΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΒ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΡΠΎΠ². Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
$ bitrix test --watch
Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ
$ bitrix test -w
ΠΠ°ΡΠΈΠ°Π½Ρ Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΈΠΏΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²
$ bitrix test -w=defaults,json,mjs,svg
defaults
β Π½Π°Π±ΠΎΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ½ ΡΠ°Π²Π΅Π½js,jsx,vue,css,scss
.
--modules <moduleName>[, ...], -m=<moduleName>[, ...]
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΒ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
$ bitrix test --modules main,ui,landing
--path <path>, -p=<path>
ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΒ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊΒ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
$ bitrix test --path ./main/install/js/main/loader
Π‘ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ
$ bitrix test -p=./main/install/js/main/loader
--extensions <extensionName>[, ...], -e=<extensionName>[, ...]
ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΊΡΡΠ΅Π½ΡΠ½Π°Ρ . Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΡΠΊΡΡΠ΅Π½ΡΠ½Π°, Π»ΠΈΠ±ΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
$ bitrix test -e=main.core,ui.buttons,landing.main
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Β«ΡΠΊΡΡΠ΅Π½ΡΠ½Π°Β»
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Β«ΡΠΊΡΡΠ΅Π½ΡΠ½Π°Β»
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
local/js/{module}
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
bitrix create
- ΠΡΠ²Π΅ΡΡΡΠ΅ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ ΠΌΠ°ΡΡΠ΅ΡΠ°