Files
2026-08-17 15:29:55 +08:00

70 lines
2.7 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Conti Retail App —— 根工程(Pub Workspace + Melos
#
# 约定来源:conti-docs/01-project-structure.md
# 注意:Melos 8 不再使用独立的 melos.yaml,配置全部内联在本文件的 melos: 段。
# 每个子包必须写 resolution: workspace,否则不会被纳入统一解析。
name: conti_retail_app
publish_to: none
environment:
sdk: ^3.12.0
# ---------------------------------------------------------------------------
# 工作区成员。新增包时必须同步加到这里,否则 melos bootstrap 看不到它。
# 依赖方向规则(01 依赖约束,编译期强制):
# feature_* → core_* / native_* feature 之间禁止互相依赖)
# core_* → native_* / core_foundation core_* 之间仅允许下列三条例外)
# core_network → core_auth
# core_router → core_auth
# core_webview → core_auth
# native_* → 只依赖 Flutter SDK 和 Pigeon 产物,不依赖仓库内任何包
# ---------------------------------------------------------------------------
workspace:
- app
- packages/core_foundation
- packages/core_logging
- packages/core_analytics
- packages/core_storage
- packages/core_auth
- packages/core_network
- packages/core_ui
- packages/core_router
- packages/core_webview
- packages/feature_auth
- packages/feature_home
- packages/native_scan
- packages/native_scan/example
dev_dependencies:
melos: ^8.2.2
melos:
scripts:
analyze:
description: 静态分析。--fatal-infos 不可去掉,否则 info 级别的 lint 等于没配。
run: melos exec --fail-fast -- flutter analyze --fatal-infos
format:
description: 校验格式(page_width 由根 analysis_options.yaml 的 formatter 段控制)。
run: melos exec -- dart format --set-exit-if-changed .
test:
description: 跑所有带 test/ 目录的包。
run: melos exec --dir-exists=test --fail-fast -- flutter test --coverage
coverage:
description: 合并各包 lcov 并检查 60% 门禁。
run: dart pub global run coverde value -i coverage/lcov.info --min-coverage 60
gen:
description: 代码生成(riverpod / drift / json_serializable)。
run: melos exec --depends-on=build_runner -- dart run build_runner build --delete-conflicting-outputs
gen:watch:
description: 开发期常驻的增量代码生成。
run: melos exec --depends-on=build_runner -- dart run build_runner watch --delete-conflicting-outputs
gen:pigeon:
description: 生成 native_* 的跨语言接口。产物必须提交到 git。
run: melos exec --scope="native_*" -- dart run pigeon --input pigeons/scan_api.dart