Сделать React приложение, которое позволит просматривать содержимое git репозиториев.
npm install
cp .env.example .env
npm start
Сервер будет доступен по адресу http://localhost:7777/
npm run build
Сервер состоит из набора middleware.
Часть middleware отвечают за SSR:
prepareState
- Подготавливает данные для отрисовки приложения на сервере (SSR).clientAssets
- Подготавливает ссылки на.js
и.css
файлы, для последующего подключения на страницу (SSR).renderPage
- Отрисовывает приложение (с помощьюrenderToStaticMarkup
) в строку, и отправляет клиенту (SSR).
Другие обрабатывают ajax запросы:
routeApi
- Отдает данные для определенного url. Это те же данные, с которыми страница отрисовывается на сервере.standaloneApi
- API для одиночных запросов, которые не связаны с роутингом и SSR.
Еще есть dataSource
- функции для получения данных от обертки над утилитой git
.
И непосредственно сама обертка над утилитой git
, находится в файле server/lig/git.ts
.
npm test
Перед запуском тестов нужно установить и запустить selenium:
npm install selenium-standalone@latest -g
selenium-standalone install
selenium-standalone start
Нужно инициализировать подмодули git с тестовыми репозиториями,
они будут склонированы в директорию ./tests/e2e/repos
:
git submodule init
git submodule update
Еще нужно запустить само приложение, которое будем тестировать.
Тесты полагаются, что сервер будет раздавать репозитории из папки ./tests/e2e/repos
:
REPOS_DIR=./tests/e2e/repos npm start
Запускаем тесты (hermione):
npm run e2e