Expand description
Команда light init: создание скелета нового проекта Light.
Модуль генерирует минимальный проект: Cargo.toml с зависимостью light-fw,
самодостаточный src/main.rs (окно с текстом «Hello, Light!»), .gitignore
и light.lock. Внешние эффекты (проверка cargo) идут через трейт
CommandRunner, поэтому логика тестируется без запуска процессов.
Structs§
- Init
Options - Параметры команды
light init. - Init
Plan - Что будет создано (результат
plan). - Init
Report - Итог создания проекта.
Enums§
- Init
Component - Дополнительный компонент, подключаемый флагом
--with. - Init
Template - Готовый пример, который
light init --templateкладёт в новый проект.
Constants§
- CARGO_
CONFIG - Алиасы
cargo dev/cargo prod: отладочный режим (DevTools) и релиз. - GITIGNORE
- Содержимое
.gitignoreнового проекта. - LIGHT_
CONFIG - Конфигурация
light.config.json: профилиdev(DevTools на 9229, debug) иprod(DevTools выключен, error). - LIGHT_
DEPENDENCY_ VERSION - Версия мета-крейта
light-fw, которую прописываетlight init.
Functions§
- apply
- Полный цикл: проверка
cargo→ план → запись файлов →light.lock. - cargo_
toml - Содержимое
Cargo.tomlдля нового проекта: зависимостиlight-fw, компоненты и фичаdev-mode(алиасlight-fw/dev-mode). - main_rs
- Содержимое
src/main.rs— минимальное приложение с HTML-шаблоном (templates/app.html) и пустой прокси-структурой. - minor_
version - Minor-диапазон версии (
major.minor), используемый вCargo.tomlнового проекта: пользователь всегда получает latestmajor.minor.x, не привязываясь к конкретному yanked-патчу. - plan
- Строит план создания проекта, проверяя, что каталог свободен.
- project_
dir - Целевой каталог проекта из параметров.
- require_
cargo - Проверяет, что
cargoдоступен вPATH. - scaffold
- Записывает файлы плана на диск, создавая каталоги по мере необходимости.
- validate_
name - Проверяет, что
name— допустимое имя крейта.