Skip to content

[Improve]: internal_xxx パッケージのバレルファイルをやめる #578#583

Merged
blendthink merged 10 commits into
mainfrom
refactor/GH-578/remove-internal-barrel-files
Sep 4, 2025
Merged

[Improve]: internal_xxx パッケージのバレルファイルをやめる #578#583
blendthink merged 10 commits into
mainfrom
refactor/GH-578/remove-internal-barrel-files

Conversation

@blendthink
Copy link
Copy Markdown
Contributor

@blendthink blendthink commented Sep 1, 2025

概要

internal_xxx パッケージ内に作成されるものは基本的に外部へ公開することになるが、バレルファイルだと export の記載漏れが発生してしまうことが多々あったため、バレルファイルをやめ、構造を src/xxx/xxx.dart ではなく、xxx/xxx.dart に変更しました。

また、domain_modelパッケージについては集約ルートパターンに従い、機能ごとにディレクトリを分けて整理しました。

レビュー観点

  • バレルファイルの削除により、exportの記載漏れが防げるようになったか
  • 各パッケージのimport文が適切に更新されているか
  • domain_modelパッケージの集約ルート構造が適切か
  • 不要なテンプレートファイル(_base.dart、_test.dart)が適切に削除されているか

レビューレベル

  • Lv1: ぱっとみて違和感がないかチェックして Approve する

レビュー優先度

  • 数日以内で見てもらいたい 🐢

画像 / 動画

  • 見た目に関する変更がないため省略します。

確認したこと

  • melos bs が正常に実行されること
  • dart analyze でエラーが発生しないこと
  • 各パッケージのimport文が適切に更新されていること
  • 不要なファイルが適切に削除されていること

動作確認手順

  1. melos bs を実行してパッケージの依存関係が正常に解決されることを確認
  2. dart analyze を実行してコード解析エラーが発生しないことを確認
  3. 各パッケージのimport文が新しい構造に合わせて更新されていることを確認
UI Catalog App GitHub App
スクリーンショット 2025-09-01 15 21 54 simulator_screenshot_EE11DAAA-E43B-44C7-8299-E4C81E0D8B8D スクリーンショット 2025-09-01 15 23 30

