コントリビュート.
DXPR Builderの開発はGitHub上の github.com/dxpr/dxpr_builderで行われています。すべてのコントリビューションは、リポジトリの CONTRIBUTING.mdに記載されたワークフローに従います。
Gitワークフロー
- すべてのプルリクエストはGitHubのIssueにリンクしなければなりません
- ブランチの命名規則:
person/target-branch/#issue-description(例:jur/3.x/#42-fix-carousel-autoplay) - アトミックなコミットの作成には次のスタイルガイドに従います: alphagov Gitスタイルガイド
- プルリクエストには解決策の簡単な説明を含めます
- 変更はIssueの範囲内に収めます。無関係な フォーマット変更やリファクタリングは含めません
コードオーナー
@jjroelofsがコードオーナーです。レビューなしにプルリクエストをマージすることはできません。
コーディング規約
- PHP: Drupalコーディング規約
- JavaScript: ES6+のみ(新規コードでは
varやjQueryは使用しません)。プロジェクト固有の例外を加えたAirbnb JavaScriptコーディング規約に従います - CSS: カスタムプロパティとトークンの命名についてはデザインシステムに従います
- エレメントの
showedメソッドの変更には、更新後のdxpr_frontend.jsを含めます。コンテナの保存 ボタンをクリックしたときにエディターがブラウザーコンソールに出力する完全な出力から生成します。 - 新機能にはQA Analyticsのカバレッジが必要です。
クローン後は最初にnpm installを実行します。Huskyの
pre-commitフックがインストールされ、ステージされたファイルがリントされます。詳しくは
テストをご覧ください。
E2Eテストの実行
テストはPRコメントのスラッシュコマンドで実行します。
| コマンド | 説明 |
|---|---|
/e2e |
BS5エディターと匿名ユーザーのスイート一式を実行します |
/e2e groups=group-name |
特定のテストグループを実行します |
/e2e tests=ClassName |
特定のテストクラスを実行します |
/e2e-bs3 |
BS3エディタースイートを実行します |
/e2eV2 |
DXPR CMSスタック上でBS5スイートを実行します |
/e2e maven_ref=branch |
カスタムのdxpr_mavenブランチでテストします |
ビルダーの変更にテストの変更が必要な場合、QAエンジニアが
ブランチ上でdxpr_mavenを更新し、プルリクエスト上で/e2e maven_ref=<branch>を実行します。ビルダーのプルリクエストが先にマージされ、その後に
dxpr_mavenのプルリクエストがマージされます。
レビュー依頼前の確認事項
- 変更を実装します
- 慎重にテストします
- クリーンアップとリファクタリングを行います
- 問題がないことを再テストで確認します
- きれいなgit履歴でコミットとプッシュを行います
- リンターチェックが通ることを確認します
- PRに
/e2eとコメントしてリグレッションテストを実行します - すべてのチェックが通ったらレビューを依頼します