feat(config): expose supported runner options - #151
Open
BenSheridanEdwards wants to merge 2 commits into
Open
BenSheridanEdwards wants to merge 2 commits into
BenSheridanEdwards wants to merge 2 commits into
Conversation
This was referenced Sep 15, 2026
BenSheridanEdwards
added a commit
that referenced
this pull request
Sep 15, 2026
# Conflicts: # src/config.ts # test/config.test.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mochaOpts, spec-file retry settings, and reporter configuration throughnativeproof.config.ts--grep→NATIVEPROOF_GREPforwarding so one invocation can filter title/tag matches across the selected spec filesafterTesthook after NativeProof's best-effort failure capture, instead of allowing consumer configuration to replace captureTest/TestResulthook types, including reporter classes and retry/error metadata--grep ''through CLI, environment, and generated-config precedence so it clears inherited/config filtersFixes #148
Proof
npm run check— pass at5ab8af8c6d0d04fb907cc527d3903d4004fdde37npm test— 232 passed, 0 failed at5ab8af8c6d0d04fb907cc527d3903d4004fdde37npm run build— pass at5ab8af8c6d0d04fb907cc527d3903d4004fdde37npm packtarball, compiled a publicnativeproof.config.tswith a custom reporter class, all three spec retry fields, and anafterTestcallback readingtest.file,test.fullName,result.retries.attempts/limit,duration,status, anderror?.message; packagednativeproof --helpalso passed. No device was required because this changes config translation and CLI/env forwarding, not a device interaction.Measured baseline → fixed comparison
Source baseline:
dfa57e72047c155a97e512121ed8608368108597Fixed head:
5ab8af8c6d0d04fb907cc527d3903d4004fdde37205 pass, 5 fail232 pass, 0 fail(full suite)TS2353errors:mochaOpts,specFileRetries,reporters, andafterTestwere not publicNativeProofConfigfields (the full consumer config failed too)--grepwas rejected and no supported config/env grep reached Mocha--spec 'tests/{login,settings}.spec.ts' --grep '@smoke'keeps the selected file set and overrides onlymochaOpts.grepcapture → consumer, and a capture exception remains best-effort while the consumer hook still runsReview-finding regression proof
Review baseline:
ecb7f3cd752f605aa629f8c32aedadb543ef3372Repaired head:
5ab8af8c6d0d04fb907cc527d3903d4004fdde37tsc --noEmitfailed withTS2322,TS18046, andTS2339for the reporter class and normal test/result fields@inherited, env selection omitted grep, generated Mocha config retained@regression''; all three regressions passImpact controls:
gitnexus impactclassifiedRunnerConfig,RunnerEnv,CliArgs, andrunnerEnvFromProcessas HIGH because they fan into the public config, CLI,runTests, andrunInspect; edits are additive optional fields and covered at each pathRunnerAfterTestHookandrunnerEnvFromProcess, LOW forbuildWdioConfigandrunnerEnv, and UNKNOWN for the type-only reporter alias; direct dependants are the public config/hook, generated runner, tests,runTests, andrunInspectgitnexus detect-changes --scope all: 8 tracked files, 16 symbols, 7 affected flows, HIGH; affected flows are the expectedbuildWdioConfig,runTests, andrunInspectpaths (package metadata and the new type-only test are outside its symbol count)Reviewer view
Not applicablewith the reason for a trivial PR:src/config.ts:RunnerConfig,composeAfterTest,buildWdioConfigsrc/cli.ts:parseArgs,runnerEnv,helpTextsrc/runner-env.ts:runnerEnvFromProcesstest/config.test.ts,test/cli.test.ts,test/runner-env.test.ts,test/public-runner-types.test.tsnpm run check && npm test && npm run buildRisk
grep, and regression tests pin reporter/timeout compatibility and evidence-hook ordering.@wdio/typesis now a direct dependency because the exported declarations reference its public contracts; this PR does not bundle Allure/JUnit or add a report UI.afterTestexception follows runner-native hook behavior and can fail the hook; only NativeProof evidence capture is deliberately best-effort.Notes
PR Proof Law
.agents/DEFINITION_OF_DONE.mdand.agents/skills/pr-inline-screenshot-proof/SKILL.md., or the proof section saysNot applicablewith the technical reason.Screenshot proof: Not applicable — this is a config/type/CLI forwarding change with no rendered UI surface. The source-verified reviewer view and executable before/after proof above are the appropriate evidence.