$commonSettings
— Общие настройки
Настройки, не имеющие отношение к конкретной задаче и/или имеющие отношение сразу к нескольким задачам могут быть определены в $projectBuilding.$commonSettings
:
$projectBuilding:
$commonSettings:
# Задайте общие настройки здесь в соответствии с данным руководством
$selectiveExecutions
— Выборочные выполнения$publicDirectoriesRelativePaths
— Относительные пути публичных директорий
$selectiveExecutions
— Выборочные выполнения
- Тип
- Объект типа «ассоциативный массив»
- Запрещён ли undefined
- Нет
- Будет ли null рассматриваться наравне с undefined
- Да
- Минимум пар
- 1
- Запрещены ли значения типа undefined
- Да
- Запрещены ли значения типа null
- Да
- Значения ассоциативного массива
Объект типа «ассоциативный массив», с помощью которого осуществляется определение выборочных выполнений.
Через ключи указываются идентификаторы выборочных выполнений.
$projectBuilding:
$commonSettings:
$selectiveExecutions:
StaticPreview:
# Конфигурация выборочного выполнения «StaticPreview» (подробности см. далее)
Application:
# Конфигурация выборочного выполнения «Application» (подробности см. далее)
В соответствии с соглашением об определении настроек, отсуствтие символа $
перед этими ключами означает, что их имя выбрано пользователем и не является зарезервированным ключом в API.
После того, как валидные настройки выборочных выполнений определены , при вызове консольной утилиты yda
через опцию --selectiveExecution
можно указать один из объявленных в файле конфигурации идентификаторов выборочного выполнения, например:
yda build --selectiveExecution Application --mode LOCAL_DEVELOPMENT
Значениями ассоциативного массива $selectiveExecutions
являются объекты, которые должны быть указаны в соответствие с приведёнными ниже правилами.
Настройки каждого выборочного выполнения
- $tasksAndSourceFilesSelection
- Русскоязычное наименование
- Выборка задач и исходных файлов
- Тип
- Объект типа «ассоциативный массив»
- Запрещён ли undefined
- Да
- Запрещён ли null
- Да
- Запрещены ли значения типа undefined
- Да
- Запрещены ли значения типа null
- Да
- Допустимые ключи
- $markupProcessing
- $stylesProcessing
- $ECMA_ScriptLogicProcessing
- $imagesProcessing
- $fontsProcessing
- $audiosProcessing
- $videosProcessing
- $plainCopying
- $browserLiveReloading
- Значения ассоциативного массива
- Тип
- Индексный массив
- Минимум элементов
- 1
- Запрещены ли элементы типа undefined
- Да
- Запрещены ли этементы типа null
- Да
- Элементы массива
- Тип
- string
- Минимум символов
- 1
- $browserLiveReloadingSetupID
- Русскоязычное наименование
- ID пресета автоматической перезагрузки браузера
- Тип
- string
- Запрещён ли undefined
- Нет
- Запрещён ли null
- Да
- $distributablePackageJSON_Generating
- Русскоязычное наименование
- Генерация файла "package.json" для дистрибутива
- Тип
- boolean
- Запрещён ли undefined
- Нет
- Запрещён ли null
- Да
$tasksAndSourceFilesSelection
— выборка задачи и исходных файлов
- Русскоязычное наименование
- Выборка задач и исходных файлов
- Тип
- Объект типа «ассоциативный массив»
- Запрещён ли undefined
- Да
- Запрещён ли null
- Да
- Запрещены ли значения типа undefined
- Да
- Запрещены ли значения типа null
- Да
- Допустимые ключи
- $markupProcessing
- $stylesProcessing
- $ECMA_ScriptLogicProcessing
- $imagesProcessing
- $fontsProcessing
- $audiosProcessing
- $videosProcessing
- $plainCopying
- $browserLiveReloading
- Значения ассоциативного массива
- Тип
- Индексный массив
- Минимум элементов
- 1
- Запрещены ли элементы типа undefined
- Да
- Запрещены ли этементы типа null
- Да
- Элементы массива
- Тип
- string
- Минимум символов
- 1
Объект типа «ассоциативный массив», ключами которого являются названия задач (но не всех, а только упомянутых выше), а значениями — массивы имён групп точек входа (в случае задач обработки исходного кода) или группы ассетов (в случае задач обработки ассетов или простого копирования файлов). При этом, все задачи и группы точек входа или ассетов упомянутые в выборочном выполнении должны быть объявлены в том же файле конфигурации:
$projectBuilding:
$commonSettings:
$selectiveExecutions:
StaticPreview:
$tasksAndSourceFilesSelection:
$markupProcessing: [ StaticPreviewAnywherePage, Pages ]
$stylesProcessing: [ Shared, Layouts, Pages ]
Application:
$tasksAndSourceFilesSelection:
$markupProcessing: [ Pages, MVC_Fragments ]
$stylesProcessing: [ Shared, Layouts, Pages ]
$ECMA_ScriptLogicProcessing: [ Pages, FrontServerEntryPoint, TypeORM_Configuration ]
$markupProcessing: # См. документацию по настройке обработки разметки
$entryPointsGroups:
StaticPreviewAnywherePage: # ...
Pages: # ...
MVC_Fragments: # ...
$stylesProcessing: # См. документацию по настройке обработки стилей
$entryPointsGroups:
Shared: # ...
Layouts: # ...
Pages: # ...
$ECMA_ScriptLogicProcessing: # См. документацию по настройке обработки ECMAScript-логики
$entryPointsGroups:
Pages: # ...
FrontServerEntryPoint: # ...
TypeORM_Configuration: # ...
$browserLiveReloadingSetupID
— ID настроек автоматической перезагрузки вкладки браузера
- Русскоязычное наименование
- ID пресета автоматической перезагрузки браузера
- Тип
- string
- Запрещён ли undefined
- Нет
- Запрещён ли null
- Да
Имеет отношение к функциональности автоматической перезагрузки браузера. API этой функциональности позволяет определить несколько пресетов, при этом каждому из них необходимо задать идентификатор. Тогда, если в конкретном выборочном выполнении затребована функциональность автоматической перезагрузки браузера, то через свойство $browserLiveReloadingSetupID
требуется указать идентификатор нужного пресета:
$projectBuilding:
$commonSettings:
$selectiveExecutions:
StaticPreview:
$tasksAndSourceFilesSelection:
# См. выше
$browserLiveReloadingSetupID: StaticPreview
Application:
$tasksAndSourceFilesSelection:
# См. выше
$browserLiveReloadingSetupID: Application
$browserLiveReloading:
$setups:
StaticPreview:
# См. документацию по настройке автоматической перезагрузки браузера
Application:
# См. документацию по настройке автоматической перезагрузки браузера
$distributablePackageJSON_Generating
— Генерация файла «package.json» для дистрибутива
- Русскоязычное наименование
- Генерация файла "package.json" для дистрибутива
- Тип
- boolean
- Запрещён ли undefined
- Нет
- Запрещён ли null
- Да
Имеет отношение к функциональности генерации package.json для дистрибутива. Данный булевский флаг устанавливает, нужно ли для данного выборочного выполнения генерировать package.json, хотя если если не нужно, то можно просто не указывать эту опцию. Если же этот флаг установлен в значение true
, то необходимо определить настройки одноимённой группы $distributablePackageJSON_Generating
:
$projectBuilding:
$commonSettings:
$selectiveExecutions:
Application:
$distributablePackageJSON_Generating: true
$distributablePackageJSON_Generating:
# См. документацию по настройки выходного файла package.json
$publicDirectoriesRelativePaths
— Относительные пути публичных директорий
- Тип
- Объект типа «ассоциативный массив»
- Запрещён ли undefined
- Нет
- Будет ли null рассматриваться наравне с undefined
- Да
- Запрещены ли значения типа undefined
- Да
- Запрещены ли значения типа null
- Да
- Допустимые ключи
- $localDevelopment
- $testing
- $staging
- $production
- Значения ассоциативного массива
- Тип
- string
- Минимум символов
- 1
Имеет отношение к функциональности вычисления указателей на ресурсы. Для того, чтобы вычислить укороченный абсолютный путь (невозможно для режима сборки статического превью в силу его концепции), необходимо указать, какой директории соответствует корень укороченного абсолютного пути. Эту директорию необходимо указать в виде пути, относительного уже директории проекта:
$projectBuilding:
$commonSettings:
$publicDirectoriesRelativePaths:
$localDevelopment: 03-LocalDevelopmentBuild/public
$staging: 04-StagingBuild/public
$production: 05-ProductionBuild/public