@htmlacademy/courses-config
v1.1.18
Published
Конфигурация для остальных репозиториев
Downloads
14
Readme
Дополняемая конфигурация проекта для модулей courses-*
В репозиторий вынесено содержимое конфигурации
из courses-core
.
Основная цель — использовать конфигурацию с дополнениями, взятыми из произвольного файла так, чтобы облегчить доступ к конфигурации из любого места в скрипте.
Для передачи части конфигурации, перекрывающей основную, можно использовать один из способов:
- Для скриптов, запускаемых из командной строки достаточно передать ключ
--config-path=path/to/config.js
. При этом симпортированный из файла конфиг будет объединён с конфигурацией по умолчанию. - Если необходимо использовать конфигурацию из кода, нужно получить функцию по
require('@htmlacademy/courses-config/config')
. В полученную функцию передать в качестве единственного аргумента часть конфигурации, которую нужно перекрыть.
Что для чего нужно
express
serve
— как скрипты взаимодействуют с серверомprotocol
,host
,port
— описывают url, по которому доступен девсерверroutes
— пути к страницам на девсервереcourses
— путь к списку курсовcourse
— путь к списку заданий курса. Параметр:courseId
соответствует айдишнику курсаtask
— путь к заданию. Параметр:courseId
соответствует айдишнику курса,:taskId
— айдишнику заданияcheck
— используется, чтобы указать путь, на который отправляются проверки. Если ключ не указан, проверки отправляются на путь, указанный вtask
. Параметры те же, что и вtask
taskLoader
types
— каталог с файлами-описаниями набора исходных данных для заданийcourses
— каталог с содержимым курсов
serve
— отвечает за отображение курсовlang
(en|ru) — был добавлен для использования в переводе интерфейса на английский язык. Пока не используетсяtemplates
,metadata
— содержат информацию и шаблоны для отображения страниц девсервераassets
— каталог, в котором лежат стили, шрифты и картинкиcacheTemplates
— этот флаг по умолчанию равенtrue
. Если необходимо редактировать шаблоны и перерисовывать страницы, не перезапуская девсервер, этот флаг нужно сбросить вfalse
bin
— раньше содержал пути кphantomjs
иcompare
, теперь содержит только один путь:compare
— путь к утилитеcompare
. По умолчанию содержит/usr/bin/compare
checks
— содержал информацию о скриптах, исполняемых во время серверных проверокbaseDir
— базовый каталог, в который будут складываться результаты проверокbaseUrl
— базовый путь по которому будут получены результаты проверок
timeout
— время в миллисекундах на различные задержкиtimerDefault
— время по умолчанию для интерфейсного таймераupdateCode
— время, через которое перерисуется previewautosaveCode
— время, через которое автосохранится кодvelocity
— время перехода между предыдущим и новым состоянием вкладки «разница» в html-css испытанииpoll
— время опроса сервера по умолчаниюtask
— время, за которое должно посчитаться заданиеchallenge
— время, за которое должно посчитаться испытание
scripts
— содержит настройки для использования экспериментальных фич вcourses-scripts
statistics
— собирать и отправлять статистику использования заданий
FAQ
В модуле используется es6. Как тогда получается использовать его в courses-scripts?
Webpack-овский loader вычисляет конфигурацию, как javascript-объект и вставляет его как JSON.stringify()
. Таким образом courses-scripts
видит только данные и никакого es6.
Как использовать конфигурацию из других модулей?
const customConfig = /** Загружаем из файла в другом модуле */
const getConfig = require(`@htmlacademy/courses-config/config`);
const config = getConfig(customConfig);