app scaffold
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user