70 lines
2.7 KiB
YAML
70 lines
2.7 KiB
YAML
# 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
|