Skip to content

feat: add Harness plugin hooks#85

Merged
V3RON merged 4 commits intomainfrom
feat/hooks
Mar 30, 2026
Merged

feat: add Harness plugin hooks#85
V3RON merged 4 commits intomainfrom
feat/hooks

Conversation

@V3RON
Copy link
Copy Markdown
Contributor

@V3RON V3RON commented Mar 30, 2026

What changed

Harness now has a first-class plugin system. Users can register Harness plugins in rn-harness.config.*, and those plugins can tap into key lifecycle and runtime events during a test run.

Why this was added

Plugins give us a stable extension point for features that should live outside core Harness. Instead of adding plugin-specific config fields or platform APIs directly to Harness, we can build those features as plugins.

What Harness plugins are

Harness plugins are user-configured extensions loaded from the Harness config file. A plugin can observe or react to events such as Harness startup, Metro activity, app lifecycle signals, collection, and test execution, and run custom Node.js logic around them.

What this enables

This is the foundation for custom integrations such as native coverage collection, reporting, or other workflow-specific extensions, while keeping the core Harness API smaller and cleaner.

Also included

  • a new @react-native-harness/plugins package built on hookable
  • plugin event emission wired into the Jest/Harness runtime
  • a simple playground plugin that logs each plugin event so the system is easy to verify

@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 30, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
react-native-harness Ready Ready Preview, Comment Mar 30, 2026 9:34am

Request Review

@V3RON V3RON marked this pull request as ready for review March 30, 2026 09:41
@V3RON V3RON merged commit ab5a226 into main Mar 30, 2026
11 checks passed
@V3RON V3RON deleted the feat/hooks branch March 30, 2026 09:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant