feat(proj): init

This commit is contained in:
vl.arkhangelskii
2026-09-21 04:06:43 +03:00
commit c956b94983
1076 changed files with 50876 additions and 0 deletions
@@ -0,0 +1,22 @@
# 2026-09-20 — API URL мобильного приложения из `.env`
## Запрос
Задавать `ApiBaseUrl` через переменные `.env`, а не флагом `run.ps1`.
## Решение
Конфиг читается из `mobile/.env` и уходит во Flutter как
`--dart-define-from-file` — без `flutter_dotenv` в ассетах (иначе gitignored
`.env` ломал бы CI: asset обязан существовать в момент сборки).
Порядок в `AppConfig.fromEnvironment`:
1. `--dart-define` (в т.ч. из файла)
2. явно переданная map (тесты)
3. пустой URL → демо-режим
`run.ps1`: если `.env` нет — копирует `.env.example`. `-ApiBaseUrl` / `-WebUrl`
остались как разовый override поверх файла. Скрипт сохранён в UTF-8 с BOM и
без вложенных кавычек — иначе PowerShell 5.1 на Windows-1251 сыпется
`TerminatorExpectedAtEndOfString`.
Ключи: `PPM_API_BASE_URL`, `PPM_WEB_URL`, `PPM_DEMO`.
Локальный `.env` в gitignore (есть и в корневом).