Описание технических средств хранения и компиляции ПО “Сервис видеоконсультаций Voda”
1. Описание технических средств хранения исходного текста и объектного кода программного обеспечения, а также технических средств компиляции исходного текста в объектный код программного обеспечения
1.1. Место хранения исходного текста
Исходный текст программного обеспечения (ПО) хранится в системе управления версиями Git. Основным хранилищем являются приватные репозитории в облачном сервисе Gitflic. Структура хранения включает:
- Основной проект (бэкенд и базовый фронтенд).
- Внешние модули, подключенные как Git-подмодули (submodules).
1.2. Языки программирования и среда выполнения
- Языки программирования: JavaScript (ES5/ES6+), TypeScript.
- Среда выполнения (Runtime): Node.js. ПО разработано для исполнения в среде интерпретатора, что не предполагает классическую компиляцию в бинарный объектный код.
1.3. Процесс транспиляции и сборки
Хотя классическая компиляция отсутствует, в проекте применяются процессы транспиляции и сборки для подготовки исходного текста к исполнению.
Бэкенд: Код на TypeScript транспилируется в JavaScript для обеспечения совместимости со средой выполнения Node.js.
Фронтенд (Основной бэкофис): Для сборки фронтенда используется Webpack совместно с Babel.
- Инструментарий: Webpack запускает babel и осуществляет выборочное копирование с помощью плагина
CopyWebpackPluginфайлов из директории исходников в директорию дистрибутива. - Транспиляция: Babel обеспечивает преобразование современного JavaScript кода в формат, совместимый с широким спектром браузеров.
- Параметры Babel:
- Пресеты:
@babel/preset-env. - Целевые платформы (Targets): Edge 17, Firefox 60, Chrome 67, Safari 11.1, IE 11.
- Плагины:
@babel/plugin-transform-async-to-generator,@babel/plugin-transform-modules-commonjs,@babel/plugin-syntax-dynamic-import.
- Пресеты:
Фронтенд (React-подмодули): Модули, расположенные по путям:
public_src/welcome/modulepublic_src/vspublic_src/html/frames/frame_consultation/module
написаны на фреймворке React. Они ведутся как отдельные проекты и используют стандартный механизм сборки React (вызывается через команду npm run build в соответствующих директориях), который также базируется на Webpack и Babel.
1.4. Технические средства обеспечения разработки и сборки
Для хранения, сборки и развертывания ПО используются следующие технические средства:
- Gitflic: Облачный сервис для хостинга репозиториев и управления версиями.
- Серверное окружение: Операционные системы семейства Linux.
- Инструментарий ОС: Стандартные средства работы с Git, среда выполнения Node.js и менеджер пакетов npm.