Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

refactor(provider-webdriver): ship AWS Device Farm as the `@agent-device/aws-device-farm` plugin

オープン
#3,310 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
54/100
issue の種類
リファクタリング
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
aws, node.js, typescript
領域
cloud, devtools

調査の方向性

Start with the existing AWS Device Farm provider and connection files in packages/provider-webdriver, plus the TestMu plugin package as the packaging template; this work is blocked on #3312 and the BrowserStack extraction. Move the named AWS files and tests into packages/provider-aws-device-farm, expose the host command runner through the plugin SDK, and update core, help, docs, and README as specified. Run the named provider-scenario tests and pnpm check:affected --run; completion also requires the plugin checker and live-session verification or a documented blocker.

索引モデルが issue の本文から書いたものです。

説明

needs-triage refactor

Purpose and evidence

0.22 stops bundling hosted device providers with the default installation. AWS Device Farm already presents the plugin factory shape inside core (packages/provider-webdriver/src/aws-device-farm-provider.ts plus aws-device-farm-connection.ts, PR #3312). The one capability it needs that ProviderPluginHost does not expose is a host-command runner: the provider drives aws devicefarm ... through runHostCommand, which core currently supplies in src/provider-webdriver.ts.

Required behavior and boundary

  • Extend the experimental plugin SDK: ProviderPluginHost gains runHostCommand(command, args): Promise<{ stdout }> backed by runCmd with the bounds core uses today (10 MiB buffer, 30 s). Keep the SDK declaration small; the packed declaration-size guard from #3121 stays green.
  • New workspace package packages/provider-aws-device-farm publishing @agent-device/aws-device-farm, built and released like TestMu. The default export returns { webDriver, connection }; the manifest declares provider: "aws-device-farm" and the connection capabilities from CLOUD_WEBDRIVER_PROVIDER_DECLARATIONS (no credentialVariables: the AWS CLI credential chain has no environment fingerprint, and the fingerprint tests pin that).
  • Move aws-device-farm.ts, aws-device-farm-artifacts.ts, aws-device-farm-provider.ts, aws-device-farm-connection.ts, aws-device-farm-connection-verification.ts and their tests out of provider-webdriver. The requires --aws-project-arn <arn> or AWS_DEVICE_FARM_PROJECT_ARN messages and the flag-then-AGENT_DEVICE_*-then-AWS_* selector order stay as they are.
  • Core drops aws-device-farm from BUNDLED_CLOUD_WEBDRIVER_PROVIDERS and RESERVED_PLUGIN_PROVIDERS; connectionProviderCapabilities and the requiresAppAttachment reconnect hint in connection-presentation.ts keep working from the manifest.
  • Help, website/docs/docs/aws-device-farm.md, device-clouds.md, plugins.md, and the README move the provider to the plugin install flow.
agent-device plugins add @agent-device/aws-device-farm
agent-device connect aws-device-farm --platform android --aws-project-arn <arn> --aws-device-arn <arn> --aws-app-arn <arn>

Completion and validation

  • node scripts/check-provider-plugin.mjs packages/provider-aws-device-farm passes with a fixture aws on PATH.
  • The AWS provider-scenario tests (cloud-webdriver-provider-adapters, cloud-webdriver-provider-regressions, stale-provider-runtime-admission) build the runtime from the plugin factory with the fake host command.
  • pnpm check:affected --run passes; Size report shows the default install shrinking.
  • One live Device Farm remote-access session with the packed plugin, recorded in the PR, or the exact blocker named.

Dependencies and readiness

Blocked by: #3312 landing on main; do the BrowserStack extraction first so the packaging template is proven twice before the SDK change here.

Effort: M. Risk: medium (SDK surface grows by one method; AWS live verification needs an account).

主要言語
TypeScript
スター
4.9k
フォーク
328
平均マージ
11時間 51分
マージ済み PR(30日)
535

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

callstack/agent-device のほかの issue

callstack/agent-device の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。