Skip to Content
ドキュメントエコシステムbabel-plugin-canyon

babel-plugin-canyon

Source

CI環境変数を検出し、istanbuljsと連携してコードの計装を行うBabelプラグインです。

使用方法

インストール:

npm install --save-dev babel-plugin-canyon

babel.config.jsに以下の設定を追加します:

module.exports = { plugins: process.env.CI_COMMIT_REF_NAME === "test-coverage" ? ["istanbul", "canyon"] : [], // 注意:canyonプラグインはistanbulプラグインの後に配置する必要があります };

以下の2つの処理を行います:

  1. CI環境変数の検出
  2. 前段階のistanbul計装結果の確認とローカルへの保存(keepMapがfalseの場合)

設定

babel.config.js

module.exports = { plugins: [ "istanbul", [ "canyon", { // #region == ステップ1: CI変数の設定または手動での明示的な設定 dsn: "http://yourdomain.com/coverage/client", // カバレッジレポート送信先URL、CI環境変数のキーは DSN reporter: "your_token", // ユーザートークン、異なるユーザーを区別するために使用、CI環境変数のキーは REPORTER // #endregion // #region == ステップ2: CI Providerの自動検出、通常は手動設定不要、詳細は Support Provider ドキュメントを参照 projectID: "230614", // リポジトリID sha: "xxxxxxxxx", // Gitコミットのハッシュ値 branch: "master", // Gitリポジトリのブランチ // #endregion // #region == ステップ3: カバレッジの追加機能設定(オプション) reportID: "case_id", // 異なるテストケースを区別するために使用 compareTarget: "develop", // 比較対象、現在のSHAのベースラインとして使用し、変更行のカバレッジを計算 // #endregion // #region == ステップ4: hitとmapデータの分離(オプション) keepMap: true, // カバレッジマップの保持、オプション、デフォルトはtrue、falseの場合は.canyon_outputファイルが生成されます // #endregion // #region == ステップ5: その他の設定(オプション) instrumentCwd: "/path/to", // 計装の作業ディレクトリ、マルチリポジトリモードでは手動設定が必要な場合があります provider: "gitlab", // ソースコードプロバイダー(オプション)、デフォルトは gitlab oneByOne: false, // プロキシサーバーの設定、オプション、デフォルトはfalse。trueの場合、コンパイル時に各ファイルの初期カバレッジデータを順次報告します。プロキシサーバーの設定も可能です。 // #endregion }, ], ], };
設定項目説明必須デフォルト値
dsnカバレッジレポート送信先URL、CI環境変数のキーは DSNはい(CI変数設定または手動設定で必要)なし
reporterユーザートークン、異なるユーザーを区別するために使用、CI環境変数のキーは REPORTERはい(CI変数設定または手動設定で必要)なし
projectIDリポジトリID通常は手動設定不要(CI Provider自動検出)なし
shaGitコミットのSHA通常は手動設定不要(CI Provider自動検出)なし
branchGitリポジトリのブランチ通常は手動設定不要(CI Provider自動検出)なし
reportID異なるテストケースを区別するために使用オプションなし
compareTarget比較対象、現在のSHAのベースラインとして使用し、変更行のカバレッジを計算オプションなし
keepMapカバレッジマップの保持、オプション、デフォルトはtrue、falseの場合は.canyon_outputファイルが生成されますオプションtrue
instrumentCwd計装の作業ディレクトリ、マルチリポジトリモードでは手動設定が必要な場合がありますオプションprocess.cwd()
providerソースコードプロバイダー(オプション)、デフォルトは gitlabオプションgitlab
oneByOneプロキシサーバーの設定、オプション、デフォルトはfalse。trueの場合、コンパイル時に各ファイルの初期カバレッジデータを順次報告します。プロキシサーバーの設定も可能です。オプションfalse