備考

  • 各パッケージごとに個別にコミットしており、段階的に変更を進めました
  • domain_modelパッケージについては、集約ルートパターンに従い機能ごとにディレクトリを分けました
  • design_uiパッケージのassets.gen.dartについては、common_assets.dartで別名をつけて外部に公開するため、srcディレクトリに配置して直接公開を防いでいます
  • domain_modelパッケージのbuild.yamlをlib/**.dartに設定し、集約ルートが増えてもbuild.yamlの更新が不要になるよう柔軟な設定にしました

- internal_application.dartバレルファイルを削除
- src/operational_settingsをlib/operational_settingsに移動
- src/operational_settingsをtest/operational_settingsに移動
- 不要なinternal_application_base.dartとinternal_application_test.dartを削除
- 依存ファイルのimport文を更新
- internal_infrastructure.dartバレルファイルを削除
- src/operational_settingsをlib/operational_settingsに移動
- src/shared_preferencesをlib/shared_preferencesに移動
- src/theme_settingをlib/theme_settingに移動
- 不要なinternal_infrastructure_base.dartとinternal_infrastructure_test.dartを削除
- 依存ファイルのimport文を更新
- internal_domain_logic.dartバレルファイルを削除
- src/operational_settingsをlib/operational_settingsに移動
- src/theme_settingをlib/theme_settingに移動
- 不要なinternal_domain_logic_base.dartとinternal_domain_logic_test.dartを削除
- 依存ファイルのimport文を更新
- internal_domain_model.dartバレルファイルを削除
- src/内のファイルをlib/直下に移動
- 依存ファイルのimport文を更新
- 不要なimport文を削除し、import順序を修正
- components.dartバレルファイルを削除
- src/componentsをlib/componentsに移動
- src/genをlib/genに移動
- 不要なinternal_design_ui_base.dartとinternal_design_ui_test.dartを削除
- 依存ファイルのimport文を更新
- gen/assets/assets.gen.dartをsrc/gen/assets/assets.gen.dartに移動
- common_assets.dartのimport文を更新
- 外部に直接公開されないようにsrcディレクトリに配置
- operational_settings/ディレクトリを作成し、運用設定関連のモデルを配置
- theme_setting/ディレクトリを作成し、テーマ設定関連のモデルを配置
- 各ファイルのimport文を新しいディレクトリ構造に合わせて更新
- 集約ルートパターンに従った構造に変更
- lib/**.dartを対象にして、集約ルートが増えてもbuild.yamlの更新が不要に
- 階層が深くなっても対応できる柔軟な設定に変更
@github-actions github-actions Bot added @apps/app Application development @apps/catalog Catalog development @packages/samples/github_repository @packages/application packages application package @packages/design_ui packages design_ui package @packages/domain_logic packages domain_logic package @packages/domain_model packages domain_model package @packages/infrastructure packages infrastructure package labels Sep 1, 2025
@yumemi-team-review-requester yumemi-team-review-requester Bot requested review from a team, fa0311 and r0227n and removed request for a team September 1, 2025 06:21
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 1, 2025

Ready for review 🚀

@blendthink blendthink requested review from morikann and trm11tkr and removed request for fa0311 and r0227n September 1, 2025 06:21
@blendthink blendthink enabled auto-merge September 1, 2025 06:33
@blendthink blendthink marked this pull request as draft September 3, 2025 07:05
auto-merge was automatically disabled September 3, 2025 07:05

Pull request was converted to draft

@blendthink
Copy link
Copy Markdown
Contributor Author

コンフリクト発生してしまっているようなので、いったんドラフトに変更しました 🙏

# Conflicts:
#	apps/app/lib/main.dart
#	apps/app/lib/presentation/ui/setting/setting_page.dart
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 3, 2025

⚠️ Rebase or force-push detected in this push
以下のコミットが非線形な履歴となっており、rebase または強制 push の可能性があります:

  • 0500836 (refactor: Use GlobalMaterialLocalizations.delegates)
  • d4b056b (chore: Remove unnecessary configuration.)
  • f6c1950 (chore: Format)
  • a3f9ceb (chore: Do not generate timestamp.)
  • 1023143 (chore: Update LOCALIZATION.md)
  • e5c81f0 (chore: Update .gitattributes and melos commands for slang)
  • e0c7667 (chore: Remove unnecessary files.)
  • 0c84d88 (chore: Add localization configure to info.plist)
  • 727812c (chore: Replace localized texts with oen generated by slang)
  • 59194f3 (chore: Define localized texts.)
  • 9b9ddda (chore: Add melos command to execute slang builder.)
  • 84ceedc (chore: Configure slang.yaml)
  • 663b2e0 (feat: Introduce slang)

@blendthink blendthink marked this pull request as ready for review September 3, 2025 07:14
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 3, 2025

Ready for review 🚀

@blendthink
Copy link
Copy Markdown
Contributor Author

コンフリクト発生したためドラフトにします 🙏

@blendthink blendthink marked this pull request as draft September 4, 2025 03:02
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 4, 2025

⚠️ Rebase or force-push detected in this push
以下のコミットが非線形な履歴となっており、rebase または強制 push の可能性があります:

  • 43d7270 (chore: yumemi_lints パッケージを更新)
  • 66f3b94 (chore: talker 系パッケージを更新)
  • 7ff4669 (chore: format)
  • d6dadd8 (chore: widgetbook term を辞書に追加)
  • f2dab61 (chore: deviceFrameAddon を viewportAddon を置き換え)
  • 413112c (chore: freezed の設定追加)
  • fdef3fc (chore: go_router の新しい書き方に移行)
  • d11703f (chore: go_router 関連のパッケージを更新)
  • f4c3b18 (chore: melso run gen を実行)
  • 909d822 (chore: flutter_gen_runner パッケージを更新)
  • d97e45b (chore: melos run gen を実行)
  • 00e6526 (chore: widgetbook 関連のパッケージを更新)
  • 26ce762 (chore: melos run gen を実行)
  • 8b2e4a5 (chore: freezed, freezed_annotation パッケージを更新)
  • afadfbd (chore: build_runner パッケージの更新)
  • c4b47e2 (chore: custom_lint パッケージのバージョンを更新)
  • d16f455 (chore: flutter_launcher_icons パッケージのバージョンを更新)
  • 34eb241 (chore: flutter_hooks パッケージのバージョンを更新)
  • f375c0e (chore: package_info_plus パッケージのバージョンを更新)
  • 48dea26 (chore: dio パッケージのバージョンを更新)
  • fdceb61 (chore(debug): dio パッケージを削除)

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 4, 2025

Ready for review 🚀

Copy link
Copy Markdown
Contributor Author

@blendthink blendthink left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

memo-badge
packages/design_ui 配下は特殊な構成でまとめて export したほうが使いやすいと判断してバレルファイルは残してあります。

https://github.com/yumemi-inc/flutter-mobile-project-template/tree/refactor/GH-578/remove-internal-barrel-files/packages/design_theme/lib

@blendthink blendthink enabled auto-merge September 4, 2025 03:49
Copy link
Copy Markdown
Contributor

@morikann morikann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

memo-badge
debug パッケージは exceptionGeneratorApiProvider を外部公開したくないため、バレルファイルのままになっている認識です。

LGTM です!ご対応ありがとうございます!

@blendthink blendthink added this pull request to the merge queue Sep 4, 2025
Merged via the queue into main with commit 590a6a2 Sep 4, 2025
19 checks passed
@blendthink blendthink deleted the refactor/GH-578/remove-internal-barrel-files branch September 4, 2025 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

@apps/app Application development @apps/catalog Catalog development @packages/application packages application package @packages/design_ui packages design_ui package @packages/domain_logic packages domain_logic package @packages/domain_model packages domain_model package @packages/infrastructure packages infrastructure package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Improve]: internal_xxx パッケージのバレルファイルをやめる

2 participants