本文根据 Devhints / Packs (ruby) 翻译。代码示例及版本范围沿用原文。原文标注更新日期:2024-07-05。
Packs 是一种可扩展打包系统的规范,旨在帮助实现 Ruby 的模块化应用程序。
管理包
创建包
$ bin/packs create packs/pack_name
示例
$ bin/packs create packs/profiles
创建名为……的新包 profiles.
将文件或目录设为公开
$ bin/packs make_public path/to/file.rb
$ bin/packs make_public path/to/directory
将文件或目录 API 设为公开,即允许包外的类调用此逻辑。
示例
$ bin/packs make_public packs/profiles/app/services/create_profile_service.rb
允许外部代码调用该类 CreateProfileService.
此命令主要用于将该文件移动到…… packs/profiles/app/public/create_profile_service.rb
移动包
$ bin/packs move packs/destination_pack path/to/file.rb
$ bin/packs move packs/destination_pack path/to/directory
将文件或目录从一个包移动到另一个包。
$ bin/packs move_to_folder packs/foo path/to/directory
移动 packs/foo 为 path/to/directory 文件夹,其中…… path/to/directory 不包含…… package.yml 文件。
$ bin/packs move_to_parent packs/child_pack packs/parent_pack
设置 packs/child_pack 作为……的子项 packs/parent_pack.
向包添加依赖项
$ bin/packs add_dependency packs/from_pack packs/to_pack
包的有效性
所有包是否有效?
$ bin/packs validate
运行 bin/packwerk validate (在后台执行,检测循环依赖)。
特定包是否有效?
$ bin/packs check packs/pack_name
运行 bin/packwerk check (在后台执行)。
更新 package.yml
$ bin/packs update
运行 bin/packwerk update-todo (在后台执行)。
代码检查 (Lint)
$ bin/packs lint_package_todo_yml_files
代码检查 package_todo.yml 检查文件是否存在格式问题。
$ bin/packs lint_package_yml_files [ packs/my_pack packs/my_other_pack ]
代码检查 package.yml 文件。
$ bin/packs list_top_violations type [ packs/your_pack ]
列出特定类型的 top 违规项,针对…… packs/your_pack.
另请参阅
- 文档 (
packsGitHub 仓库)